Function at 0x401e90
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
sub esp, 0x9e4
mov eax, dword [0x414044]
xor eax, esp
mov dword [esp + 0x9e0], eax
mov eax, dword [esp + 0x9e8]
push ebx
push esi
push edi
push 0
push eax
push 0
push 0
push 0
push closesocket
push 0
push closesocket
push 0xcf0000
push 0x415dc8
push 0x415d00
push 0
mov dword [0x415e90], eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4020a3
call fcn.00401260
mov dword [0x417498], eax
call fcn.00401c00
test eax, eax
jne 0x401f07
call fcn.004018c0
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esp + 0x630]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x104
lea ecx, [esp + 0x7e4]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [0x412c50]
mov ecx, dword [0x412c54]
mov edx, dword [0x412c4c]
push 0x2e
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x214], edx
mov edx, dword [0x412c58]
mov dword [esp + 0x218], eax
mov ax, word [0x412c5c]
lea ecx, [esp + 0x226]
push 0
push ecx
mov dword [esp + 0x228], edx
mov word [esp + 0x22c], ax
call fcn.0040b3e0
add esp, 0xc
xor edx, edx
push 0x3e
push edx
lea eax, [esp + 0x25a]
push eax
mov word [esp + 0x25c], dx
call fcn.0040b3e0
add esp, 0xc
push 0x1ba
lea ecx, [esp + 0x298]
push 0
push ecx
mov dword [esp + 0x29c], 0
call fcn.0040b3e0
lea edx, [esp + 0x21c]
add esp, 0xc
push edx
lea eax, [esp + 0x7e4]
call fcn.004049f0
add esp, 4
cmp eax, 1
jne 0x40200a
xor eax, eax
jmp 0x401ff0
mov cl, byte [esp + eax + 0x210]
not cl
mov byte [esp + eax + 0x210], cl
inc eax
cmp eax, 0x23e
jb 0x401ff0
jmp 0x402061
push 0x412c60
call fcn.00401160
add esp, 4
mov edx, 0x2bb6
push 0x412c7c
mov dword [esp + 0x424], eax
mov word [esp + 0x428], dx
call fcn.00401160
add esp, 4
push 0x412c9c
mov dword [esp + 0x42a], eax
lea eax, [esp + 0x432]
push 0x10
push eax
mov dword [esp + 0x436], 0x51
call fcn.00404b41
add esp, 0xc
xor eax, eax
jmp 0x402070
movzx ecx, word [eax + 0x412cac]
mov word [eax + 0x4176a8], cx
add eax, 2
test cx, cx
jne 0x402070
push 0x4176a8
push 0
push 0x20000
call dword [sym.imp.KERNEL32.dll_OpenEventW]
test eax, eax
je 0x4020bd
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9e0]
xor ecx, esp
call fcn.00404b06
add esp, 0x9e4
ret
push 0x4176a8
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
test eax, eax
je 0x4020a3
lea ebx, [esp + 0x210]
lea esi, [esp + 0x10]
call fcn.004023a0
mov esi, eax
xor eax, eax
push 0x1e0
mov ecx, pe_nt_image_headers32
mov edi, 0x4174a8
rep movsd dword es:[edi], dword [esi]
push eax
lea edx, [esp + 0x458]
xor ecx, ecx
push edx
mov word [esp + 0x7cc], cx
mov dword [esp + 0x7ce], eax
mov dword [esp + 0x7d2], eax
mov dword [esp + 0x7d6], eax
mov dword [esp + 0x7da], eax
mov dword [esp + 0x7de], eax
mov dword [esp + 0x7e2], eax
mov dword [esp + 0x7e6], eax
mov word [esp + 0x7ea], ax
call fcn.0040b3e0
mov ecx, dword [esp + 0x432]
add esp, 0xc
lea esi, [esp + 0x7c0]
mov dword [esp + 0x450], 0x504d534d
call fcn.00401060
xor eax, eax
jmp 0x402170
movzx ecx, word [esp + eax + 0x7c0]
mov word [esp + eax + 0x454], cx
add eax, 2
test cx, cx
jne 0x402170
mov ax, word [esp + 0x42a]
mov ecx, dword [esp + 0x420]
lea esi, [esp + 0x7c0]
mov word [esp + 0x4d4], ax
call fcn.00401060
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x7c0]
mov word [esp + eax + 0x4f6], cx
add eax, 2
test cx, cx
jne 0x4021b0
mov ax, word [esp + 0x424]
mov ecx, dword [esp + 0x420]
lea edx, [esp + 0x42e]
push edx
mov word [esp + 0x57a], ax
mov word [0x4174a0], ax
lea eax, [esp + 0x4da]
push 0x10
push eax
mov dword [0x41749c], ecx
call fcn.00404b41
lea ecx, [esp + 0x45c]
add esp, 0xc
push ecx
call fcn.00404a60
mov ecx, dword [esp + 0x9f0]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00404b06
add esp, 0x9e4
ret