Function at 0x405d10
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x710
push esi
and dword [ebp - 0x510], 0
mov dword [ebp - 0x488], 1
and dword [ebp - 0x484], 0
cmp dword [ebp + 8], 0
jne 0x405d43
mov eax, dword [ebp - 0x488]
jmp 0x4063ca
push 0x415470
push dword [ebp + 8]
call fcn.0040af50
pop ecx
pop ecx
mov ecx, dword [ebp - 0x510]
mov dword [ebp + ecx*4 - 0x50c], eax
mov eax, dword [ebp - 0x510]
cmp dword [ebp + eax*4 - 0x50c], 0
je 0x405da4
mov eax, dword [ebp - 0x510]
inc eax
mov dword [ebp - 0x510], eax
cmp dword [ebp - 0x510], 0x20
jbe 0x405d87
jmp 0x405da4
push 0x415474
push 0
call fcn.0040af50
pop ecx
pop ecx
mov ecx, dword [ebp - 0x510]
mov dword [ebp + ecx*4 - 0x50c], eax
jmp 0x405d5f
push 0x4151d8
call fcn.004054c9
pop ecx
push eax
push dword [ebp - 0x50c]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x405ec5
push dword [ebp - 0x508]
push 0x4151e0
call fcn.004054c9
pop ecx
push eax
push 0x415478
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x480]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
cmp dword [0x415090], 0
je 0x405e4d
push 0x415094
push 0x415088
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push 0x415480
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x18
jmp 0x405e77
push 0x415088
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push 0x41548c
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x480]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x405ea7
or eax, 0xffffffff
jmp 0x4063ca
push 0x200
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409ce0
add esp, 0xc
push 1
pop eax
jmp 0x4063ca
push 0x415494
push dword [ebp - 0x508]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x405f8e
cmp dword [0x415090], 0
je 0x405f19
push 0x415094
push 0x415088
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push 0x415498
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x18
jmp 0x405f43
push 0x415088
push 0x4151ac
call fcn.004054c9
pop ecx
push eax
push 0x4154a4
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x480]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x405f73
or eax, 0xffffffff
jmp 0x4063ca
push 0x200
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409ce0
add esp, 0xc
jmp 0x4063c7
push 0x4154ac
push dword [ebp - 0x508]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406015
push dword [0x416900]
push dword [0x415154]
call fcn.00408d25
pop ecx
pop ecx
push eax
push 0x4151a4
call fcn.004054c9
pop ecx
push eax
push 0x4154b0
push 0x200
lea eax, [ebp - 0x480]
push eax
call fcn.0040a3af
add esp, 0x14
push 0
lea eax, [ebp - 0x480]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x480]
push eax
push dword [0x416900]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x40600d
or eax, 0xffffffff
jmp 0x4063ca
push 1
pop eax
jmp 0x4063ca
push 0x4151c4
call fcn.004054c9
pop ecx
push eax
push dword [ebp - 0x508]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x406240
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x415148
push dword [ebp - 0x500]
call fcn.0040a560
add esp, 0xc
test eax, eax
jne 0x406240
push dword [ebp - 0x500]
call fcn.00409f00
pop ecx
mov esi, eax
push 0x415148
call fcn.00409f00
pop ecx
cmp esi, eax
jbe 0x406240
push 0x4154b8
push dword [ebp - 0x50c]
call fcn.0040af50
pop ecx
pop ecx
mov dword [ebp - 0x48c], eax
push 0x4154bc
push 0
call fcn.0040af50
pop ecx
pop ecx
mov dword [ebp - 0x48c], eax
push dword [ebp - 0x48c]
push 0x80
lea eax, [ebp - 0x80]
push eax
call fcn.0040a3af
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
call fcn.00409f00
pop ecx
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004087e3
pop ecx
pop ecx
and dword [ebp - 0x510], 0
mov eax, dword [ebp - 0x510]
cmp dword [eax*4 + 0x415124], 0
je 0x406124
mov eax, dword [ebp - 0x510]
push dword [eax*4 + 0x415124]
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x406115
mov dword [ebp - 0x484], 1
jmp 0x406124
mov eax, dword [ebp - 0x510]
inc eax
mov dword [ebp - 0x510], eax
jmp 0x4060de
cmp dword [ebp - 0x484], 0
je 0x406238
mov dword [ebp - 0x510], 3
mov eax, dword [ebp - 0x510]
cmp dword [ebp + eax*4 - 0x50c], 0
je 0x406230
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x20
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
call fcn.00409ce0
add esp, 0xc
push 0x418154
lea eax, [ebp - 0x280]
push eax
call fcn.00409c85
pop ecx
pop ecx
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x415148
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
call fcn.0040a560
add esp, 0xc
test eax, eax
je 0x4061fd
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
lea eax, [ebp - 0x280]
push eax
push 0x4154c0
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
mov eax, dword [ebp - 0x510]
inc eax
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x510]
cmp dword [ebp + eax*4 - 0x50c], 0
jne 0x4061fb
jmp 0x4061fd
jmp 0x406185
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x504]
call fcn.004063cd
pop ecx
pop ecx
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 1
jge 0x40622b
mov eax, dword [ebp - 0x488]
jmp 0x4063ca
jmp 0x40613b
push 1
pop eax
jmp 0x4063ca
push 1
pop eax
jmp 0x4063ca
cmp dword [ebp - 0x4fc], 0
jne 0x406251
push 1
pop eax
jmp 0x4063ca
push 0x4154c8
push dword [ebp - 0x508]
call fcn.0040ac90
pop ecx
pop ecx
test eax, eax
jne 0x4063c7
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x415148
push dword [ebp - 0x4fc]
call fcn.0040a560
add esp, 0xc
test eax, eax
jne 0x4063c7
push dword [ebp - 0x4fc]
call fcn.00409f00
pop ecx
mov esi, eax
push 0x415148
call fcn.00409f00
pop ecx
cmp esi, eax
jbe 0x4063c7
push 0x418158
lea eax, [ebp - 0x710]
push eax
call fcn.00409c85
pop ecx
pop ecx
mov dword [ebp - 0x510], 4
mov eax, dword [ebp - 0x510]
cmp dword [ebp + eax*4 - 0x50c], 0
je 0x4063c2
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x20
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
call fcn.00409ce0
add esp, 0xc
push 0x41815c
lea eax, [ebp - 0x280]
push eax
call fcn.00409c85
pop ecx
pop ecx
push 0x415148
call fcn.00409f00
pop ecx
push eax
push 0x415148
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
call fcn.0040a560
add esp, 0xc
test eax, eax
je 0x406392
mov eax, dword [ebp - 0x510]
push dword [ebp + eax*4 - 0x50c]
lea eax, [ebp - 0x280]
push eax
push str._s__s
push 0x200
lea eax, [ebp - 0x280]
push eax
call fcn.0040a3af
add esp, 0x14
mov eax, dword [ebp - 0x510]
inc eax
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x510]
cmp dword [ebp + eax*4 - 0x50c], 0
jne 0x406390
jmp 0x406392
jmp 0x40631a
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x500]
call fcn.004063cd
pop ecx
pop ecx
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 1
jge 0x4063bd
mov eax, dword [ebp - 0x488]
jmp 0x4063ca
jmp 0x4062d0
push 1
pop eax
jmp 0x4063ca
push 1
pop eax
pop esi
leave
ret