Function at 0x45012a
Capabilities:
Create thread

Disassembly:
push 0xc
mov eax, 0x467af8
call fcn.0045f38b
mov edi, ecx
lea eax, [edi + 0x28]
push eax
lea ecx, [ebp - 0x10]
call fcn.0044d519
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [edi + 0x14]
mov byte [edi + 0xc], bl
mov dword [ebp - 0x14], ecx
call fcn.004534cd
push 0x34
call fcn.0043e537
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x450181
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453c6a
mov esi, eax
mov dword [ebp + 0xc], esi
jmp 0x450186
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 0x450268
dec eax
je 0x45024c
dec eax
je 0x450230
dec eax
je 0x450214
dec eax
je 0x4501f5
dec eax
je 0x4501d2
cmp esi, ebx
je 0x4501bb
push 1
mov ecx, esi
call fcn.0044d601
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
call fcn.0045f477
ret 0x18
push 0x3c
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0045b6e8
jmp 0x450289
push 0x80c
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0045b51e
jmp 0x450289
push 0x20
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 7
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0044d841
jmp 0x450289
push 4
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0045b120
jmp 0x450289
push 0x3c
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0045adf6
jmp 0x450289
push 0x80c
call fcn.0043e537
pop ecx
mov dword [ebp + 8], eax
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x450287
mov ecx, eax
call fcn.0045ac4e
jmp 0x450289
xor eax, eax
mov byte [ebp - 4], bl
push eax
mov ecx, esi
call fcn.00453ac8
mov ecx, dword [edi + 0x48]
cmp ecx, ebx
je 0x4502a9
cmp dword [ebp + 0x18], 2
je 0x4502a9
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp + 0x14], bl
je 0x450328
push 0x28
mov byte [edi + 0xd], bl
call fcn.0043e537
pop ecx
mov ecx, eax
mov dword [ebp + 0x14], ecx
mov byte [ebp - 4], 8
cmp ecx, ebx
je 0x4502cf
call fcn.0044d8dd
mov esi, eax
jmp 0x4502d1
xor esi, esi
mov byte [ebp - 4], bl
cmp esi, ebx
jne 0x4502fa
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x4502e6
push 1
call fcn.0044d601
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, bl
jmp 0x4501ca
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 0x4500e7
call fcn.0045fc40
add esp, 0xc
mov byte [ebp + 0x17], 1
jmp 0x45034e
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push esi
call fcn.0044fbea
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0x17], al
call fcn.004534f4
cmp esi, ebx
je 0x45034e
push 1
mov ecx, esi
call fcn.0044d601
mov bl, byte [ebp + 0x17]
jmp 0x4502e6