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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
mov eax, 0x2a14
call fcn.00497d00
mov ebx, dword [ebp + 8]
mov edx, dword [0x52cfb4]
xor edx, esp
mov dword [esp + 0x2a10], edx
lea ecx, [ebx + 0x134]
mov edx, dword [ebx + 0x78]
mov dword [ebx + 0x14b08], edx
lea edx, [esp + 0x54]
mov dword [edx + 0x48], ecx
push edx
push ebx
call fcn.00464420
cdq
idiv dword [ebx + 0x50]
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0x5c], eax
push ebx
mov dword [ebx + 0x14b08], ecx
call fcn.0042d980
mov dword [esp + 0x38], eax
push ebx
mov dword [ebx + 0x14b08], 1
call fcn.0042d980
add esp, 0x10
mov edx, dword [ebx + 0x78]
mov dword [esp + 0x2c], eax
test edx, edx
jle 0x45f9b3
mov edi, 1
lea esi, [esp + 0x2c]
push esi
push ebx
mov dword [ebx + 0x14b08], edi
call fcn.00464420
add esp, 8
mov dword [esp + edi*4 + 0x29b0], eax
inc edi
mov edx, dword [ebx + 0x78]
cmp edi, edx
jle 0x45f994
cmp dword [ebx + 0x50], 0
jle 0x4607d7
xor ecx, ecx
mov eax, 1
xor edi, edi
xor esi, esi
movsd xmm6, qword [0x4ca1c8]
movsd xmm5, qword [0x4ca178]
movsd xmm4, qword [0x4ca180]
movsd xmm3, qword [0x4ca190]
movsd xmm2, qword [0x4ca1a0]
movups xmm1, xmmword [0x4ca0a0]
movss xmm0, dword [0x4ca250]
mov dword [esp + 0x70], eax
mov dword [esp + 0x34], ecx
lea edx, [esp + edi*8 + 0x29f0]
mov dword [esp + 0x38], edx
push 0
push edi
push dword [esp + 0x5c]
push edx
push dword [ebp + 0xc]
push ebx
call fcn.00435d10
add esp, 0x18
cmp dword [ebx + 0x14b14], 2
je 0x4605b2
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
jle 0x45fb90
mov ebx, dword [ebp + 0xc]
lea ecx, [esp + edi*8 + 0x2a00]
mov dword [esp + 0x40], ecx
lea edx, [esp + edi*8 + 0x58]
imul ecx, edi, 0x3d0
xor eax, eax
mov dword [esp + 0x44], edx
lea edx, [ebx + edi*8]
imul ebx, edi, 0x138
add ecx, dword [ebp + 0x14]
mov dword [esp + 0x3c], edx
lea edx, [esp + ebx + 0x2740]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], edi
mov edi, eax
imul esi, edi, 0x1484
pxor xmm1, xmm1
mov ecx, dword [esp + 0x50]
lea ecx, [ebx + ecx + 0x134]
add esi, ecx
mov ecx, dword [esp + 0x3c]
cvtss2sd xmm1, dword [ecx + edi*4]
cmp dword [esi + 0x12b4], 2
je 0x460568
divsd xmm1, qword [0x4ca178]
movsd xmm0, qword [0x4ca170]
subsd xmm0, xmm1
call fcn.00488000
movsd xmm1, qword [0x4ca198]
movss xmm2, dword [ebx + 0x14bb0]
addsd xmm0, qword [0x4ca1c8]
divsd xmm1, xmm0
subsd xmm1, qword [0x4ca1a0]
cvtsd2ss xmm1, xmm1
subss xmm2, xmm1
pxor xmm1, xmm1
cvtss2sd xmm1, xmm2
mulsd xmm1, qword [0x4ca190]
movsd xmm0, qword [0x4ca188]
call fcn.004864a0
cvtsd2ss xmm0, xmm0
mov eax, ebx
mov edx, esi
movss dword [ebx + 0x14bac], xmm0
call fcn.00463d90
imul ecx, edi, 0x9c
imul edx, edi, 0x1e8
add ecx, dword [esp + 0x48]
push ecx
push esi
add edx, dword [esp + 0x54]
push edx
push ebx
call fcn.00436140
add esp, 0x10
mov edx, dword [esp + 0x44]
xor ecx, ecx
test eax, eax
mov esi, dword [esp + 0x70]
mov dword [edx + edi*4], eax
cmovne esi, ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], esi
mov dword [edx + edi*4], 0x7e
mov edx, dword [esp + 0x38]
add ecx, dword [edx + edi*4]
inc edi
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0x4c]
cmp edi, ecx
jl 0x45fa88
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
inc edi
add esi, 0x2908
mov edx, dword [ebx + 0x50]
cmp edi, edx
jl 0x45fa07
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
test edx, edx
jle 0x460561
mov edi, dword [ebx + 0x78]
xor esi, esi
mov dword [esp + 0x98], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x45fc38
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x14], esi
lea edi, [esp + esi*8 + 0x2a00]
mov dword [esp + 0x18], edx
lea ecx, [esp + esi*8 + 0x29f0]
mov eax, dword [esp + eax*4 + 0x29b0]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x1c]
jle 0x45fc1b
test esi, esi
jle 0x45fc1b
mov eax, dword [ecx + ebx*4]
imul eax, dword [esp + 0x1c]
cdq
idiv esi
mov dword [ecx + ebx*4], eax
jmp 0x45fc1e
mov eax, dword [ecx + ebx*4]
mov edx, dword [edi + ebx*4]
cmp eax, edx
cmovl edx, eax
mov dword [edi + ebx*4], edx
inc ebx
cmp ebx, dword [esp + 0x18]
jb 0x45fc01
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
inc esi
cmp esi, dword [esp + 0x98]
jb 0x45fbd2
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
xor esi, esi
xor ecx, ecx
xor edi, edi
movss xmm0, dword [0x4ca254]
xor eax, eax
mov dword [esp + 0x50], esi
mov ebx, dword [esp + 0x98]
test edx, edx
jle 0x45fd86
mov edx, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x20], ebx
lea esi, [esp + ecx*8 + 0x2a00]
mov dword [esp + 0x28], esi
lea esi, [esp + ecx*8 + 0x29f0]
mov dword [esp + 0x5c], esi
lea edx, [edi + edx + 0x134]
mov dword [esp + 0x30], eax
lea esi, [esp + eax + 0x2740]
mov dword [esp + 0x24], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ecx
mov esi, ebx
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x68]
xor ecx, ecx
mov dword [esp + 0x64], ecx
add edi, esi
mov edx, dword [edi + 0x1458]
mov dword [esp + 0x6c], edx
mov dword [edi + 0x129c], ecx
lea ecx, [esp + edx*4 + 0x1e40]
shl edx, 2
neg edx
add edx, 0x900
push edx
push 0
push ecx
call fcn.0048a380
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x70]
push ecx
push dword [esp + 0x7c]
lea ecx, [esp + 0x1e54]
push ecx
push edi
call dword [eax + 0x14f40]
mov eax, dword [ebp + 8]
add esp, 0x1c
movss xmm0, dword [esp + 0x64]
comiss xmm0, dword [0x4ca254]
jbe 0x46053e
mov ecx, dword [eax + 0x14c68]
and ecx, 2
shr ecx, 1
cmp dword [edi + 0x1300], 0
jle 0x45fd47
xor edx, edx
mov dword [eax + edx*4 + 0x14bc8], ecx
inc edx
cmp edx, dword [edi + 0x1300]
jl 0x45fd37
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0x60], ecx
test ecx, ecx
jne 0x460030
inc ebx
add esi, 0x1484
mov edx, dword [eax + 0x4c]
cmp ebx, edx
jl 0x45fcb6
mov ebx, dword [ebp + 8]
movss xmm0, dword [0x4ca254]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov ebx, dword [ebx + 0x50]
inc ecx
add edi, 0x2908
add eax, 0x138
cmp ecx, ebx
jl 0x45fc68
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x70]
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x78]
test edi, edi
je 0x45fdbc
cmp dword [ebx + 0x80], 0
jne 0x45fdbc
mov ecx, 1
jmp 0x45fdbf
mov ecx, dword [ebx + 0x74]
cmp ecx, edx
jge 0x45fdd1
cmp esi, dword [esp + ecx*4 + 0x29b0]
jle 0x45fdd1
inc ecx
cmp ecx, edx
jl 0x45fdc3
mov dword [ebx + 0x14b08], ecx
lea edx, [esp + 0x58]
push edx
push ebx
call fcn.00464420
add esp, 8
mov edx, dword [ebx + 0x50]
cmp esi, eax
jle 0x460381
test edx, edx
jg 0x45fdf8
xor esi, esi
jmp 0x45fda5
xor ecx, ecx
mov dword [esp + 0x70], edi
xor esi, esi
mov edi, dword [ebx + 0x4c]
pxor xmm2, xmm2
mov dword [esp + 0x98], edx
xor edx, edx
movsd xmm5, qword [0x4ca1a8]
movdqu xmm7, xmmword [0x4ca0b0]
movups xmm6, xmmword [0x4ca0c0]
movsd xmm1, qword [0x4ca1c8]
movsd xmm0, qword [0x4ca1b8]
mov dword [esp + 0xa0], edi
movsd xmm4, qword [0x4ca1c0]
movdqu xmm3, xmmword [0x4ca0f0]
cmp dword [esp + 0xa0], 0
jle 0x460003
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ecx
lea eax, [edi + esi]
mov dword [esp + 0xac], eax
lea eax, [esp + ecx*8 + 0x2a00]
mov dword [esp + 0xa8], eax
lea eax, [esp + ecx*8 + 0x29f0]
mov dword [esp + 0xa4], eax
lea edi, [esp + edx + 0x2740]
xor eax, eax
mov ecx, dword [esp + 0xac]
mov edx, edi
mov esi, dword [eax + ecx + 0x142c]
test esi, esi
jle 0x45ff91
cmp esi, 2
jl 0x46037a
mov ecx, esi
xor edx, edx
movups xmm4, xmmword [0x4ca100]
movdqa xmm0, xmm3
movups xmm1, xmmword [0x4ca0d0]
and ecx, 0xfffffffe
movups xmm2, xmmword [0x4ca0c0]
movdqu xmm3, xmmword [0x4ca0b0]
cvtdq2pd xmm5, xmm0
cvtps2pd xmm7, qword [edi + edx*4]
movaps xmm6, xmm1
paddd xmm0, xmm3
mulpd xmm6, xmm5
mulpd xmm6, xmm5
divpd xmm6, xmm4
divpd xmm6, xmm4
addpd xmm6, xmm2
mulpd xmm7, xmm6
cvtpd2ps xmm5, xmm7
movlps qword [edi + edx*4], xmm5
add edx, 2
cmp edx, ecx
jb 0x45feee
movsd xmm4, qword [0x4ca1c0]
lea edx, [edi + ecx*4]
movdqu xmm3, xmmword [0x4ca0f0]
pxor xmm2, xmm2
movsd xmm1, qword [0x4ca1c8]
movsd xmm5, qword [0x4ca1a8]
cmp ecx, esi
jae 0x45ff91
pxor xmm0, xmm0
pxor xmm7, xmm7
cvtsi2sd xmm0, ecx
cvtss2sd xmm7, dword [edi + ecx*4]
movsd xmm6, qword [0x4ca1b0]
mulsd xmm6, xmm0
mulsd xmm6, xmm0
divsd xmm6, xmm4
divsd xmm6, xmm4
addsd xmm6, xmm1
mulsd xmm7, xmm6
cvtsd2ss xmm7, xmm7
movss dword [edi + ecx*4], xmm7
inc ecx
cmp ecx, esi
jb 0x45ff4f
lea edx, [edi + ecx*4]
mov ecx, dword [esp + 0xac]
cmp dword [eax + ecx + 0x13e8], 2
je 0x460154
mov esi, dword [esp + 0xa4]
pxor xmm0, xmm0
mov edx, dword [esp + 0xa8]
pxor xmm6, xmm6
add eax, 0x1484
add edi, 0x9c
cvtsi2sd xmm0, dword [esi + ebx*4]
cvtsi2sd xmm6, dword [edx + ebx*4]
mulsd xmm0, xmm5
maxsd xmm6, xmm0
cvttsd2si ecx, xmm6
mov dword [esi + ebx*4], ecx
inc ebx
cmp ebx, dword [esp + 0xa0]
jb 0x45fea5
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
inc ecx
add esi, 0x2908
add edx, 0x138
cmp ecx, dword [esp + 0x98]
jb 0x45fe4e
nop dword [eax + eax]
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x4c]
jmp 0x45fc4d
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], edx
add edx, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [eax + 0x14c64]
sar edx, 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x9b0]
push 0x900
push 0
push ecx
call fcn.0048a380
mov eax, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [esp + 0x60]
xor edx, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], ebx
lea ecx, [ecx - 0x2a]
mov dword [esp + 0x4c], ecx
imul ecx, ebx, 0x9c
mov ebx, edx
add ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
push esi
push dword [esp + 0x48]
xor ecx, ecx
lea eax, [esp + 0x1e48]
push eax
push dword [esp + 0x48]
push dword [esp + 0x58]
mov eax, dword [ebp + 8]
push eax
cmp esi, dword [esp + 0x64]
cmovle ecx, dword [esp + 0x58]
mov dword [eax + 0x14c64], ecx
call fcn.00460800
add esp, 0x18
test eax, eax
jle 0x4604d9
mov edx, dword [esp + 0x60]
lea edi, [esi + 0x20]
mov ecx, edx
sub ecx, edi
lea eax, [edx + esi]
lea esi, [edx + esi + 0x20]
shr esi, 0x1f
lea esi, [eax + esi + 0x20]
sar esi, 1
test ebx, ebx
jne 0x460106
cmp ecx, 0xc
jg 0x4600a3
jmp 0x46044a
lea eax, [esp + 0xb0]
push 0x1484
push eax
push dword [esp + 0x50]
mov dword [esp + 0x28], ecx
call fcn.0048a330
lea eax, [esp + 0x154c]
push 0x900
push eax
lea edx, [esp + 0x1e54]
push edx
call fcn.0048a330
mov ecx, dword [esp + 0x34]
add esp, 0x18
cmp ecx, 0xc
jle 0x46049a
mov ebx, 2
jmp 0x4600a3
mov esi, dword [eax + ecx + 0x1428]
cmp esi, 0xd
jge 0x45ffa6
mov ecx, esi
neg ecx
add ecx, 0xd
mov dword [esp + 0x80], ecx
cmp ecx, 2
jl 0x46036a
movd xmm0, esi
and ecx, 0xfffffffe
mov dword [esp + 0x84], ecx
lea ecx, [esi + 1]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
movups xmm5, xmmword [0x4ca0c0]
movd xmm6, ecx
xor ecx, ecx
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm2
movups xmm6, xmmword [0x4ca0e0]
mov edi, dword [esp + 0x84]
lea ebx, [ecx + ecx*2]
add ecx, 2
movss xmm1, dword [edx + ebx*4 + 0x10]
movss xmm4, dword [edx + ebx*4 + 4]
unpcklps xmm4, xmm1
cvtdq2pd xmm1, xmm0
cvtps2pd xmm4, xmm4
movss xmm2, dword [edx + ebx*4 + 0x14]
movss xmm7, dword [edx + ebx*4 + 8]
movss xmm3, dword [edx + ebx*4 + 0xc]
unpcklps xmm7, xmm2
movss xmm2, dword [edx + ebx*4]
unpcklps xmm2, xmm3
movups xmm3, xmmword [0x4ca0d0]
mulpd xmm3, xmm1
cvtps2pd xmm2, xmm2
mulpd xmm3, xmm1
cvtps2pd xmm7, xmm7
divpd xmm3, xmm6
divpd xmm3, xmm6
addpd xmm3, xmm5
mulpd xmm2, xmm3
mulpd xmm4, xmm3
mulpd xmm7, xmm3
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm3, xmm7
movss dword [edx + ebx*4 + 8], xmm3
shufps xmm3, xmm3, 0xe5
movss dword [edx + ebx*4 + 4], xmm1
shufps xmm1, xmm1, 0xe5
movss dword [edx + ebx*4], xmm2
shufps xmm2, xmm2, 0xe5
movss dword [edx + ebx*4 + 0x14], xmm3
movss dword [edx + ebx*4 + 0x10], xmm1
movss dword [edx + ebx*4 + 0xc], xmm2
paddd xmm0, xmmword [0x4ca0b0]
cmp ecx, edi
jb 0x4601b7
mov dword [esp + 0x84], edi
movsd xmm4, qword [0x4ca1c0]
pxor xmm2, xmm2
movdqu xmm3, xmmword [0x4ca0f0]
movsd xmm1, qword [0x4ca1c8]
movsd xmm5, qword [0x4ca1a8]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x84]
lea ecx, [esi + esi*2]
shl ecx, 2
cmp esi, dword [esp + 0x80]
mov esi, dword [esp + 0x88]
jae 0x45ffa6
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], eax
movsd xmm6, qword [0x4ca1b8]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
nop dword [eax]
nop dword [eax]
pxor xmm0, xmm0
lea eax, [esi + ebx]
cvtsi2sd xmm0, eax
movsd xmm7, qword [0x4ca1b0]
inc ebx
mulsd xmm7, xmm0
mulsd xmm0, xmm7
cvtss2sd xmm7, dword [ecx + edx]
divsd xmm0, xmm6
divsd xmm0, xmm6
addsd xmm0, xmm1
mulsd xmm7, xmm0
cvtsd2ss xmm7, xmm7
movss dword [ecx + edx], xmm7
cvtss2sd xmm7, dword [ecx + edx + 4]
mulsd xmm7, xmm0
cvtsd2ss xmm7, xmm7
movss dword [ecx + edx + 4], xmm7
cvtss2sd xmm7, dword [ecx + edx + 8]
mulsd xmm7, xmm0
cvtsd2ss xmm7, xmm7
movss dword [ecx + edx + 8], xmm7
add ecx, 0xc
cmp ebx, edi
jb 0x4602f0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
jmp 0x45ffa6
mov dword [esp + 0x84], 0
jmp 0x46029b
xor ecx, ecx
jmp 0x45ff4b
test edx, edx
jle 0x460400
xor esi, esi
xor eax, eax
mov edi, eax
mov eax, ebx
mov ecx, dword [ebx + 0x4c]
mov ebx, edx
mov edx, edi
test ecx, ecx
jle 0x4603f3
mov ecx, edi
mov ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov esi, ecx
push dword [esp + 0x9c]
push esi
push dword [esp + 0x1c]
push eax
lea edi, [ebx + eax + 0x134]
call fcn.0045b700
mov eax, dword [ebp + 8]
add esp, 0x10
cmp dword [eax + 0x28], 1
je 0x46043b
push edi
push eax
call fcn.004645d0
mov eax, dword [ebp + 8]
add esp, 8
inc esi
add ebx, 0x1484
mov ecx, dword [eax + 0x4c]
cmp esi, ecx
jl 0x4603a6
mov edx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x14]
mov ebx, dword [eax + 0x50]
inc esi
add edx, 0x2908
cmp esi, ebx
jl 0x460394
mov ebx, eax
push dword [esp + 0x58]
push ebx
call fcn.004645f0
add esp, 8
mov ecx, dword [esp + 0x2a10]
mov dword [esp + 0x2a10], 0
xor ecx, esp
cmp ecx, dword [0x52cfb4]
jne 0x460436
add esp, 0x2a14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00497ce0
push edi
push eax
call fcn.0045a240
mov eax, dword [ebp + 8]
add esp, 8
jmp 0x4603cb
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x44]
mov dword [eax + 0x14c64], ecx
test byte [eax + 0x14c68], 1
je 0x460485
mov edx, edi
lea ecx, [esp + 0x1e40]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
call fcn.004620d0
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x12a0]
add ecx, dword [edi + 0x12ec]
add dword [esp + 0x50], ecx
jmp 0x45fd5a
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x44]
push 0x900
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x9b4]
push ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x14c64], ecx
mov ecx, dword [esp + 0x70]
lea ecx, [ecx + esi + 0x900]
push ecx
call fcn.0048a330
mov eax, dword [ebp + 8]
add esp, 0xc
jmp 0x460463
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0xb0]
mov eax, dword [edx + 0x12a0]
mov dword [esp + 0x10], eax
push 0x1484
push edx
push ecx
call fcn.0048a330
lea edx, [esp + 0x154c]
push 0x900
lea eax, [esp + 0x1e50]
push eax
push edx
call fcn.0048a330
add esp, 0x18
mov eax, dword [esp + 0x10]
lea ebx, [edi + eax - 0x20]
shr ebx, 0x1f
lea edx, [edi + eax]
lea ecx, [eax - 0x20]
mov dword [esp + 0x60], ecx
sub ecx, edi
lea esi, [edx + ebx - 0x20]
mov ebx, 1
sar esi, 1
jmp 0x4600fc
push 0x900
push 0
mov edx, dword [esp + 0x70]
lea ecx, [edx + esi + 0x900]
push ecx
call fcn.0048a380
mov eax, dword [ebp + 8]
add esp, 0xc
jmp 0x45fd5a
mov edi, eax
jmp 0x45fdf4
divsd xmm1, qword [0x4ca178]
movsd xmm0, qword [0x4ca170]
subsd xmm0, xmm1
call fcn.00488000
movsd xmm1, qword [0x4ca168]
movss xmm2, dword [ebx + 0x14bb4]
addsd xmm0, qword [0x4ca1c8]
divsd xmm1, xmm0
subsd xmm1, qword [0x4ca180]
cvtsd2ss xmm1, xmm1
subss xmm2, xmm1
jmp 0x45fafa
lea edx, [esi + ebx + 0x134]
mov dword [esp + 0x20], edx
and edx, 0xf
mov dword [esp + 0x24], edx
je 0x460629
neg edx
add edx, 0x10
shr edx, 2
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], 0
movss xmm3, dword [0x4ca250]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
movss xmm2, dword [ebx + edx*4]
movss xmm1, dword [ebx + edx*4 + 0x1484]
movaps xmm0, xmm2
addss xmm0, xmm1
subss xmm2, xmm1
mulss xmm0, xmm3
mulss xmm2, xmm3
movss dword [ebx + edx*4], xmm0
movss dword [ebx + edx*4 + 0x1484], xmm2
inc edx
cmp edx, ecx
jb 0x4605ee
mov dword [esp + 0x24], ecx
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x24]
neg edx
and edx, 7
neg edx
mov dword [esp + 0x10], edx
movups xmm6, xmmword [0x4ca0a0]
mov ebx, dword [esp + 0x20]
lea ecx, [edx + 0x240]
mov dword [esp + 0x1c], ecx
mov edx, ecx
mov ecx, dword [esp + 0x24]
nop dword [eax + eax]
nop dword [eax + eax]
movups xmm1, xmmword [ebx + ecx*4 + 0x1484]
movups xmm4, xmmword [ebx + ecx*4 + 0x1494]
movups xmm2, xmmword [ebx + ecx*4]
movups xmm5, xmmword [ebx + ecx*4 + 0x10]
movaps xmm0, xmm2
movaps xmm3, xmm5
subps xmm2, xmm1
subps xmm5, xmm4
addps xmm0, xmm1
addps xmm3, xmm4
mulps xmm2, xmm6
mulps xmm5, xmm6
mulps xmm0, xmm6
mulps xmm3, xmm6
movups xmmword [ebx + ecx*4 + 0x1484], xmm2
movups xmmword [ebx + ecx*4 + 0x1494], xmm5
movups xmmword [ebx + ecx*4], xmm0
movups xmmword [ebx + ecx*4 + 0x10], xmm3
add ecx, 8
cmp ecx, edx
jb 0x460660
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
lea edx, [ecx + 0x241]
cmp edx, 0x240
ja 0x4607ae
mov edx, dword [esp + 0x1c]
neg edx
add edx, 0x240
mov dword [esp + 0x1c], edx
cmp edx, 4
jb 0x4607ca
and edx, 0xfffffffc
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
movups xmm3, xmmword [0x4ca0a0]
mov ebx, dword [esp + 0x14]
lea ecx, [ecx + edx*4 + 0x900]
mov edx, dword [esp + 0x28]
movups xmm1, xmmword [ecx + ebx*4 + 0x1484]
movups xmm2, xmmword [ecx + ebx*4]
movaps xmm0, xmm2
subps xmm2, xmm1
addps xmm0, xmm1
mulps xmm2, xmm3
mulps xmm0, xmm3
movups xmmword [ecx + ebx*4 + 0x1484], xmm2
movups xmmword [ecx + ebx*4], xmm0
add ebx, 4
cmp ebx, edx
jb 0x460719
mov dword [esp + 0x28], edx
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x1c]
jae 0x4607ae
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
movss xmm3, dword [0x4ca250]
lea edx, [edx + ecx*4 + 0x900]
mov ecx, dword [esp + 0x28]
movss xmm2, dword [edx + ecx*4]
movss xmm1, dword [edx + ecx*4 + 0x1484]
movaps xmm0, xmm2
addss xmm0, xmm1
subss xmm2, xmm1
mulss xmm0, xmm3
mulss xmm2, xmm3
movss dword [edx + ecx*4], xmm0
movss dword [edx + ecx*4 + 0x1484], xmm2
inc ecx
cmp ecx, ebx
jb 0x460777
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
push eax
push dword [esp + 0x58]
push dword [edx + edi*4]
push dword [esp + 0x44]
call fcn.00435f60
add esp, 0x10
jmp 0x45fa33
mov dword [esp + 0x28], 0
jmp 0x46074e
mov eax, 1
xor esi, esi
mov edi, eax
jmp 0x45fdac