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

Disassembly:
push 0xffffffffffffffff
push 0x5201a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push ebp
push esi
push edi
push 0x572c04
mov edi, ecx
mov dword [esp + 0x84], 0x572c04
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor esi, esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.004f3240
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push esi
push esi
lea ecx, [esp + 0x1c]
call fcn.004394f0
mov ebx, 0x5343d0
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x14]
mov byte [esp + 0xe8], 1
push ecx
lea ecx, [esp + 0x94]
call fcn.004e6fb0
mov eax, dword [edi + 0x15c]
mov byte [esp + 0xe8], 2
cmp eax, 1
jne 0x4326fc
push 2
lea ecx, [esp + 0x94]
call fcn.004e7050
test eax, eax
jne 0x4326fc
push str.Internal_error:_deflate_init_failed.
lea ecx, [esp + 0x14]
call fcn.00507da8
mov ecx, dword [edi + 0x124]
mov byte [esp + 0xe8], 3
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], esi
je 0x4326ca
push 2
push eax
mov ecx, edi
call fcn.004de7c0
lea ecx, [esp + 0x10]
mov byte [esp + 0xe8], 2
call fcn.00507d3a
lea ecx, [esp + 0x90]
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov dword [esp + 0x14], 0x5343d4
jmp 0x43289f
push esi
push esi
lea ecx, [esp + 0x38]
call fcn.004394f0
mov dword [esp + 0x30], ebx
mov byte [esp + 0xe8], 4
mov ebp, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf4]
test ebp, ebp
jl 0x43273b
jg 0x43272b
test ebx, ebx
jb 0x43273b
cmp ebx, dword [esp + 0x4c]
jne 0x43273b
cmp ebp, dword [esp + 0x50]
je 0x432e5e
mov ecx, dword [0x5724e4]
cmp ecx, 0x100
jge 0x432750
mov ecx, 0x100
jmp 0x43275d
cmp ecx, 0x100000
jle 0x43275d
mov ecx, 0x100000
test ebp, ebp
jl 0x432776
jg 0x432767
test ebx, ebx
jb 0x432776
mov eax, ecx
cdq
cmp ebp, edx
jg 0x432776
jl 0x432774
cmp ebx, eax
jae 0x432776
mov ecx, ebx
push ecx
lea ecx, [esp + 0x88]
call fcn.004e3a60
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp esi, ecx
jle 0x4327a8
mov edx, dword [esp + 0x48]
add eax, edx
lea ebp, [ecx + eax]
cmp ebp, esi
jl 0x432798
mov ebp, dword [esp + 0xf8]
push eax
lea ecx, [esp + 0x34]
call fcn.00422710
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
cmp eax, esi
jle 0x4327c2
mov dword [esp + 0x40], esi
test ebp, ebp
mov dword [esp + 0x10], 0
jl 0x432806
jg 0x4327d4
test ebx, ebx
jb 0x432806
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ebp, ebx
sub ebp, ecx
mov ecx, dword [esp + 0xf8]
sbb ecx, eax
mov eax, esi
cdq
cmp ecx, edx
jg 0x432806
jl 0x4327f6
cmp ebp, eax
jae 0x432806
mov eax, dword [esp + 0x4c]
mov esi, ebx
sub esi, eax
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x34]
push esi
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ebp, eax
mov ecx, edi
mov dword [esp + 0x54], ebp
call fcn.004df010
test eax, eax
jne 0x432aa8
test ebp, ebp
jl 0x432b40
mov ecx, dword [esp + 0xf8]
test ecx, ecx
jl 0x4328c5
jg 0x43284a
test ebx, ebx
jb 0x4328c5
cmp ebp, esi
je 0x4328d4
push 2
push 0x1406
mov ecx, edi
call fcn.004de740
mov edi, dword [edi + 0x124]
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 8]
mov edi, 0x5343d4
lea ecx, [esp + 0x30]
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
call fcn.004395d0
lea ecx, [esp + 0x90]
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x14]
mov byte [esp + 0xe8], 0
call fcn.004395d0
push 0x572c04
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, 0x30003
jmp 0x432f10
test ebp, ebp
je 0x432e5e
mov ecx, dword [esp + 0xf8]
cmp ebp, esi
jl 0x4328f9
test ecx, ecx
jl 0x432901
jg 0x4328e2
test ebx, ebx
jb 0x432901
mov esi, dword [esp + 0x4c]
mov eax, ebp
cdq
add eax, esi
mov esi, dword [esp + 0x50]
adc edx, esi
cmp eax, ebx
jne 0x432901
cmp edx, ecx
jne 0x432901
mov dword [esp + 0x10], 1
mov ecx, dword [edi + 0x15c]
mov eax, dword [esp + 0x34]
cmp ecx, 1
mov edx, ebp
jne 0x43296c
mov ecx, dword [esp + 0x28]
xor esi, esi
xor eax, eax
cmp ecx, esi
jge 0x43292b
mov edx, dword [esp + 0x2c]
add eax, edx
lea ebx, [ecx + eax]
test ebx, ebx
jl 0x432922
push eax
lea ecx, [esp + 0x18]
call fcn.00422710
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], esi
cmp eax, esi
jle 0x432945
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
push eax
push ebp
push ecx
lea ecx, [esp + 0x9c]
call fcn.004e71e0
cmp eax, esi
jle 0x432e5e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x124]
xor esi, esi
push esi
push edx
mov ebx, dword [ecx]
push eax
call dword [ebx + 0x10]
mov ecx, edi
mov ebx, eax
call fcn.004df010
test eax, eax
jne 0x432b60
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x80]
test eax, eax
jne 0x432c20
cmp ebx, 0xffffffff
je 0x432cd5
call fcn.004f3240
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, ebp
mov ebp, dword [esp + 0x50]
sub esi, edx
cdq
mov dword [esp + 0x60], eax
add ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x64], edx
mov dword [esp + 0x4c], ecx
adc ebp, edx
lea ecx, [esp + 0x84]
cdq
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x5c]
add ebx, eax
adc ebp, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
call fcn.004e3af0
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
sub ecx, edx
mov edx, dword [esp + 0x7c]
push 0
sbb edx, eax
push 0xf4240
push edx
push ecx
call fcn.004f2ba0
mov ecx, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push ecx
push edx
push eax
call fcn.004f4230
cdq
push 0
push 0xf4240
mov ecx, edx
push ebp
push ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x20], ecx
call fcn.004f2ba0
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
push edx
push eax
call fcn.004f4230
push eax
mov ecx, edi
call fcn.004df560
mov eax, 0x10624dd3
mov ecx, edi
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.004df5c0
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x432713
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push ecx
push edx
mov ecx, edi
call fcn.004df250
jmp 0x432713
mov eax, dword [0x569c90]
mov dword [esp + 0x10], eax
push 1
push 0x30004
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
mov byte [esp + 0xf8], 5
call fcn.00507aaf
mov ecx, edi
call fcn.00428d40
lea ecx, [esp + 0x10]
mov esi, eax
mov byte [esp + 0xe8], 4
call fcn.00507d3a
mov edi, 0x5343d4
lea ecx, [esp + 0x30]
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
call fcn.004395d0
lea ecx, [esp + 0x90]
mov byte [esp + 0xe8], 1
call fcn.004e7000
lea ecx, [esp + 0x14]
mov byte [esp + 0xe8], 0
mov dword [esp + 0x14], edi
call fcn.004395d0
push 0x572c04
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, esi
jmp 0x432f10
push 2
push 0x1406
mov ecx, edi
call fcn.004de740
mov edi, dword [edi + 0x124]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x43286d
mov eax, dword [0x569c90]
mov dword [esp + 0x10], eax
push 1
push 0x30004
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
mov byte [esp + 0xf8], 6
call fcn.00507aaf
mov ecx, edi
call fcn.00428d40
lea ecx, [esp + 0x10]
mov ebx, eax
mov byte [esp + 0xe8], 4
call fcn.00507d3a
mov edi, 0x5343d4
lea ecx, [esp + 0x30]
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
call fcn.004395d0
lea ecx, [esp + 0x90]
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xe8], 0
cmp ecx, esi
mov dword [esp + 0x14], edi
je 0x432bf1
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x432bfe
mov eax, dword [esp + 0x18]
push eax
call fcn.0050c4cc
add esp, 4
push 0x572c04
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, ebx
jmp 0x432f10
mov edi, dword [edi + 0x124]
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 8]
mov ecx, dword [esp + 0x38]
mov edi, 0x5343d4
cmp ecx, esi
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
je 0x432c52
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x432c5f
mov eax, dword [esp + 0x34]
push eax
call fcn.0050c4cc
add esp, 4
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xe8], 0
cmp ecx, esi
mov dword [esp + 0x14], edi
je 0x432ca3
mov eax, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x432cb0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0050c4cc
add esp, 4
push 0x572c04
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, 0x30004
jmp 0x432f10
mov edx, dword [edi + 0x124]
push edx
call fcn.004891f0
mov ebp, eax
mov ecx, edi
mov dword [esp + 0x10], ebp
call fcn.004def80
mov ebx, eax
cmp ebx, esi
je 0x432d3b
lea ebp, [ebx + 0xc]
mov dword [esp + 0x54], ebp
lea eax, [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x56e1f4
lea ecx, [ebx + 0x3b4]
mov byte [esp + 0xec], 7
call fcn.00507ec3
mov ecx, dword [esp + 0x10]
mov byte [esp + 0xe8], 4
mov dword [ebx + 0x3b8], ecx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x14]
mov ebp, dword [esp + 0x10]
cmp ebp, 0x7d0
lea edx, [esp + 0x10]
jne 0x432dba
mov eax, dword [edi + 0x124]
mov ecx, dword [eax + 0x10]
push ecx
push 0x147a
push edx
call fcn.0048e080
add esp, 0xc
mov byte [esp + 0xe8], 8
jmp 0x432dd1
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0050c4cc
add esp, 4
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xe8], 0
cmp ecx, esi
mov dword [esp + 0x14], edi
je 0x432e2c
mov eax, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x432e39
push ebp
push 0xe1c7
push edx
call fcn.0048e080
add esp, 0xc
mov byte [esp + 0xe8], 9
mov ecx, dword [edi + 0x124]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], esi
je 0x432def
push 2
push eax
mov ecx, edi
call fcn.004de7c0
lea ecx, [esp + 0x10]
mov byte [esp + 0xe8], 4
call fcn.00507d3a
mov ecx, dword [esp + 0x38]
mov edi, 0x5343d4
cmp ecx, esi
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
je 0x432d69
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x432d76
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0050c4cc
add esp, 4
push 0x572c04
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, 0x30001
jmp 0x432f10
mov edi, dword [edi + 0x124]
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 8]
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edi, 0x5343d4
cmp ecx, esi
mov byte [esp + 0xe8], 2
mov dword [esp + 0x30], edi
je 0x432e92
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x432e9f
mov eax, dword [esp + 0x34]
push eax
call fcn.0050c4cc
add esp, 4
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0xe8], 1
call fcn.004e7000
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xe8], 0
cmp ecx, esi
mov dword [esp + 0x14], edi
je 0x432ee3
mov eax, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x432ef0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0050c4cc
add esp, 4
push 0x572c04
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, 0x10001
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xdc
ret 0x14