Function at 0x4172fb
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5243ce
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x596804]
xor eax, esp
mov dword [esp + 0x7c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x596804]
xor eax, esp
push eax
lea eax, [esp + 0x94]
mov dword fs:[0], eax
mov esi, dword [esp + 0xa8]
mov ebp, ecx
lea eax, [ebp + 0x60]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov byte [esp + 0x1c], 1
xor ebx, ebx
mov dword [esp + 0x9c], ebx
cmp byte [esp + 0xa4], bl
je 0x41736c
mov ecx, dword [0x5a052c]
call fcn.0041c04b
push 0x1d8
push ebx
push esi
call fcn.0046c6ab
mov ecx, dword [0x5a052c]
add esp, 0xc
push ebx
push 9
call fcn.0041b95b
mov dword [ebp + 0x7c], eax
mov dword [esi + 0x144], eax
mov ecx, dword [0x5a052c]
push 4
lea eax, [esp + 0x18]
push eax
push 0x21
mov edi, 2
mov dword [esp + 0x20], ebx
call fcn.0041b6ab
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4173b9
mov edi, eax
push 0x18
lea ecx, [esp + 0x40]
mov dword [esi + 0x148], edi
push ecx
mov ecx, dword [0x5a052c]
call fcn.0041c90b
cmp dword [eax + 0x14], 8
jb 0x4173db
mov ebx, dword [eax]
jmp 0x4173dd
mov ebx, eax
push 0x7fffffff
push 0x81
lea edi, [esi + 0x42]
push edi
call fcn.0046aaa1
test eax, eax
js 0x417407
push 0x7ffffffe
push ebx
push 0
push 0x81
push edi
call fcn.0046aaee
mov edi, 8
cmp dword [esp + 0x50], edi
jb 0x41741f
mov edx, dword [esp + 0x3c]
push edx
call fcn.0046c533
add esp, 4
mov ecx, dword [0x5a052c]
push 0x1e
lea eax, [esp + 0x5c]
push eax
call fcn.0041cb7b
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0xa4], 1
call fcn.0041d91b
add esp, 8
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x9c], 2
cmp dword [esp + 0x34], edi
jae 0x417461
lea ebx, [esp + 0x20]
push 0x7fffffff
push 0x41
lea edi, [esi + 0x14c]
push edi
call fcn.0046aaa1
test eax, eax
js 0x417488
push 0x7ffffffe
push ebx
push 0
push 0x41
push edi
call fcn.0046aaee
mov edx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x80]
xor ebp, ebp
mov ecx, edx
cmp eax, ebp
je 0x41749b
mov ecx, dword [eax]
cmp ecx, 2
jne 0x4174de
cmp edx, ecx
jne 0x4174c5
mov ecx, dword [0x5a052c]
push ebp
push 8
call fcn.0041b95b
test eax, eax
jg 0x4174c5
mov dword [esi + 0x1d0], 0xffffffff
jmp 0x41756c
mov ecx, dword [0x5a052c]
push ebp
push 8
call fcn.0041b95b
mov dword [esi + 0x1d0], eax
jmp 0x41756c
mov ecx, dword [0x5a052c]
push 0x17
lea eax, [esp + 0x40]
push eax
call fcn.0041cb7b
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x78]
push edx
mov byte [esp + 0xa4], 3
call fcn.0041d91b
mov ebx, 8
add esp, 8
cmp dword [eax + 0x14], ebx
jb 0x417518
mov edi, dword [eax]
jmp 0x41751a
mov edi, eax
push 0x7fffffff
push 0x21
push esi
call fcn.0046aaa1
cmp eax, ebp
jl 0x41753a
push 0x7ffffffe
push edi
push ebp
push 0x21
push esi
call fcn.0046aaee
cmp dword [esp + 0x88], ebx
jb 0x417550
mov eax, dword [esp + 0x74]
push eax
call fcn.0046c533
add esp, 4
cmp dword [esp + 0x50], 0x10
mov byte [esp + 0x9c], 2
jb 0x41756c
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0046c533
add esp, 4
mov ecx, dword [0x5a052c]
push 0x16
call fcn.0041b80b
cmp dword [esp + 0x34], 8
movzx edx, al
mov dword [esi + 0x1d4], edx
jb 0x417596
mov eax, dword [esp + 0x20]
push eax
call fcn.0046c533
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x6c], 0x10
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebp
mov word [esp + 0x20], cx
jb 0x4175bd
mov edx, dword [esp + 0x58]
push edx
call fcn.0046c533
add esp, 4
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x5c], 0
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov al, 1
mov ecx, dword [esp + 0x94]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x7c]
xor ecx, esp
call fcn.0046c68f
add esp, 0x8c
ret 8