Function at 0x4126dc
Capabilities:
Create thread
Link many functions at runtime

Disassembly:
push 0xc
mov eax, 0x441f59
call fcn.0042baa9
call fcn.0040b39c
lea eax, [ebp - 0x10]
push 0x445e18
push eax
call fcn.00408331
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64e8], eax
call fcn.004012b7
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ebx, ebx
cmp dword [0x4c64e8], ebx
je 0x412923
lea eax, [ebp - 0x10]
push 0x445dfc
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64c8], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445de0
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c648c], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445dc4
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6488], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445d88
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6484], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445d5c
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64a0], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445d40
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6430], eax
call fcn.004012b7
push 0x445d20
lea eax, [ebp - 0x10]
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c649c], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445d04
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c642c], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445ce4
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6524], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445cb8
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6528], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445ca4
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6534], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445c8c
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64e8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6538], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445c70
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64ec], eax
call fcn.004012b7
cmp dword [0x4c64ec], ebx
je 0x412979
lea eax, [ebp - 0x10]
push 0x445c48
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64ec]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64c4], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445c2c
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64f4], eax
call fcn.004012b7
cmp dword [0x4c64f4], ebx
je 0x412a23
lea eax, [ebp - 0x10]
push 0x445c10
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64f4]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64b8], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445bf4
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64f4]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64b4], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445bdc
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64f4]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64b0], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445bc0
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64f8], eax
call fcn.004012b7
cmp dword [0x4c64f8], ebx
je 0x412a79
lea eax, [ebp - 0x10]
push 0x445b9c
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64f8]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64ac], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445b84
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64fc], eax
call fcn.004012b7
cmp dword [0x4c64fc], ebx
je 0x412c53
lea eax, [ebp - 0x10]
push 0x445b6c
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64fc]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64a8], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445b58
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c64fc]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6490], eax
call fcn.004012b7
push str.gethostname
push dword [0x4c64fc]
call esi
push str.listen
push dword [0x4c64fc]
mov dword [0x4c647c], eax
call esi
push str.gethostbyname
push dword [0x4c64fc]
mov dword [0x4c6478], eax
call esi
push str.inet_ntoa
push dword [0x4c64fc]
mov dword [0x4c6474], eax
call esi
push str.accept
push dword [0x4c64fc]
mov dword [0x4c6470], eax
call esi
push str.shutdown
push dword [0x4c64fc]
mov dword [0x4c646c], eax
call esi
push str.closesocket
push dword [0x4c64fc]
mov dword [0x4c6468], eax
call esi
push str.WSACleanup
push dword [0x4c64fc]
mov dword [0x4c6464], eax
call esi
push str.recv
push dword [0x4c64fc]
mov dword [0x4c6460], eax
call esi
push str.WSARecv
push dword [0x4c64fc]
mov dword [0x4c645c], eax
call esi
push str.WSAWaitForMultipleEvents
push dword [0x4c64fc]
mov dword [0x4c6458], eax
call esi
push str.WSAGetOverlappedResult
push dword [0x4c64fc]
mov dword [0x4c6454], eax
call esi
push str.WSAGetLastError
push dword [0x4c64fc]
mov dword [0x4c6450], eax
call esi
push str.WSACreateEvent
push dword [0x4c64fc]
mov dword [0x4c644c], eax
call esi
push str.send
push dword [0x4c64fc]
mov dword [0x4c6448], eax
call esi
push str.WSASend
push dword [0x4c64fc]
mov dword [0x4c6444], eax
call esi
push str.WSACloseEvent
push dword [0x4c64fc]
mov dword [0x4c6440], eax
call esi
push 0x445ab4
push dword [0x4c64fc]
mov dword [0x4c643c], eax
call esi
push str.connect
push dword [0x4c64fc]
mov dword [0x4c6438], eax
call esi
mov dword [0x4c6434], eax
lea eax, [ebp - 0x10]
push 0x445a90
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6500], eax
call fcn.004012b7
cmp dword [0x4c6500], ebx
je 0x412cfd
lea eax, [ebp - 0x10]
push 0x445a68
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c6500]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c64a4], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445a48
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c6500]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c652c], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445a20
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c6500]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6530], eax
call fcn.004012b7
lea eax, [ebp - 0x10]
push 0x445a04
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6504], eax
call fcn.004012b7
cmp dword [0x4c6504], ebx
je 0x412d53
lea eax, [ebp - 0x10]
push 0x4459d4
push eax
call fcn.00408331
pop ecx
pop ecx
push dword [eax]
push dword [0x4c6504]
call esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [0x4c6498], eax
call fcn.004012b7
cmp dword [0x4c64c8], ebx
je 0x412ea4
cmp dword [0x4c64c4], ebx
je 0x412ea4
cmp dword [0x4c64c0], ebx
je 0x412ea4
cmp dword [0x4c64bc], ebx
je 0x412ea4
cmp dword [0x4c64b8], ebx
je 0x412ea4
cmp dword [0x4c64b4], ebx
je 0x412ea4
cmp dword [0x4c64b0], ebx
je 0x412ea4
cmp dword [0x4c64ac], ebx
je 0x412ea4
cmp dword [0x4c64a8], ebx
je 0x412ea4
cmp dword [0x4c648c], ebx
je 0x412ea4
cmp dword [0x4c6488], ebx
je 0x412ea4
cmp dword [0x4c6490], ebx
je 0x412ea4
cmp dword [0x4c6484], ebx
je 0x412ea4
cmp dword [0x4c64a4], ebx
je 0x412ea4
call fcn.0040a4ba
call fcn.0040a42e
call fcn.0040b8b8
call fcn.0040b966
lea eax, [ebp - 0x14]
push 0x4455b0
push eax
call fcn.00408331
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.00402dff
push eax
call fcn.0040b68a
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004012b7
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x455748
call esi
push 0x455730
call esi
call fcn.0040ce84
mov dword [ebp - 0x18], ebx
xor esi, esi
cmp dword [0x4c6f70], ebx
jne 0x412e9a
lea eax, [ebp - 0x18]
push eax
push ebx
push ebx
push 0x412080
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x4c6f70], eax
cmp eax, ebx
jne 0x412e9a
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 3
jl 0x412e5d
cmp dword [0x4c6f70], ebx
je 0x412ea4
xor eax, eax
inc eax
mov dword [0x4c6540], eax
jmp 0x412ea6
xor eax, eax
call fcn.0042bb81
ret