Function at 0x4168e0
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
cmp dword [esi + 0xe6c], 0
jne 0x416d4c
mov eax, dword [esi + 0xe70]
test eax, eax
jne 0x416d4c
cmp dword [esi + 0xef4], eax
jne 0x416d40
push 0x270
push eax
lea eax, [esi + 0x8e0]
push eax
call fcn.00481280
add esp, 0xc
mov dword [esi + 0xff4], 0
cmp dword [esi + 0x85c], 0
mov ecx, 0xa18
mov eax, 0x8e0
mov dword [esi + 0xdac], 0
cmove eax, ecx
mov dword [esi + 0xff8], 0
add eax, esi
mov dword [esi + 0xdb4], 0
lea ecx, [esi + 0xf28]
mov dword [esi + 0xb50], eax
mov dword [esi + 0xdb0], 0
mov dword [esi + 0x1008], 0
mov dword [esi + 0xdb8], 1
mov dword [esi + 0xdbc], 0
mov dword [esi + 0xdc0], 1
mov dword [esi + 0xdc4], 0
mov dword [esi + 0xdc8], 0
mov dword [esi + 0xdcc], 0
mov dword [esi + 0x12c4], 0
mov dword [esi + 0x1014], 0
mov dword [esi + 0x1018], 0
mov dword [esi + 0x83c], 0
mov dword [esi + 0x12c8], 0
mov dword [esi + 0x12cc], 0
mov dword [esi + 0x12d0], 1
call fcn.004590a0
lea ecx, [esi + 0xf4c]
call fcn.004590a0
lea ecx, [esi + 0xf70]
call fcn.004590a0
mov dword [esi + 0xcec], 0
lea eax, [esi + 0xce4]
mov dword [eax], eax
mov ecx, esi
mov dword [eax + 4], eax
lea eax, [esi + 0xcf0]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], 0
lea eax, [esi + 0xcfc]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], 0
lea eax, [esi + 0xd08]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], 0
call fcn.00416090
test eax, eax
je 0x416d30
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0xfdc], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0xfe0], 0
test eax, eax
je 0x416aa1
push 0
push eax
mov ecx, esi
call fcn.00419120
mov eax, dword [esi + 0x684]
cmp eax, 6
je 0x416ab1
cmp eax, 3
jne 0x416afd
mov dword [esi + 0xe68], 1
mov dword [esi + 0xefc], 0
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x41ca20
push 0
push 0
call fcn.004873b8
mov ecx, dword [esi + 0xefc]
add esp, 0x18
mov dword [esi + ecx*4 + 0xecc], eax
test eax, eax
je 0x416afd
inc dword [esi + 0xefc]
cmp dword [esi + 0xefc], 0xa
jl 0x416ac5
mov eax, dword [esi + 0x684]
cmp eax, 6
jne 0x416b2e
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x41b810
push 0x800000
push 0
call fcn.004873b8
add esp, 0x18
mov dword [esi + 0xe6c], eax
jmp 0x416d2c
cmp eax, 0xa
jne 0x416b7e
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x425e00
push 0x800000
push 0
call fcn.004873b8
mov dword [esi + 0xe70], eax
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x425400
push 0x800000
push 0
call fcn.004873b8
add esp, 0x30
mov dword [esi + 0xe6c], eax
cmp dword [esi + 0xe70], 0
jmp 0x416d2a
cmp eax, 8
je 0x416ce4
cmp eax, 9
je 0x416ce4
mov dword [esi + 0xe34], 1
mov dword [esi + 0xef8], 0
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x420800
push 0
push 0
call fcn.004873b8
mov ecx, dword [esi + 0xef8]
add esp, 0x18
mov dword [esi + ecx*4 + 0xe7c], eax
test eax, eax
je 0x416bdc
inc dword [esi + 0xef8]
cmp dword [esi + 0xef8], 0x14
jl 0x416ba4
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x425e00
push 0x800000
push 0
call fcn.004873b8
mov dword [esi + 0xe70], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x41d200
push 0x800000
push 0
call fcn.004873b8
add esp, 0x30
mov dword [esi + 0xe6c], eax
cmp dword [esi + 0xe70], 0
je 0x416d30
test eax, eax
je 0x416d30
mov ecx, esi
call fcn.004129c0
test al, al
je 0x416c95
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x4249f0
push 0
push 0
call fcn.004873b8
mov dword [esi + 0xe74], eax
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x429aa0
push 0
push 0
call fcn.004873b8
add esp, 0x30
mov dword [esi + 0xe78], eax
cmp dword [esi + 0xe74], 0
je 0x416d30
test eax, eax
jne 0x416cc0
mov ecx, esi
call fcn.00418cc0
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.00412a20
test al, al
je 0x416cc0
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x4249f0
push 0
push 0
call fcn.004873b8
add esp, 0x18
mov dword [esi + 0xe74], eax
test eax, eax
je 0x416d30
push dword [esi + 0xe6c]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push dword [esi + 0xe70]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x41d200
push 0x800000
push 0
call fcn.004873b8
mov dword [esi + 0xe6c], eax
lea eax, [ebp - 4]
push eax
push 0
push esi
push 0x425e00
push 0x800000
push 0
call fcn.004873b8
add esp, 0x30
mov dword [esi + 0xe70], eax
cmp dword [esi + 0xe6c], 0
je 0x416d30
test eax, eax
jne 0x416cd8
mov ecx, esi
call fcn.00418cc0
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4
test eax, eax
jne 0x416d4c
cmp dword [esi + 0xef4], eax
je 0x416d51
mov eax, 1
push 1
push 0
push eax
push str.Internal_error_Start__d__d__d__
call fcn.0045cde0
add esp, 8
mov ecx, esi
push eax
call fcn.00419420
push 0
push 0
push 0x10
push dword [esi + 0x6f8]
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4