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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x158
mov eax, dword [0x4fc00c]
xor eax, esp
mov dword [esp + 0x154], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x20], edi
cmp byte [edi], 0
je 0x41a44c
movzx eax, word [edi + 0x22]
test ax, ax
je 0x419d25
dec eax
mov word [edi + 0x22], ax
test ax, ax
jne 0x41a44c
call fcn.00423ed0
mov esi, eax
push 0
sub esp, 8
mov edi, dword [esi]
mov al, byte [edi + 0x68]
mov ecx, dword [edi + 0x6c]
movzx edx, al
inc al
movzx ecx, word [ecx + edx*2]
push ecx
lea ecx, [esi + 0xdc]
mov byte [edi + 0x68], al
call fcn.00446390
movzx eax, byte [edi + 0x68]
cmp al, byte [edi + 0x69]
jb 0x41a44c
mov byte [edi + 0x68], 0
pop edi
pop esi
mov ecx, dword [esp + 0x154]
xor ecx, esp
call fcn.0047d312
mov esp, ebp
pop ebp
ret 8
movzx eax, word [edi + 0x24]
mov edx, eax
test ax, ax
movzx eax, word [edi + 0x5c]
je 0x419d8b
mov esi, 0xff
cmp ax, si
jge 0x419d64
add eax, 0xa
movzx eax, ax
mov word [edi + 0x5c], ax
mov ecx, eax
cmp ax, si
jle 0x419d55
mov word [edi + 0x5c], si
mov ecx, esi
lea eax, [edx - 1]
movzx ecx, cx
mov word [edi + 0x24], ax
movsx eax, cx
jmp 0x419dcd
mov ecx, eax
jle 0x419d7f
add eax, 0xfffffff6
movzx eax, ax
mov word [edi + 0x5c], ax
mov ecx, eax
cmp ax, si
jge 0x419d7f
mov word [edi + 0x5c], si
mov ecx, esi
lea eax, [edx - 1]
mov word [edi + 0x24], ax
movsx eax, cx
jmp 0x419dcd
mov edx, eax
test ax, ax
jns 0x419e1d
add eax, 0xa
movzx eax, ax
mov word [edi + 0x5c], ax
mov ecx, eax
mov edx, eax
test ax, ax
jle 0x419db3
xor eax, eax
xor ecx, ecx
mov word [edi + 0x5c], ax
xor edx, edx
movzx ecx, cx
movzx edx, dx
movzx eax, dx
movzx edx, cx
test cx, cx
jg 0x419dca
mov byte [edi], 0
movzx edx, ax
movsx eax, dx
shl eax, 0x18
xor cl, cl
or eax, 0xffffff
mov dword [edi + 0x58], eax
lea eax, [edi + 0x10]
movss xmm2, dword [edi + 0x70]
subss xmm2, dword [eax]
movss xmm0, dword [edi + 0x74]
movss dword [edi + 0x70], xmm2
movaps xmm1, xmm2
subss xmm0, dword [edi + 0x14]
movss dword [edi + 0x74], xmm0
movss xmm3, dword [edi + 0x50]
movss xmm0, dword [0x4f3f14]
subss xmm1, xmm3
comiss xmm0, xmm1
jbe 0x419e3f
mov dword [esp + 0x10], 0x3f800000
jmp 0x419e54
mov ecx, eax
test ax, ax
jle 0x419db9
add eax, 0xfffffff6
movzx eax, ax
mov word [edi + 0x5c], ax
mov ecx, eax
mov edx, eax
test ax, ax
jns 0x419db9
xor eax, eax
mov word [edi + 0x5c], ax
jmp 0x419dc4
addss xmm2, xmm3
comiss xmm2, dword [0x4f40a8]
jbe 0x419e84
mov dword [esp + 0x10], 0xbf800000
movss xmm3, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.00419ac0
mov eax, dword [edi + 0x1c]
mov cl, 1
mov dword [edi + 0x3c], eax
add esp, 4
lea eax, [edi + 0x10]
movss xmm3, dword [edi + 0x74]
xorps xmm1, xmm1
movss xmm2, dword [edi + 0x54]
movaps xmm0, xmm3
subss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x419ed2
movss xmm3, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0xbf800000
mov dword [esp + 0x1c], 0
call fcn.00419ac0
mov eax, dword [edi + 0x1c]
add esp, 4
mov dword [edi + 0x3c], eax
jmp 0x419f18
addss xmm2, xmm3
comiss xmm2, dword [0x4f4064]
jbe 0x419f14
movss xmm3, dword [edi + 0x78]
lea edx, [edi + 0x1c]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x1c], 0
call fcn.00419ac0
mov eax, dword [edi + 0x1c]
add esp, 4
mov dword [edi + 0x3c], eax
jmp 0x419f18
test cl, cl
je 0x419f5c
call fcn.00423ed0
mov esi, eax
push 0
sub esp, 8
mov ecx, dword [esi]
add ecx, 0x70
mov dword [esp + 0x14], ecx
mov al, byte [ecx]
mov ecx, dword [ecx + 4]
movzx edx, al
inc al
movzx ecx, word [ecx + edx*2]
mov edx, dword [esp + 0x14]
push ecx
lea ecx, [esi + 0xdc]
mov byte [edx], al
call fcn.00446390
mov ecx, dword [esp + 8]
movzx eax, byte [ecx]
cmp al, byte [ecx + 1]
jb 0x419f5c
mov byte [ecx], 0
movss xmm0, dword [edi + 0x70]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x74]
movss dword [esp + 8], xmm0
call fcn.004201e0
lea edi, [eax + 0x70]
call fcn.004201e0
lea ecx, [esp + 0x30]
lea esi, [eax + 0xc4]
lea eax, [esp + 0x88]
push eax
call fcn.0044d350
movss xmm2, dword [esp + 8]
mov eax, ecx
movss xmm1, dword [esp + 0xc]
xorps xmm3, xmm3
push eax
push esi
push edi
push ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x7c], 0x3f800000
mov dword [esp + 0x68], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x40], 0x3f800000
call fcn.0043eba0
movss xmm3, dword [0x4f3cd0]
add esp, 0x10
movss xmm2, dword [esp + 8]
movss xmm1, dword [esp + 0xc]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x30]
push eax
push esi
push edi
push ecx
lea ecx, [esp + 0x8c]
movq qword [esp + 0x34], xmm0
call fcn.0043eba0
mov esi, eax
add esp, 0x10
movq xmm0, qword [esi]
mov ecx, dword [esi + 8]
movq qword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x14]
subss xmm0, dword [esp + 0x28]
movss xmm3, dword [esp + 0x10]
subss xmm3, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
movss xmm2, dword [esp + 0x18]
subss xmm2, dword [esp + 0x2c]
movaps xmm1, xmm0
movss dword [esp + 8], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0xc], xmm2
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x41a08e
sqrtsd xmm0, xmm0
jmp 0x41a093
call fcn.004c5db0
movss xmm4, dword [0x4f3cd0]
xorps xmm3, xmm3
cvtsd2ss xmm0, xmm0
movss xmm7, dword [0x4f4580]
divss xmm4, xmm0
movaps xmm5, xmm4
movaps xmm6, xmm4
mulss xmm5, dword [esp + 8]
mulss xmm6, dword [esp + 0x1c]
comiss xmm3, xmm5
mulss xmm4, dword [esp + 0xc]
jb 0x41a13d
movss xmm0, dword [esp + 0x24]
movaps xmm1, xmm6
movss xmm2, dword [esp + 0x28]
mulss xmm0, xmm3
xorps xmm2, xmm7
mulss xmm1, xmm3
subss xmm2, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm3
addss xmm1, xmm5
subss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm3
addss xmm1, xmm0
divss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, xmm6
mulss xmm2, xmm4
addss xmm1, dword [esp + 0x24]
mulss xmm0, xmm5
addss xmm2, dword [esp + 0x2c]
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x18], xmm2
mov eax, dword [esp + 0x18]
unpcklps xmm1, xmm0
jmp 0x41a144
movq xmm1, qword [esi]
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x20]
movq qword [edi + 4], xmm1
mov dword [edi + 0xc], eax
movzx eax, word [edi + 0x48]
mov dword [edi + 8], 0x3f800000
test al, 8
je 0x41a166
xor eax, 8
mov word [edi + 0x48], ax
movss xmm1, dword [edi + 0x4c]
addss xmm1, dword [0x4f3bec]
movss xmm0, dword [0x4f3e18]
comiss xmm1, xmm0
movss dword [esp + 0x1c], xmm1
movss dword [edi + 0x4c], xmm1
jbe 0x41a19a
subss xmm1, xmm0
movss dword [esp + 0x1c], xmm1
movss dword [edi + 0x4c], xmm1
movss xmm0, dword [edi + 0x50]
movsx esi, byte [edi + 0x88]
xorps xmm0, xmm7
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x54]
xorps xmm0, xmm7
movss dword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm1
call fcn.004c5740
movss xmm1, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
cvtps2pd xmm0, xmm1
call fcn.004c5be0
movss xmm7, dword [esp + 8]
xorps xmm6, xmm6
movss xmm3, dword [esp + 0xc]
movaps xmm5, xmm7
cvtsd2ss xmm6, xmm0
mov dword [esp + 0x138], 0
mov dword [esp + 0x140], 0x3e000000
mov dword [esp + 0x148], 0
mov dword [esp + 0x150], 0x3e000000
mulss xmm5, xmm3
movaps xmm2, xmm3
mulss xmm2, dword [edi + 0x54]
movaps xmm1, xmm6
mulss xmm1, dword [edi + 0x54]
movaps xmm4, xmm6
mulss xmm7, xmm6
movaps xmm0, xmm5
subss xmm0, xmm1
mulss xmm3, dword [edi + 0x50]
movss dword [esp + 8], xmm7
movss xmm7, dword [esp + 0xc]
mulss xmm7, dword [esp + 0x20]
mulss xmm4, dword [edi + 0x50]
movss dword [esp + 0xc], xmm7
movss xmm7, dword [edi + 4]
addss xmm0, xmm7
mulss xmm6, dword [esp + 0x20]
subss xmm5, xmm6
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [edi + 8]
movss dword [esp + 0xcc], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 8]
addss xmm5, xmm7
addss xmm0, dword [edi + 0xc]
movss dword [esp + 0xe0], xmm5
movss dword [esp + 0xd0], xmm0
movaps xmm0, xmm3
subss xmm0, xmm1
movss xmm1, dword [esp + 0xc]
subss xmm3, xmm6
addss xmm0, xmm7
addss xmm3, xmm7
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [edi + 8]
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm4
addss xmm0, xmm2
movss dword [esp + 0xec], xmm3
movss xmm2, dword [edi + 8]
movss dword [esp + 0xe4], xmm2
movss dword [esp + 0xf0], xmm2
addss xmm0, dword [edi + 0xc]
movss dword [esp + 0xdc], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 8]
addss xmm1, xmm4
addss xmm0, dword [edi + 0xc]
addss xmm1, dword [edi + 0xc]
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esi*4 + 0x4dcbd8]
movss dword [esp + 0x13c], xmm0
movss dword [esp + 0x144], xmm0
addss xmm0, dword [0x4f3c14]
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0x14c], xmm0
movss dword [esp + 0x154], xmm0
mov ecx, dword [edi + 0x58]
mov eax, ecx
movss xmm1, dword [0x4f3bb0]
shr eax, 0x18
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
movss dword [esp + 0x134], xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
movss dword [esp + 0x128], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
mulss xmm0, xmm1
movss dword [esp + 0x12c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0x130], xmm0
movups xmm0, xmmword [esp + 0x128]
movups xmmword [esp + 0x118], xmm0
movups xmmword [esp + 0x108], xmm0
movups xmmword [esp + 0xf8], xmm0
call fcn.0042dc50
cmp byte [eax + 0x474], 2
jbe 0x41a44c
mov edx, dword [eax + 0x470]
movzx eax, word [edx + 0x714]
cmp ax, word [edx + 0x716]
jae 0x41a44c
lea edi, [eax + eax*8]
mov ecx, 0x24
shl edi, 4
lea esi, [esp + 0xc8]
add edi, dword [edx + 0x710]
rep movsd dword es:[edi], dword [esi]
inc word [edx + 0x714]
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
xor ecx, esp
call fcn.0047d312
mov esp, ebp
pop ebp
ret 8