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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea ebx, [esp + 0x10]
mov edx, edi
mov ecx, ebx
call fcn.005f9e90
mov eax, dword [esp + 0x10]
cmp eax, 0x14
jne 0x5f9979
lea ecx, [esp + 0xa8]
call fcn.005e8640
mov ecx, dword [edi + 0x140]
mov eax, dword [edi + 0x13c]
test ecx, ecx
mov dword [esp + 4], eax
mov dword [esp], ecx
je 0x5f99cd
mov eax, dword [esp]
mov edi, dword [esp + 4]
shl eax, 4
lea esi, [eax + eax*2]
jmp 0x5f9876
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
add edi, 0x30
add esi, 0xffffffd0
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm1
je 0x5f99cd
mov ecx, ebx
call fcn.005e8640
mov eax, dword [edi + 0x28]
cmp eax, 4
jbe 0x5f98a0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x38]
lea ebx, [esp + 0x18]
cmp edx, 5
jae 0x5f98b0
jmp 0x5f98b8
lea ecx, [edi + 8]
mov edx, dword [esp + 0x38]
lea ebx, [esp + 0x18]
cmp edx, 5
jb 0x5f98b8
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
push edx
push ebx
push eax
push ecx
call fcn.0055db80
add esp, 0x10
cmp al, 0xff
je 0x5f9a3d
mov eax, dword [esp + 0x38]
cmp eax, 5
jae 0x5f9900
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xb0]
cmp eax, 5
jae 0x5f9925
mov edx, dword [edi + 0x28]
cmp edx, 4
jbe 0x5f993b
mov edx, dword [edi + 4]
mov ebx, dword [edi + 8]
jmp 0x5f993e
shl eax, 3
push 8
push eax
push dword [esp + 0x20]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xb0]
cmp eax, 5
jb 0x5f98e8
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov edx, dword [edi + 0x28]
cmp edx, 4
ja 0x5f98f0
lea ebx, [edi + 8]
push edx
push ebx
push eax
push ecx
lea ebx, [esp + 0x20]
push ebx
call fcn.0056c8b0
add esp, 0x14
mov eax, dword [esp + 0xd0]
cmp eax, 5
jb 0x5f9810
shl eax, 3
push 8
push eax
push dword [esp + 0xb8]
call fcn.004ed020
add esp, 0xc
jmp 0x5f9810
movsd xmm2, qword [esp + 0x3c]
movsd xmm1, qword [esp + 0x34]
movsd xmm0, qword [esp + 0x44]
movsd qword [esi + 0x2c], xmm2
movsd qword [esi + 0x24], xmm1
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x24]
movsd qword [esi + 0x34], xmm0
movsd qword [esi + 0x1c], xmm2
movsd qword [esi + 0x14], xmm1
movsd xmm2, qword [esp + 0x14]
movsd xmm1, qword [esp + 0x1c]
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm2
mov dword [esi], eax
jmp 0x5f9daa
mov eax, dword [esp + 0xd0]
cmp eax, 4
jbe 0x5f99f7
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 0x28]
cmp edx, 4
ja 0x5f9a09
add esi, 8
jmp 0x5f9a0f
lea ecx, [esp + 0xb0]
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 0x28]
cmp edx, 4
jbe 0x5f99f2
mov edx, dword [esi + 4]
mov esi, dword [esi + 8]
push edx
push esi
push eax
push ecx
call fcn.0055db80
add esp, 0x10
test al, al
je 0x5f9a76
mov eax, dword [ebp + 8]
mov dword [eax], 8
mov eax, dword [esp + 0xd0]
cmp eax, 5
jae 0x5f9d92
jmp 0x5f9da7
mov eax, dword [esp + 0x38]
cmp eax, 5
jb 0x5f9a58
shl eax, 3
push 8
push eax
push dword [esp + 0x20]
call fcn.004ed020
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax], 7
mov eax, dword [esp + 0xd0]
cmp eax, 5
jae 0x5f9d92
jmp 0x5f9da7
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
cmp eax, 5
jb 0x5f9a89
mov eax, dword [ecx + 0x34]
mov edx, dword [ecx + 0x38]
jmp 0x5f9a8c
lea edx, [ecx + 0x38]
lea ecx, [esp + 0x10]
push eax
call fcn.005e4bc0
add esp, 4
movsd xmm1, qword [esp + 0x30]
mov edx, dword [ebp + 0xc]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x20]
mov eax, dword [edx + 0x88]
movsd qword [esp + 0x88], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x18]
cmp eax, 5
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x78], xmm1
jb 0x5f9b03
mov eax, dword [edx + 0x64]
mov edx, dword [edx + 0x68]
jmp 0x5f9b06
add edx, 0x68
lea ebx, [esp + 0x10]
mov ecx, ebx
push eax
call fcn.005e4bc0
add esp, 4
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
mov eax, dword [esp + 0x98]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x10]
cmp eax, 4
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
jbe 0x5f9b98
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x100]
cmp edx, 4
ja 0x5f9ba8
lea esi, [esp + 0xe0]
jmp 0x5f9bb6
lea ecx, [esp + 0x78]
mov edx, dword [esp + 0x100]
cmp edx, 4
jbe 0x5f9b8f
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
push edx
push esi
push eax
push ecx
push ebx
call fcn.0056c8b0
add esp, 0x14
mov eax, dword [esp + 0x98]
cmp eax, 5
jb 0x5f9be4
shl eax, 3
push 8
push eax
push dword [esp + 0x80]
call fcn.004ed020
add esp, 0xc
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
mov eax, dword [esp + 0x100]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x88], xmm2
movsd xmm2, qword [esp + 0x10]
cmp eax, 5
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x78], xmm1
jb 0x5f9c59
shl eax, 3
push 8
push eax
push dword [esp + 0xe8]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp]
test eax, eax
je 0x5f9d55
shl eax, 4
lea esi, [eax + eax*2]
jmp 0x5f9c85
mov esi, dword [esp]
add dword [esp + 4], 0x30
lea ebx, [esp + 0x10]
add esi, 0xffffffd0
je 0x5f9d55
mov ecx, ebx
call fcn.005e8640
mov eax, dword [esp + 4]
lea edi, [esp + 0xd8]
push ebx
push eax
push edi
call fcn.0054c6b0
add esp, 0xc
mov dword [esp], esi
push edi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.0055e1b0
add esp, 0xc
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
cmp eax, 5
jb 0x5f9ced
shl eax, 3
push 8
push eax
push dword [esp + 0x20]
mov dword [esp + 0xb0], ecx
call fcn.004ed020
mov ecx, dword [esp + 0xb0]
add esp, 0xc
mov eax, dword [esp + 0x100]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
cmp eax, 5
jb 0x5f9d16
shl eax, 3
push 8
push eax
push dword [esp + 0xe8]
call fcn.004ed020
add esp, 0xc
cmp ebx, 5
cmovb esi, ebx
cmp esi, 1
jne 0x5f9d6c
cmp ebx, 5
lea eax, [esp + 8]
cmovb edi, eax
mov eax, dword [edi]
xor eax, 1
or eax, dword [edi + 4]
jne 0x5f9d6c
cmp ebx, 5
jb 0x5f9c70
shl ebx, 3
push 8
push ebx
push dword [esp + 0x10]
call fcn.004ed020
add esp, 0xc
jmp 0x5f9c70
mov eax, dword [ebp + 8]
mov dword [eax], 0x14
mov eax, dword [esp + 0x98]
cmp eax, 5
jb 0x5f9d86
jmp 0x5f9dd2
mov eax, dword [ebp + 8]
cmp ebx, 5
mov dword [eax], 9
jae 0x5f9db4
mov eax, dword [esp + 0x98]
cmp eax, 5
jae 0x5f9dd2
mov eax, dword [esp + 0xd0]
cmp eax, 5
jb 0x5f9da7
shl eax, 3
push 8
push eax
push dword [esp + 0xb8]
call fcn.004ed020
add esp, 0xc
mov esi, dword [ebp + 8]
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
shl ebx, 3
push 8
push ebx
push dword [esp + 0x10]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x98]
cmp eax, 5
jb 0x5f9d86
shl eax, 3
push 8
push eax
push dword [esp + 0x80]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0xd0]
cmp eax, 5
jae 0x5f9d92
jmp 0x5f9da7