Function at 0x403523
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
cmp dword [0x420c43], 1
jne 0x403820
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40355c
mov eax, 0x41a20c
push eax
push 1
mov ebx, 0x174
call fcn.0040f110
add esp, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x403588
push ebx
call fcn.0040e012
add esp, 4
pop eax
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
push 0x41a20c
mov ebx, dword [ebp + 8]
push dword [ebx]
call fcn.00401c4a
add esp, 8
cmp eax, 0
je 0x403750
push connect
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
push str.exit
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4035d6
mov eax, 0x41a20c
push eax
push 3
mov ebx, 0x18c
call fcn.0040f1a0
add esp, 0x28
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x403605
call fcn.00403840
mov eax, 4
jmp 0x403828
push connect
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
push 0x420283
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x403632
mov eax, 0x41a20c
push eax
push 3
mov ebx, 0x18c
call fcn.0040f1a0
add esp, 0x28
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x403750
push 1
push 1
push 1
push 0x25
call fcn.004031ae
mov dword [ebp - 0xc], eax
push 0x420287
push dword [ebp - 0xc]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x403690
push ebx
call fcn.0040e012
add esp, 4
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x4036a3
mov eax, 0x41a20c
push eax
push 1
mov ebx, 0x198
call fcn.0040f2e0
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4036c9
push ebx
call fcn.0040e012
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4036dd
push ebx
call fcn.0040e012
add esp, 4
pop eax
mov dword [ebp - 4], eax
push htons
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4036f4
mov eax, 0x42008e
push eax
push 1
mov ebx, 0x194
call fcn.0040f3a0
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], esp
push 0
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
mov eax, dword [ebp - 4]
test eax, eax
je 0x403723
add eax, 8
push eax
push dword [0x420c67]
call dword [sym.imp.KERNEL32.dll_WriteFile]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x403746
push 6
call fcn.0040e01e
add esp, 4
mov eax, 3
jmp 0x403828
push 0x420289
mov ebx, dword [ebp + 8]
push dword [ebx]
mov ecx, 2
call fcn.0040106b
add esp, 8
mov dword [ebp - 0xc], eax
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40377d
mov eax, 0x41a20c
push eax
push 1
mov ebx, 0x198
call fcn.0040f2e0
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4037a3
push ebx
call fcn.0040e012
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4037b7
push ebx
call fcn.0040e012
add esp, 4
pop eax
mov dword [ebp - 4], eax
push htons
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4037ce
mov eax, 0x42008e
push eax
push 1
mov ebx, 0x194
call fcn.0040f3a0
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], esp
push 0
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
mov eax, dword [ebp - 4]
test eax, eax
je 0x4037fd
add eax, 8
push eax
push dword [0x420c57]
call dword [sym.imp.KERNEL32.dll_WriteFile]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x403820
push 6
call fcn.0040e01e
add esp, 4
mov eax, dword [ebp - 8]
jmp 0x403828
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403839
push ebx
call fcn.0040e012
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 4