Function at 0x405316
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x56c
mov dword [ebp - 0x5c], 3
push 0x403854
push dword [ebp + 8]
call fcn.004099bc
pop ecx
pop ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 8], 1
jmp 0x405348
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x30], 0
je 0x405369
push 0x403858
push 0
call fcn.004099bc
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x30], eax
jmp 0x405341
and dword [ebp - 4], 0
jmp 0x405376
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x30], 0
je 0x4056bf
push 0x28
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.00409890
add esp, 0xc
push 0x40385c
mov eax, dword [ebp - 4]
push dword [ebp + eax*4 - 0x30]
call fcn.004099bc
pop ecx
pop ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x60], 1
jmp 0x4053ba
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0xa
jge 0x4053d7
push 0x403860
push 0
call fcn.004099bc
pop ecx
pop ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp + ecx*4 - 0x58], eax
jmp 0x4053b3
cmp dword [ebp - 0x58], 0
je 0x4053e3
cmp dword [ebp - 0x54], 0
jne 0x4053e5
jmp 0x40536f
push dword [ebp - 0x58]
push 0x403864
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405406
push dword [ebp - 0x54]
push 0x40386c
call fcn.0040500d
pop ecx
pop ecx
push dword [ebp - 0x54]
push 0x403878
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405429
push 0x40387c
push 0x403884
call fcn.0040500d
pop ecx
pop ecx
push dword [ebp - 0x54]
push 0x403890
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405444
mov dword [ebp - 0x5c], 4
jmp 0x40544b
mov dword [ebp - 0x5c], 3
mov eax, dword [ebp - 0x5c]
cmp dword [ebp + eax*4 - 0x58], 0
jne 0x40545a
jmp 0x40536f
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp + eax*4 - 0x58]
inc eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp + ecx*4 - 0x58], eax
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403894
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x40548f
push dword [0x40101c]
call sub.WS2_32.dll_closesocket
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x4038a4
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4054bd
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x54]
push 0x4038b0
call fcn.0040500d
pop ecx
pop ecx
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x4038bc
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4054eb
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x54]
push 0x4038c8
call fcn.0040500d
pop ecx
pop ecx
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x4038d4
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405521
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x5c]
push 0x4038e0
call fcn.0040500d
add esp, 0xc
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x4038f4
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405541
call fcn.004051f2
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403900
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405561
call fcn.0040579a
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403910
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405583
and byte [0x401014], 0
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x40391c
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4055b3
push 0
push 0
push 0
push 0x4059bc
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403928
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405633
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x54]
push dword [ebp - 0x68]
call fcn.004097a0
pop ecx
pop ecx
mov eax, dword [ebp - 0x5c]
inc eax
inc eax
mov dword [ebp - 0x64], eax
jmp 0x4055eb
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
cmp dword [ebp + eax*4 - 0x58], 0
je 0x405617
push 0x40392c
push dword [ebp - 0x68]
call fcn.004097b0
pop ecx
pop ecx
mov eax, dword [ebp - 0x64]
push dword [ebp + eax*4 - 0x58]
push dword [ebp - 0x68]
call fcn.004097b0
pop ecx
pop ecx
jmp 0x4055e4
push 0
push 0
lea eax, [ebp - 0x68]
push eax
push 0x406118
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403930
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x405660
push 0
push 0
push 0
push 0x4062d9
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x58]
push 0x403938
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4056ba
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x54]
lea eax, [ebp - 0x56c]
push eax
call fcn.004097a0
pop ecx
pop ecx
mov eax, dword [ebp - 0x5c]
push dword [ebp + eax*4 - 0x50]
lea eax, [ebp - 0x16c]
push eax
call fcn.004097a0
pop ecx
pop ecx
push 0
push 0
lea eax, [ebp - 0x56c]
push eax
push 0x40516e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x40536f
leave
ret