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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x48
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov dword [esp + 0x30], edx
test edx, edx
je 0x478fc6
mov dword [0x6e06c0], 0xffffffff
mov esi, 0xffffffff
jmp 0x478fd2
mov dword [0x6e06c0], 0
xor esi, esi
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov dword [esp + 0x24], edx
test edx, edx
je 0x478ff1
mov dword [0x6e06c4], 0xffffffff
mov ebp, 0xffffffff
jmp 0x478ffd
mov dword [0x6e06c4], 0
xor ebp, ebp
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
mov dword [esp + 0x20], edx
test edx, edx
je 0x47901c
mov dword [0x6e06c8], 0xffffffff
mov ebx, 0xffffffff
jmp 0x479028
mov dword [0x6e06c8], 0
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov dword [esp + 0x2c], edx
test edx, edx
je 0x479042
mov dword [0x6e06d0], 0xffffffff
jmp 0x47904c
mov dword [0x6e06d0], 0
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
mov dword [esp + 0x38], edx
test edx, edx
je 0x479066
mov dword [0x6e06d4], 0xffffffff
jmp 0x479070
mov dword [0x6e06d4], 0
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
mov dword [esp + 0x28], edx
test edx, edx
je 0x47908a
mov dword [0x6e06d8], 0xffffffff
jmp 0x479094
mov dword [0x6e06d8], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [eax]
mov dword [esp + 0x40], edi
cmp edi, 2
jle 0x479197
mov eax, dword [ecx]
mov dword [esp + 4], eax
test eax, eax
je 0x4790c5
mov dword [0x6e06e0], 0xffffffff
jmp 0x4790cf
mov dword [0x6e06e0], 0
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4790e5
mov dword [0x6e06e4], 0xffffffff
jmp 0x4790ef
mov dword [0x6e06e4], 0
mov eax, dword [esp + 0x80]
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test edx, edx
je 0x47910c
mov dword [0x6e06e8], 0xffffffff
jmp 0x479116
mov dword [0x6e06e8], 0
cmp dword [esp + 0x40], 3
jle 0x47987f
mov eax, dword [esp + 0x84]
mov edx, dword [eax]
mov dword [esp], edx
test edx, edx
je 0x47913d
mov dword [0x6e06f0], 0xffffffff
jmp 0x479147
mov dword [0x6e06f0], 0
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
mov dword [esp + 0x14], edx
test edx, edx
je 0x479164
mov dword [0x6e06f4], 0xffffffff
jmp 0x47916e
mov dword [0x6e06f4], 0
mov eax, dword [esp + 0x8c]
mov edx, dword [eax]
mov dword [esp + 0x18], edx
test edx, edx
je 0x47918b
mov dword [0x6e06f8], 0xffffffff
jmp 0x4791f6
mov dword [0x6e06f8], 0
jmp 0x4791f6
mov edi, dword [esp + 0x80]
xor eax, eax
mov edx, dword [edx]
mov ecx, dword [ecx]
mov edi, dword [edi]
mov dword [0x6e06e0], eax
mov dword [0x6e06e4], eax
mov dword [0x6e06e8], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 4], ecx
mov dword [0x6e06f0], eax
mov dword [0x6e06f4], eax
mov dword [0x6e06f8], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [eax]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], edx
mov edi, dword [ecx]
mov edx, dword [eax]
mov dword [esp + 0x14], edi
mov dword [esp], edx
mov ecx, dword [esp + 0xa4]
mov eax, dword [0x6c8870]
mov dword [esp + 0x34], eax
movsd xmm1, qword [ecx]
mov eax, dword [0x76e328]
mov edx, dword [0x6c8890]
comisd xmm1, xmmword [0x67c2c8]
jbe 0x479242
sub eax, edx
mov edx, dword [esp + 0x34]
movsd xmm0, qword [0x67c360]
movsd xmm1, qword [0x67c2c0]
movsd qword [edx + eax*8], xmm0
movsd qword [esp + 8], xmm1
jmp 0x4792bc
movsd xmm0, qword [0x67c2f0]
sub eax, edx
comisd xmm0, xmmword [ecx]
jbe 0x479276
movsd xmm0, qword [0x67c2c0]
xorps xmm1, xmmword [0x67c2a0]
movsd qword [esp + 8], xmm0
divsd xmm0, xmm1
mov edx, dword [esp + 0x34]
movsd qword [edx + eax*8], xmm0
jmp 0x4792bc
movsd xmm0, qword [0x67c308]
comisd xmm0, xmmword [ecx]
jbe 0x4792a1
mov edx, dword [esp + 0x34]
movsd xmm1, qword [0x67c2c0]
pxor xmm0, xmm0
movsd qword [esp + 8], xmm1
movsd qword [edx + eax*8], xmm0
jmp 0x4792bc
movsd xmm0, qword [0x67c2c0]
movsd qword [esp + 8], xmm0
divsd xmm0, qword [ecx]
mov edx, dword [esp + 0x34]
movsd qword [edx + eax*8], xmm0
mov edx, dword [esp + 0xa0]
movsd xmm3, qword [0x67c2d8]
mulsd xmm3, qword [edx]
test esi, 1
je 0x4792f2
test ebp, 1
je 0x4792f2
test bl, 1
je 0x4792f2
movsd xmm2, qword [0x76e5b0]
mulsd xmm2, xmm3
jmp 0x4792f6
pxor xmm2, xmm2
mov ecx, dword [esp + 0xc8]
movaps xmm0, xmm2
movsd xmm4, qword [0x67c338]
mulsd xmm0, xmm2
mulsd xmm4, xmm2
movsd xmm2, qword [0x67c350]
mulsd xmm2, qword [ecx]
mulsd xmm2, qword [ecx]
mov ebx, dword [esp + 0x94]
movsd xmm1, qword [0x67c348]
mov esi, dword [esp + 0x90]
subsd xmm1, xmm0
divsd xmm2, qword [ebx]
mov edx, dword [esp + 0x34]
mov ebx, dword [0x6c4bdc]
neg ebx
mov ecx, dword [esi]
add ebx, ecx
movsd qword [edx + eax*8 + 8], xmm1
movsd qword [edx + eax*8 + 0x10], xmm4
mov edx, dword [0x6c46a4]
imul ebx, dword [0x6c4bd8]
neg edx
movsd xmm5, qword [0x67c358]
mulsd xmm5, qword [0x76e5b0]
add edx, ecx
mov esi, dword [0x6c4bd0]
shl esi, 3
imul edx, dword [0x6c46a0]
divsd xmm5, xmm2
mov ebp, dword [0x6c4bb0]
sub ebp, esi
add ebx, ebp
mov ebp, dword [0x6c4698]
mov edi, dword [0x7bc800]
shl ebp, 2
mov esi, dword [0x6c4678]
sub esi, ebp
mov dword [esp + 0x3c], 1
add edx, esi
mov dword [esp + 0x44], eax
mov ebp, dword [esp + 0x3c]
mov esi, edi
mov eax, dword [esp + 0x38]
test byte [ebp*4 + 0x6e06bc], 1
je 0x479419
cmp ebp, 1
jne 0x4793dd
mov edi, dword [esp + 0x30]
jmp 0x4793e9
cmp ebp, 2
mov edi, dword [esp + 0x20]
cmove edi, dword [esp + 0x24]
inc esi
pxor xmm0, xmm0
movsd qword [ebx + edi*8], xmm0
mov dword [edx + edi*4], 0xffffffff
mov dword [0x7bc800], esi
mov dword [esi*4 + 0x76e5fc], 9
mov dword [esi*4 + 0x7b2bbc], ecx
mov dword [esi*4 + 0x77823c], edi
test byte [ebp*4 + 0x6e06cc], 1
je 0x479468
cmp ebp, 1
jne 0x47942e
mov edi, dword [esp + 0x2c]
jmp 0x479438
cmp ebp, 2
mov edi, dword [esp + 0x28]
cmove edi, eax
inc esi
pxor xmm0, xmm0
movsd qword [ebx + edi*8], xmm0
mov dword [edx + edi*4], 0xffffffff
mov dword [0x7bc800], esi
mov dword [esi*4 + 0x76e5fc], 9
mov dword [esi*4 + 0x7b2bbc], ecx
mov dword [esi*4 + 0x77823c], edi
test byte [ebp*4 + 0x6e06dc], 1
je 0x4794b9
cmp ebp, 1
jne 0x47947d
mov edi, dword [esp + 4]
jmp 0x479489
cmp ebp, 2
mov edi, dword [esp + 0x10]
cmove edi, dword [esp + 0x1c]
inc esi
pxor xmm0, xmm0
movsd qword [ebx + edi*8], xmm0
mov dword [edx + edi*4], 0xffffffff
mov dword [0x7bc800], esi
mov dword [esi*4 + 0x76e5fc], 9
mov dword [esi*4 + 0x7b2bbc], ecx
mov dword [esi*4 + 0x77823c], edi
test byte [ebp*4 + 0x6e06ec], 1
je 0x479509
cmp ebp, 1
jne 0x4794cd
mov edi, dword [esp]
jmp 0x4794d9
cmp ebp, 2
mov edi, dword [esp + 0x18]
cmove edi, dword [esp + 0x14]
inc esi
pxor xmm0, xmm0
movsd qword [ebx + edi*8], xmm0
mov dword [edx + edi*4], 0xffffffff
mov dword [0x7bc800], esi
mov dword [esi*4 + 0x76e5fc], 9
mov dword [esi*4 + 0x7b2bbc], ecx
mov dword [esi*4 + 0x77823c], edi
inc ebp
cmp ebp, 3
jle 0x4793c8
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0xa8]
movsd xmm1, qword [0x67c2d0]
movsd xmm0, qword [edx]
andps xmm0, xmmword [0x67c2b0]
movsd xmm2, qword [0x67c308]
maxsd xmm1, xmm0
mulsd xmm2, qword [ebx]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
movsd qword [esp + 0x10], xmm1
movsd qword [ecx + eax*8 + 0x18], xmm1
lea eax, [esp]
movsd qword [eax], xmm2
push eax
push 0x67c270
push 0x67c278
movsd qword [eax + 0x18], xmm3
call fcn.00471b70
fstp qword [esp + 0x2c]
wait
movsd xmm3, qword [esp + 0x24]
movsd xmm2, qword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x9c]
movsd xmm0, qword [0x67c320]
mov edi, dword [esp + 0x94]
movsd xmm4, qword [edx]
andps xmm4, xmmword [0x67c2b0]
comisd xmm0, xmm4
mov edx, dword [esp + 0xc8]
movsd xmm1, qword [0x67c318]
ja 0x4795c1
movaps xmm1, xmm4
movsd xmm6, qword [edi]
movaps xmm4, xmm3
movsd xmm0, qword [edx]
mov esi, dword [0x6c8890]
neg esi
mulsd xmm0, qword [edx]
mulsd xmm4, xmm6
movsd xmm7, qword [0x67c310]
mov ebp, dword [0x76e328]
add esi, ebp
mulsd xmm7, qword [edi]
divsd xmm0, xmm4
mov ebx, dword [0x6c8870]
movsd qword [esp + 0x20], xmm6
mulsd xmm7, xmm2
mulsd xmm0, qword [esp + 0x10]
divsd xmm7, qword [edx]
movsd qword [ebx + esi*8 + 0x40], xmm6
movaps xmm4, xmm0
movsd xmm6, qword [0x67c310]
mulsd xmm6, qword [edx]
mulsd xmm4, xmm7
divsd xmm6, xmm3
mov ecx, dword [esp + 0xac]
subsd xmm4, xmm6
movsd xmm5, qword [ecx]
movsd qword [ebx + esi*8 + 0x30], xmm5
movaps xmm5, xmm0
movsd qword [ebx + esi*8 + 0x28], xmm1
mulsd xmm1, xmm6
mulsd xmm5, xmm7
addsd xmm4, xmm1
subsd xmm5, xmm6
movsd qword [ebx + esi*8 + 0x20], xmm2
movaps xmm2, xmm1
mulsd xmm2, xmm1
divsd xmm5, xmm1
movsd qword [esp + 0x18], xmm3
movsd qword [ebx + esi*8 + 0x38], xmm3
movaps xmm3, xmm0
divsd xmm3, xmm2
movsd xmm2, qword [0x67c328]
mulsd xmm2, xmm0
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [0x67c328]
mulsd xmm2, xmm7
mulsd xmm2, xmm4
movsd qword [esp + 0x30], xmm3
movaps xmm3, xmm5
mulsd xmm3, xmm5
mulsd xmm2, qword [esp + 0x30]
movsd xmm4, qword [esp + 0x38]
subsd xmm3, xmm2
sqrtsd xmm3, xmm3
movsd qword [esp + 0x28], xmm7
addsd xmm5, xmm3
mulsd xmm5, qword [0x67c2c0]
divsd xmm5, qword [esp + 0x30]
movsd xmm3, qword [esp + 8]
xorps xmm5, xmmword [0x67c2a0]
divsd xmm3, xmm0
movsd xmm0, qword [edx]
mulsd xmm4, xmm5
movaps xmm5, xmm0
mulsd xmm5, qword [edx]
movsd xmm7, qword [esp + 0x20]
movsd xmm2, qword [esp + 0x28]
mulsd xmm7, xmm2
movsd qword [ebx + esi*8 + 0x58], xmm1
xorps xmm1, xmmword [0x67c2a0]
divsd xmm7, xmm5
movaps xmm5, xmm1
mulsd xmm5, xmm1
movsd qword [ebx + esi*8 + 0x48], xmm4
addsd xmm4, xmm5
sqrtsd xmm4, xmm4
mov eax, dword [esp + 0xcc]
addsd xmm4, xmm1
movsd xmm1, qword [0x67c330]
mulsd xmm1, xmm2
movaps xmm2, xmm0
divsd xmm2, qword [eax]
movsd qword [ebx + esi*8 + 0x50], xmm3
mulsd xmm3, xmm4
movsd qword [ebx + esi*8 + 0x68], xmm3
movsd qword [ebx + esi*8 + 0x60], xmm7
movsd qword [ebx + esi*8 + 0x70], xmm1
movsd qword [ebx + esi*8 + 0x78], xmm2
movsd xmm3, qword [esp + 0x18]
cmp dword [esp + 0x40], 2
jle 0x4797b0
mov eax, dword [esp + 0xd0]
movaps xmm1, xmm0
cmp dword [esp + 0x40], 3
divsd xmm1, qword [eax]
movsd qword [ebx + esi*8 + 0x80], xmm1
jle 0x4797b0
mov eax, dword [esp + 0xd4]
movaps xmm1, xmm0
divsd xmm1, qword [eax]
movsd qword [ebx + esi*8 + 0x88], xmm1
mov edi, dword [esp + 0xc8]
add ebp, 0x18
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mulsd xmm0, qword [edi]
mov edi, dword [esp + 0x94]
mov ecx, dword [esp + 0xb8]
movsd xmm1, qword [eax]
divsd xmm0, qword [edi]
movsd xmm2, qword [edx]
movsd xmm4, qword [ecx]
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
movsd xmm5, qword [eax]
movsd xmm6, qword [edx]
movsd xmm7, qword [ecx]
mulsd xmm1, xmm0
mulsd xmm2, xmm0
mulsd xmm4, xmm0
divsd xmm1, xmm3
mulsd xmm5, xmm0
divsd xmm2, xmm3
mulsd xmm6, xmm0
divsd xmm4, xmm3
mulsd xmm7, xmm0
divsd xmm5, xmm3
divsd xmm6, xmm3
divsd xmm7, xmm3
movsd qword [ebx + esi*8 + 0x90], xmm1
movsd qword [ebx + esi*8 + 0x98], xmm2
movsd qword [ebx + esi*8 + 0xa0], xmm4
movsd qword [ebx + esi*8 + 0xa8], xmm5
movsd qword [ebx + esi*8 + 0xb0], xmm6
movsd qword [ebx + esi*8 + 0xb8], xmm7
mov dword [0x76e328], ebp
add esp, 0x48
pop ebp
pop ebx
pop edi
pop esi
ret
xor eax, eax
jmp 0x4791c1