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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5f22a4
sub esp, 0x6c
mov eax, dword [esp + 0x74]
cmp eax, 0xd
jne 0x5f2268
mov eax, dword [esp + 0x70]
lea ecx, [eax + 0x3c]
mov dword [esp + 0x20], ecx
test byte [ecx], al
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xd
mov dword [esp + 0x10], 0x300
call fcn.0045afe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5f225c
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x20]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], 0x300
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x70]
movzx ecx, byte [eax + 0x46]
test cl, cl
jne 0x5f2220
movzx ecx, byte [eax + 0x47]
test cl, cl
jne 0x5f21e4
movzx ecx, byte [eax + 0x48]
test cl, cl
je 0x5f1e3f
cmp cl, 1
jne 0x5f21a8
movzx ecx, cl
mov dword [eax + 0x33c], ecx
movzx ecx, byte [eax + 0x3f]
movzx edx, byte [eax + 0x3e]
movzx ebx, byte [eax + 0x3d]
movzx ebp, byte [eax + 0x3c]
shl edx, 8
or ecx, edx
shl ebx, 0x10
or ecx, ebx
shl ebp, 0x18
or ecx, ebp
mov edx, 4
movzx ebx, byte [eax + edx + 0x3d]
movzx ebp, byte [eax + edx + 0x3c]
movzx esi, byte [eax + edx + 0x3f]
movzx edx, byte [eax + edx + 0x3e]
shl edx, 8
or edx, esi
shl ebx, 0x10
or edx, ebx
shl ebp, 0x18
or edx, ebp
test ecx, ecx
jg 0x5f1ecf
lea eax, [0x70b983]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0x16
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [esp + 0x34]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
test edx, edx
jle 0x5f1e93
mov ebx, eax
mov eax, ecx
mov ebp, edx
mul edx
mov esi, ecx
sar ecx, 0x1f
imul ecx, ebp
add ecx, edx
mov edx, ebp
sar ebp, 0x1f
imul ebp, esi
add ecx, ebp
sar eax, 0x1f
cmp ecx, eax
jne 0x5f216c
mov dword [ebx + 0x30], 0
movzx eax, byte [ebx + 0x44]
mov dword [ebx + 0x20], eax
lea ecx, [ebx + 0x44]
cmp eax, 2
jg 0x5f2077
cmp eax, 1
jne 0x5f2045
movzx eax, byte [ebx + 0x45]
test al, al
jne 0x5f2030
mov dword [ebx + 0x30], 1
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x5f200e
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 4], ecx
lea eax, [0x6b4b60]
mov dword [esp], eax
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x70]
add eax, 0x45
mov dword [esp + 4], eax
lea eax, [0x6b4b60]
mov dword [esp], eax
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x70dcbe]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.0049a880
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea eax, [0x8489c0]
mov dword [esp], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], edx
mov dword [esp], ebx
call fcn.005f80f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
cmp al, 3
jne 0x5f1f30
mov dword [ebx + 0x30], 7
jmp 0x5f1f30
cmp eax, 2
jne 0x5f1f30
movzx eax, byte [ebx + 0x45]
test al, al
jne 0x5f2062
mov dword [ebx + 0x30], 2
jmp 0x5f1f30
cmp al, 3
jne 0x5f1f30
mov dword [ebx + 0x30], 8
jmp 0x5f1f30
cmp eax, 4
jne 0x5f20a5
movzx eax, byte [ebx + 0x45]
test al, al
jne 0x5f2090
mov dword [ebx + 0x30], 3
jmp 0x5f1f30
cmp al, 3
jne 0x5f1f30
mov dword [ebx + 0x30], 9
jmp 0x5f1f30
cmp eax, 8
jne 0x5f210f
movzx eax, byte [ebx + 0x45]
cmp al, 2
ja 0x5f20d8
test al, al
jne 0x5f20c3
mov dword [ebx + 0x30], 4
jmp 0x5f1f30
cmp al, 2
jne 0x5f1f30
mov dword [ebx + 0x30], 6
jmp 0x5f1f30
cmp al, 3
jne 0x5f20e9
mov dword [ebx + 0x30], 0xa
jmp 0x5f1f30
cmp al, 4
jne 0x5f20fa
mov dword [ebx + 0x30], 5
jmp 0x5f1f30
cmp al, 6
jne 0x5f1f30
mov dword [ebx + 0x30], 0xb
jmp 0x5f1f30
cmp eax, 0x10
jne 0x5f1f30
movzx eax, byte [ebx + 0x45]
cmp al, 2
ja 0x5f2146
test al, al
jne 0x5f2131
mov dword [ebx + 0x30], 0xc
jmp 0x5f1f30
cmp al, 2
jne 0x5f1f30
mov dword [ebx + 0x30], 0xe
jmp 0x5f1f30
cmp al, 4
jne 0x5f2157
mov dword [ebx + 0x30], 0xd
jmp 0x5f1f30
cmp al, 6
jne 0x5f1f30
mov dword [ebx + 0x30], 0xf
jmp 0x5f1f30
lea eax, [0x7097e8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x12
lea eax, [0x8489c0]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
lea eax, [0x70c81e]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x18
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
lea eax, [0x707a3a]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0xd
lea eax, [0x8489c0]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
lea eax, [0x70978e]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x12
lea eax, [0x8489c0]
mov dword [esp], eax
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x6c
ret
lea eax, [0x7084b5]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0xf
lea eax, [0x8489a0]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0040a900
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
call fcn.004486b0
jmp fcn.005f1d80