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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
push esi
mov esi, ecx
push edi
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 0xc0]
mov eax, dword [esi + 0xe4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], esi
lea eax, [ecx + 0x4c]
add ecx, 0x98
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004810e0
cmp dword [esp + 0x24], 0x74
movups xmm0, xmmword [esp + 0x30]
sete al
mov byte [edi], al
movups xmmword [edi + 4], xmm0
mov ecx, dword [esi + 0xc0]
mov byte [esp + 0x17], al
test ecx, ecx
je 0x489f17
mov eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dl, byte [esp + 0x17]
mov byte [esp + 0x17], dl
cmp eax, ecx
je 0x489f17
nop
mov edx, dword [eax]
cmp dword [edx + 0xbc], esi
je 0x489f46
add eax, 4
cmp eax, ecx
jne 0x489f00
mov al, byte [edi]
mov byte [esp + 0x17], al
xor edx, edx
cmp dword [esp + 0x24], 0x74
movups xmm0, xmmword [edx + 0x4c]
mov esi, dword [esi + 0xbc]
movups xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [esi + 0x4c]
movups xmmword [esp + 0x34], xmm0
jne 0x489f4e
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
add ecx, dword [esp + 0x38]
jmp 0x489f5a
mov al, byte [edi]
mov byte [esp + 0x17], al
jmp 0x489f19
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
add ecx, dword [esp + 0x34]
movsd xmm3, qword [0x604e98]
xorps xmm1, xmm1
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x78]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
test eax, eax
je 0x48a019
cmp byte [esp + 0x17], 0
je 0x489f8c
mov ecx, dword [edi + 0x10]
jmp 0x489f8f
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x489fbf
sub eax, 1
je 0x489fb5
sub eax, 1
je 0x489fa3
xorps xmm2, xmm2
jmp 0x48a00d
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [edx + 0x80]
jmp 0x48a00d
movsd xmm2, qword [edx + 0x80]
jmp 0x489fcb
movd xmm2, dword [edx + 0x80]
cvtdq2pd xmm2, xmm2
mov eax, dword [edx + 0x7c]
sub eax, 0
je 0x489fec
sub eax, 1
je 0x48a00d
sub eax, 1
je 0x489fe2
xorps xmm2, xmm2
jmp 0x48a00d
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
jmp 0x48a00d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605690]
mulsd xmm2, xmm0
divsd xmm2, xmm3
cvttsd2si ecx, xmm2
add ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov eax, dword [edx + 0x88]
test eax, eax
je 0x48a0e4
cmp byte [esp + 0x17], 0
je 0x48a033
mov ecx, dword [edi + 0x10]
jmp 0x48a036
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x48a079
sub eax, 1
je 0x48a06f
sub eax, 1
je 0x48a055
xorps xmm2, xmm2
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x48a0e8
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [edx + 0x90]
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x48a0e8
movsd xmm2, qword [edx + 0x90]
jmp 0x48a085
movd xmm2, dword [edx + 0x90]
cvtdq2pd xmm2, xmm2
mov eax, dword [edx + 0x8c]
sub eax, 0
je 0x48a0b9
sub eax, 1
je 0x48a0da
sub eax, 1
je 0x48a0a7
xorps xmm2, xmm2
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x48a0e8
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x48a0e8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605690]
mulsd xmm2, xmm0
divsd xmm2, xmm3
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x48a0e8
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x78]
test eax, eax
je 0x48a191
cmp byte [esp + 0x17], 0
je 0x48a0ff
mov ecx, dword [edi + 0x10]
jmp 0x48a102
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x48a132
sub eax, 1
je 0x48a128
sub eax, 1
je 0x48a116
xorps xmm2, xmm2
jmp 0x48a180
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [esi + 0x80]
jmp 0x48a180
movsd xmm2, qword [esi + 0x80]
jmp 0x48a13e
movd xmm2, dword [esi + 0x80]
cvtdq2pd xmm2, xmm2
mov eax, dword [esi + 0x7c]
sub eax, 0
je 0x48a15f
sub eax, 1
je 0x48a180
sub eax, 1
je 0x48a155
xorps xmm2, xmm2
jmp 0x48a180
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
jmp 0x48a180
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605690]
mulsd xmm2, xmm0
divsd xmm2, xmm3
mov ecx, dword [esp + 0x1c]
cvttsd2si eax, xmm2
sub ecx, eax
cmp edx, ecx
cmovl ecx, edx
mov edx, ecx
mov eax, dword [esi + 0x88]
test eax, eax
je 0x48a244
cmp byte [esp + 0x17], 0
je 0x48a1ab
mov ecx, dword [edi + 0x10]
jmp 0x48a1ae
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x48a1d9
sub eax, 1
je 0x48a1cf
sub eax, 1
jne 0x48a22d
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [esi + 0x90]
jmp 0x48a22d
movsd xmm0, qword [esi + 0x90]
jmp 0x48a1e5
movd xmm0, dword [esi + 0x90]
cvtdq2pd xmm0, xmm0
mov eax, dword [esi + 0x8c]
sub eax, 0
je 0x48a20c
sub eax, 1
je 0x48a207
sub eax, 1
jne 0x48a22d
mov eax, dword [ebp + 0xc]
movaps xmm1, xmm0
mulsd xmm1, qword [eax + 8]
jmp 0x48a22d
movaps xmm1, xmm0
jmp 0x48a22d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x605690]
mulsd xmm1, xmm0
divsd xmm1, xmm3
mov esi, dword [esp + 0x1c]
cvttsd2si eax, xmm1
sub esi, eax
cmp esi, dword [esp + 0x20]
cmovl esi, dword [esp + 0x20]
mov ecx, esi
jmp 0x48a248
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
xor eax, eax
cmp byte [esp + 0x17], al
setne al
sub edx, ecx
add edx, 4
lea eax, [eax*4 + 4]
mov dword [eax + edi], ecx
xor eax, eax
cmp byte [edi], al
lea ecx, [esi + 0xe8]
setne al
lea eax, [eax*4 + 0xc]
mov dword [eax + edi], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
xor ecx, ecx
cmp dword [esp + 0x24], 0x74
sete cl
inc ecx
push ecx
lea ecx, [edi + 4]
push ecx
mov ecx, dword [esi + 0x158]
push eax
call fcn.00515e20
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8