Function at 0x4024f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4cc
mov eax, dword [0x427280]
xor eax, esp
mov dword [esp + 0x4c8], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
push 1
mov dword [0x4293e4], eax
call fcn.004104ee
add esp, 4
mov dword [0x4293f4], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], 0xff
mov dword [esp + 0x30], 8
push eax
call dword [0x41f03c]
push 0xbc
call fcn.004104ee
add esp, 4
test eax, eax
je 0x40255c
mov ecx, eax
call fcn.00404470
jmp 0x40255e
xor eax, eax
push 0x618
mov dword [0x4293e0], eax
call fcn.004104ee
mov esi, eax
add esp, 4
test esi, esi
je 0x40259e
push 0x208
push 0
push esi
call fcn.00415290
add esp, 0xc
lea eax, [esi + 0x208]
push 0x208
push 0
push eax
call fcn.00415290
add esp, 0xc
jmp 0x4025a0
xor esi, esi
mov edi, dword [0x4293e0]
mov dword [0x4293f0], esi
test edi, edi
je 0x402901
test esi, esi
je 0x4028e1
push 0x4239f8
call dword [0x41f1a0]
mov esi, eax
call fcn.00401f40
mov ecx, ebx
call fcn.00402150
mov ecx, dword [0x4293e0]
cmp dword [ecx + 0x40], 0
jne 0x402653
push 0x4239d0
push 0
push 0x1f0001
call dword [0x41f190]
test eax, eax
je 0x40264d
push 0x40
push 0x423a14
push 0x423a1c
push 0
call dword [0x41f2b8]
test esi, esi
je 0x402616
push esi
call dword [0x41f1a8]
mov esi, dword [0x4293e0]
test esi, esi
je 0x40263a
mov ecx, esi
call fcn.004046a0
push esi
call fcn.004104c3
add esp, 4
mov dword [0x4293e0], 0
mov eax, dword [0x4293f0]
test eax, eax
je 0x402918
push eax
jmp 0x402906
mov ecx, dword [0x4293e0]
cmp dword [ecx + 0x3c], 0
je 0x402797
push 0xc
call fcn.004104ee
mov esi, eax
add esp, 4
test esi, esi
je 0x402683
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi], 0
jmp 0x402685
xor esi, esi
push 0xa48
call fcn.004104ee
add esp, 4
test eax, eax
je 0x40269d
mov ecx, eax
call fcn.004065f0
push 0
push 0
push esi
push 0x403a80
push 0
push 0
mov dword [esi], 0
call fcn.0041059c
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4026ea
push 0xffffffffffffffff
push esi
call dword [0x41f188]
lea eax, [esp + 0x10]
push eax
push esi
call dword [0x41f178]
test eax, eax
je 0x4026ea
cmp dword [esp + 0x10], 0
jne 0x4026ea
push 0x1f4
call dword [0x41f184]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x2d0], ax
lea eax, [esp + 0x2d2]
push eax
call fcn.00415290
add esp, 0xc
call fcn.00404ae0
push eax
lea eax, [esp + 0x2cc]
push eax
call dword [0x41f1d8]
call fcn.00404b80
mov esi, dword [0x41f170]
push eax
lea eax, [esp + 0x2cc]
push eax
call esi
push 0x423a54
lea eax, [esp + 0x2cc]
push eax
call esi
push 0x423a58
lea eax, [esp + 0x2cc]
push eax
call esi
mov eax, dword [0x4293e0]
mov edx, 0x423a7c
mov ecx, 0x423a68
cmp dword [eax + 0x3c], 0
lea eax, [esp + 0x2c8]
cmove ecx, edx
push ecx
push eax
push ecx
push 0x423a90
push 0x80000002
call fcn.00406580
sub esp, 8
lea eax, [esp + 0x2d0]
push eax
push ecx
call fcn.00407c20
jmp 0x402918
lea ecx, [esp + 0x38]
call fcn.004052b0
push dword [ebp + 0x14]
lea ecx, [esp + 0x3c]
call fcn.00405800
mov edi, dword [0x41f298]
lea eax, [esp + 0x14]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x40288b
mov ebx, dword [0x41f29c]
lea ecx, [ecx]
cmp dword [esp + 0x18], 0x100
jne 0x402860
mov eax, dword [esp + 0x1c]
cmp eax, 9
jne 0x4027fe
mov ecx, dword [esp + 0x14]
call fcn.004020b0
cmp dword [esp + 0x18], 0x100
jne 0x402860
mov eax, dword [esp + 0x1c]
cmp eax, 0xd
jne 0x402860
xor eax, eax
push 0xc6
push eax
mov word [esp + 0x208], ax
lea eax, [esp + 0x20a]
push eax
call fcn.00415290
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x402860
push 0x64
lea ecx, [esp + 0x204]
push ecx
push eax
call dword [0x41f2b0]
push 0x4238cc
lea eax, [esp + 0x204]
push eax
call dword [0x41f194]
test eax, eax
jne 0x402860
push eax
push eax
push 0xf5
push dword [esp + 0x20]
call ebx
lea eax, [esp + 0x14]
push eax
call dword [0x41f2ac]
lea eax, [esp + 0x14]
push eax
call dword [0x41f2bc]
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
call edi
test eax, eax
jne 0x4027d0
test esi, esi
je 0x402896
push esi
call dword [0x41f1a8]
mov esi, dword [0x4293e0]
test esi, esi
je 0x4028ba
mov ecx, esi
call fcn.004046a0
push esi
call fcn.004104c3
add esp, 4
mov dword [0x4293e0], 0
mov eax, dword [0x4293f0]
test eax, eax
je 0x4028d6
push eax
call fcn.004104c3
add esp, 4
mov dword [0x4293f0], 0
lea ecx, [esp + 0x38]
call fcn.004054e0
jmp 0x402918
mov ecx, edi
call fcn.004046a0
push edi
call fcn.004104c3
mov esi, dword [0x4293f0]
add esp, 4
mov dword [0x4293e0], 0
test esi, esi
je 0x402918
push esi
call fcn.004104c3
add esp, 4
mov dword [0x4293f0], 0
mov ecx, dword [esp + 0x4d4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041040e
mov esp, ebp
pop ebp
ret 0x10