Function at 0x410120
Capabilities:
Check for time delay via gettickcount
Create tcp socket
Create thread
Create udp socket
Get system information on windows
Resolve function by parsing pe exports
Resume thread
Start tcp server

Disassembly:
push 0xffffffffffffffff
push 0x58fe94
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x5f4760]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f4760]
xor eax, esp
push eax
lea eax, [esp + 0x94]
mov dword fs:[0], eax
mov edi, str.360PublishSocket.log
lea esi, [esp + 0x54]
call fcn.004065f0
mov dword [esp + 0x9c], 0
mov eax, dword [eax]
push 0
mov edi, eax
mov esi, 0x602310
call fcn.00409d40
or ebp, 0xffffffff
mov dword [esp + 0x9c], ebp
lea eax, [esp + 0x54]
push eax
call fcn.00403090
mov edi, str.logscache.log
lea esi, [esp + 0x48]
call fcn.004065f0
mov edi, 1
mov dword [esp + 0x9c], edi
mov eax, dword [eax]
mov ecx, dword [0x603de8]
push edi
push ecx
mov ebx, eax
mov esi, 0x603b54
call fcn.0040adc0
mov dword [esp + 0x9c], ebp
lea edx, [esp + 0x48]
push edx
call fcn.00403090
cmp dword [0x603db4], 0
jne 0x4101e9
mov dword [0x60227c], 0
add dword [0x604810], edi
call fcn.00413130
mov eax, dword [0x6023a4]
mov ecx, dword [0x6023a0]
sub eax, ecx
sar eax, 2
cmp eax, edi
ja 0x41026b
mov edi, 0x258
cmp eax, 1
jne 0x410226
mov ecx, dword [ecx]
push str.0.0.0.0
push ecx
call fcn.004a47ba
add esp, 8
test eax, eax
jne 0x41026b
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x604810], edi
mov esi, 0x602250
jg 0x4102ba
push str.Get_local_ip_loop...
call fcn.00409e30
inc dword [0x604810]
add esp, 4
call fcn.00413130
mov eax, dword [0x6023a4]
mov ecx, dword [0x6023a0]
sub eax, ecx
sar eax, 2
cmp eax, 1
jbe 0x410210
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ebp, eax
mov dword [esp + 0x20], ebp
cmp ebp, 0xffffffff
jne 0x4102d8
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
push eax
push str.WSASocket___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__WSASocket___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push str.Get_local_ip_error.
call fcn.00409e30
add esp, 4
mov ecx, str._run_iocp__Get_local_ip_error.
call fcn.004930a0
xor eax, eax
jmp 0x410a2d
mov eax, 2
xor ebx, ebx
push ebx
mov word [esp + 0x80], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov edi, dword [esp + 0xa4]
push edi
mov dword [esp + 0x84], eax
call dword [sym.imp.WS2_32.dll_htons]
lea ecx, [esp + 0x18]
push ecx
push 0x601fd0
mov word [esp + 0x86], ax
mov dword [esp + 0x20], ebx
call fcn.00491490
add esp, 8
mov dword [0x601fcc], eax
cmp eax, ebx
je 0x41032f
mov ebx, 1
push 0x10
lea edx, [esp + 0x80]
push edx
push ebp
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x410497
lea esp, [esp]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [0x601e4c], 0
mov dword [esp + 0x1c], eax
je 0x41050e
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
movzx edi, di
call ebp
push eax
mov eax, dword [0x601fcc]
push eax
push edi
push str.bind_port__d__err__CURRENT_IS_SERVICE_MODE__g_bHasUserLogon_d__TickCount_u__bHasUserBeforeBind_d
mov esi, 0x602250
call fcn.00409e30
add esp, 0x14
push ebx
push edi
push str._run_iocp__bind_port__d__err__bHasUserBeforeBind_d
call fcn.004916b0
xor edi, edi
add esp, 0xc
cmp ebx, edi
je 0x4103d9
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], edi
call fcn.00491490
add esp, 8
test eax, eax
jne 0x41054b
mov ecx, str._run_iocp__goon_on_wait_logon
call fcn.004930a0
push str.g_bHasUserLogon1__FALSE
call fcn.00409e30
add esp, 4
jmp 0x410455
cmp dword [0x601fcc], edi
jne 0x41040a
lea eax, [esp + 0x18]
push eax
push 0x601fd0
call fcn.00491490
add esp, 8
mov ecx, str._run_iocp__Check_Someone_Logon
mov dword [0x601fcc], eax
call fcn.004930a0
cmp dword [0x601fcc], edi
je 0x410463
call ebp
mov ecx, dword [0x601fd0]
sub eax, ecx
cmp eax, 0x493e0
jbe 0x410463
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], edi
call fcn.00491490
add esp, 8
test eax, eax
jne 0x4105b9
push str.g_bHasUserLogon2__FALSE
mov esi, 0x602250
call fcn.00409e30
add esp, 4
mov ecx, str._run_iocp__goon_on_wait_logon2
call fcn.004930a0
mov dword [0x601fd0], edi
mov dword [0x601fcc], edi
xor ebx, ebx
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x20]
push 0x10
lea eax, [esp + 0x80]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_bind]
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x410350
movzx edx, di
push edx
push str.bind_port__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
push 0
push 0x800
call fcn.00402d60
push SysReAllocString
push ebp
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x410604
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
push eax
push str.listen___error__d
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__listen___error__d
call fcn.004916b0
add esp, 8
push ebp
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push 0x800
call fcn.00402d20
xor eax, eax
jmp 0x410a2d
movzx edx, di
push edx
push str.bind_port__d__err__not_service_mode
mov esi, 0x602250
call fcn.00409e30
push 0
push edi
mov ecx, ebp
call fcn.0040fe10
add esp, 0x10
push 0
push 0x800
call fcn.00402d20
mov ecx, str._run_iocp__exit__1_
call fcn.004930a0
push 0xffffffffffffffff
call fcn.004a5629
mov ebx, dword [esp + 0x1c]
push ebx
push str._run_iocp__Current_Has_UserLogon__call_MessageBox__u___and_exit_service
call fcn.004916b0
add esp, 8
call ebp
push eax
mov eax, dword [0x601fcc]
push eax
push str.g_bHasUserLogon1_d__TickCount_u
mov esi, 0x602250
call fcn.00409e30
add esp, 0xc
push 0x493e0
push str.BINDERROR_NOTIFYTIME1_d__MsgBox_Error
call fcn.00409e30
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xac]
push ecx
push ebx
push edx
call fcn.00491b10
add esp, 0x14
push edi
push 0x800
call fcn.00402d20
mov ecx, str._run_iocp__Exit_By_notify_bind_err
call fcn.004930a0
push 0xffffffffffffffff
call fcn.004a5629
mov ebx, dword [esp + 0x1c]
push ebx
push str._run_iocp__Check_Someone_Logon__time_up__MessageError__and_exit_service__u_
call fcn.004916b0
push 0x493e0
push str.BINDERROR_NOTIFYTIME2_d__MsgBox_Error
mov esi, 0x602250
call fcn.00409e30
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xb4]
push eax
push ebx
push ecx
call fcn.00491b10
add esp, 0x1c
push edi
push 0x800
call fcn.00402d20
push 0xffffffffffffffff
call fcn.004a5629
push 0
push 0
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jne 0x41064e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateIoCompletionPort_error:__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateIoCompletionPort_error:__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
mov eax, 0x6046e8
call fcn.004577d0
mov ecx, esi
call fcn.004982c0
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ebx, dword [0x603dd4]
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebp, ebp
test ebx, ebx
jle 0x4106ad
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x40]
push ecx
push 0
push edx
push 0x411ff0
push 0
push 0
mov dword [esp + 0x58], 0
call esi
test eax, eax
je 0x41070c
push eax
call edi
inc ebp
cmp ebp, ebx
jl 0x410682
lea eax, [esp + 0x50]
push eax
push 0x10004
push 0x6023b0
push 0x40f070
push 0x6000
push 0
mov dword [esp + 0x68], 0
call esi
mov ebx, eax
xor ebp, ebp
cmp ebx, ebp
jne 0x41073e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_ServerFlowStatThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_ServerFlowStatThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_ServerWorkerThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_ServerWorkerThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push ebx
call edi
lea ecx, [esp + 0x30]
push ecx
push ebp
push ebp
push 0x411a00
push ebp
push ebp
mov dword [esp + 0x48], ebp
call esi
cmp eax, ebp
jne 0x41079b
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_WanSendThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_WanSendThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push eax
call edi
lea edx, [esp + 0x34]
push edx
push ebp
push ebp
push 0x411bd0
push ebp
push ebp
mov dword [esp + 0x4c], ebp
call esi
cmp eax, ebp
jne 0x4107e8
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_ClientSendThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_ClientSendThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push eax
call edi
lea eax, [esp + 0x3c]
push eax
push ebp
push ebp
push 0x411830
push ebp
push ebp
mov dword [esp + 0x54], ebp
call esi
cmp eax, ebp
jne 0x410835
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_ClientRecvThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_ClientRecvThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push eax
call edi
lea ecx, [esp + 0x44]
push ecx
push ebp
push ebp
push 0x411660
push ebp
push ebp
mov dword [esp + 0x5c], ebp
call esi
cmp eax, ebp
jne 0x410882
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.CreateThread_WanRecvThread___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call edi
push eax
push str._run_iocp__CreateThread_WanRecvThread___error__d
call fcn.004916b0
add esp, 8
xor eax, eax
jmp 0x410a2d
push eax
call edi
cmp dword [0x603db4], 1
jne 0x410894
mov dword [0x60227c], ebp
cmp dword [0x603e30], 0
je 0x41092b
call fcn.00420f70
lea ebx, [eax + 0xc74]
lea esp, [esp]
mov edx, dword [0x601e54]
mov edi, dword [ebx]
add edx, edi
cmp edx, dword [0x603e30]
jb 0x41092b
mov eax, dword [0x601e54]
test eax, eax
jge 0x4108f0
cmp dword [0x603db4], 9
jne 0x4108e6
push str._ERR__g_tcp_count_0
mov esi, 0x602250
call fcn.00409e30
add esp, 4
mov dword [0x601e54], 0
cmp dword [0x603db4], 9
jne 0x41091a
mov ecx, dword [0x601e54]
mov edx, dword [0x603e30]
push edi
push ecx
push edx
push str._WAR_
mov esi, 0x602250
call fcn.00409e30
add esp, 0x10
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x603e30], 0
jne 0x4108b0
mov edi, 9
cmp dword [0x603db4], edi
jne 0x410951
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._u_before_WSAAccept
mov esi, 0x602250
call fcn.00409e30
add esp, 8
mov eax, dword [esp + 0x20]
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.WS2_32.dll_WSAAccept]
mov ebx, eax
mov dword [esp + 0x1c], ebx
cmp ebx, 0xffffffff
jne 0x410988
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAAccept___error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x4c], eax
cmp dword [0x603db4], edi
jne 0x4109b3
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._u_after_WSAAccept
mov esi, 0x602250
call fcn.00409e30
add esp, 8
lea edi, [esp + 0x1c]
call fcn.0040fb60
mov ecx, dword [0x601e54]
push ebx
push ecx
push str.__2d___d_connected
mov esi, 0x602250
call fcn.00409e30
mov edi, dword [esp + 0x28]
add esp, 0xc
push edi
lea ebx, [esp + 0x28]
mov dword [esp + 0x28], 0
call fcn.004982e0
test eax, eax
jne 0x410a52
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.GlobalAlloc___error__d
call fcn.00409e30
add esp, 8
push ebp
call edi
push eax
push str._run_iocp__GlobalAlloc___error__d_nf_d
call fcn.004916b0
inc ebp
add esp, 0xc
cmp ebp, 3
jl 0x410894
mov eax, 1
mov ecx, dword [esp + 0x94]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004a314d
add esp, 0x8c
ret
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x410a64
mov edx, dword [esp + 0x4c]
mov dword [ebx + 0x81a0], edx
mov esi, dword [esp + 0x28]
push 0
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test eax, eax
jne 0x410ac8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateIoCompletionPort_error__d
mov esi, 0x602250
call fcn.00409e30
add esp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._run_iocp_2_CreateIoCompletionPort_error__d_nf_d
call fcn.004916b0
inc ebp
add esp, 0xc
cmp ebp, 3
jge 0x410a28
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
test ebx, ebx
je 0x410894
call fcn.004984e0
jmp 0x410894
lea eax, [ebx + 0x134]
push eax
push ebx
push 0x12345678
push esi
xor ebp, ebp
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
jmp 0x410894