Function at 0x4964e0
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.0048e040
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 0x496567
mov eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dl, byte [esp + 0x17]
mov byte [esp + 0x17], dl
cmp eax, ecx
je 0x496567
nop
mov edx, dword [eax]
cmp dword [edx + 0xbc], esi
je 0x496596
add eax, 4
cmp eax, ecx
jne 0x496550
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 0x49659e
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
add ecx, dword [esp + 0x38]
jmp 0x4965aa
mov al, byte [edi]
mov byte [esp + 0x17], al
jmp 0x496569
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
add ecx, dword [esp + 0x34]
movsd xmm3, qword [0x61e3f0]
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 0x496669
cmp byte [esp + 0x17], 0
je 0x4965dc
mov ecx, dword [edi + 0x10]
jmp 0x4965df
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x49660f
sub eax, 1
je 0x496605
sub eax, 1
je 0x4965f3
xorps xmm2, xmm2
jmp 0x49665d
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [edx + 0x80]
jmp 0x49665d
movsd xmm2, qword [edx + 0x80]
jmp 0x49661b
movd xmm2, dword [edx + 0x80]
cvtdq2pd xmm2, xmm2
mov eax, dword [edx + 0x7c]
sub eax, 0
je 0x49663c
sub eax, 1
je 0x49665d
sub eax, 1
je 0x496632
xorps xmm2, xmm2
jmp 0x49665d
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
jmp 0x49665d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x61ec30]
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 0x496734
cmp byte [esp + 0x17], 0
je 0x496683
mov ecx, dword [edi + 0x10]
jmp 0x496686
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x4966c9
sub eax, 1
je 0x4966bf
sub eax, 1
je 0x4966a5
xorps xmm2, xmm2
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x496738
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [edx + 0x90]
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x496738
movsd xmm2, qword [edx + 0x90]
jmp 0x4966d5
movd xmm2, dword [edx + 0x90]
cvtdq2pd xmm2, xmm2
mov eax, dword [edx + 0x8c]
sub eax, 0
je 0x496709
sub eax, 1
je 0x49672a
sub eax, 1
je 0x4966f7
xorps xmm2, xmm2
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x496738
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x496738
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x61ec30]
mulsd xmm2, xmm0
divsd xmm2, xmm3
cvttsd2si edx, xmm2
add edx, dword [esp + 0x18]
jmp 0x496738
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4967e1
cmp byte [esp + 0x17], 0
je 0x49674f
mov ecx, dword [edi + 0x10]
jmp 0x496752
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x496782
sub eax, 1
je 0x496778
sub eax, 1
je 0x496766
xorps xmm2, xmm2
jmp 0x4967d0
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [esi + 0x80]
jmp 0x4967d0
movsd xmm2, qword [esi + 0x80]
jmp 0x49678e
movd xmm2, dword [esi + 0x80]
cvtdq2pd xmm2, xmm2
mov eax, dword [esi + 0x7c]
sub eax, 0
je 0x4967af
sub eax, 1
je 0x4967d0
sub eax, 1
je 0x4967a5
xorps xmm2, xmm2
jmp 0x4967d0
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [eax + 8]
jmp 0x4967d0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x61ec30]
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 0x496894
cmp byte [esp + 0x17], 0
je 0x4967fb
mov ecx, dword [edi + 0x10]
jmp 0x4967fe
mov ecx, dword [edi + 0xc]
sub eax, 1
je 0x496829
sub eax, 1
je 0x49681f
sub eax, 1
jne 0x49687d
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [esi + 0x90]
jmp 0x49687d
movsd xmm0, qword [esi + 0x90]
jmp 0x496835
movd xmm0, dword [esi + 0x90]
cvtdq2pd xmm0, xmm0
mov eax, dword [esi + 0x8c]
sub eax, 0
je 0x49685c
sub eax, 1
je 0x496857
sub eax, 1
jne 0x49687d
mov eax, dword [ebp + 0xc]
movaps xmm1, xmm0
mulsd xmm1, qword [eax + 8]
jmp 0x49687d
movaps xmm1, xmm0
jmp 0x49687d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x61ec30]
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 0x496898
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.0051fe40
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8