Function at 0x405f80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x405f88
push ebx
push esi
test dl, dl
je 0x405f9d
add esp, 0xfffffff0
call fcn.00402f34
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x4062eb
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [esi + 4]
mov edx, 0x406318
call fcn.00403808
mov byte [esi + 0x35], 0
push 5
push 0x152000
mov edx, 0x408174
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x18], eax
push 5
push 0x152000
mov edx, 0x4081a8
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x1c], eax
push 5
push 0x152000
mov edx, 0x4081dc
mov ecx, 0x30
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x20], eax
push 5
push 0x152000
mov edx, 0x408210
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x28], eax
push 5
push 0x152000
mov edx, 0x4082e0
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x38], eax
push 2
push 0x152000
mov edx, 0x408244
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x24], eax
push 1
push 0x152000
mov edx, 0x408278
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x2c], eax
push 1
push 0x152000
mov edx, 0x4082ac
mov ecx, 0x31
mov eax, 0x406318
call fcn.00404cdc
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x20]
add eax, 0x3c
cdq
push edx
push eax
call fcn.004051d0
mov dword [0x4097f4], eax
lea ecx, [ebp - 8]
mov eax, dword [esi + 0x18]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 8]
lea eax, [ebp - 4]
mov edx, 0x40632c
call fcn.00403984
mov eax, dword [ebp - 4]
call fcn.00403b30
push eax
call fcn.00404f20
mov eax, dword [0x4097f8]
add eax, 0x31
cdq
push edx
push eax
call fcn.00404abc
inc eax
mov dword [0x4097f8], eax
lea ecx, [ebp - 0x10]
mov edx, 8
mov eax, dword [0x4097f8]
call fcn.00404590
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x406344
call fcn.00403984
mov eax, dword [ebp - 0xc]
call fcn.00403b30
push eax
call fcn.00404f20
lea ecx, [ebp - 0x18]
mov eax, dword [esi + 0x1c]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x406360
call fcn.00403984
mov eax, dword [ebp - 0x14]
call fcn.00403b30
push eax
call fcn.00404f20
mov eax, dword [esi + 0x1c]
add eax, 0x47
cdq
push edx
push eax
call fcn.004051d0
mov dword [0x4097fc], eax
lea ecx, [ebp - 0x20]
mov eax, dword [esi + 0x24]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 0x406378
call fcn.00403984
mov eax, dword [ebp - 0x1c]
call fcn.00403b30
push eax
call fcn.00404f20
lea ecx, [ebp - 0x28]
mov eax, dword [esi + 0x20]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edx, 0x40638c
call fcn.00403984
mov eax, dword [ebp - 0x24]
call fcn.00403b30
push eax
call fcn.00404f20
lea ecx, [ebp - 0x30]
mov eax, dword [esi + 0x38]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x4063a4
call fcn.00403984
mov eax, dword [ebp - 0x2c]
call fcn.00403b30
push eax
call fcn.00404f20
lea ecx, [ebp - 0x38]
mov eax, dword [esi + 0x28]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x4063bc
call fcn.00403984
mov eax, dword [ebp - 0x34]
call fcn.00403b30
push eax
call fcn.00404f20
add dword [esi + 0x38], 0x300
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x38]
mov edx, 8
call fcn.00404590
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
mov edx, 0x4063a4
call fcn.00403984
mov eax, dword [ebp - 0x3c]
call fcn.00403b30
push eax
call fcn.00404f20
mov eax, dword [esi + 0x38]
cdq
push edx
push eax
call fcn.004051d0
mov dword [0x409800], eax
lea ecx, [ebp - 0x48]
mov edx, 8
mov eax, dword [0x409800]
call fcn.00404590
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
mov edx, 0x4063d4
call fcn.00403984
mov eax, dword [ebp - 0x44]
call fcn.00403b30
push eax
call fcn.00404f20
mov byte [esi + 0x55], 0
mov eax, esi
call fcn.0040683c
push 0x4097dc
push 0
push 0
push 0x405f58
push 0
push 0
call sub.kernel32.dll_CreateThread
xor edx, edx
mov eax, esi
call fcn.00402e14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4062f2
lea eax, [ebp - 0x48]
mov edx, 0x12
call fcn.004037d8
ret