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

Disassembly:
sub esp, 0x28
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x40]
movsd xmm1, qword [0x4c5be8]
movsd xmm2, qword [0x4c5bf0]
movsd xmm4, qword [0x4c5bf8]
push ebx
push ebp
push esi
push edi
mov edi, dword [eax + 0x68]
movsd xmm0, qword [edi + 0x70]
addsd xmm0, qword [0x4c5b80]
mov eax, dword [eax + 4]
mov ebp, dword [eax + 0x1c]
andpd xmm1, xmm0
movapd xmm3, xmm1
movapd xmm1, xmm0
xorpd xmm1, xmm3
cmpltsd xmm1, xmm2
andpd xmm2, xmm1
orpd xmm2, xmm3
movapd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm2
movapd xmm2, xmm1
subsd xmm2, xmm0
cmpnlesd xmm2, xmm3
andpd xmm2, xmm4
mov dword [esp + 0x2c], eax
subsd xmm1, xmm2
cvttsd2si ebx, xmm1
lea eax, [ecx + ebx*4 + 0xc]
mov eax, dword [eax]
push eax
mov dword [esp + 0x14], ecx
call fcn.004799e0
mov ecx, dword [esp + 0x40]
mov esi, eax
mov eax, dword [ecx + 0x1c]
add esi, esi
add esi, esi
add esp, 4
add esi, esi
test eax, eax
je 0x461b74
mov edx, dword [edi + 0x68]
imul edx, dword [edi + 0x60]
jmp 0x461b77
mov edx, dword [edi + 0x60]
mov dword [esp + 0x18], edx
test eax, eax
je 0x461b88
mov edx, dword [edi + 0x68]
imul edx, dword [edi + 0x64]
jmp 0x461b8b
mov edx, dword [edi + 0x64]
mov eax, dword [ebp + eax*4]
movd xmm0, dword [ebp + 0xd2c]
sar eax, 1
cmp dword [edi + 0x50], 0
mov dword [esp + 0x28], eax
lea eax, [ebp + 0xd2c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp + 0xd30]
mov dword [esp + 0x14], edx
cvttsd2si edx, xmm0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jne 0x461be3
cmp dword [edi + 0x78], 0
je 0x461bd6
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x28
ret
mov dword [edi + 0x78], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov dword [edi + 0x78], ecx
mov ecx, dword [edi + 0x5c]
test ecx, ecx
jle 0x461e0d
mov eax, dword [esp + 0x3c]
cmp dword [eax + 0x1c], 0
je 0x461c07
mov eax, dword [edi + 0x68]
imul eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x461c0d
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ecx, dword [edi + 0x54]
movsd xmm0, qword [0x4cb6b0]
divsd xmm0, qword [ebp + 0xd38]
sub ecx, eax
add ecx, esi
movsd qword [esp + 0x30], xmm0
cmp ecx, edx
jle 0x461c79
test ebx, ebx
jle 0x461cc4
mov ecx, dword [esp + 0x10]
lea ebp, [ecx + ebx*4 + 0xc]
jmp 0x461c48
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
cmp esi, eax
jle 0x461cc4
mov ecx, dword [edi + 0x54]
sub ecx, eax
add ecx, esi
cmp ecx, edx
jle 0x461cc4
mov edx, dword [ebp - 4]
sub ebp, 4
push edx
dec ebx
call fcn.004799e0
mov esi, eax
add esi, esi
add esi, esi
add esp, 4
add esi, esi
test ebx, ebx
jg 0x461c40
jmp 0x461cc4
jge 0x461cc4
lea ecx, [ebx + 1]
cmp ecx, 0xf
jge 0x461cc4
mov ecx, dword [esp + 0x10]
lea ebp, [ecx + ebx*4 + 0xc]
jmp 0x461c98
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
cmp esi, eax
jge 0x461cc4
mov ecx, dword [edi + 0x54]
sub ecx, eax
add ecx, esi
cmp ecx, edx
jge 0x461cc4
mov edx, dword [ebp + 4]
add ebp, 4
push edx
inc ebx
call fcn.004799e0
mov esi, eax
add esi, esi
add esi, esi
add esp, 4
add esi, esi
cmp ebx, 0xe
jl 0x461c90
movsd xmm4, qword [edi + 0x70]
movsd xmm1, qword [0x4c5be8]
movsd xmm2, qword [0x4c5bf0]
movsd xmm7, qword [0x4c5bf8]
mov eax, dword [esp + 0x2c]
movd xmm5, dword [esp + 0x28]
movd xmm6, dword [eax + 8]
xorps xmm0, xmm0
cvtsi2sd xmm0, ebx
subsd xmm0, xmm4
addsd xmm0, qword [0x4c5b80]
andpd xmm1, xmm0
movapd xmm3, xmm1
movapd xmm1, xmm0
xorpd xmm1, xmm3
cmpltsd xmm1, xmm2
andpd xmm2, xmm1
orpd xmm2, xmm3
movapd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm2
movapd xmm2, xmm1
subsd xmm2, xmm0
cmpnlesd xmm2, xmm3
andpd xmm2, xmm7
subsd xmm1, xmm2
movsd xmm2, qword [esp + 0x30]
movapd xmm0, xmm1
cvtdq2pd xmm5, xmm5
cvtdq2pd xmm6, xmm6
divsd xmm0, xmm5
movapd xmm1, xmm2
xorpd xmm1, xmmword [0x4c8ba0]
mulsd xmm0, xmm6
comisd xmm1, xmm0
jbe 0x461d71
movapd xmm0, xmm1
comisd xmm0, xmm2
jbe 0x461d7b
movapd xmm0, xmm2
movsd xmm1, qword [0x4c5bf0]
divsd xmm0, xmm6
mov ebp, dword [esp + 0x10]
mulsd xmm0, xmm5
addsd xmm0, xmm4
movsd xmm4, qword [0x4c5bf8]
movsd qword [edi + 0x70], xmm0
addsd xmm0, qword [0x4c5b80]
movapd xmm2, xmm0
movsd xmm0, qword [0x4c5be8]
andpd xmm0, xmm2
movapd xmm3, xmm0
movapd xmm0, xmm2
xorpd xmm0, xmm3
cmpltsd xmm0, xmm1
andpd xmm1, xmm0
orpd xmm1, xmm3
movapd xmm0, xmm2
addsd xmm0, xmm1
subsd xmm0, xmm1
movapd xmm1, xmm0
subsd xmm1, xmm2
cmpnlesd xmm1, xmm3
andpd xmm1, xmm4
subsd xmm0, xmm1
cvttsd2si ebx, xmm0
mov ecx, dword [ebp + ebx*4 + 0xc]
push ecx
call fcn.004799e0
mov esi, eax
add esi, esi
add esi, esi
add esp, 4
add esi, esi
jmp 0x461e11
mov ebp, dword [esp + 0x10]
cmp dword [edi + 0x60], 0
jle 0x461e5f
mov eax, dword [esp + 0x18]
cmp esi, eax
jge 0x461e5f
mov edx, esi
sub edx, eax
add edx, dword [edi + 0x58]
jns 0x461e5f
lea eax, [ebp + ebx*4 + 0xc]
jmp 0x461e34
mov eax, dword [esp + 0x2c]
inc ebx
add eax, 4
mov dword [esp + 0x2c], eax
cmp ebx, 0xf
jge 0x461e5f
mov eax, dword [eax]
push eax
call fcn.004799e0
mov esi, eax
add esi, esi
add esi, esi
add esi, esi
mov ecx, esi
sub ecx, dword [esp + 0x1c]
add esp, 4
add ecx, dword [edi + 0x58]
js 0x461e30
cmp dword [edi + 0x64], 0
jle 0x461eb3
mov eax, dword [esp + 0x14]
cmp esi, eax
jle 0x461eb3
mov edx, esi
sub edx, eax
add edx, dword [edi + 0x58]
mov eax, dword [esp + 0x20]
cmp edx, dword [eax]
jle 0x461eb3
lea ebp, [ebp + ebx*4 + 0xc]
sub ebp, 4
dec ebx
js 0x461f43
mov ecx, dword [ebp]
push ecx
call fcn.004799e0
mov esi, eax
mov eax, dword [esp + 0x24]
add esi, esi
add esi, esi
add esi, esi
mov edx, esi
sub edx, dword [esp + 0x18]
add esp, 4
add edx, dword [edi + 0x58]
cmp edx, dword [eax]
jg 0x461e80
mov ebp, dword [esp + 0x10]
test ebx, ebx
js 0x461f47
mov eax, dword [esp + 0x18]
sub eax, dword [edi + 0x58]
add eax, 7
cdq
and edx, 7
lea esi, [edx + eax]
sar esi, 3
cmp ebx, 0xf
jl 0x461ed9
mov ebx, 0xe
mov dword [edi + 0x7c], ebx
mov eax, dword [ebp + ebx*4 + 0xc]
push eax
call fcn.004799e0
sub esi, eax
add esp, 4
test esi, esi
jle 0x461f06
nop
mov ecx, dword [ebp + ebx*4 + 0xc]
push 8
push 0
push ecx
dec esi
call fcn.00479a10
add esp, 0xc
test esi, esi
jg 0x461ef0
mov edx, dword [ebp + ebx*4 + 0xc]
push edx
call fcn.004799e0
add esp, 4
mov esi, eax
add esi, esi
add esi, esi
add esi, esi
cmp dword [edi + 0x60], 0
jg 0x461f2b
cmp dword [edi + 0x64], 0
jle 0x461fda
mov ebx, dword [esp + 0x14]
test ebx, ebx
jle 0x461f97
cmp esi, ebx
jle 0x461f97
mov eax, esi
sub eax, ebx
add dword [edi + 0x58], eax
jmp 0x461fda
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
sub eax, dword [edi + 0x58]
mov dword [edi + 0x7c], 0
add eax, dword [esp + 0x14]
cdq
and edx, 7
lea ebx, [edx + eax]
mov edx, dword [ebp + 0xc]
push edx
sar ebx, 3
call fcn.004799e0
add esp, 4
cmp eax, ebx
jle 0x461f1b
mov ecx, dword [ebp + 0xc]
lea eax, [ebx*8]
push eax
push ecx
call fcn.00479730
mov edx, dword [ebp + 0xc]
push edx
call fcn.004799e0
add esp, 0xc
jmp 0x461f13
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x461fac
cmp esi, edx
jge 0x461fac
mov ecx, esi
sub ecx, edx
add dword [edi + 0x58], ecx
jmp 0x461fda
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jle 0x461fc8
test ebx, ebx
jle 0x461fd7
sub eax, ebx
add eax, esi
mov dword [edi + 0x58], eax
cmp eax, ecx
jge 0x461fda
jmp 0x461fd7
test edx, edx
jle 0x461fd7
sub eax, edx
add eax, esi
mov dword [edi + 0x58], eax
cmp eax, ecx
jle 0x461fda
mov dword [edi + 0x58], ecx
mov ecx, dword [edi + 0x5c]
test ecx, ecx
jle 0x462007
mov edx, dword [esp + 0x3c]
cmp dword [edx + 0x1c], 0
je 0x462000
mov eax, dword [edi + 0x68]
imul eax, ecx
sub esi, eax
add dword [edi + 0x54], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov eax, ecx
sub esi, eax
add dword [edi + 0x54], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret