|
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 ;
|