Function at 0x406e8e
Capabilities:
Create thread

Disassembly:
push 0x14
mov eax, 0x41b0c3
call fcn.0040a51d
mov esi, ecx
push 0x41e0c0
call fcn.004046d7
pop ecx
lea edi, [esi + 0x2c]
mov ecx, edi
call fcn.0040204b
test eax, eax
jne 0x406f4d
lea ebx, [esi + 0x34]
mov ecx, ebx
call fcn.0040204b
cmp eax, 1
jne 0x406edc
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.004029de
call fcn.00403b28
pop ecx
pop ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.004029de
and dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push ebx
call fcn.004029de
or dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x38]
push edi
call fcn.00408062
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x406f4f
mov ecx, edi
call fcn.0040204b
cmp eax, 1
jne 0x406f4f
mov ecx, esi
call fcn.00405701
test eax, eax
jne 0x406f38
push 0x4c8
push dword [esi + 0x58]
push dword [esi + 0x20]
call fcn.00404bff
add esp, 0xc
push 0x41e094
call fcn.004046d7
pop ecx
xor eax, eax
call fcn.0040a5bc
ret 4
xor ebx, ebx
cmp dword [ebp + 8], ebx
jne 0x406ff2
mov ecx, esi
call fcn.004062b2
test eax, eax
jne 0x406f6a
push 0x41e070
jmp 0x406f3d
mov ecx, esi
call fcn.004058de
test eax, eax
jne 0x406f7c
push 0x41e044
jmp 0x406f3d
mov ecx, esi
call fcn.004060de
test eax, eax
jne 0x406f8e
push 0x41e020
jmp 0x406f3d
push 1
mov ecx, esi
call fcn.00405e55
test eax, eax
jne 0x406fa2
push 0x41dffc
jmp 0x406f3d
lea eax, [ebp - 0x14]
push eax
push 0xf003f
push ebx
lea ecx, [esi + 0x4c]
mov dword [ebp - 0x14], ebx
call fcn.0040205b
push eax
push dword [esi + 0x54]
call dword [0x41c024]
cmp eax, ebx
jne 0x406ff2
mov edi, dword [0x41c010]
push 0x41d770
push dword [ebp - 0x14]
call edi
push 0x41d760
push dword [ebp - 0x14]
call edi
push 0x41d74c
push dword [ebp - 0x14]
call edi
push dword [ebp - 0x14]
call dword [0x41c028]
call fcn.004016e8
lea ecx, [esi + 0x30]
mov edi, eax
call fcn.0040204b
test eax, eax
jne 0x407011
cmp dword [edi + 0x18], ebx
jne 0x407011
mov ecx, esi
call fcn.00405cb8
xor edi, edi
inc edi
cmp dword [ebp + 8], edi
jne 0x407023
push 0x41dfdc
jmp 0x406f3d
lea ecx, [ebp - 0x10]
call fcn.0040221e
push 0x41dfac
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], edi
call fcn.004023ff
lea eax, [esi + 0x24]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040250e
lea ecx, [ebp - 0x10]
xor edi, edi
call fcn.00402c0e
test eax, eax
jle 0x40707e
push edi
lea ecx, [ebp - 0x10]
call fcn.0040208f
push 0x5c
pop ecx
cmp cx, ax
jne 0x407071
push 0x2c
push edi
lea ecx, [ebp - 0x10]
call fcn.004025c2
lea ecx, [ebp - 0x10]
inc edi
call fcn.00402c0e
cmp edi, eax
jl 0x407055
lea ecx, [ebp - 0x10]
call fcn.0040205b
push eax
push 0x41df94
call fcn.00404778
pop ecx
pop ecx
lea ecx, [ebp - 0x10]
call fcn.0040205b
push eax
push ebx
push 1
push ebx
call dword [0x41c0a8]
mov dword [esi + 0x64], eax
cmp eax, ebx
jne 0x4070be
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00402105
jmp 0x406f43
push 0x41df6c
call fcn.004046d7
pop ecx
push dword [esi + 0x64]
call dword [0x41c0a4]
lea eax, [ebp - 0x18]
push eax
push ebx
push esi
push 0x406e6d
push ebx
push ebx
mov dword [ebp - 0x18], ebx
call fcn.0040c597
add esp, 0x18
mov dword [esi + 0x60], eax
cmp eax, ebx
jne 0x40710d
push dword [esi + 0x64]
call dword [0x41c148]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00402105
mov eax, ebx
jmp 0x406f45
xor ebx, ebx
inc ebx
jmp 0x4070fa