Function at 0x4024e0
Capabilities:
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e0
mov eax, dword [0x4560c0]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x194]
push eax
push 2
call sub.WSOCK32.dll_WSAStartup
call fcn.00401cc0
test eax, eax
jne 0x402522
or eax, 0xffffffff
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402c1e
mov esp, ebp
pop ebp
ret 0x10
push esi
mov esi, dword [0x45600c]
mov ecx, 0x456b48
imul esi, dword [0x456010]
shl esi, 2
call fcn.00401380
cmp eax, esi
jae 0x402553
push esi
lea eax, [ebp - 0x19c]
mov ecx, 0x456b48
push eax
call fcn.00401140
mov ecx, 0x456b48
call fcn.00401390
mov ecx, dword [0x45600c]
imul ecx, dword [0x456010]
mov dword [0x456b34], eax
shl ecx, 2
push ecx
push 0xffed2979
push eax
call fcn.00404740
add esp, 0xc
mov dword [ebp - 0x1c4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1bc], 0
lea eax, [ebp - 0x1c4]
movlpd qword [ebp - 0x1b0], xmm0
movlpd qword [ebp - 0x1a8], xmm0
push eax
mov dword [ebp - 0x1c0], 0x402100
mov dword [ebp - 0x1b4], edi
mov dword [ebp - 0x1a0], str.wodCmdTermClass
mov dword [ebp - 0x1b8], 4
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0
push edi
push 0
push 0
push 0
push 0
push 0
push 0
push connect
push str.wodCmdTermWindow
push dword [ebp - 0x1a0]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0x23
push 0x40a
push eax
push dword [0x456004]
mov dword [0x456b18], eax
call sub.WSOCK32.dll_WSAAsyncSelect
push 0
push 0x64
push 0x3e8
push dword [0x456b18]
call dword [sym.imp.USER32.dll_SetTimer]
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x40266b
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AttachConsole
push edi
call esi
push str.UnregisterWait
push edi
mov dword [0x456b0c], eax
call esi
push str.RegisterWaitForSingleObject
push edi
mov dword [0x456b10], eax
call esi
mov dword [0x456b14], eax
cmp dword [0x456b0c], 0
jne 0x4026ab
push 0
push str.Could_not_attach_console._Kernel_API_not_found.
call fcn.00401e40
add esp, 8
push dword [0x456b18]
call dword [sym.imp.USER32.dll_DestroyWindow]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
or eax, 0xffffffff
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402c1e
mov esp, ebp
pop ebp
ret 0x10
push ebx
push 0x456b30
push 0
push 0
push 0x4014c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
mov ebx, eax
push 0
push 0
push 0
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x198], ebx
push eax
call esi
test eax, eax
je 0x402724
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop dword [eax + eax]
cmp eax, 0xffffffff
je 0x40271e
lea eax, [ebp - 0x1e0]
push eax
call ebx
lea eax, [ebp - 0x1e0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x1e0]
push eax
call esi
test eax, eax
jne 0x4026f0
mov ebx, dword [ebp - 0x198]
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [0x456b18]
call dword [sym.imp.USER32.dll_DestroyWindow]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call sub.WSOCK32.dll_WSACleanup
mov ecx, dword [ebp - 4]
xor eax, eax
pop ebx
pop esi
xor ecx, ebp
pop edi
call fcn.00402c1e
mov esp, ebp
pop ebp
ret 0x10