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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x1678
call fcn.007bcae0
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
mov edi, edx
mov edx, dword [esp + 0x1690]
mov esi, dword [esp + 0x168c]
mov dword [esp + 4], ecx
cmp ebx, eax
cmovbe ebx, eax
test ebp, ebp
mov dword [ecx + 0x24], ebx
je 0x5e9e9f
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x5e9ee9
mov ebx, dword [ecx + 0x28]
cmp ebx, edx
jae 0x5ea900
mov dword [esp + 0x2c], eax
imul eax, ebx, 0xb08
mov dword [esp + 0x3c], ebx
mov ebx, dword [ecx + 0x10]
mov dword [esp + 8], ebp
add esi, eax
mov dword [esp + 0xc], eax
test bl, 1
jne 0x5e9f03
mov edx, 0x2c0
xor eax, eax
xorps xmm3, xmm3
mov ecx, esi
jmp 0x5e9f38
cmp dword [edi + 0xc], 0
je 0x5ea90c
mov eax, dword [edi + 8]
mov dword [eax], ebx
cmp dword [edi + 4], 0
je 0x5ea91a
mov eax, dword [edi]
test edx, edx
mov byte [eax], 0
je 0x5ea928
mov ecx, dword [ecx + 0x10]
mov ebp, dword [esp + 0x1694]
test cl, 1
jne 0x5e9fb1
mov edx, esi
mov esi, 0x2c0
xor eax, eax
xorps xmm3, xmm3
jmp 0x5e9fe8
mov ebx, dword [esp + 0x1694]
cmp dword [esp + 0x1698], 0
jne 0x5ea8dc
jmp 0x5ea8e4
movss xmm0, dword [esi]
mov eax, dword [esi]
xorps xmm3, xmm3
lea ecx, [esi + 4]
orpd xmm0, xmmword [0x7d45c0]
movzx edx, ax
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [edx*4 + 0x8b17a0]
mov edx, 0x2bf
subss xmm3, xmm0
mov ebp, ebx
and ebp, 0xfffffffe
cmp ebp, edx
ja 0x5ea9c6
test ebp, ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
je 0x5ea04e
movapd xmm0, xmmword [0x7d45c0]
movsd xmm1, qword [0x7d45d0]
mov ebp, dword [esp + 0xc]
lea edx, [ebx*4]
and edx, 0xfffffff8
nop word [eax + eax]
movss xmm2, dword [ecx]
mov esi, dword [ecx]
add ecx, 4
orpd xmm2, xmm0
movzx edi, si
add eax, esi
add edx, 0xfffffffc
subsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
mulss xmm2, dword [edi*4 + 0x8b17a0]
subss xmm3, xmm2
jne 0x5e9f80
jmp 0x5ea052
mov ebx, esi
mov eax, dword [esi]
lea edx, [esi + 4]
xorps xmm3, xmm3
movss xmm0, dword [ebx]
movzx esi, ax
orpd xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esi*4 + 0x8b17a0]
mov esi, 0x2bf
subss xmm3, xmm0
mov ebx, ecx
and ebx, 0xfffffffe
cmp ebx, esi
ja 0x5ea9c6
test ebx, ebx
mov dword [esp + 0x14], edi
je 0x5ea09e
movapd xmm0, xmmword [0x7d45c0]
movsd xmm1, qword [0x7d45d0]
shl ecx, 2
mov ebx, ebp
and ecx, 0xfffffff8
nop dword [eax]
movss xmm2, dword [edx]
mov esi, dword [edx]
add edx, 4
orpd xmm2, xmm0
movzx edi, si
add eax, esi
add ecx, 0xfffffffc
subsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
mulss xmm2, dword [edi*4 + 0x8b17a0]
subss xmm3, xmm2
jne 0x5ea020
jmp 0x5ea0a0
mov ebp, dword [esp + 0xc]
movd xmm0, eax
test eax, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [esp], xmm1
je 0x5ea092
mov esi, dword [esp + 0x168c]
cmp eax, 0x100
jae 0x5ea0ed
movss xmm0, dword [eax*4 + 0x8f1b80]
jmp 0x5ea119
mov esi, dword [esp + 0x168c]
jmp 0x5ea121
mov ebx, ebp
movd xmm0, eax
test eax, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
je 0x5ea0e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 4]
cmp eax, 0x100
jae 0x5ea82a
movss xmm0, dword [eax*4 + 0x8f1b80]
jmp 0x5ea85c
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 4]
jmp 0x5ea864
sub esp, 4
movss dword [esp], xmm1
movss dword [esp + 0x14], xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm3, dword [esp + 0x14]
movss xmm1, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x4c]
movss xmm0, dword [esp + 0x4c]
mulss xmm0, xmm1
addss xmm3, xmm0
movss dword [esp + 0x10], xmm3
movss xmm0, dword [esi + ebp + 0xb04]
mov edi, dword [esi + ebp + 0xb00]
lea esi, [esp + 0x68]
movss dword [esp + 0x1c], xmm0
push 0xb00
mov ebp, dword [esp + 0x34]
push ebp
push esi
call fcn.007bd9b0
add esp, 0xc
lea eax, [esp + 0xb70]
push 0xb00
push ebp
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 4]
movd xmm0, dword [esp + 0x1c]
mov dword [esp + 0xb68], edi
mov ecx, dword [eax]
movd dword [esp + 0xb6c], xmm0
mov dword [esp + 0x1670], edi
movd dword [esp + 0x1674], xmm0
cmp ecx, dword [esp + 0x1690]
jae 0x5ea8ef
mov edx, dword [esp + 0x168c]
mov eax, dword [esp + 0xc]
movss xmm3, dword [esp]
lea eax, [edx + eax + 0xb04]
maxss xmm3, dword [esp + 0x10]
mov dword [esp + 0x10], eax
imul eax, ecx, 0xb08
add edi, dword [edx + eax + 0xb00]
lea ebp, [edx + eax]
mov eax, 0xfffff500
mov dword [esp + 0xb68], edi
movdqu xmm0, xmmword [esp + eax + 0xb68]
movdqu xmm2, xmmword [ebp + eax + 0xb00]
movdqu xmm1, xmmword [esp + eax + 0xb78]
movdqu xmm4, xmmword [ebp + eax + 0xb10]
paddd xmm2, xmm0
paddd xmm4, xmm1
movdqu xmmword [esp + eax + 0xb68], xmm2
movdqu xmmword [esp + eax + 0xb78], xmm4
add eax, 0x20
jne 0x5ea1e0
test bl, 1
mov dword [esp + 0x1c], ecx
jne 0x5ea238
xor eax, eax
mov ecx, 0x2c0
xorps xmm5, xmm5
jmp 0x5ea272
movss xmm0, dword [esp + 0x68]
mov eax, dword [esp + 0x68]
xorps xmm5, xmm5
lea esi, [esp + 0x6c]
orpd xmm0, xmmword [0x7d45c0]
movzx ecx, ax
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ecx*4 + 0x8b17a0]
mov ecx, 0x2bf
subss xmm5, xmm0
mov edi, dword [esp + 0x18]
cmp edi, ecx
ja 0x5ea990
test edi, edi
je 0x5ea2cc
movapd xmm0, xmmword [0x7d45c0]
movsd xmm1, qword [0x7d45d0]
lea ecx, [ebx*4]
and ecx, 0xfffffff8
nop dword [eax]
movss xmm2, dword [esi]
mov edx, dword [esi]
add esi, 4
orpd xmm2, xmm0
movzx edi, dx
add eax, edx
add ecx, 0xfffffffc
subsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
mulss xmm2, dword [edi*4 + 0x8b17a0]
subss xmm5, xmm2
jne 0x5ea2a0
movd xmm0, eax
test eax, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm4, xmm4
cvtsd2ss xmm4, xmm0
je 0x5ea301
mov esi, dword [esp + 4]
cmp eax, 0x100
jae 0x5ea307
movss xmm0, dword [eax*4 + 0x8f1b80]
jmp 0x5ea345
mov esi, dword [esp + 4]
jmp 0x5ea34d
sub esp, 4
movss dword [esp], xmm4
movss dword [esp + 4], xmm3
movss dword [esp + 0x10], xmm4
movss dword [esp + 0x2c], xmm5
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm5, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x10]
movss xmm3, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x48]
movss xmm0, dword [esp + 0x48]
mulss xmm0, xmm4
addss xmm5, xmm0
mov ecx, dword [esi + 4]
cmp ecx, dword [esp + 0x1690]
jae 0x5ea8ef
mov edx, dword [esp + 0x168c]
imul eax, ecx, 0xb08
maxss xmm4, xmm5
movss xmm5, dword [esi + 8]
mov dword [esp + 0x28], ecx
movaps xmm6, xmm4
subss xmm6, xmm3
lea esi, [edx + eax]
mov eax, dword [edx + eax + 0xb00]
subss xmm6, xmm5
add dword [esp + 0x1670], eax
mov eax, 0xfffff500
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x1670]
movdqu xmm2, xmmword [esi + eax + 0xb00]
movdqu xmm1, xmmword [esp + eax + 0x1680]
movdqu xmm7, xmmword [esi + eax + 0xb10]
paddd xmm2, xmm0
paddd xmm7, xmm1
movdqu xmmword [esp + eax + 0x1670], xmm2
movdqu xmmword [esp + eax + 0x1680], xmm7
add eax, 0x20
jne 0x5ea3a0
test bl, 1
jne 0x5ea3fc
xor eax, eax
mov edx, 0x2c0
pxor xmm7, xmm7
lea ecx, [esp + 0xb70]
jmp 0x5ea440
movss xmm0, dword [esp + 0xb70]
mov eax, dword [esp + 0xb70]
pxor xmm7, xmm7
lea ecx, [esp + 0xb74]
orpd xmm0, xmmword [0x7d45c0]
movzx edx, ax
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [edx*4 + 0x8b17a0]
mov edx, 0x2bf
subss xmm7, xmm0
mov edi, dword [esp + 0x18]
cmp edi, edx
ja 0x5ea990
test edi, edi
mov edx, edi
je 0x5ea49c
movapd xmm0, xmmword [0x7d45c0]
movsd xmm1, qword [0x7d45d0]
shl ebx, 2
and ebx, 0xfffffff8
nop dword [eax + eax]
movss xmm2, dword [ecx]
mov edx, dword [ecx]
add ecx, 4
orpd xmm2, xmm0
movzx edi, dx
add eax, edx
add ebx, 0xfffffffc
subsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
mulss xmm2, dword [edi*4 + 0x8b17a0]
subss xmm7, xmm2
jne 0x5ea470
movd xmm0, eax
test eax, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
je 0x5ea4d1
mov edi, dword [esp + 0x14]
cmp eax, 0x100
jae 0x5ea4db
movss xmm0, dword [eax*4 + 0x8f1b80]
jmp 0x5ea53d
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
jmp 0x5ea549
sub esp, 4
movss dword [esp], xmm2
movss dword [esp + 4], xmm3
movss dword [esp + 0x10], xmm4
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x3c], xmm6
movss dword [esp + 0x38], xmm7
movss dword [esp + 0x28], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm2, dword [esp + 0x28]
movss xmm7, dword [esp + 0x38]
movss xmm6, dword [esp + 0x3c]
movss xmm5, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x10]
movss xmm3, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x44]
movss xmm0, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mulss xmm0, xmm2
addss xmm7, xmm0
mov eax, dword [esp + 4]
maxss xmm2, xmm7
mov ebx, dword [edi + 0x10]
movaps xmm0, xmm2
subss xmm0, xmm3
subss xmm0, dword [eax + 0xc]
cmp ebx, 0x100
jae 0x5ea64a
mov eax, dword [esp + 4]
movss xmm1, dword [eax + 0x18]
ucomiss xmm6, xmm1
jbe 0x5ea64a
ucomiss xmm0, xmm1
jbe 0x5ea64a
mov edx, dword [edi + 0xc]
mov ebp, dword [esp + 8]
cmp ebp, edx
jae 0x5ea96c
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x1690]
mov dword [eax + ebp*4], ecx
mov ecx, edi
mov edx, dword [edi + 4]
mov edi, dword [esp + 4]
cmp ebp, edx
jae 0x5ea978
mov eax, dword [ecx]
mov edx, dword [esp + 0x1c]
mov byte [eax + ebp], bl
mov dword [edi + 4], edx
mov dword [edi], ebx
inc ebx
inc ebp
movss dword [edi + 0xc], xmm5
movss dword [edi + 8], xmm3
mov dword [ecx + 0x10], ebx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1694]
mov dword [edi + 0x1c], ebp
inc ecx
cmp ecx, dword [ebx]
mov dword [edi + 0x28], ecx
jae 0x5ea61e
cmp ecx, esi
jae 0x5ea984
mov edi, dword [esp + 0x168c]
imul esi, ecx, 0xb08
lea eax, [edi + esi]
push 0xb04
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [edi + esi + 0xb04], 0x7f7ff023
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x24], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x20], eax
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x1698], 0
jne 0x5ea8dc
jmp 0x5ea8e4
addss xmm6, dword [0x7d5270]
mov edx, dword [edi + 0xc]
ucomiss xmm6, xmm0
jbe 0x5ea761
mov ebp, dword [esp + 8]
cmp ebp, edx
jae 0x5ea940
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x1694]
mov dword [eax + ebp*4], ecx
lea ecx, [ebp - 2]
mov edx, dword [edi + 4]
cmp ecx, edx
jae 0x5ea94c
cmp ebp, edx
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x18], xmm5
jae 0x5ea960
mov eax, dword [edi]
movzx ecx, byte [eax + ebp - 2]
mov byte [eax + ebp], cl
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1670]
movss xmm0, dword [esp + 0x1674]
mov dword [ebp], eax
mov eax, dword [esp + 0x1c]
movss dword [esp], xmm0
mov dword [ebp + 4], eax
push 0xb00
lea eax, [esp + 0xb74]
push eax
push esi
call fcn.007bd9b0
add esp, 0xc
inc dword [esp + 8]
mov dword [esi + 0xb00], edi
mov edi, dword [esp + 0x14]
movss xmm0, dword [esp]
movss xmm2, dword [esp + 0x18]
movss xmm1, dword [esp + 0x24]
mov eax, dword [esp + 8]
movss dword [ebp + 0xc], xmm2
movss dword [ebp + 8], xmm1
movss dword [esi + 0xb04], xmm0
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x24], 0
push 0xb04
push 0
push dword [esp + 0x38]
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0x2c], 0
mov dword [eax], 0x7f7ff023
mov dword [ebp + 0x20], ecx
mov ebp, dword [esp + 8]
cmp dword [esp + 0x1698], 0
jne 0x5ea8dc
jmp 0x5ea8e4
mov esi, dword [esp + 8]
movss dword [esp + 0xc], xmm4
lea ecx, [esi - 1]
cmp ecx, edx
jae 0x5ea956
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
add dword [eax + esi*4 - 4], ecx
lea eax, [esp + 0x68]
movss xmm0, dword [esp + 0xb6c]
mov esi, dword [esp + 0xb68]
movss dword [esp], xmm0
push 0xb00
push eax
push ebp
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp]
mov dword [ebp + 0xb00], esi
mov esi, dword [esp + 4]
cmp ebx, 1
movss dword [ebp + 0xb04], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esi + 8], xmm0
jne 0x5ea7d5
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x24], 0
push 0xb04
push 0
push dword [esp + 0x38]
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1694]
inc ecx
mov dword [eax], 0x7f7ff023
cmp ecx, 2
mov dword [esi + 0x2c], ecx
jb 0x5ea813
mov eax, dword [esp + 0x2c]
add dword [esi + 0x20], eax
mov ebp, dword [esp + 8]
cmp dword [esp + 0x1698], 0
jne 0x5ea8dc
jmp 0x5ea8e4
sub esp, 4
movss dword [esp], xmm1
movss dword [esp + 4], xmm3
movss dword [esp + 0xc], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm1, dword [esp + 0xc]
movss xmm3, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
mulss xmm0, xmm1
addss xmm3, xmm0
maxss xmm1, xmm3
inc dword [edi + 0x10]
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm1
mov dword [esi + 0x1c], 1
mov ecx, dword [esi + 0x28]
inc ecx
cmp ecx, dword [ebx]
mov dword [esi + 0x28], ecx
jae 0x5ea8c6
mov edx, dword [esp + 0x1690]
cmp ecx, edx
jae 0x5ea936
mov ebp, dword [esp + 0x168c]
imul esi, ecx, 0xb08
lea eax, [ebp + esi]
push 0xb04
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [ebp + esi + 0xb04], 0x7f7ff023
mov esi, dword [esp + 4]
mov dword [esi + 0x24], 0
mov ebp, 1
cmp dword [esp + 0x1698], 0
je 0x5ea8e4
mov eax, dword [edi + 0x10]
mov dword [edi + 0x14], ebp
mov dword [ebx], eax
add esp, 0x1678
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x1690]
push 0x925e10
call fcn.007c1be0
mov ecx, ebx
push 0x925d90
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x925d50
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x925d60
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x925d70
call fcn.007c1be0
push 0x925d80
call fcn.007c1be0
mov ecx, ebp
push 0x925db0
call fcn.007c1be0
push 0x925dc0
call fcn.007c1be0
push 0x925da0
call fcn.007c1be0
mov ecx, ebp
push 0x925dd0
call fcn.007c1be0
mov ecx, ebp
push 0x925de0
call fcn.007c1be0
mov ecx, ebp
push 0x925df0
call fcn.007c1be0
mov edx, esi
push 0x925e00
call fcn.007c1be0
lea ecx, [esp + 0x50]
mov edx, 0x7d951c
mov dword [esp + 0x50], 0x93a1fc
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], 0x93d1f8
mov dword [esp + 0x5c], 0
call fcn.007c1b50
lea ecx, [esp + 0x68]
mov edx, 0x7d951c
mov dword [esp + 0x68], 0x93a1fc
mov dword [esp + 0x6c], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0x70], 0x93d1f8
mov dword [esp + 0x74], 0
call fcn.007c1b50
int3