Function at 0x407540
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41ffdc
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x427c34]
xor eax, esp
mov dword [esp + 0x870], eax
push ebx
push esi
push edi
mov eax, dword [0x427c34]
xor eax, esp
push eax
lea eax, [esp + 0x888]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_AllocConsole]
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call edi
push 0xfffffffffffffff6
mov dword [0x428e54], eax
call edi
xor ebx, ebx
push ebx
push ebx
push 0x20
mov dword [0x428e50], eax
mov eax, dword [0x428e54]
push str.logon.exe_is_heart_beat_version_n
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
push 0x428fd8
call fcn.00405d80
push str.Please_waiting_for_a_moment_..._n
call fcn.004083b0
mov edi, 0xf
add esp, 8
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x890], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
mov eax, dword [ebp + 8]
cmp eax, ebx
mov byte [esp + 0x890], 3
jle 0x407b7c
cmp eax, 2
jle 0x4076e5
cmp eax, 4
jne 0x407b7c
mov ecx, dword [esi + 4]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407656
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.00404110
mov ecx, dword [esi + 8]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407672
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.00404110
mov ecx, dword [esi + 0xc]
mov eax, ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407690
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.00404110
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x88]
call fcn.00404030
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0xa4]
call fcn.00404030
lea eax, [esp + 0x7c]
push eax
mov ecx, 0x428fdc
call fcn.00406eb0
mov edi, 0xf
jmp 0x407760
call fcn.00407330
test eax, eax
je 0x40770e
push str.GetMatchAcIP_fail_n
call fcn.004083b0
add esp, 4
lea ecx, [esp + 0x7c]
call fcn.004063e0
mov esi, 0x10
jmp 0x407bfa
push 4
push str.1773
lea ecx, [esp + 0x30]
call fcn.00404110
cmp dword [ebp + 8], 2
jne 0x407760
mov esi, dword [esi + 4]
movzx eax, byte [esi]
sub eax, 0x2d
jne 0x407738
movzx eax, byte [esi + 1]
sub eax, 0x61
je 0x407740
sar eax, 0x1f
or eax, 1
jne 0x407760
push ebx
push 3
push str.try_d__recv_d_n
mov dword [0x427ae8], 3
mov dword [0x427aec], ebx
call fcn.004083b0
add esp, 0xc
push str.Load_finished..._n
call fcn.004083b0
mov eax, dword [esp + 0x30]
mov esi, 0x10
add esp, 4
cmp dword [esp + 0x40], esi
jae 0x407780
lea eax, [esp + 0x2c]
push eax
call fcn.0040baef
movzx eax, ax
xor ecx, ecx
add esp, 4
mov dword [esp + 0x10], eax
cmp cx, ax
jne 0x40781c
push 0xa4
push str._nERR:_command_params_format:_ip_port_key__ERR_NO:__d__n
call fcn.004083b0
add esp, 8
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x7c]
call fcn.004063e0
cmp dword [esp + 0x5c], esi
jb 0x4077d4
mov edx, dword [esp + 0x48]
push edx
call fcn.0040a3d0
add esp, 4
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
cmp dword [esp + 0x40], esi
jb 0x4077f3
mov eax, dword [esp + 0x2c]
push eax
call fcn.0040a3d0
add esp, 4
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
cmp dword [esp + 0x78], esi
jb 0x407812
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0040a3d0
add esp, 4
mov eax, 0xfffffffd
jmp 0x407c4e
push str.Check_PORT..._n
call fcn.004083b0
add esp, 4
lea ecx, [esp + 0x17c]
call fcn.00405c90
lea edx, [esp + 0x17c]
push edx
call fcn.00408670
add esp, 4
cmp eax, ebx
je 0x407892
push eax
push 0xb0
push str._nERR_LINE:__d_Get_logins_info_failed__Ret:__d_n
call fcn.004083b0
add esp, 0xc
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x7c]
call fcn.004063e0
lea ecx, [esp + 0x44]
call fcn.00403b50
lea ecx, [esp + 0x28]
call fcn.00403b50
lea ecx, [esp + 0x60]
call fcn.00403b50
xor eax, eax
jmp 0x407c4e
push str.GET_HOST_AD__UserName__SOURCE..._n
call fcn.004083b0
push 0xff
lea eax, [esp + 0x785]
push ebx
push eax
mov byte [esp + 0x78c], bl
call fcn.0040a4c0
lea ecx, [esp + 0x78c]
push 0x100
push ecx
call fcn.00408a80
add esp, 0x18
test eax, eax
je 0x4078e6
push 0xbb
push str._nERR:_Get_hostname_failed__ERR_NO:__d_n
call fcn.004083b0
add esp, 8
jmp 0x40785c
push 0x421754
call fcn.004083b0
lea edx, [esp + 0x580]
push edx
lea eax, [esp + 0x784]
push eax
lea ecx, [esp + 0x188]
push ecx
call fcn.00408b40
mov esi, eax
push esi
push str._n_winslogonMethod___d__n
call fcn.004083b0
add esp, 0x18
cmp esi, 1
je 0x407968
push 0xc8
push str._nERR:_Logon_method_is_err__ERR_NO:__d_n
call fcn.004083b0
add esp, 8
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x7c]
call fcn.004063e0
lea ecx, [esp + 0x44]
call fcn.00403b50
lea ecx, [esp + 0x28]
call fcn.00403b50
lea ecx, [esp + 0x60]
call fcn.00403b50
jmp 0x407c4b
push 0x421754
call fcn.004083b0
lea edx, [esp + 0xc8]
push edx
call fcn.00408e30
push str.Send_login_info..._n
call fcn.004083b0
add esp, 0xc
lea ecx, [esp + 0xd4]
call fcn.00405c40
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x17c]
mov byte [esp + eax + 0xd4], cl
inc eax
cmp cl, bl
jne 0x4079a0
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x174], eax
mov dword [esp + 0x154], 1
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x27c]
mov byte [esp + eax + 0x114], cl
inc eax
cmp cl, bl
jne 0x4079d0
mov edx, dword [esp + 0x10]
mov ecx, 2
push edx
mov word [esp + 0xb8], cx
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0xb6], ax
lea eax, [esp + 0x10]
push eax
mov ecx, 0x428fdc
call fcn.00406430
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x428fdc
call fcn.00406460
push eax
lea ecx, [esp + 0x14]
call fcn.00406330
test al, al
je 0x407b2b
lea ecx, [esp + 0x10]
call fcn.00406360
add eax, 0x1c
mov edi, 0x10
cmp dword [eax + 0x18], edi
jb 0x407a4e
mov esi, dword [eax + 4]
jmp 0x407a51
lea esi, [eax + 4]
lea ecx, [esp + 0x10]
call fcn.00406360
cmp dword [eax + 0x18], edi
jb 0x407a64
mov eax, dword [eax + 4]
jmp 0x407a67
add eax, 4
push esi
push eax
push str.sinforIP_s__key_s_n
call fcn.004083b0
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00406360
add eax, 0x1c
cmp dword [eax + 0x18], edi
jb 0x407a8c
mov eax, dword [eax + 4]
jmp 0x407a8f
add eax, 4
push 0x18
push eax
lea edx, [esp + 0x160]
push edx
call fcn.0040b700
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00406360
cmp dword [eax + 0x18], edi
jb 0x407ab5
mov eax, dword [eax + 4]
jmp 0x407ab8
add eax, 4
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0xbc]
push edx
call fcn.00406150
add esp, 0xc
test eax, eax
jne 0x407b6a
push str.Logon_complete__n
call fcn.004083b0
add esp, 4
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
call fcn.00406390
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x428fdc
call fcn.00406460
push eax
lea ecx, [esp + 0x14]
call fcn.00406330
test al, al
jne 0x407a33
cmp dword [ebp + 8], 4
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
jne 0x407b5e
push 0x3e8
call esi
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0xbc]
push ecx
call fcn.00406080
add esp, 0xc
push 0xbb8
call esi
jmp 0x407867
push str.Logon_Failed__n
call fcn.004083b0
add esp, 4
jmp 0x407867
push 0x97
push str._nERR:_command_params_format:_ip_port_key__ERR_NO:_d__n
call fcn.004083b0
add esp, 8
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x10
cmp dword [esp + 0xb0], esi
jb 0x407bb7
mov edx, dword [esp + 0x9c]
push edx
call fcn.0040a3d0
add esp, 4
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
cmp dword [esp + 0x94], esi
jb 0x407be5
mov eax, dword [esp + 0x80]
push eax
call fcn.0040a3d0
add esp, 4
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
cmp dword [esp + 0x5c], esi
jb 0x407c0d
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0040a3d0
add esp, 4
mov byte [esp + 0x48], bl
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
cmp dword [esp + 0x40], esi
jb 0x407c2c
mov edx, dword [esp + 0x2c]
push edx
call fcn.0040a3d0
add esp, 4
mov byte [esp + 0x2c], bl
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edi
cmp dword [esp + 0x78], esi
jb 0x407c4b
mov eax, dword [esp + 0x64]
push eax
call fcn.0040a3d0
add esp, 4
or eax, 0xffffffff
mov ecx, dword [esp + 0x888]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.0040abf2
mov esp, ebp
pop ebp
ret