Function at 0x450181
Capabilities:
Create thread

Disassembly:
push 0xc
mov eax, 0x467f80
call fcn.0045f461
mov edi, ecx
lea eax, [edi + 0x28]
push eax
lea ecx, [ebp - 0x10]
call fcn.0044d569
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [edi + 0x14]
mov byte [edi + 0xc], bl
mov dword [ebp - 0x14], ecx
call fcn.00453600
push 0x34
call fcn.0043e592
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x4501d8
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453d9d
mov esi, eax
mov dword [ebp + 0xc], esi
jmp 0x4501dd
mov dword [ebp + 0xc], ebx
mov esi, ebx
mov byte [ebp - 4], bl
mov eax, dword [ebp + 8]
mov dword [edi + 4], eax
sub eax, ebx
je 0x4502bf
dec eax
je 0x4502a3
dec eax
je 0x450287
dec eax
je 0x45026b
dec eax
je 0x45024c
dec eax
je 0x450229
cmp esi, ebx
je 0x450212
push 1
mov ecx, esi
call fcn.0044d651
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
call fcn.0045f54d
ret 0x18
push 0x3c
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0045b815
jmp 0x4502e0
push 0x80c
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0045b64b
jmp 0x4502e0
push 0x20
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 7
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0044d891
jmp 0x4502e0
push 4
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0045b259
jmp 0x4502e0
push 0x3c
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0045af2f
jmp 0x4502e0
push 0x80c
call fcn.0043e592
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x4502de
mov ecx, eax
call fcn.0045ad7d
jmp 0x4502e0
xor eax, eax
mov byte [ebp - 4], bl
push eax
mov ecx, esi
call fcn.00453bfb
mov ecx, dword [edi + 0x48]
cmp ecx, ebx
je 0x450300
cmp dword [ebp + 0x18], 2
je 0x450300
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp + 0x14], bl
je 0x45037f
push 0x28
mov byte [edi + 0xd], bl
call fcn.0043e592
pop ecx
mov ecx, eax
mov dword [ebp + 0x14], ecx
mov byte [ebp - 4], 8
cmp ecx, ebx
je 0x450326
call fcn.0044d935
mov esi, eax
jmp 0x450328
xor esi, esi
mov byte [ebp - 4], bl
cmp esi, ebx
jne 0x450351
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x45033d
push 1
call fcn.0044d651
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, bl
jmp 0x450221
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x1c]
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
lea ecx, [esi + 0xc]
mov dword [esi + 4], edi
mov dword [esi + 8], eax
call fcn.00411d93
push esi
push ebx
push 0x45013e
call fcn.0045fd81
add esp, 0xc
mov byte [ebp + 0x17], 1
jmp 0x4503a5
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push esi
call fcn.0044fc41
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0x17], al
call fcn.00453627
cmp esi, ebx
je 0x4503a5
push 1
mov ecx, esi
call fcn.0044d651
mov bl, byte [ebp + 0x17]
jmp 0x45033d