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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x25ac
call fcn.004aa1c0
mov eax, dword [0x570f20]
xor eax, esp
mov dword [esp + 0x25a8], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x44]
push edi
mov edi, dword [esi + 0x48]
mov dword [esp + 0x6c], edx
mov edx, dword [esi + 0x98]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x58], ecx
mov ecx, dword [esi + 0x64]
push edx
push esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x58], ecx
call fcn.0049b100
add esp, 8
cmp eax, 0xffffffff
jne 0x4a0ac9
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x25a8]
xor ecx, esp
call fcn.004a7314
mov esp, ebp
pop ebp
ret
mov edx, 1
cmp ebx, edx
jne 0x4a0ade
xor ebx, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], ebx
jmp 0x4a0aec
xor eax, eax
xor ebx, ebx
cmp edi, ebx
setl al
inc eax
mov dword [esp + 0x20], eax
cmp dword [esi + 0x70], edx
jne 0x4a0b05
mov eax, dword [esi + 0x74]
mov ecx, eax
and ecx, 2
and eax, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
jmp 0x4a0b0d
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov eax, dword [esi + 0x4c]
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x74], eax
mov dword [esp + 0x24], ebx
cmp eax, ebx
jle 0x4a1964
mov ebx, dword [esp + 0x24]
mov edi, ebx
imul edi, edi, 0x68
add edi, esi
cmp dword [esi + 0x4c], 0
lea edx, [edi + 0xa0]
mov dword [esp + 0x10], edi
mov dword [esp + 0x40], edx
je 0x4a0b5c
push 0
push esi
mov eax, edx
lea ecx, [esp + 0x80]
call fcn.0049cb80
add esp, 8
jmp 0x4a0b6f
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x78]
mov edi, esi
call fcn.0049c970
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x55e0]
test ecx, ecx
je 0x4a0be3
mov dword [ecx + ebx*8 + 0x31a78], eax
mov ecx, ebx
imul ecx, ecx, 0x270
xor edx, edx
add ecx, 0x30520
mov edi, dword [esi + 0x55e0]
movd xmm0, dword [esp + edx*4 + 0x78]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + edi - 8], xmm0
movd xmm0, dword [esp + edx*4 + 0x7c]
mov edi, dword [esi + 0x55e0]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + edi], xmm0
movd xmm0, dword [esp + edx*4 + 0x80]
mov edi, dword [esi + 0x55e0]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + edi + 8], xmm0
add edx, 3
add ecx, 0x18
cmp edx, 0x27
jl 0x4a0b90
mov edi, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x1bc]
call fcn.0049cc80
add esp, 0xc
test eax, eax
jne 0x4a1964
cmp dword [esp + 0x70], 2
jne 0x4a106f
cmp dword [esi + 0x4c], 0
lea eax, [edi + 0x170]
je 0x4a0c3a
mov edx, dword [esp + 0x34]
push edx
push esi
lea ecx, [esp + 0x11c]
call fcn.0049cb80
add esp, 8
jmp 0x4a0c56
mov ecx, dword [esp + 0x10]
add ecx, 0x170
lea eax, [esp + 0x114]
mov edi, esi
call fcn.0049c970
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x55e0]
test ecx, ecx
je 0x4a0cd5
mov dword [ecx + ebx*8 + 0x31a7c], eax
mov ecx, ebx
imul ecx, ecx, 0x270
xor edx, edx
add ecx, 0x30658
jmp 0x4a0c80
mov ebx, dword [esi + 0x55e0]
movd xmm0, dword [esp + edx*4 + 0x114]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + ebx - 8], xmm0
movd xmm0, dword [esp + edx*4 + 0x118]
mov ebx, dword [esi + 0x55e0]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + ebx], xmm0
movd xmm0, dword [esp + edx*4 + 0x11c]
mov ebx, dword [esi + 0x55e0]
cvtdq2pd xmm0, xmm0
movsd qword [ecx + ebx + 8], xmm0
add edx, 3
add ecx, 0x18
cmp edx, 0x27
jl 0x4a0c80
mov ebx, dword [esp + 0x50]
push eax
lea eax, [esp + 0x118]
push ebx
push eax
lea ecx, [edi + 0x170]
lea edx, [esp + 0xabc]
call fcn.0049cc80
add esp, 0xc
test eax, eax
jne 0x4a1964
cmp dword [esp + 0x30], eax
je 0x4a0f7c
lea ebx, [ebx]
movss xmm0, dword [esp + eax*4 + 0x1b0]
cvtps2pd xmm2, xmm0
movss xmm1, dword [esp + eax*4 + 0xab0]
cvtps2pd xmm3, xmm1
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xab4]
movss dword [esp + eax*4 + 0x1b0], xmm0
movss xmm0, dword [esp + eax*4 + 0x1b4]
cvtps2pd xmm3, xmm1
movss dword [esp + eax*4 + 0xab0], xmm2
cvtps2pd xmm2, xmm0
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xab8]
movss dword [esp + eax*4 + 0x1b4], xmm0
movss xmm0, dword [esp + eax*4 + 0x1b8]
cvtps2pd xmm3, xmm1
movss dword [esp + eax*4 + 0xab4], xmm2
cvtps2pd xmm2, xmm0
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xabc]
movss dword [esp + eax*4 + 0x1b8], xmm0
movss xmm0, dword [esp + eax*4 + 0x1bc]
cvtps2pd xmm3, xmm1
movss dword [esp + eax*4 + 0xab8], xmm2
cvtps2pd xmm2, xmm0
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xac0]
movss dword [esp + eax*4 + 0x1bc], xmm0
movss xmm0, dword [esp + eax*4 + 0x1c0]
movss dword [esp + eax*4 + 0xabc], xmm2
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xac4]
movss dword [esp + eax*4 + 0x1c0], xmm0
movss xmm0, dword [esp + eax*4 + 0x1c4]
movss dword [esp + eax*4 + 0xac0], xmm2
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xac8]
movss dword [esp + eax*4 + 0x1c4], xmm0
movss xmm0, dword [esp + eax*4 + 0x1c8]
movss dword [esp + eax*4 + 0xac4], xmm2
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xacc]
movss dword [esp + eax*4 + 0x1c8], xmm0
movss xmm0, dword [esp + eax*4 + 0x1cc]
movss dword [esp + eax*4 + 0xac8], xmm2
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + eax*4 + 0xad0]
movss dword [esp + eax*4 + 0x1cc], xmm0
movss xmm0, dword [esp + eax*4 + 0x1d0]
movss dword [esp + eax*4 + 0xacc], xmm2
cvtps2pd xmm2, xmm0
xorps xmm3, xmm3
cvtps2pd xmm3, xmm1
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
subsd xmm2, xmm3
xorps xmm0, xmm0
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm1
movss dword [esp + eax*4 + 0xad0], xmm2
movss dword [esp + eax*4 + 0x1d0], xmm0
add eax, 9
cmp eax, 0x240
jl 0x4a0d10
cmp dword [esp + 0x34], 0
je 0x4a0fac
mov ecx, dword [esi + 0x4c]
push ecx
mov ecx, dword [esp + 0x34]
lea eax, [edi + 0x170]
push eax
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x1bc]
push eax
mov eax, ebx
call fcn.0049dc50
add esp, 0x10
cmp dword [esp + 0x30], 0
jne 0x4a0fc1
cmp dword [esp + 0x34], 0
jne 0x4a0fc1
cmp dword [esp + 0x38], 3
jne 0x4a0fdf
mov eax, dword [edi + 0xe0]
mov ecx, dword [edi + 0x1b0]
cmp ecx, eax
jbe 0x4a0fd9
mov dword [edi + 0xe0], ecx
jmp 0x4a0fdf
mov dword [edi + 0x1b0], eax
mov eax, dword [esp + 0x38]
dec eax
je 0x4a1036
sub eax, 2
jne 0x4a106f
mov ecx, dword [edi + 0x1b0]
lea ecx, [ecx + ecx*8]
add ecx, ecx
lea eax, [esp + 0x1b0]
test ecx, ecx
jle 0x4a106f
mov ecx, dword [edi + 0x1b0]
lea ecx, [ecx + ecx*8]
add ecx, ecx
movss xmm0, dword [eax + 0x900]
movss xmm1, dword [eax]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
dec ecx
jne 0x4a1010
jmp 0x4a106f
mov ecx, dword [edi + 0x1b0]
lea ecx, [ecx + ecx*8]
add ecx, ecx
lea eax, [esp + 0x1b0]
test ecx, ecx
jle 0x4a106f
mov ecx, dword [edi + 0x1b0]
lea ecx, [ecx + ecx*8]
add ecx, ecx
jmp 0x4a1060
fld dword [eax + 0x900]
add eax, 4
dec ecx
fstp dword [eax - 4]
jne 0x4a1060
cmp dword [esi + 0x55e0], 0
je 0x4a1885
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x55e0]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x58]
add eax, edx
shl eax, 4
add eax, dword [esi + 0x60]
mov edi, dword [esp + 0x20]
mov edx, dword [eax*4 + 0x558e00]
mov dword [ecx + 0x31ac0], edx
mov eax, dword [esi + 0x55e0]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx*4 + 0x558fc0]
mov dword [eax + 0x31ac4], edx
mov eax, dword [esi + 0x55e0]
mov ecx, dword [esi + 0x80]
mov dword [eax + 0x31abc], ecx
mov edx, dword [esi + 0x55e0]
mov eax, dword [esi + 0x5c]
mov dword [edx + 0x31acc], eax
mov ecx, dword [esi + 0x55e0]
mov edx, dword [esi + 0x68]
mov dword [ecx + 0x31ad0], edx
mov eax, dword [esi + 0x55e0]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x31aac], ecx
mov eax, dword [esi + 0x55e0]
xor edx, edx
cmp dword [esi + 0x70], 1
sete dl
mov dword [eax + 0x31ab0], edx
mov ecx, dword [esi + 0x55e0]
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x31ab4], edx
mov eax, dword [esi + 0x55e0]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x31ab8], ecx
mov edx, dword [esi + 0x55e0]
mov eax, dword [esi + 0x98]
mov dword [edx + 0x31ac8], eax
test edi, edi
jle 0x4a176d
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, 0x31ad4
lea ecx, [ecx*8 + 0x31a28]
add eax, 0xf0
mov dword [esp + 0x14], edi
jmp 0x4a1170
cmp dword [esp + 0x24], 1
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 0x48]
mov dword [ecx + edi - 0x870], ebx
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax]
mov dword [ecx + edi], ebx
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 0x3c]
mov dword [ecx + edi + 0x30], ebx
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 0x40]
mov dword [ecx + edi + 0x20], ebx
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 0x4c]
mov dword [ecx + edi + 0x40], ebx
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 4]
mov dword [ecx + edi + 0x10], ebx
jne 0x4a11d2
mov edi, dword [esi + 0x55e0]
mov ebx, dword [eax - 0x50]
mov dword [edx + edi], ebx
add ecx, 4
add edx, 4
add eax, 0xd0
dec dword [esp + 0x14]
jne 0x4a1170
mov edi, dword [esp + 0x20]
test edi, edi
jle 0x4a176d
mov eax, dword [esp + 0x24]
mov ecx, eax
imul ecx, ecx, 0x160
mov dword [esp + 0x3c], ecx
mov ecx, eax
imul ecx, ecx, 0x4e
xorps xmm4, xmm4
movsd xmm3, qword [0x4c5bf8]
movsd xmm2, qword [0x4c5b80]
movss xmm1, dword [0x4c8bb0]
mov dword [esp + 0x1c], ecx
lea ecx, [eax*8 + 0x31a28]
mov dword [esp + 0x4c], ecx
mov ecx, eax
imul ecx, ecx, 0x270
lea edx, [ecx + 0x30520]
mov dword [esp + 0x44], edx
lea eax, [eax + eax*2]
lea edx, [eax*8 + 0x311c8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
add ecx, 0x30548
mov eax, edi
mov dword [esp + 0x48], ecx
add edx, 0xb4
mov dword [esp + 0x18], eax
jmp 0x4a1270
mov ecx, dword [esi + 0x55e0]
mov eax, dword [esp + 0x4c]
cmp dword [eax + ecx], 0
jne 0x4a1286
movapd xmm0, xmm2
jmp 0x4a128a
movapd xmm0, xmm3
cmp dword [edx - 4], 2
cvtsd2ss xmm0, xmm0
xorps xmm0, xmm1
jne 0x4a1505
mov eax, dword [esp + 0x44]
xor ecx, ecx
add eax, 0x118
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], eax
add ecx, 6
mov dword [esp + 0x64], 2
mov edi, dword [esi + 0x55e0]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mov ebx, ecx
sub ebx, dword [edx]
add ebx, dword [esp + 0x1c]
mulsd xmm5, qword [edi + ebx*8 + 0x304e8]
movsd qword [eax + edi - 0x30], xmm5
mov edi, dword [esi + 0x55e0]
mov ebx, dword [esp + 0x10]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [eax + edi - 0x30]
subsd xmm6, xmm5
movsd qword [eax + edi - 0x30], xmm6
mov edi, dword [esi + 0x55e0]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mov ebx, ecx
sub ebx, dword [edx]
add ebx, dword [esp + 0x1c]
mulsd xmm5, qword [edi + ebx*8 + 0x30500]
movsd qword [eax + edi - 0x18], xmm5
mov edi, dword [esi + 0x55e0]
mov ebx, dword [esp + 0x10]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [eax + edi - 0x18]
subsd xmm6, xmm5
movsd qword [eax + edi - 0x18], xmm6
mov edi, dword [esi + 0x55e0]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mov ebx, ecx
sub ebx, dword [edx]
add ebx, dword [esp + 0x1c]
mulsd xmm5, qword [edi + ebx*8 + 0x30518]
mov ebx, dword [esp + 0x10]
movsd qword [edi + eax], xmm5
mov edi, dword [esi + 0x55e0]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [edi + eax]
subsd xmm6, xmm5
movsd qword [edi + eax], xmm6
mov edi, dword [esi + 0x55e0]
mov ebx, ecx
sub ebx, dword [edx]
xorps xmm5, xmm5
add ebx, dword [esp + 0x1c]
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi + ebx*8 + 0x30530]
mov ebx, dword [esp + 0x10]
movsd qword [eax + edi + 0x18], xmm5
mov edi, dword [esi + 0x55e0]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [eax + edi + 0x18]
subsd xmm6, xmm5
movsd qword [eax + edi + 0x18], xmm6
mov edi, dword [esi + 0x55e0]
mov ebx, ecx
sub ebx, dword [edx]
xorps xmm5, xmm5
add ebx, dword [esp + 0x1c]
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi + ebx*8 + 0x30548]
movsd qword [eax + edi + 0x30], xmm5
mov edi, dword [esi + 0x55e0]
mov ebx, dword [esp + 0x10]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [eax + edi + 0x30]
subsd xmm6, xmm5
movsd qword [eax + edi + 0x30], xmm6
mov edi, dword [esi + 0x55e0]
mov ebx, ecx
sub ebx, dword [edx]
xorps xmm5, xmm5
add ebx, dword [esp + 0x1c]
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi + ebx*8 + 0x30560]
mov ebx, dword [esp + 0x10]
movsd qword [eax + edi + 0x48], xmm5
mov edi, dword [esi + 0x55e0]
mov edi, dword [edi + ebx]
add edi, edi
xorps xmm5, xmm5
cvtsi2sd xmm5, edi
mov edi, dword [esi + 0x55e0]
movsd xmm6, qword [eax + edi + 0x48]
subsd xmm6, xmm5
movsd qword [eax + edi + 0x48], xmm6
add ecx, 0x12
add eax, 0x90
dec dword [esp + 0x64]
jne 0x4a12c9
mov eax, dword [esi + 0x55e0]
mov ecx, dword [eax + ebx]
mov edi, dword [esp + 0x28]
neg ecx
add ecx, ecx
xorps xmm5, xmm5
cvtsi2sd xmm5, ecx
mov ecx, dword [esp + 0x60]
movsd qword [eax + edi], xmm5
mov eax, dword [esp + 0x68]
inc ecx
add ebx, 4
add eax, 8
add edi, 8
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x28], edi
cmp ecx, 3
jl 0x4a12be
jmp 0x4a1739
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov ebx, 0x55bd64
add eax, 0x30260
jmp 0x4a1520
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx - 8]
fstp qword [edi + eax - 8]
cmp dword [edx + 0x38], 0
je 0x4a154f
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx - 4]
lea edi, [eax + edi - 8]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi - 8]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx]
fstp qword [edi + eax]
cmp dword [edx + 0x38], 0
je 0x4a1592
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi + eax]
movsd qword [edi + eax], xmm5
mov edi, dword [esi + 0x55e0]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi + eax]
movsd qword [edi + eax], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx + 8]
fstp qword [edi + eax + 8]
cmp dword [edx + 0x38], 0
je 0x4a15d8
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx + 4]
lea edi, [eax + edi + 8]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi + 8]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx + 0x10]
fstp qword [edi + eax + 0x10]
cmp dword [edx + 0x38], 0
je 0x4a1620
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx + 8]
lea edi, [eax + edi + 0x10]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi + 0x10]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx + 0x18]
fstp qword [edi + eax + 0x18]
cmp dword [edx + 0x38], 0
je 0x4a1668
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx + 0xc]
lea edi, [eax + edi + 0x18]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi + 0x18]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx + 0x20]
fstp qword [edi + eax + 0x20]
cmp dword [edx + 0x38], 0
je 0x4a16b0
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx + 0x10]
lea edi, [eax + edi + 0x20]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi + 0x20]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
fld qword [edi + ecx + 0x28]
fstp qword [edi + eax + 0x28]
cmp dword [edx + 0x38], 0
je 0x4a16f8
mov edi, dword [esi + 0x55e0]
movd xmm5, dword [ebx + 0x14]
lea edi, [eax + edi + 0x28]
cvtdq2pd xmm5, xmm5
addsd xmm5, qword [edi]
movsd qword [edi], xmm5
mov edi, dword [esi + 0x55e0]
lea edi, [eax + edi + 0x28]
xorps xmm5, xmm5
add ebx, 0x1c
cvtss2sd xmm5, xmm0
mulsd xmm5, qword [edi]
add ecx, 0x38
add eax, 0x38
movsd qword [edi], xmm5
cmp ebx, 0x55bdb8
jl 0x4a1520
mov eax, dword [esi + 0x55e0]
mov ecx, dword [esp + 0x3c]
movsd qword [ecx + eax + 0x30300], xmm4
add dword [esp + 0x4c], 4
add dword [esp + 0x1c], 0x27
add dword [esp + 0x14], 0xc
add dword [esp + 0x3c], 0xb0
mov eax, 0x138
add dword [esp + 0x48], eax
add dword [esp + 0x44], eax
add edx, 0xd0
dec dword [esp + 0x18]
jne 0x4a1270
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x4a1885
mov ecx, dword [esp + 0x24]
imul ecx, ecx, 0x2400
lea eax, [esp + 0x1b4]
add ecx, 0x11b20
mov dword [esp + 0x28], edx
mov edi, ecx
mov dword [esp + 0x18], 0x20
mov edi, edi
mov ecx, edi
mov edx, 2
add edi, 0x90
lea ecx, [ecx]
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax - 4]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx - 8], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 8], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 8]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x10], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x18], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x20], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x28], xmm0
mov ebx, dword [esi + 0x55e0]
movss xmm0, dword [eax + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x30], xmm0
movss xmm0, dword [eax + 0x1c]
mov ebx, dword [esi + 0x55e0]
cvtps2pd xmm0, xmm0
movsd qword [ecx + ebx + 0x38], xmm0
add eax, 0x24
add ecx, 0x48
dec edx
jne 0x4a17b0
dec dword [esp + 0x18]
jne 0x4a17a0
dec dword [esp + 0x28]
mov ecx, edi
jne 0x4a1794
xor ebx, ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x20], ebx
jle 0x4a18d7
mov edi, dword [esp + 0x40]
lea edx, [esp + ebx + 0x1b0]
push edx
mov eax, edi
call fcn.0049e5d0
mov ecx, dword [esp + 0x18]
push edi
lea eax, [esp + ebx + 0x13b8]
push eax
push edx
mov eax, esi
call fcn.004a0740
mov eax, dword [esp + 0x24]
inc eax
add esp, 0x10
add edi, 0xd0
add ebx, 0x900
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x20]
jl 0x4a1895
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x13b0]
mov dword [esp + 0x18], 0x12
cmp dword [esp + 0x38], 0
jl 0x4a1906
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push ecx
push edx
push edi
push esi
call dword [esp + 0x7c]
add esp, 0x10
jmp 0x4a1942
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x28]
push edx
push eax
push 0
push edi
push esi
mov dword [esp + 0x3c], ecx
call dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
push edx
add ebx, eax
push 1
lea eax, [edi + 0x900]
push eax
push esi
call dword [esp + 0x84]
add esp, 0x28
add ebx, eax
sub edi, 0xffffff80
dec dword [esp + 0x18]
jne 0x4a18ea
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x74]
jl 0x4a0b27
mov ecx, dword [esp + 0x25b4]
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a7314
mov esp, ebp
pop ebp
ret