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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x5cb8ce
sub esp, 0x10c
lea eax, [0x663600]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [0x670321]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040f8a0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x5cb874
mov dword [esp + 0x5c], eax
lea ecx, [0x6397a0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.00442930
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [0x663600]
mov dword [esp], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea ecx, [0x670321]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040f8a0
lea eax, [esp + 0x18]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x9c], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x6c], ecx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0xa4]
jmp 0x5cad5e
mov ebx, dword [esp + 0x68]
inc ebx
mov ebp, ecx
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x9c]
cmp ebx, ecx
jge 0x5cb858
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x58], ebp
lea eax, [edx + ebx*8]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005aac60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x66e885]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004b9ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x5cadf6
mov edx, dword [eax + 4]
test edx, edx
jne 0x5cadf6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x5cad41
test ecx, ecx
jbe 0x5cb8c6
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.005aac60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], ecx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb84e
mov dword [edi], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x66e887]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004bb9e0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x5cae76
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x5cad41
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x5cb8c1
lea eax, [ecx + 1]
cmp eax, edx
ja 0x5cb8ba
mov dword [esp + 0x40], ecx
mov dword [esp + 0x7c], ebp
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [edx + ebp]
test ecx, ecx
jne 0x5cb806
xor edx, edx
test dl, dl
jne 0x5caecd
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x5cad41
mov dword [esp], eax
mov dword [esp + 4], esi
mov byte [esp + 8], 1
call fcn.005cd800
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x5caf03
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x5cad41
mov dword [esp + 0x34], edx
mov dword [esp + 0x74], eax
lea eax, [0x65fa40]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5cb7f4
mov edx, dword [esp + 0x7c]
mov dword [eax], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0xc], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb7df
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x4c], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb7c7
mov edx, dword [esp + 0x88]
mov dword [eax + 0x48], edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x44]
mov ecx, 1
jmp 0x5cafa0
lea ebp, [eax + 1]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x8c]
mov edx, ecx
mov ebx, esi
mov ecx, ebp
cmp ecx, ebx
jge 0x5cb74c
jae 0x5cb8b1
mov dword [esp + 0x50], ecx
lea eax, [edx + ecx*8]
mov dword [esp + 0x94], eax
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.005aac60
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [edx], ebx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb733
mov edx, dword [esp + 0x94]
mov dword [edx], ebp
test ebx, ebx
je 0x5caf8c
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x66e887]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004bb9e0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x5cb71f
mov edx, dword [esp + 0x64]
cmp ecx, edx
ja 0x5cb8ac
lea eax, [ecx + 1]
cmp eax, edx
ja 0x5cb8a5
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004baa90
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov byte [esp + 8], 0
call fcn.005cd800
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x5cb650
mov edx, dword [esp + 0x48]
cmp edx, 6
jg 0x5cb25f
cmp edx, 4
jne 0x5cb1db
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x68746170
jne 0x5cb10c
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x14], ecx
mov ebx, dword [0x8326a0]
test ebx, ebx
jne 0x5cb102
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
lea edi, [edx + 0x10]
call fcn.0045ace0
jmp 0x5cb0f2
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jb 0x5cb16c
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x8326a0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5cb15f
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
mov ecx, eax
mov eax, ebx
call fcn.0045ace0
mov eax, ecx
jmp 0x5cb14f
mov dword [esp + 0x64], edx
mov dword [esp + 0x90], ebx
lea eax, [0x633ac0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004429e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb1d1
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x90]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x5cb133
lea edi, [ebx + 0x50]
call fcn.0045ace0
jmp 0x5cb1b8
cmp edx, 6
jne 0x5cb10c
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x616d6f64
jne 0x5cb22c
cmp word [edx + 4], 0x6e69
jne 0x5cb22c
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x1c], ecx
mov ebx, dword [0x8326a0]
test ebx, ebx
jne 0x5cb222
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
lea edi, [edx + 0x18]
call fcn.0045ace0
jmp 0x5cb212
cmp dword [edx], 0x75636573
jne 0x5cb10c
cmp word [edx + 4], 0x6572
jne 0x5cb10c
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x40], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
cmp edx, 7
jne 0x5cb565
mov dword [esp + 0x38], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x69707865
jne 0x5cb28d
cmp word [edx + 4], 0x6572
jne 0x5cb28d
cmp byte [edx + 6], 0x73
je 0x5cb30b
cmp dword [edx], 0x2d78616d
jne 0x5cb10c
cmp word [edx + 4], 0x6761
jne 0x5cb10c
cmp byte [edx + 6], 0x65
jne 0x5cb10c
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00465080
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x5cb10c
test eax, eax
je 0x5cb2ea
mov ecx, dword [esp + 0x38]
test ecx, ecx
jbe 0x5cb89e
mov edx, dword [esp + 0x70]
cmp byte [edx], 0x30
je 0x5cb10c
test eax, eax
jg 0x5cb2f1
mov eax, 0xffffffff
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x38], ecx
mov ebx, dword [0x8326a0]
test ebx, ebx
jne 0x5cb558
mov dword [edx + 0x34], eax
lea edi, [esp + 0xe4]
mov edx, eax
xor eax, eax
call fcn.0045af8b
lea ecx, [0x679478]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov ebp, dword [0x815904]
mov dword [esp + 0x10], ebp
mov ebp, dword [0x815900]
mov dword [esp + 0x14], ebp
call fcn.00498210
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0xe4]
mov esi, dword [esp + 0xa0]
call fcn.0045b46e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xe4]
call fcn.0045b46e
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x5cb49f
lea edi, [esp + 0xbc]
lea esi, [esp + 0xd0]
call fcn.0045b46e
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.0045af8b
nop
nop
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
test edx, 0x80000000
je 0x5cb42b
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0xc4], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xc8], edx
and dword [esp + 0xbc], 0x3fffffff
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0045b46e
mov eax, dword [esp + 0x8c]
lea edi, [eax + 0x20]
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5cb479
lea esi, [esp + 0xa8]
call fcn.0045b46e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
lea eax, [0x66c3e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00410a20
mov eax, dword [esp + 0x8c]
jmp 0x5cb469
lea edi, [esp + 0xf8]
xor eax, eax
call fcn.0045af8b
lea ecx, [0x679495]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
mov edx, dword [0x815904]
mov dword [esp + 0x10], edx
mov edx, dword [0x815900]
mov dword [esp + 0x14], edx
call fcn.00498210
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0xf8]
mov esi, dword [esp + 0xa0]
call fcn.0045b46e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xf8]
call fcn.0045b46e
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5cb3a6
mov ecx, dword [esp + 0x8c]
lea edi, [ecx + 0x20]
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb541
xor eax, eax
call fcn.0045af8b
jmp 0x5cb10c
lea eax, [0x66c3e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410c20
jmp 0x5cb10c
lea edi, [edx + 0x34]
call fcn.0045ace0
jmp 0x5cb326
cmp edx, 8
jne 0x5cb10c
mov edx, dword [esp + 0x84]
cmp dword [edx], 0x70747468
jne 0x5cb5a1
cmp dword [edx + 4], 0x796c6e6f
jne 0x5cb5a1
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x41], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
cmp dword [edx], 0x656d6173
jne 0x5cb10c
cmp dword [edx + 4], 0x65746973
jne 0x5cb10c
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004baa90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x5cb60e
cmp word [eax], 0x616c
jne 0x5cb5fe
cmp byte [eax + 2], 0x78
jne 0x5cb5fe
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 2
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 1
jmp 0x5cb5ee
cmp ecx, 4
jne 0x5cb62b
cmp dword [eax], 0x656e6f6e
jne 0x5cb5fe
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 4
jmp 0x5cb5ee
cmp ecx, 6
jne 0x5cb5fe
cmp dword [eax], 0x69727473
jne 0x5cb5fe
cmp word [eax + 4], 0x7463
jne 0x5cb5fe
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 3
jmp 0x5cb5ee
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp esi, ebp
ja 0x5cb6b0
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x8326a0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5cb6a3
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x5caf8c
mov ecx, eax
mov eax, ebx
call fcn.0045ace0
mov eax, ecx
jmp 0x5cb693
mov dword [esp + 0x64], edx
mov dword [esp + 0x90], ebx
lea eax, [0x633ac0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004429e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5cb715
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x90]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x5cb677
lea edi, [ebx + 0x50]
call fcn.0045ace0
jmp 0x5cb6fc
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
xor ebx, ebx
xor edx, edx
jmp 0x5cb061
mov edi, dword [esp + 0x94]
mov edx, eax
mov eax, ebp
call fcn.0045ace0
mov eax, edx
mov edx, edi
jmp 0x5caffd
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x5c]
cmp ebx, edx
jb 0x5cb786
mov ebp, dword [esp + 0x98]
mov esi, dword [0x8326a0]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x5cb77f
mov dword [ebp + ecx*4], eax
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x5cad41
call fcn.0045ace0
jmp 0x5cb774
lea eax, [0x6397a0]
mov dword [esp], eax
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004429e0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
jmp 0x5cb762
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.0045ace0
mov eax, ecx
jmp 0x5caf73
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.0045ace0
mov eax, ecx
jmp 0x5caf54
mov edi, eax
mov eax, dword [esp + 0x7c]
call fcn.0045ace0
mov eax, edi
jmp 0x5caf38
mov dword [esp + 0x64], esi
mov dword [esp + 0x74], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea eax, [0x68968c]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004bae50
mov eax, dword [esp + 0x10]
test eax, eax
setl dl
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x64]
jmp 0x5caeb5
call fcn.0045ace0
jmp 0x5cae3c
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], ebp
mov dword [esp + 0x11c], esi
add esp, 0x10c
ret
lea eax, [0x8324a4]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0x10c
ret
xor eax, eax
call fcn.0045ad60
mov ecx, edx
call fcn.0045adc0
call fcn.0045ad80
mov eax, ecx
mov ecx, ebx
call fcn.0045ad60
mov ecx, edx
call fcn.0045adc0
call fcn.0045ad80
xor eax, eax
call fcn.0045ad60
nop
call fcn.00459790
jmp fcn.005cac60