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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov eax, dword [esp + 0xa8]
mov edi, ecx
mov dword [esp + 0x30], 0x3b
mov dword [esp + 0x34], edx
mov esi, edx
lea ecx, [esp + 0x58]
lea edx, [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x48], 0x3b
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], eax
mov word [esp + 0x54], 1
call fcn.004568b0
cmp dword [esp + 0x58], 0
je 0x5fda8e
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
add esi, ecx
sub ebx, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
xor ecx, ecx
mov edx, 0x20
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x5fdb30
mov dword [eax], esi
mov dword [eax + 4], ebx
mov edi, eax
mov ebp, 1
mov dword [esp + 0x24], 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 1
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x40]
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x68], xmm1
movsd xmm2, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
cmp byte [esp + 0x7d], 0
jne 0x5fd836
nop word cs:[eax + eax]
mov ebx, dword [esp + 0x5c]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x58]
call fcn.004568b0
cmp dword [esp + 0x88], 0
je 0x5fd7f0
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
add ebx, ecx
sub esi, ecx
mov dword [esp + 0x74], eax
cmp ebp, dword [esp + 0x24]
je 0x5fd825
mov dword [edi + ebp*8], ebx
mov dword [edi + ebp*8 + 4], esi
inc ebp
mov dword [esp + 0x2c], ebp
cmp byte [esp + 0x7d], 0
je 0x5fd790
jmp 0x5fd836
cmp byte [esp + 0x7d], 0
jne 0x5fd836
mov byte [esp + 0x7d], 1
cmp byte [esp + 0x7c], 0
je 0x5fd80d
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
jmp 0x5fd819
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
cmp esi, ebx
je 0x5fd836
sub esi, ebx
add ebx, dword [esp + 0x5c]
cmp ebp, dword [esp + 0x24]
jne 0x5fd7ce
lea ecx, [esp + 0x24]
mov edx, ebp
call fcn.004c7a80
mov edi, dword [esp + 0x28]
jmp 0x5fd7ce
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test ebp, ebp
mov dword [esp + 0x14], eax
je 0x5fda9d
test edi, edi
je 0x5fda9d
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.005ad850
mov dword [esp + 0x84], eax
lea eax, [edi + ebp*8]
mov ebx, edi
mov dword [esp + 0x80], edx
mov dword [esp], edi
mov dword [esp + 0x1c], eax
mov ax, 0x3e8
mov dword [esp + 0x10], eax
jmp 0x5fd88a
cmp ebx, dword [esp + 0x1c]
je 0x5fdabf
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
test edx, edx
je 0x5fda10
lea esi, [ecx + edx]
xor eax, eax
mov ebp, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x20], esi
jmp 0x5fd8cc
movzx ecx, cl
test byte [ecx + 0x93ce2e], 1
je 0x5fd9ce
sub eax, edi
add eax, ebp
cmp ebp, esi
je 0x5fd9f0
movzx ecx, byte [ebp]
mov edi, ebp
movzx ebx, cl
test cl, cl
js 0x5fd8f0
lea ebp, [edi + 1]
mov ecx, ebx
lea edx, [ecx - 9]
cmp edx, 5
jb 0x5fd8c0
jmp 0x5fd970
movzx edx, byte [edi + 1]
and ebx, 0x1f
and edx, 0x3f
cmp cl, 0xdf
jbe 0x5fd935
movzx esi, byte [edi + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp cl, 0xf0
jb 0x5fd94d
movzx ecx, byte [edi + 3]
and ebx, 7
shl esi, 6
shl ebx, 0x12
and ecx, 0x3f
or ecx, esi
or ecx, ebx
cmp ecx, 0x110000
je 0x5fd9f0
lea ebp, [edi + 4]
jmp 0x5fd957
shl ebx, 6
lea ebp, [edi + 2]
or ebx, edx
mov ecx, ebx
lea edx, [ecx - 9]
cmp edx, 5
jb 0x5fd8c0
jmp 0x5fd970
shl ebx, 0xc
lea ebp, [edi + 3]
or esi, ebx
mov ecx, esi
mov esi, dword [esp + 0x20]
lea edx, [ecx - 9]
cmp edx, 5
jb 0x5fd8c0
nop word [eax + eax]
cmp ecx, 0x20
je 0x5fd8c0
cmp ecx, 0x80
jb 0x5fd9ce
mov edx, ecx
shr edx, 8
cmp edx, 0x1f
jg 0x5fd9a6
test edx, edx
je 0x5fd8b0
cmp edx, 0x16
jne 0x5fd9ce
cmp ecx, 0x1680
je 0x5fd8c0
jmp 0x5fd9ce
cmp edx, 0x20
je 0x5fd9be
cmp edx, 0x30
jne 0x5fd9ce
cmp ecx, 0x3000
je 0x5fd8c0
jmp 0x5fd9ce
movzx ecx, cl
test byte [ecx + 0x93ce2e], 2
jne 0x5fd8c0
mov edi, dword [esp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
sub edx, eax
add ebx, 8
cmp edx, 2
jae 0x5fda20
jmp 0x5fd880
mov edx, dword [esp + 4]
mov edi, dword [esp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, edx
sub edx, eax
add ebx, 8
cmp edx, 2
jae 0x5fda20
jmp 0x5fd880
xor eax, eax
sub edx, eax
add ebx, 8
cmp edx, 2
jb 0x5fd880
movzx esi, word [ecx + eax]
rol si, 8
movzx esi, si
cmp esi, 0x713d
jne 0x5fd880
add ecx, eax
add edx, 0xfffffffe
add ecx, 2
call fcn.005ad850
mov esi, edx
lea ecx, [esp + 0x58]
mov edx, eax
push esi
call fcn.0046cb70
add esp, 4
cmp byte [esp + 0x58], 0
jne 0x5fd880
movss xmm0, dword [esp + 0x5c]
movss xmm2, dword [0x7d5394]
xorps xmm1, xmm1
mulss xmm0, dword [0x7d5390]
maxss xmm1, xmm0
minss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [esp + 0x10], eax
jmp 0x5fd880
cmp byte [esp + 0x55], 0
je 0x5fdaff
mov dword [edi], 0
jmp 0x5fdaf4
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x14], 0
mov dword [eax], 0
je 0x5fdaf4
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5fdaf4
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x18]
je 0x5fdad9
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x84]
mov dword [esi], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov word [esi + 8], ax
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0x55], 1
cmp byte [esp + 0x54], 0
je 0x5fdb15
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
jmp 0x5fdb25
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
cmp ebx, esi
je 0x5fda95
sub ebx, esi
add esi, dword [esp + 0x34]
jmp 0x5fd700
mov ecx, 4
mov edx, 0x20
call fcn.007c1490
int3