![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Newbie
Join Date: Apr 2006
Posts: 4
Rep Power: 0
![]() |
Little help
I've been trying to get this to assemble but honestly do not understand. I've read through tutorials and have spent quite a large amount of time on this. I'd post in a help section but I have yet to find one on this board, so please delete if it clogs anything up and accept my apology. My friend gave me this code and told me to compile it and then he'll start teaching me..I know hes weird and me being able to do this is his "test of acceptance" i guess. Thanks for any help.
seg000:10014C10 sub_10014C10 proc near ; CODE XREF: seg000:10015C0Fp seg000:10014C10 seg000:10014C10 var_7C = byte ptr -7Ch seg000:10014C10 var_78 = byte ptr -78h seg000:10014C10 var_74 = byte ptr -74h seg000:10014C10 var_70 = byte ptr -70h seg000:10014C10 var_6C = byte ptr -6Ch seg000:10014C10 var_14 = byte ptr -14h seg000:10014C10 var_10 = dword ptr -10h seg000:10014C10 var_C = byte ptr -0Ch seg000:10014C10 var_8 = dword ptr -8 seg000:10014C10 var_4 = dword ptr -4 seg000:10014C10 arg_0 = dword ptr 4 seg000:10014C10 seg000:10014C10 push 0FFFFFFFFh seg000:10014C12 push offset loc_10040CC0 seg000:10014C17 mov eax, large fs:0 seg000:10014C1D push eax seg000:10014C1E mov large fs:0, esp seg000:10014C25 sub esp, 68h seg000:10014C28 push ebx seg000:10014C29 push ebp seg000:10014C2A push esi seg000:10014C2B mov esi, ecx seg000:10014C2D push edi seg000:10014C2E lea ecx, [esp+84h+var_74] seg000:10014C32 call sub_1003F3F6 seg000:10014C37 mov ecx, [esi+8] seg000:10014C3A mov edi, [esp+84h+arg_0] seg000:10014C41 xor ebp, ebp seg000:10014C43 push offset aParseDlDataWit ; "parse dl data with cmd" seg000:10014C48 mov eax, [ecx] seg000:10014C4A mov [esp+88h+var_4], ebp seg000:10014C51 call dword ptr [eax+10h] seg000:10014C54 xor eax, eax seg000:10014C56 mov ax, [edi+0Ah] seg000:10014C5A cmp eax, 304h seg000:10014C5F jg loc_10014FEB seg000:10014C65 jz loc_10014F98 seg000:10014C6B cmp eax, 108h seg000:10014C70 jg loc_10014F7B seg000:10014C76 jz loc_10014E39 seg000:10014C7C sub eax, 102h seg000:10014C81 jz short loc_10014CB9 seg000:10014C83 sub eax, 3 seg000:10014C86 jnz loc_10015172 seg000:10014C8C mov ecx, [esi+8] seg000:10014C8F push offset aRecvPacket1105 ; "recv packet 1105" seg000:10014C94 mov edx, [ecx] seg000:10014C96 call dword ptr [edx+10h] seg000:10014C99 push ebp seg000:10014C9A lea ecx, [esi+28h] seg000:10014C9D call sub_1003F6F0 seg000:10014CA2 push eax seg000:10014CA3 push ebp seg000:10014CA4 lea ecx, [esi+20h] seg000:10014CA7 call sub_1003F6F0 seg000:10014CAC push eax seg000:10014CAD mov ecx, esi seg000:10014CAF call sub_100147B0 seg000:10014CB4 jmp loc_10015172 seg000:10014CB9 ; --------------------------------------------------------------------------- seg000:10014CB9 seg000:10014CB9 loc_10014CB9: ; CODE XREF: sub_10014C10+71j seg000:10014CB9 mov ecx, [esi+8] seg000:10014CBC push offset aRecvPacket1102 ; "recv packet 1102" seg000:10014CC1 mov eax, [ecx] seg000:10014CC3 call dword ptr [eax+10h] seg000:10014CC6 mov eax, [esi+1Ch] seg000:10014CC9 mov ebx, 1 seg000:10014CCE cmp eax, ebx seg000:10014CD0 jz short loc_10014CDE seg000:10014CD2 cmp [esi+2080h], ebp seg000:10014CD8 jnz loc_10015172 seg000:10014CDE seg000:10014CDE loc_10014CDE: ; CODE XREF: sub_10014C10+C0j seg000:10014CDE mov ecx, [esp+8Ch] seg000:10014CE5 lea edx, [edi+2] seg000:10014CE8 add ecx, 0FFFFFFFEh seg000:10014CEB push ecx seg000:10014CEC push edx seg000:10014CED mov ecx, esi seg000:10014CEF call sub_100153E0 seg000:10014CF4 cmp ax, [edi] seg000:10014CF7 jz short loc_10014D0E seg000:10014CF9 mov ecx, [esi+8] seg000:10014CFC push offset aLoginToBotServ ; "Login to bot server is failure cause da"... seg000:10014D01 mov eax, [ecx] seg000:10014D03 call dword ptr [eax+14h] seg000:10014D06 mov [esi+1Ch], ebp seg000:10014D09 jmp loc_10015172 seg000:10014D0E ; --------------------------------------------------------------------------- seg000:10014D0E seg000:10014D0E loc_10014D0E: ; CODE XREF: sub_10014C10+E7j seg000:10014D0E mov al, [edi+0Ch] seg000:10014D11 test al, al seg000:10014D13 jnz loc_10014DA2 seg000:10014D19 mov ecx, [edi+0Dh] seg000:10014D1C mov [esi+4], ebx seg000:10014D1F mov [esi+10h], ecx seg000:10014D22 mov edx, [edi+11h] seg000:10014D25 mov [esi+3Ch], edx seg000:10014D28 call ds:dword_10043078 seg000:10014D2E mov ecx, [esi+8] seg000:10014D31 mov [esi+40h], eax seg000:10014D34 push offset aLoginToBotSe_0 ; "Login to bot server is success!" seg000:10014D39 mov eax, [ecx] seg000:10014D3B call dword ptr [eax+14h] seg000:10014D3E mov ecx, [esi+3Ch] seg000:10014D41 mov ebp, 3Ch seg000:10014D46 mov eax, ecx seg000:10014D48 cdq seg000:10014D49 idiv ebp seg000:10014D4B mov eax, 88888889h seg000:10014D50 push edx seg000:10014D51 imul ecx seg000:10014D53 add edx, ecx seg000:10014D55 sar edx, 5 seg000:10014D58 mov ecx, edx seg000:10014D5A shr ecx, 1Fh seg000:10014D5D add edx, ecx seg000:10014D5F push edx seg000:10014D60 lea edx, [esp+98h+var_7C] seg000:10014D64 push offset aBotServiceTime ; "bot service time remain:%dhour%dminutes"... seg000:10014D69 push edx seg000:10014D6A call ds:sprintf seg000:10014D70 mov ecx, [esi+8] seg000:10014D73 add esp, 10h seg000:10014D76 lea edx, [esp+84h+var_70] seg000:10014D7A mov eax, [ecx] seg000:10014D7C push edx seg000:10014D7D call dword ptr [eax+14h] seg000:10014D80 mov al, [edi+15h] seg000:10014D83 mov ecx, [esi+8] seg000:10014D86 mov [esi+4Ch], al seg000:10014D89 mov edx, [ecx] seg000:10014D8B call dword ptr [edx+0Ch] seg000:10014D8E xor ebp, ebp seg000:10014D90 mov [esi+44h], ebx seg000:10014D93 mov dword ptr [esi+48h], 0 seg000:10014D9A mov [esi+1Ch], ebp seg000:10014D9D jmp loc_10015172 seg000:10014DA2 ; --------------------------------------------------------------------------- seg000:10014DA2 seg000:10014DA2 loc_10014DA2: ; CODE XREF: sub_10014C10+103j seg000:10014DA2 cmp al, 0FFh seg000:10014DA4 jnz short loc_10014E07 seg000:10014DA6 mov eax, [edi+0Dh] seg000:10014DA9 mov [esi+4], ebx seg000:10014DAC mov [esi+10h], eax seg000:10014DAF mov ecx, [edi+11h] seg000:10014DB2 mov [esi+3Ch], ecx seg000:10014DB5 call ds:dword_10043078 seg000:10014DBB mov ecx, [esi+8] seg000:10014DBE mov [esi+40h], eax seg000:10014DC1 push offset aLoginToBotSe_1 ; "Login to bot server is success" seg000:10014DC6 mov edx, [ecx] seg000:10014DC8 call dword ptr [edx+14h] seg000:10014DCB lea eax, [esp+90h+var_7C] seg000:10014DCF push offset aBotTestUser ; "Bot test user!" seg000:10014DD4 push eax seg000:10014DD5 call ds:sprintf seg000:10014DDB mov ecx, [esi+8] seg000:10014DDE add esp, 8 seg000:10014DE1 lea eax, [esp+84h+var_70] seg000:10014DE5 mov edx, [ecx] seg000:10014DE7 push eax seg000:10014DE8 call dword ptr [edx+14h] seg000:10014DEB mov cl, [edi+15h] seg000:10014DEE mov [esi+4Ch], cl seg000:10014DF1 mov ecx, [esi+8] seg000:10014DF4 mov edx, [ecx] seg000:10014DF6 call dword ptr [edx+0Ch] seg000:10014DF9 mov [esi+44h], ebx seg000:10014DFC mov [esi+48h], ebx seg000:10014DFF mov [esi+1Ch], ebp seg000:10014E02 jmp loc_10015172 seg000:10014E07 ; --------------------------------------------------------------------------- seg000:10014E07 seg000:10014E07 loc_10014E07: ; CODE XREF: sub_10014C10+194j seg000:10014E07 cmp al, bl seg000:10014E09 jnz short loc_10014E20 seg000:10014E0B mov ecx, [esi+8] seg000:10014E0E push offset aLoginToBotSe_2 ; "Login to bot server is failure,data err"... seg000:10014E13 mov eax, [ecx] seg000:10014E15 call dword ptr [eax+14h] seg000:10014E18 mov [esi+1Ch], ebp seg000:10014E1B jmp loc_10015172 seg000:10014E20 ; --------------------------------------------------------------------------- seg000:10014E20 seg000:10014E20 loc_10014E20: ; CODE XREF: sub_10014C10+1F9j seg000:10014E20 cmp al, 2 seg000:10014E22 jnz short loc_10014E31 seg000:10014E24 mov ecx, [esi+8] seg000:10014E27 push offset aLoginToBotSe_3 ; "Login to bot server is failure,service "... seg000:10014E2C mov edx, [ecx] seg000:10014E2E call dword ptr [edx+14h] seg000:10014E31 seg000:10014E31 loc_10014E31: ; CODE XREF: sub_10014C10+212j seg000:10014E31 mov [esi+1Ch], ebp seg000:10014E34 jmp loc_10015172 seg000:10014E39 ; --------------------------------------------------------------------------- seg000:10014E39 seg000:10014E39 loc_10014E39: ; CODE XREF: sub_10014C10+66j seg000:10014E39 mov ecx, [esi+8] seg000:10014E3C push offset aRecvPacket1108 ; "recv packet 1108" seg000:10014E41 mov eax, [ecx] seg000:10014E43 call dword ptr [eax+10h] seg000:10014E46 cmp dword ptr [esp+8Ch], 19h seg000:10014E4E jnz loc_10015172 seg000:10014E54 lea ecx, [edi+2] seg000:10014E57 push 17h seg000:10014E59 push ecx seg000:10014E5A mov ecx, esi seg000:10014E5C call sub_100153E0 seg000:10014E61 cmp ax, [edi] seg000:10014E64 jz short loc_10014E7B seg000:10014E66 mov ecx, [esi+8] seg000:10014E69 push 1 seg000:10014E6B call nullsub_5 seg000:10014E70 mov [esi+44h], ebp seg000:10014E73 mov [esi+1Ch], ebp seg000:10014E76 jmp loc_10015172 seg000:10014E7B ; --------------------------------------------------------------------------- seg000:10014E7B seg000:10014E7B loc_10014E7B: ; CODE XREF: sub_10014C10+254j seg000:10014E7B mov al, [edi+0Ch] seg000:10014E7E test al, al seg000:10014E80 jnz loc_10014F07 seg000:10014E86 mov edx, [edi+0Dh] seg000:10014E89 mov ebx, 1 seg000:10014E8E mov [esi+10h], edx seg000:10014E91 mov [esi+4], ebx seg000:10014E94 mov eax, [edi+11h] seg000:10014E97 mov [esi+3Ch], eax seg000:10014E9A call ds:dword_10043078 seg000:10014EA0 mov ecx, [esi+3Ch] seg000:10014EA3 mov [esi+40h], eax seg000:10014EA6 mov eax, ecx seg000:10014EA8 mov ebp, 3Ch seg000:10014EAD cdq seg000:10014EAE idiv ebp seg000:10014EB0 mov eax, 88888889h seg000:10014EB5 push edx seg000:10014EB6 imul ecx seg000:10014EB8 add edx, ecx seg000:10014EBA sar edx, 5 seg000:10014EBD mov ecx, edx seg000:10014EBF shr ecx, 1Fh seg000:10014EC2 add edx, ecx seg000:10014EC4 push edx seg000:10014EC5 lea edx, [esp+94h+var_78] seg000:10014EC9 push offset aBotServiceTi_0 ; "Bot service time remain:%dHours%dminute"... seg000:10014ECE push edx seg000:10014ECF call ds:sprintf seg000:10014ED5 mov ecx, [esi+8] seg000:10014ED8 add esp, 10h seg000:10014EDB lea edx, [esp+80h+var_6C] seg000:10014EDF mov eax, [ecx] seg000:10014EE1 push edx seg000:10014EE2 call dword ptr [eax+14h] seg000:10014EE5 mov al, [edi+15h] seg000:10014EE8 mov ecx, [esi+8] seg000:10014EEB mov [esi+4Ch], al seg000:10014EEE mov edx, [ecx] seg000:10014EF0 call dword ptr [edx+0Ch] seg000:10014EF3 xor ebp, ebp seg000:10014EF5 mov [esi+44h], ebx seg000:10014EF8 mov dword ptr [esi+48h], 0 seg000:10014EFF mov [esi+1Ch], ebp seg000:10014F02 jmp loc_10015172 seg000:10014F07 ; --------------------------------------------------------------------------- seg000:10014F07 seg000:10014F07 loc_10014F07: ; CODE XREF: sub_10014C10+270j seg000:10014F07 cmp al, 0FFh seg000:10014F09 jnz short loc_10014F64 seg000:10014F0B mov eax, [edi+0Dh] seg000:10014F0E mov ebx, 1 seg000:10014F13 mov [esi+10h], eax seg000:10014F16 mov [esi+4], ebx seg000:10014F19 mov ecx, [edi+11h] seg000:10014F1C mov [esi+3Ch], ecx seg000:10014F1F call ds:dword_10043078 seg000:10014F25 lea edx, [esp+8Ch+var_78] seg000:10014F29 push offset aBotTestUser_0 ; "Bot test user" seg000:10014F2E push edx seg000:10014F2F mov [esi+40h], eax seg000:10014F32 call ds:sprintf seg000:10014F38 mov ecx, [esi+8] seg000:10014F3B add esp, 8 seg000:10014F3E lea edx, [esp+80h+var_6C] seg000:10014F42 mov eax, [ecx] seg000:10014F44 push edx seg000:10014F45 call dword ptr [eax+14h] seg000:10014F48 mov al, [edi+15h] seg000:10014F4B mov ecx, [esi+8] seg000:10014F4E mov [esi+4Ch], al seg000:10014F51 mov edx, [ecx] seg000:10014F53 call dword ptr [edx+0Ch] seg000:10014F56 mov [esi+44h], ebx seg000:10014F59 mov [esi+48h], ebx seg000:10014F5C mov [esi+1Ch], ebp seg000:10014F5F jmp loc_10015172 seg000:10014F64 ; --------------------------------------------------------------------------- seg000:10014F64 seg000:10014F64 loc_10014F64: ; CODE XREF: sub_10014C10+2F9j seg000:10014F64 mov ecx, [esi+8] seg000:10014F67 movsx eax, al seg000:10014F6A push eax seg000:10014F6B call nullsub_5 seg000:10014F70 mov [esi+44h], ebp seg000:10014F73 mov [esi+1Ch], ebp seg000:10014F76 jmp loc_10015172 seg000:10014F7B ; --------------------------------------------------------------------------- seg000:10014F7B seg000:10014F7B loc_10014F7B: ; CODE XREF: sub_10014C10+60j seg000:10014F7B cmp eax, 302h seg000:10014F80 jnz loc_10015172 seg000:10014F86 cmp dword ptr [esi+1Ch], 3 seg000:10014F8A jnz loc_10015172 seg000:10014F90 mov [esi+1Ch], ebp seg000:10014F93 jmp loc_10015172 seg000:10014F98 ; --------------------------------------------------------------------------- seg000:10014F98 seg000:10014F98 loc_10014F98: ; CODE XREF: sub_10014C10+55j seg000:10014F98 cmp dword ptr [esi+1Ch], 2 seg000:10014F9C jnz loc_10015172 seg000:10014FA2 xor eax, eax seg000:10014FA4 mov [esi+1Ch], ebp seg000:10014FA7 lea edx, [esi+2060h] seg000:10014FAD add edi, 0Ch seg000:10014FB0 seg000:10014FB0 loc_10014FB0: ; CODE XREF: sub_10014C10+3AEj seg000:10014FB0 mov cl, [edx+eax] seg000:10014FB3 mov bl, [edi+eax] seg000:10014FB6 cmp cl, bl seg000:10014FB8 jnz short loc_10014FC5 seg000:10014FBA inc eax seg000:10014FBB cmp eax, 10h seg000:10014FBE jl short loc_10014FB0 seg000:10014FC0 jmp loc_10015172 seg000:10014FC5 ; --------------------------------------------------------------------------- seg000:10014FC5 seg000:10014FC5 loc_10014FC5: ; CODE XREF: sub_10014C10+3A8j seg000:10014FC5 mov ecx, [edi] seg000:10014FC7 mov eax, edx seg000:10014FC9 push edx seg000:10014FCA mov [eax], ecx seg000:10014FCC mov ecx, [edi+4] seg000:10014FCF mov [eax+4], ecx seg000:10014FD2 mov ecx, [edi+8] seg000:10014FD5 mov [eax+8], ecx seg000:10014FD8 mov ecx, [edi+0Ch] seg000:10014FDB mov [eax+0Ch], ecx seg000:10014FDE mov ecx, [esi+8] seg000:10014FE1 mov eax, [ecx] seg000:10014FE3 call dword ptr [eax+18h] seg000:10014FE6 jmp loc_10015172 seg000:10014FEB ; --------------------------------------------------------------------------- seg000:10014FEB seg000:10014FEB loc_10014FEB: ; CODE XREF: sub_10014C10+4Fj seg000:10014FEB cmp eax, 508h seg000:10014FF0 jg loc_10015097 seg000:10014FF6 jz loc_10015082 seg000:10014FFC sub eax, 502h seg000:10015001 jz short loc_10015036 seg000:10015003 sub eax, 4 seg000:10015006 jnz loc_10015172 seg000:1001500C mov ecx, [esi+8] seg000:1001500F lea edx, [edi+0Ch] seg000:10015012 push edx seg000:10015013 mov ebx, [ecx] seg000:10015015 call sub_10035050 seg000:1001501A mov ecx, [esi+8] seg000:1001501D add esp, 4 seg000:10015020 add edi, 10h seg000:10015023 push eax seg000:10015024 push edi seg000:10015025 call dword ptr [ebx] seg000:10015027 mov ecx, esi seg000:10015029 mov [esi+1Ch], ebp seg000:1001502C call sub_10015390 seg000:10015031 jmp loc_10015172 seg000:10015036 ; --------------------------------------------------------------------------- seg000:10015036 seg000:10015036 loc_10015036: ; CODE XREF: sub_10014C10+3F1j seg000:10015036 add edi, 0Ch seg000:10015039 push 508h seg000:1001503E push edi seg000:1001503F lea ecx, [esp+90h+arg_0] seg000:10015046 call sub_1003F708 seg000:1001504B push ebp seg000:1001504C lea ecx, [esp+94h+var_4] seg000:10015053 mov byte ptr [esp+94h+var_10], 1 seg000:1001505B call sub_1003F6F0 seg000:10015060 mov ecx, [esi+8] seg000:10015063 push eax seg000:10015064 call nullsub_5 seg000:10015069 lea ecx, [esp+94h+var_8] seg000:10015070 mov [esp+94h+var_14], 0 seg000:10015078 call sub_1003F3F0 seg000:1001507D jmp loc_10015172 seg000:10015082 ; --------------------------------------------------------------------------- seg000:10015082 seg000:10015082 loc_10015082: ; CODE XREF: sub_10014C10+3E6j seg000:10015082 mov ecx, [esi+8] seg000:10015085 push offset aCommitUpdateIn ; "commit update info sucess!" seg000:1001508A mov eax, [ecx] seg000:1001508C call dword ptr [eax+14h] seg000:1001508F mov [esi+1Ch], ebp seg000:10015092 jmp loc_10015172 seg000:10015097 ; --------------------------------------------------------------------------- seg000:10015097 seg000:10015097 loc_10015097: ; CODE XREF: sub_10014C10+3E0j seg000:10015097 cmp eax, 808h seg000:1001509C jnz loc_10015172 seg000:100150A2 mov ecx, [esp+88h+arg_0] seg000:100150A9 lea edx, [edi+2] seg000:100150AC add ecx, 0FFFFFFFEh seg000:100150AF push ecx seg000:100150B0 push edx seg000:100150B1 mov ecx, esi seg000:100150B3 call sub_100153E0 seg000:100150B8 cmp ax, [edi] seg000:100150BB jnz loc_10015165 seg000:100150C1 lea eax, [edi+18h] seg000:100150C4 push 19h seg000:100150C6 push eax seg000:100150C7 lea ecx, [esp+90h] seg000:100150CE call sub_1003F708 seg000:100150D3 mov eax, [edi+0Ch] seg000:100150D6 mov bl, 2 seg000:100150D8 cmp eax, ebp seg000:100150DA mov byte ptr [esp+90h+var_10], bl seg000:100150E1 jnz short loc_100150FF seg000:100150E3 mov ecx, [edi+10h] seg000:100150E6 push ecx seg000:100150E7 push ebp seg000:100150E8 lea ecx, [esp+98h+var_8] seg000:100150EF call sub_1003F6F0 seg000:100150F4 mov ecx, [esi+8] seg000:100150F7 push eax seg000:100150F8 call nullsub_3 seg000:100150FD jmp short loc_1001514F seg000:100150FF ; --------------------------------------------------------------------------- seg000:100150FF seg000:100150FF loc_100150FF: ; CODE XREF: sub_10014C10+4D1j seg000:100150FF lea ecx, [esp+90h+var_4] seg000:10015106 call sub_1003F3F6 seg000:1001510B mov eax, [edi+0Ch] seg000:1001510E lea edx, [esp+90h+var_4] seg000:10015115 push edx seg000:10015116 push eax seg000:10015117 mov ecx, esi seg000:10015119 mov byte ptr [esp+98h+var_10], 3 seg000:10015121 call sub_100151A0 seg000:10015126 push ebp seg000:10015127 lea ecx, [esp+94h+var_4] seg000:1001512E call sub_1003F6F0 seg000:10015133 mov ecx, [esi+8] seg000:10015136 push eax seg000:10015137 call nullsub_5 seg000:1001513C lea ecx, [esp+94h+var_8] seg000:10015143 mov [esp+94h+var_14], bl seg000:1001514A call sub_1003F3F0 seg000:1001514F seg000:1001514F loc_1001514F: ; CODE XREF: sub_10014C10+4EDj seg000:1001514F lea ecx, [esp+94h+var_C] seg000:10015156 mov [esp+94h+var_14], 0 seg000:1001515E call sub_1003F3F0 seg000:10015163 jmp short loc_10015172 seg000:10015165 ; |
|
|
|
|
|
#2 |
|
Newbie
Join Date: Apr 2006
Posts: 4
Rep Power: 0
![]() |
--------------------------------------------------------------------------- seg000:10015165 seg000:10015165 loc_10015165: ; CODE XREF: sub_10014C10+4ABj seg000:10015165 mov ecx, [esi+8] seg000:10015168 push offset dword_1004BCD4 seg000:1001516D call nullsub_5 seg000:10015172 seg000:10015172 loc_10015172: ; CODE XREF: sub_10014C10+76j seg000:10015172 ; sub_10014C10+A4j ... seg000:10015172 lea ecx, [esp+88h+var_78] seg000:10015176 mov [esp+88h+var_8], 0FFFFFFFFh seg000:10015181 call sub_1003F3F0 seg000:10015186 mov ecx, [esp+88h+var_10] seg000:1001518A pop edi seg000:1001518B pop esi seg000:1001518C pop ebp seg000:1001518D pop ebx seg000:1001518E mov large fs:0, ecx seg000:10015195 add esp, 74h seg000:10015198 retn 8 seg000:10015198 sub_10014C10 endp ; sp = -4 seg000:10015198 seg000:10015198 ; --------------------------------------------------------------------------- seg000:1001519B align 8 seg000:100151A0 seg000:100151A0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ seg000:100151A0 seg000:100151A0 seg000:100151A0 sub_100151A0 proc near ; CODE XREF: sub_10014C10+511p seg000:100151A0 seg000:100151A0 var_18 = byte ptr -18h seg000:100151A0 var_14 = dword ptr -14h seg000:100151A0 var_10 = byte ptr -10h seg000:100151A0 var_C = dword ptr -0Ch seg000:100151A0 var_4 = dword ptr -4 seg000:100151A0 arg_0 = dword ptr 4 seg000:100151A0 arg_4 = dword ptr 8 seg000:100151A0 seg000:100151A0 push 0FFFFFFFFh seg000:100151A2 push offset loc_10040CD8 seg000:100151A7 mov eax, large fs:0 seg000:100151AD push eax seg000:100151AE mov large fs:0, esp seg000:100151B5 push ecx seg000:100151B6 push esi seg000:100151B7 lea ecx, [esp+14h+var_10] seg000:100151BB call sub_1003F3F6 seg000:100151C0 mov eax, [esp+14h+arg_0] seg000:100151C4 mov esi, [esp+14h+arg_4] seg000:100151C8 inc eax seg000:100151C9 mov [esp+14h+var_4], 0 seg000:100151D1 cmp eax, 18h ; switch 25 cases seg000:100151D4 ja loc_100152F5 ; default seg000:100151DA jmp ds:off_10015324[eax*4] ; switch jump seg000:100151E1 seg000:100151E1 loc_100151E1: ; DATA XREF: seg000:10015324o seg000:100151E1 mov ecx, [esp+14h+arg_4] ; case 0x0 seg000:100151E5 push offset aSystemInternal ; "system internal error" seg000:100151EA jmp loc_100152FC seg000:100151EF ; --------------------------------------------------------------------------- seg000:100151EF seg000:100151EF loc_100151EF: ; CODE XREF: sub_100151A0+3Aj seg000:100151EF ; DATA XREF: seg000:10015324o seg000:100151EF mov ecx, [esp+14h+arg_4] ; case 0x2 seg000:100151F3 push offset aEmptyPowerBotU ; "empty power bot user" seg000:100151F8 jmp loc_100152FC seg000:100151FD ; --------------------------------------------------------------------------- seg000:100151FD seg000:100151FD loc_100151FD: ; CODE XREF: sub_100151A0+3Aj seg000:100151FD ; DATA XREF: seg000:10015324o seg000:100151FD mov ecx, [esp+14h+arg_4] ; case 0x3 seg000:10015201 push offset aEmptyPowerBotP ; "empty power bot password" seg000:10015206 jmp loc_100152FC seg000:1001520B ; --------------------------------------------------------------------------- seg000:1001520B seg000:1001520B loc_1001520B: ; CODE XREF: sub_100151A0+3Aj seg000:1001520B ; DATA XREF: seg000:10015324o seg000:1001520B mov ecx, [esp+14h+arg_4] ; case 0x4 seg000:1001520F push offset aEmptyPasswordQ ; "empty password question" seg000:10015214 jmp loc_100152FC seg000:10015219 ; --------------------------------------------------------------------------- seg000:10015219 seg000:10015219 loc_10015219: ; CODE XREF: sub_100151A0+3Aj seg000:10015219 ; DATA XREF: seg000:10015324o seg000:10015219 mov ecx, [esp+14h+arg_4] ; case 0x5 seg000:1001521D push offset aEmptyPasswordA ; "empty password answer" seg000:10015222 jmp loc_100152FC seg000:10015227 ; --------------------------------------------------------------------------- seg000:10015227 seg000:10015227 loc_10015227: ; CODE XREF: sub_100151A0+3Aj seg000:10015227 ; DATA XREF: seg000:10015324o seg000:10015227 mov ecx, [esp+14h+arg_4] ; case 0x6 seg000:1001522B push offset aPowerBotUserAl ; "power bot user already exist" seg000:10015230 jmp loc_100152FC seg000:10015235 ; --------------------------------------------------------------------------- seg000:10015235 seg000:10015235 loc_10015235: ; CODE XREF: sub_100151A0+3Aj seg000:10015235 ; DATA XREF: seg000:10015324o seg000:10015235 mov ecx, [esp+14h+arg_4] ; case 0x7 seg000:10015239 push offset aChargeCardNumb ; "charge card number is empty" seg000:1001523E jmp loc_100152FC seg000:10015243 ; --------------------------------------------------------------------------- seg000:10015243 seg000:10015243 loc_10015243: ; CODE XREF: sub_100151A0+3Aj seg000:10015243 ; DATA XREF: seg000:10015324o seg000:10015243 mov ecx, [esp+14h+arg_4] ; case 0x8 seg000:10015247 push offset aEmptyChargeCar ; "empty charge card password" seg000:1001524C jmp loc_100152FC seg000:10015251 ; --------------------------------------------------------------------------- seg000:10015251 seg000:10015251 loc_10015251: ; CODE XREF: sub_100151A0+3Aj seg000:10015251 ; DATA XREF: seg000:10015324o seg000:10015251 mov ecx, [esp+14h+arg_4] ; case 0x9 seg000:10015255 push offset aNonexistCharge ; "nonexist charge card" seg000:1001525A jmp loc_100152FC seg000:1001525F ; --------------------------------------------------------------------------- seg000:1001525F seg000:1001525F loc_1001525F: ; CODE XREF: sub_100151A0+3Aj seg000:1001525F ; DATA XREF: seg000:10015324o seg000:1001525F mov ecx, [esp+14h+arg_4] ; case 0xa seg000:10015263 push offset aAlreadyCharged ; "already charged card" seg000:10015268 jmp loc_100152FC seg000:1001526D ; --------------------------------------------------------------------------- seg000:1001526D seg000:1001526D loc_1001526D: ; CODE XREF: sub_100151A0+3Aj seg000:1001526D ; DATA XREF: seg000:10015324o seg000:1001526D mov ecx, [esp+14h+arg_4] ; case 0xb seg000:10015271 push offset aErrorChargeCar ; "error charge card password" seg000:10015276 jmp loc_100152FC seg000:1001527B ; --------------------------------------------------------------------------- seg000:1001527B seg000:1001527B loc_1001527B: ; CODE XREF: sub_100151A0+3Aj seg000:1001527B ; DATA XREF: seg000:10015324o seg000:1001527B mov ecx, [esp+14h+arg_4] ; case 0xc seg000:1001527F push offset aNonexistPowerB ; "nonexist power bot user" seg000:10015284 jmp short loc_100152FC seg000:10015286 ; --------------------------------------------------------------------------- seg000:10015286 seg000:10015286 loc_10015286: ; CODE XREF: sub_100151A0+3Aj seg000:10015286 ; DATA XREF: seg000:10015324o seg000:10015286 mov ecx, [esp+14h+arg_4] ; case 0xd seg000:1001528A push offset aEmptyGameAccou ; "empty game account" seg000:1001528F jmp short loc_100152FC seg000:10015291 ; --------------------------------------------------------------------------- seg000:10015291 seg000:10015291 loc_10015291: ; CODE XREF: sub_100151A0+3Aj seg000:10015291 ; DATA XREF: seg000:10015324o seg000:10015291 mov ecx, [esp+14h+arg_4] ; case 0xe seg000:10015295 push offset aPowerBotCredit ; "power bot credit is zero" seg000:1001529A jmp short loc_100152FC seg000:1001529C ; --------------------------------------------------------------------------- seg000:1001529C seg000:1001529C loc_1001529C: ; CODE XREF: sub_100151A0+3Aj seg000:1001529C ; DATA XREF: seg000:10015324o seg000:1001529C mov ecx, [esp+14h+arg_4] ; case 0xf seg000:100152A0 push offset aTooMuchPowerBo ; "too much power bot credit" seg000:100152A5 jmp short loc_100152FC seg000:100152A7 ; --------------------------------------------------------------------------- seg000:100152A7 seg000:100152A7 loc_100152A7: ; CODE XREF: sub_100151A0+3Aj seg000:100152A7 ; DATA XREF: seg000:10015324o seg000:100152A7 mov ecx, [esp+14h+arg_4] ; case 0x10 seg000:100152AB push offset aPowerBotCred_0 ; "power bot credit is error" seg000:100152B0 jmp short loc_100152FC seg000:100152B2 ; --------------------------------------------------------------------------- seg000:100152B2 seg000:100152B2 loc_100152B2: ; CODE XREF: sub_100151A0+3Aj seg000:100152B2 ; DATA XREF: seg000:10015324o seg000:100152B2 mov ecx, [esp+14h+arg_4] ; case 0x13 seg000:100152B6 push offset aErrorPowerBotP ; "error power bot password" seg000:100152BB jmp short loc_100152FC seg000:100152BD ; --------------------------------------------------------------------------- seg000:100152BD seg000:100152BD loc_100152BD: ; CODE XREF: sub_100151A0+3Aj seg000:100152BD ; DATA XREF: seg000:10015324o seg000:100152BD mov ecx, [esp+14h+arg_4] ; case 0x14 seg000:100152C1 push offset aNotEnoughPower ; "not enough power bot credit" seg000:100152C6 jmp short loc_100152FC seg000:100152C8 ; --------------------------------------------------------------------------- seg000:100152C8 seg000:100152C8 loc_100152C8: ; CODE XREF: sub_100151A0+3Aj seg000:100152C8 ; DATA XREF: seg000:10015324o seg000:100152C8 mov ecx, [esp+14h+arg_4] ; case 0x15 seg000:100152CC push offset aSourcePowerBot ; "source power bot user is nonexist" seg000:100152D1 jmp short loc_100152FC seg000:100152D3 ; --------------------------------------------------------------------------- seg000:100152D3 seg000:100152D3 loc_100152D3: ; CODE XREF: sub_100151A0+3Aj seg000:100152D3 ; DATA XREF: seg000:10015324o seg000:100152D3 mov ecx, [esp+14h+arg_4] ; case 0x16 seg000:100152D7 push offset aDestPowerBotUs ; "dest power bot user is nonexist" seg000:100152DC jmp short loc_100152FC seg000:100152DE ; --------------------------------------------------------------------------- seg000:100152DE seg000:100152DE loc_100152DE: ; CODE XREF: sub_100151A0+3Aj seg000:100152DE ; DATA XREF: seg000:10015324o seg000:100152DE mov ecx, [esp+14h+arg_4] ; case 0x17 seg000:100152E2 push offset aNonexistGameAc ; "nonexist game account" seg000:100152E7 jmp short loc_100152FC seg000:100152E9 ; --------------------------------------------------------------------------- seg000:100152E9 seg000:100152E9 loc_100152E9: ; CODE XREF: sub_100151A0+3Aj seg000:100152E9 ; DATA XREF: seg000:10015324o seg000:100152E9 push offset aEmptyEmailAddr ; case 0x18 seg000:100152EE mov ecx, esi seg000:100152F0 call sub_1003F5CA seg000:100152F5 seg000:100152F5 loc_100152F5: ; CODE XREF: sub_100151A0+34j seg000:100152F5 ; sub_100151A0+3Aj seg000:100152F5 ; DATA XREF: ... seg000:100152F5 push offset aUnknowError ; default seg000:100152FA mov ecx, esi seg000:100152FC seg000:100152FC loc_100152FC: ; CODE XREF: sub_100151A0+4Aj seg000:100152FC ; sub_100151A0+58j ... seg000:100152FC call sub_1003F5CA seg000:10015301 lea ecx, [esp+1Ch+var_18] seg000:10015305 mov [esp+1Ch+var_C], 0FFFFFFFFh seg000:1001530D call sub_1003F3F0 seg000:10015312 mov ecx, [esp+1Ch+var_14] seg000:10015316 pop esi seg000:10015317 mov large fs:0, ecx seg000:1001531E add esp, 10h seg000:10015321 retn 8 seg000:10015321 sub_100151A0 endp ; sp = -8 |
|
|
|
|
|
#3 |
|
Newbie
Join Date: Apr 2006
Posts: 4
Rep Power: 0
![]() |
Any helps/hints/anything on how to compile that into a .dll would be greatly appreciated. Once again apologies if i offend anyone.
|
|
|
|
|
|
#4 |
|
The Supreme Ruler
![]() Join Date: May 2004
Location: Houston
Posts: 1,476
Rep Power: 6
![]() |
Please refrain from triple-posting in such a short period of time. Thanks.
__________________
"Every gun that is made, every warship launched, every rocket signifies, in the final sense, a theft from those who hunger and are not fed, from those who are cold and are not clothed. The world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children." - Dwight D. Eisenhower |
|
|
|
|
|
#5 | |
|
Newbie
Join Date: Apr 2006
Posts: 4
Rep Power: 0
![]() |
Quote:
|
|
|
|
|
|
|
#6 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
Yeah. And you STILL expect someone to take it and run with it and send you your heart's desire.
![]()
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#7 | |
|
Professional Programmer
|
There's about 3 cm's between each users post( grey box with users message in it). Having three separate posts only takes up roughly 9 extra cm of space.
![]()
__________________
▄▄▄▄ Quote:
Due to incorrect calculations during the middle ages, our calendar actually begins a few years after Jesus' birth. Thus the real 6/6/6 happened a few years back. The world already ended and you missed it. Download Code::Blocks now! ▄▄▄▄ |
|
|
|
|
|
|
#8 |
|
Expert Programmer
Join Date: Jun 2005
Posts: 810
Rep Power: 4
![]() |
Have you tried compiling it with an assembler? If so what errors did you get?
You may need to remove the first column of data (I'm no asm expert), any decent text editor should be able to do that. |
|
|