Function at 0x4cd930
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1b4
push ebx
push esi
push edi
mov edi, ecx
mov si, word [edi + 0x80]
mov ebx, 0x3e
cmp si, bx
je 0x4cd95c
cmp si, 0x3f
jne 0x4cdc1b
mov esi, dword [ebp + 8]
lea eax, [esp + 0x100]
push eax
mov ecx, esi
call fcn.005ef730
mov ecx, eax
call fcn.005efd90
mov cl, byte [esi + 0x21e]
test cl, cl
je 0x4cd9ce
mov eax, dword [esi + 0x374]
cmp eax, 2
je 0x4cd994
cmp eax, 3
jne 0x4cd9ce
cmp eax, 2
jne 0x4cd9b1
push 1
push 0
push esi
lea ecx, [esp + 0xcc]
push ecx
mov ecx, edi
call fcn.004c67c0
movaps xmm2, xmmword [eax + 0x30]
jmp 0x4cdaa7
push 0
push 0
push esi
lea edx, [esp + 0xcc]
push edx
mov ecx, edi
call fcn.004c67c0
movaps xmm2, xmmword [eax + 0x30]
jmp 0x4cdaa7
cmp word [edi + 0x80], bx
jne 0x4cda42
test cl, cl
mov ecx, esi
jne 0x4cd9ed
call fcn.00402030
push eax
lea eax, [esp + 0xc4]
push eax
jmp 0x4cd9fd
push 0x6b
call fcn.00401ff0
push eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, esi
call fcn.00402190
movaps xmm2, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4cda1f
cmp ax, 0x13
jne 0x4cdaa7
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0x3e200000
movss xmm0, dword [edx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm1
subps xmm2, xmm0
jmp 0x4cdaa7
test cl, cl
mov ecx, esi
jne 0x4cda58
call fcn.00402060
push eax
lea eax, [esp + 0xc4]
push eax
jmp 0x4cda68
push 0x6c
call fcn.00401ff0
push eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, esi
call fcn.00402190
movaps xmm2, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4cda86
cmp ax, 0x13
jne 0x4cdaa7
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0x3e200000
movss xmm0, dword [edx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm1
addps xmm2, xmm0
movaps xmm1, xmmword [edi + 0x40]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
unpcklps xmm0, xmm2
shufps xmm0, xmm2, 0xe1
movaps xmmword [esp + 0x40], xmm0
subps xmm0, xmm1
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
movss xmm1, dword [eax]
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
movaps xmm2, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm4, xmm3
addss xmm4, xmm2
movaps xmmword [esp + 0x20], xmm4
fld dword [esp + 0x20]
fcomp dword [0x68fac4]
movaps xmmword [esp + 0x60], xmm1
fnstsw ax
test ah, 5
jp 0x4cdb5b
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
call fcn.00401bc0
mov edx, dword [edi + 0x1d4]
xor eax, eax
cmp word [edi + 0x80], bx
push 0
setne al
push 5
add eax, 0x3a
movzx ecx, ax
movzx edx, byte [edx + ecx]
push edx
mov edx, dword [edi + 0x1d0]
movzx ecx, byte [edx + ecx]
push ecx
push eax
mov ecx, edi
call fcn.004c6c30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movaps xmm3, xmm0
movaps xmm2, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm4, xmm3
addss xmm4, xmm2
movaps xmmword [esp + 0x20], xmm4
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4cdbc9
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x40], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x4cdbcd
lea eax, [esp + 0x60]
fld dword [0x725b3c]
movaps xmm0, xmmword [eax]
fmul dword [0x6be648]
push ecx
lea edx, [esp + 0x24]
mov ecx, edi
fstp dword [esp]
push edx
movaps xmmword [esp + 0x28], xmm0
call fcn.005f0540
test al, al
je 0x4cfc79
xor eax, eax
cmp word [edi + 0x80], bx
push 5
setne al
mov ecx, edi
add eax, 0x3a
push eax
call fcn.004026d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp si, 0x3a
je 0x4cdc37
cmp si, 0x3c
je 0x4cdc37
cmp si, 0x3b
je 0x4cdc37
cmp si, 0x3d
jne 0x4ce5f6
mov esi, dword [ebp + 8]
lea ecx, [esp + 0xc0]
push ecx
mov ecx, esi
call fcn.005ef730
mov ecx, eax
call fcn.005efd90
mov ax, word [edi + 0x80]
cmp ax, 0x3a
je 0x4cdc63
cmp ax, 0x3c
jne 0x4cdc7a
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cdc7a
cmp ax, 0x23
je 0x4cdc7a
mov bl, 1
jmp 0x4cdc7c
xor bl, bl
mov al, byte [esi + 0x21e]
test al, al
mov byte [esp + 0x18], bl
mov byte [esp + 0x1e], 0
jne 0x4ce457
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cdca6
cmp ax, 0x23
jne 0x4cdcec
movaps xmm0, xmmword [esi + 0x40]
movaps xmm2, xmmword [edi + 0x40]
movaps xmm1, xmmword [esi + 0x10]
subps xmm2, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
mov byte [esp + 0x1f], 1
fnstsw ax
test ah, 5
jnp 0x4cdcf1
mov byte [esp + 0x1f], 0
test bl, bl
movaps xmm0, xmmword [esi + 0x40]
movaps xmm2, xmmword [edi + 0x40]
movaps xmm1, xmmword [esi + 0x30]
subps xmm2, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x60], xmm0
mov ecx, esi
je 0x4cdd2e
call fcn.00402030
jmp 0x4cdd33
call fcn.00402060
push eax
lea edx, [esp + 0x104]
push edx
mov ecx, esi
call fcn.00402190
movss xmm1, dword [0x68b500]
movaps xmm0, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
movss dword [esp + 0x40], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x48], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x4c], xmm1
movaps xmm2, xmmword [esp + 0x40]
movaps xmm1, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0x40], xmm2
movaps xmmword [esp + 0xf0], xmm0
je 0x4cddaf
cmp ax, 0x13
jne 0x4cddfc
mov al, bl
neg al
lea ecx, [esp + 0x18]
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x32
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul dword [0x68b7fc]
fmul dword [0x68b554]
fstp dword [esp + 0x18]
movss xmm1, dword [ecx]
movaps xmm3, xmm1
shufps xmm3, xmm1, 0
movaps xmm1, xmmword [esi + 0x10]
mulps xmm1, xmm3
addps xmm0, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
movaps xmmword [esp + 0xf0], xmm0
mov al, byte [esp + 0x1f]
test al, al
je 0x4ce1b2
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4cdfe3
lea edx, [esp + 0x80]
push edx
mov ecx, esi
call fcn.005efbf0
fld dword [esp + 0x60]
movaps xmm0, xmmword [eax + 0x10]
add eax, 0x10
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jnp 0x4cdec4
lea eax, [esp + 0x80]
push eax
mov ecx, esi
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
add eax, 0x10
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fadd dword [0x68b5b8]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x4cdfdb
movaps xmm1, xmmword [edi + 0x30]
movaps xmm0, xmmword [esi + 0x30]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fcomp dword [0x68d0dc]
fnstsw ax
test ah, 0x41
jne 0x4cdfdb
mov ecx, esi
mov byte [esp + 0x1e], 1
call fcn.00402060
push eax
lea ecx, [esp + 0x104]
push ecx
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
movaps xmm1, xmmword [esp + 0x40]
movaps xmm4, xmmword [esi + 0x30]
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
xorps xmm2, xmm2
subss xmm2, xmm0
movss xmm0, xmm2
movaps xmm2, xmmword [esi + 0x40]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esi + 0x20]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm2
addps xmm3, xmm4
addps xmm0, xmm3
lea edx, [esp + 0x80]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push edx
mov ecx, esi
movaps xmmword [esp + 0xf4], xmm0
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm0, xmmword [esi + 0x40]
add eax, 0x10
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
movaps xmm1, xmmword [esi + 0x30]
fadd dword [0x68b5b8]
movaps xmm3, xmm2
subps xmm3, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x60], xmm0
fsub dword [esp + 0x60]
lea eax, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm0, dword [eax]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
jmp 0x4ce4e6
movaps xmm0, xmmword [esp + 0xf0]
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jp 0x4ce1b2
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.005efbf0
fld dword [esp + 0x60]
movaps xmm0, xmmword [eax]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x4ce097
lea edx, [esp + 0x80]
push edx
mov ecx, esi
call fcn.005efbf0
movaps xmm0, xmmword [eax]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fsub dword [0x68b5b8]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 0x41
jp 0x4ce1aa
movaps xmm1, xmmword [edi + 0x30]
movaps xmm0, xmmword [esi + 0x30]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fcomp dword [0x68fac0]
fnstsw ax
test ah, 5
jp 0x4ce1aa
mov ecx, esi
mov byte [esp + 0x1e], 1
call fcn.00402060
push eax
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
movaps xmm1, xmmword [esp + 0x40]
movaps xmm4, xmmword [esi + 0x30]
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
xorps xmm2, xmm2
subss xmm2, xmm0
movss xmm0, xmm2
movaps xmm2, xmmword [esi + 0x40]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
mulps xmm4, xmm3
movaps xmm3, xmmword [esi + 0x20]
addps xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
mulps xmm3, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm2
addps xmm3, xmm4
addps xmm0, xmm3
lea ecx, [esp + 0x80]
shufps xmm1, xmm0, 0xe0
push ecx
shufps xmm0, xmm1, 0x24
mov ecx, esi
movaps xmmword [esp + 0xf4], xmm0
call fcn.005efbf0
movaps xmm0, xmmword [eax]
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm0, xmmword [esi + 0x40]
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
movaps xmm1, xmmword [esi + 0x30]
fsub dword [0x68b5b8]
movaps xmm3, xmm2
subps xmm3, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x60], xmm0
fsub dword [esp + 0x60]
lea edx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm0, dword [edx]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
jmp 0x4ce4e6
movaps xmm0, xmmword [esp + 0xf0]
test bl, bl
movaps xmm1, xmmword [esi + 0x10]
lea eax, [esp + 0x20]
je 0x4ce1cb
xorps xmm2, xmm2
subps xmm2, xmm1
movaps xmmword [esp + 0x20], xmm2
jmp 0x4ce1d0
movaps xmmword [esp + 0x20], xmm1
movaps xmm3, xmmword [eax]
movaps xmm2, xmmword [edi + 0x40]
subps xmm2, xmm0
movaps xmm1, xmm2
mulps xmm1, xmm3
movaps xmm3, xmm1
movaps xmm4, xmm1
shufps xmm3, xmm1, 0xaa
shufps xmm4, xmm1, 0x55
addss xmm1, xmm4
addss xmm1, xmm3
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
jp 0x4ce4e6
movaps xmm0, xmmword [esi + 0x30]
mulps xmm2, xmm0
movaps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4ce358
lea eax, [esp + 0x80]
push eax
mov ecx, esi
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
add eax, 0x10
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fadd dword [0x68b5b8]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 5
jnp 0x4ce28a
mov al, byte [esp + 0x1f]
test al, al
je 0x4ce4de
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
mov byte [esp + 0x22], 1
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm0, xmmword [esi + 0x40]
add eax, 0x10
test bl, bl
movaps xmm3, xmm2
subps xmm3, xmm0
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
movaps xmm1, xmmword [esi + 0x30]
movaps xmm0, xmm3
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x60], xmm0
fsub dword [esp + 0x60]
lea edx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm0, dword [edx]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
je 0x4ce328
fld dword [0x68c44c]
jmp 0x4ce32e
fld dword [0x68b5b8]
lea eax, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm2, dword [eax]
movaps xmm3, xmm2
shufps xmm3, xmm2, 0
movaps xmm2, xmmword [esi + 0x10]
mulps xmm2, xmm3
addps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
jmp 0x4ce4e6
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.005efbf0
movaps xmm0, xmmword [eax]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fsub dword [0x68b5b8]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 0x41
je 0x4ce397
mov al, byte [esp + 0x1f]
test al, al
je 0x4ce4de
lea edx, [esp + 0x80]
push edx
mov ecx, esi
mov byte [esp + 0x22], 1
call fcn.005efbf0
test bl, bl
movaps xmm0, xmmword [eax]
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm0, xmmword [esi + 0x40]
movaps xmm3, xmm2
subps xmm3, xmm0
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
movaps xmm1, xmmword [esi + 0x30]
movaps xmm0, xmm3
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x60], xmm0
fsub dword [esp + 0x60]
lea eax, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm0, dword [eax]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
je 0x4ce440
fld dword [0x68c44c]
lea ecx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm2, dword [ecx]
jmp 0x4ce33a
fld dword [0x68b5b8]
lea ecx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm2, dword [ecx]
jmp 0x4ce33a
mov eax, dword [esi + 0x374]
cmp eax, 2
jne 0x4ce49f
push 1
push 0
push esi
lea edx, [esp + 0x10c]
push edx
mov ecx, edi
call fcn.004c67c0
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0xd0], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esp + 0xe0], xmm0
movaps xmm0, xmmword [eax + 0x30]
jmp 0x4ce4e6
cmp eax, 3
jne 0x4ce4ba
push 0
push 0
push esi
lea eax, [esp + 0x10c]
push eax
mov ecx, edi
call fcn.004c67c0
jmp 0x4ce4d1
mov ecx, dword [esp + 0x18]
push ecx
push 0
push esi
lea edx, [esp + 0x10c]
push edx
mov ecx, edi
call fcn.004c6630
lea ecx, [esp + 0xc0]
push eax
call fcn.004010b0
movaps xmm0, xmmword [esp + 0xf0]
movaps xmm2, xmmword [edi + 0x40]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmmword [esp + 0xf0], xmm1
subps xmm1, xmm2
movaps xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x40], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
movaps xmmword [esp + 0x44], xmm0
call fcn.00402700
mov al, byte [esp + 0x1e]
test al, al
jne 0x4ce58b
fld dword [esp + 0x40]
fcomp dword [0x68f054]
fnstsw ax
test ah, 5
jp 0x4ce57a
neg bl
mov ecx, edi
sbb ebx, ebx
add ebx, 0x41
push ebx
call fcn.00472d00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
fld dword [esp + 0x40]
fcomp dword [0x68f054]
fnstsw ax
test ah, 0x41
jne 0x4ce5b8
mov ax, word [edi + 0x80]
cmp ax, 0x3a
je 0x4ce59e
cmp ax, 0x3b
jne 0x4ce5b8
neg bl
push 5
mov ecx, edi
sbb ebx, ebx
add ebx, 0x3d
push ebx
call fcn.004026d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
fld dword [esp + 0x40]
fcomp dword [0x68f054]
fnstsw ax
test ah, 5
jp 0x4cfc79
mov ecx, edi
call fcn.004c6390
test al, al
je 0x4cfc79
neg bl
push 5
mov ecx, edi
sbb ebx, ebx
add ebx, 0x3b
push ebx
call fcn.004026d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp si, 0x40
je 0x4ce60a
cmp si, 0x41
jne 0x4cea89
cmp si, 0x40
mov esi, dword [ebp + 8]
jne 0x4ce626
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4ce626
cmp ax, 0x23
je 0x4ce626
mov bl, 1
jmp 0x4ce628
xor bl, bl
mov al, byte [esi + 0x21e]
test al, al
mov byte [esp + 0x3c], bl
jne 0x4ce7bb
test bl, bl
jne 0x4ce65a
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4ce65a
cmp ax, 0x23
je 0x4ce65a
mov ecx, esi
call fcn.004020c0
jmp 0x4ce661
mov ecx, esi
call fcn.00402090
movaps xmm0, xmmword [edi + 0x40]
push eax
lea ecx, [esp + 0x104]
push ecx
mov ecx, esi
movaps xmmword [esp + 0x28], xmm0
call fcn.00402190
movaps xmm1, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
subps xmm1, xmmword [esp + 0x20]
movaps xmmword [esp + 0x40], xmm1
je 0x4ce69b
cmp ax, 0x13
jne 0x4ce6dd
mov dl, bl
neg dl
lea eax, [esp + 0x18]
sbb edx, edx
and edx, 0xffffff9c
add edx, 0x32
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul dword [0x68b7fc]
fmul dword [0x68b554]
fstp dword [esp + 0x18]
movss xmm0, dword [eax]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm2
addps xmm1, xmm0
movaps xmmword [esp + 0x40], xmm1
test bl, bl
mov ecx, esi
je 0x4ce6ea
call fcn.00402030
jmp 0x4ce6ef
call fcn.00402060
push eax
lea ecx, [esp + 0x104]
push ecx
mov ecx, esi
call fcn.00402190
push eax
lea ecx, [esp + 0xc4]
call fcn.004010b0
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4ce723
cmp ax, 0x13
jne 0x4ce849
neg bl
lea edx, [esp + 0x18]
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x32
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
fmul dword [0x68b7fc]
fmul dword [0x68b554]
fstp dword [esp + 0x18]
movss xmm0, dword [edx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esi + 0x10]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0xf0]
addps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x60], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x64], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x68], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x6c], xmm1
movaps xmm1, xmmword [esp + 0x60]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0xf0], xmm0
jmp 0x4ce849
movaps xmm0, xmmword [edi + 0x40]
mov ecx, esi
movaps xmmword [esp + 0x20], xmm0
call fcn.00402090
push eax
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call fcn.00402190
movaps xmm0, xmmword [eax + 0x30]
mov eax, dword [esi + 0x374]
cmp eax, 2
subps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x40], xmm0
jne 0x4ce80a
push 1
push 0
push esi
lea ecx, [esp + 0x10c]
push ecx
mov ecx, edi
call fcn.004c67c0
jmp 0x4ce83c
cmp eax, 3
jne 0x4ce825
push 0
push 0
push esi
lea edx, [esp + 0x10c]
push edx
mov ecx, edi
call fcn.004c67c0
jmp 0x4ce83c
mov eax, dword [esp + 0x3c]
push eax
push 0
push esi
lea ecx, [esp + 0x10c]
push ecx
mov ecx, edi
call fcn.004c6630
lea ecx, [esp + 0xc0]
push eax
call fcn.004010b0
movaps xmm1, xmmword [esp + 0x40]
fld dword [0x725b3c]
movaps xmm3, xmmword [edi + 0x40]
fmul dword [0x68b5b8]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
movss xmm0, dword [edx]
unpcklps xmm0, xmm1
shufps xmm0, xmm1, 0xe1
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
movaps xmm4, xmm0
movaps xmm0, xmmword [esp + 0xf0]
unpcklps xmm4, xmm0
shufps xmm4, xmm0, 0xe1
movaps xmm1, xmm4
subps xmm1, xmm3
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movaps xmm6, xmm0
addss xmm6, xmm2
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xaa
movaps xmm2, xmm6
addss xmm2, xmm5
movaps xmmword [esp + 0x60], xmm2
sqrtss xmm2, xmm2
movss dword [esp + 0x60], xmm2
movaps xmm2, xmmword [esp + 0x60]
movaps xmmword [esp + 0x20], xmm2
fcomp dword [esp + 0x20]
movaps xmmword [esp + 0xf0], xmm4
movaps xmmword [esp + 0x70], xmm1
fnstsw ax
test ah, 0x41
jne 0x4ce8fb
lea eax, [esp + 0x20]
movaps xmmword [esp + 0x20], xmm4
push eax
jmp 0x4ce9b3
movaps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm5, xmm4
addss xmm5, xmm2
movaps xmmword [esp + 0x20], xmm5
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4ce969
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esp + 0x60], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x4ce96d
lea eax, [esp + 0x70]
mov ecx, dword [0x725b3c]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x18]
movss xmm0, dword [edx]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x3e200000
movss xmm1, dword [ecx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
mulps xmm0, xmm2
lea edx, [esp + 0x70]
addps xmm3, xmm0
movaps xmmword [esp + 0x70], xmm3
push edx
mov ecx, edi
call fcn.00401bc0
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
movaps xmm2, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm4, xmm3
addss xmm4, xmm2
movaps xmmword [esp + 0x70], xmm4
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4cea33
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x60], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x70], xmm1
lea eax, [esp + 0x70]
jmp 0x4cea37
lea eax, [esp + 0x40]
fld dword [0x725b3c]
movaps xmm0, xmmword [eax]
fmul dword [0x6be640]
push ecx
lea eax, [esp + 0x74]
mov ecx, edi
fstp dword [esp]
push eax
movaps xmmword [esp + 0x78], xmm0
call fcn.005f0540
test al, al
je 0x4cfc79
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [edi + 0x10]
call fcn.004010b0
mov edx, dword [esp + 0x3c]
push edx
push esi
mov ecx, edi
call fcn.004c9cb0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.004c6300
test al, al
je 0x4ced21
cmp si, 0x48
je 0x4ceaaa
cmp si, 0x54
je 0x4ceaaa
cmp si, 0x55
jne 0x4ceac6
mov eax, dword [ebp + 8]
mov ax, word [eax + 0x2c0]
cmp ax, 9
je 0x4ceac6
cmp ax, 0x23
je 0x4ceac6
mov bl, 1
push 0x10
jmp 0x4ceaca
xor bl, bl
push 0x11
mov ecx, dword [ebp + 8]
call fcn.005ef7a0
mov esi, eax
test esi, esi
mov dword [esp + 0x3c], 0
je 0x4ceb58
mov ax, word [edi + 0x80]
cmp ax, 0x48
je 0x4ceafc
cmp ax, 0x49
je 0x4ceafc
mov ecx, dword [edi + 0x64]
test byte [ecx + 0xe], 8
je 0x4ceb58
fld dword [edi + 0x90]
push ecx
fsub dword [edi + 0x8c]
mov ecx, 0x6be678
mov edx, 0x6be600
fstp dword [esp]
call fcn.004c5be0
add esp, 4
fst dword [esp + 0x3c]
test bl, bl
jne 0x4ceb28
fchs
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x104]
push eax
call fcn.00603c20
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [esi + 0x30], xmm0
mov cx, word [edi + 0x80]
cmp cx, 0x54
jne 0x4ceb9c
mov edx, dword [edi + 0x64]
test byte [edx + 0xe], 8
je 0x4ceb9c
fld dword [esp + 0x3c]
fcomp dword [0x68faec]
fnstsw ax
test ah, 1
jne 0x4ceb9c
push 0
push 0x54
mov ecx, edi
mov word [edi + 0x80], 0
call fcn.004026d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp cx, 0x55
jne 0x4cfc79
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.00402030
push eax
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call fcn.004020f0
fld dword [0x725b3c]
movaps xmm1, xmmword [eax + 0x30]
fmul dword [0x68fae8]
movaps xmm2, xmmword [edi + 0x40]
movaps xmm0, xmm2
subps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
shufps xmm3, xmm0, 0xaa
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x40], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmmword [esp + 0x70], xmm0
fcomp dword [esp + 0x70]
movaps xmmword [esp + 0x20], xmm1
fnstsw ax
test ah, 0x41
jne 0x4cec31
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call fcn.00401bc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
subps xmm1, xmm2
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm5, xmm4
addss xmm5, xmm3
movaps xmmword [esp + 0x70], xmm5
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x20], xmm1
fnstsw ax
test ah, 0x41
jne 0x4cecad
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x40], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x40]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
movaps xmmword [esp + 0x70], xmm1
lea eax, [esp + 0x70]
jmp 0x4cecb1
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0x3c333333
lea edx, [esp + 0x18]
movss xmm0, dword [edx]
mov edx, dword [0x725b3c]
mov dword [esp + 0x18], 0x3f000000
lea ecx, [esp + 0x18]
movss xmm1, dword [ecx]
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x18]
movss xmm3, dword [ecx]
movaps xmm4, xmm3
shufps xmm4, xmm3, 0
movaps xmm3, xmm1
shufps xmm3, xmm1, 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
mulps xmm0, xmm3
lea edx, [esp + 0x70]
mulps xmm0, xmm4
addps xmm2, xmm0
push edx
mov ecx, edi
movaps xmmword [esp + 0x74], xmm2
call fcn.00401bc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.004c6330
test al, al
jne 0x4cf0b8
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cf0b8
mov ecx, edi
call fcn.0042add0
test al, al
je 0x4cf013
mov ebx, dword [ebp + 8]
mov al, byte [ebx + 0x21e]
test al, al
jne 0x4ced71
cmp si, 0x44
je 0x4ced71
cmp si, 0x46
je 0x4ced71
cmp si, 0x54
mov byte [esp + 0x1e], al
jne 0x4ced76
mov byte [esp + 0x1e], 1
test al, al
mov ecx, ebx
je 0x4ced8e
push 0x6b
call fcn.00401ff0
push eax
lea eax, [esp + 0x104]
push eax
jmp 0x4cedab
mov al, byte [esp + 0x1e]
test al, al
je 0x4ced9d
call fcn.00402030
jmp 0x4ceda2
call fcn.00402060
push eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, ebx
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
lea eax, [esp + 0x70]
movaps xmmword [esp + 0x70], xmm0
movaps xmm1, xmmword [eax]
mov al, byte [ebx + 0x21e]
test al, al
movaps xmmword [esp + 0x40], xmm1
je 0x4cedfc
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0x3d200000
movss xmm0, dword [edx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
subss xmm2, xmm0
unpcklps xmm2, xmm1
shufps xmm2, xmm1, 0xe1
movaps xmmword [esp + 0x40], xmm2
xor esi, esi
jmp 0x4cee13
mov al, byte [esp + 0x1e]
test al, al
mov ecx, ebx
je 0x4cee0a
push 0x10
jmp 0x4cee0c
push 0x11
call fcn.005ef7a0
mov esi, eax
movaps xmm4, xmmword [edi + 0x40]
fld dword [0x725b3c]
movaps xmm1, xmmword [esp + 0x40]
fmul dword [0x68f064]
movaps xmm0, xmm4
subps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x60], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmmword [esp + 0x20], xmm0
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4cee75
lea eax, [esp + 0x40]
push eax
jmp 0x4cef47
subps xmm1, xmm4
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
movaps xmm2, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm5, xmm3
addss xmm5, xmm2
movaps xmmword [esp + 0x70], xmm5
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x80], xmm1
fnstsw ax
test ah, 0x41
jne 0x4ceef4
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x60], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x60]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x70], xmm1
lea eax, [esp + 0x70]
jmp 0x4ceefb
lea eax, [esp + 0x80]
mov edx, dword [0x725b3c]
mov dword [esp + 0x18], 0x3c333333
lea ecx, [esp + 0x18]
movss xmm0, dword [ecx]
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x18]
movss xmm1, dword [ecx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
mulps xmm0, xmm2
lea edx, [esp + 0x80]
addps xmm4, xmm0
movaps xmmword [esp + 0x80], xmm4
push edx
mov ecx, edi
call fcn.00401bc0
test esi, esi
je 0x4cefae
fld dword [edi + 0x90]
push ecx
fsub dword [edi + 0x8c]
mov ecx, 0x6be668
mov edx, 0x6be610
fstp dword [esp]
call fcn.004c5be0
mov al, byte [esp + 0x22]
add esp, 4
test al, al
jne 0x4cef7e
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x104]
push ecx
call fcn.00603c20
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [esi + 0x30], xmm0
mov al, byte [ebx + 0x21e]
test al, al
jne 0x4cfc79
fld dword [0x725b3c]
fmul dword [0x68d07c]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4cfc79
mov eax, dword [edi + 4]
test eax, 0x20000
je 0x4cefe9
and eax, 0xfffdffff
mov dword [edi + 4], eax
lea edx, [esp + 0x40]
push edx
mov ecx, edi
call fcn.00401bc0
mov al, byte [esp + 0x1e]
neg al
push 5
mov ecx, edi
sbb eax, eax
add eax, 0x4b
push eax
call fcn.004026d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call fcn.0042ad00
test al, al
je 0x4cfc79
cmp si, 0x4a
mov ecx, dword [ebp + 8]
jne 0x4cf044
mov ax, word [ecx + 0x2c0]
cmp ax, 9
je 0x4cf044
cmp ax, 0x23
je 0x4cf044
mov bl, 1
push 0x10
jmp 0x4cf048
xor bl, bl
push 0x11
call fcn.005ef7a0
mov esi, eax
test esi, esi
je 0x4cfc79
fld dword [edi + 0x90]
push ecx
fsub dword [edi + 0x8c]
mov ecx, 0x6be688
mov edx, 0x6be618
fstp dword [esp]
call fcn.004c5be0
add esp, 4
test bl, bl
jne 0x4cf07f
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x104]
push ecx
call fcn.00603c20
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [esi + 0x30], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp si, 0x42
je 0x4cf0cc
cmp si, 0x50
je 0x4cf0cc
xor bl, bl
mov byte [esp + 0x1e], bl
jmp 0x4cf0d5
mov byte [esp + 0x1e], 1
mov bl, byte [esp + 0x1e]
mov ecx, edi
call fcn.004c63b0
test al, al
je 0x4cf0e8
fld dword [0x68f060]
jmp 0x4cf0ee
fld dword [0x68f05c]
mov esi, dword [ebp + 8]
fmul dword [0x725b3c]
mov al, byte [esi + 0x21e]
test al, al
fstp dword [esp + 0x18]
je 0x4cf10f
mov dword [esp + 0x3c], 0
jmp 0x4cf124
test bl, bl
mov ecx, esi
je 0x4cf119
push 0x10
jmp 0x4cf11b
push 0x11
call fcn.005ef7a0
mov dword [esp + 0x3c], eax
mov al, byte [esi + 0x21e]
test al, al
jne 0x4cf6af
test bl, bl
jne 0x4cf15c
cmp word [edi + 0x80], 0x43
jne 0x4cf153
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cf15c
cmp ax, 0x23
je 0x4cf15c
mov ecx, esi
call fcn.004020c0
jmp 0x4cf163
mov ecx, esi
call fcn.00402090
test eax, eax
je 0x4cf43c
push eax
lea edx, [esp + 0x104]
push edx
mov ecx, esi
call fcn.004020f0
push eax
lea ecx, [esp + 0xc4]
call fcn.004010b0
mov eax, dword [edi + 0x1e4]
movaps xmm1, xmmword [eax + 0x40]
xorps xmm0, xmm0
subps xmm0, xmm1
movaps xmm1, xmmword [esp + 0xe0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm1, xmm2
movaps xmm2, xmmword [esp + 0xf0]
addps xmm1, xmm2
movaps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmmword [edi + 0x40]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
mulps xmm2, xmm3
addps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0xc0]
mulps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x40], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [0x68b4fc]
addps xmm0, xmm2
movss dword [esp + 0x48], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x4c], xmm1
movaps xmm1, xmmword [esp + 0x40]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmm3, xmm0
movaps xmm0, xmm4
subps xmm0, xmm3
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x40], xmm0
fld dword [esp + 0x40]
fcomp dword [esp + 0x18]
movaps xmmword [esp + 0xf0], xmm3
fnstsw ax
test ah, 5
jp 0x4cf287
movaps xmmword [esp + 0x80], xmm3
jmp 0x4cf335
subps xmm3, xmm4
movaps xmm0, xmm3
mulps xmm0, xmm3
movaps xmm5, xmm0
movaps xmm2, xmm0
shufps xmm5, xmm0, 0x55
movaps xmm1, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm1, xmm5
addss xmm1, xmm2
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x70], xmm3
fnstsw ax
test ah, 0x41
jne 0x4cf30c
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x20], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x20]
shufps xmm0, xmm0, 0
mulps xmm3, xmm0
movaps xmmword [esp + 0x80], xmm3
lea eax, [esp + 0x80]
jmp 0x4cf310
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x18]
movaps xmm0, xmmword [eax]
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], ecx
movss xmm1, dword [edx]
shufps xmm1, xmm1, 0
mulps xmm0, xmm1
addps xmm4, xmm0
movaps xmmword [esp + 0x80], xmm4
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.00401bc0
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x84]
call fcn.00603e20
lea ebx, [edi + 0x10]
push ebx
lea ecx, [esp + 0x74]
call fcn.00603e20
lea edx, [esp + 0x100]
push edx
push 0x3e000000
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00604050
add esp, 0x10
mov ecx, eax
call fcn.00600120
fld dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0x100]
fadd st(0), st(0)
movaps xmmword [ebx], xmm0
movaps xmm0, xmmword [esp + 0x110]
fcomp dword [esp + 0x40]
movaps xmmword [ebx + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x120]
movaps xmmword [ebx + 0x20], xmm0
fnstsw ax
test ah, 0x41
jne 0x4cf490
movaps xmm1, xmmword [esp + 0xe0]
movaps xmm0, xmmword [edi + 0x30]
mulps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x80], xmm0
fld dword [esp + 0x80]
fcomp dword [0x68b7f0]
fnstsw ax
test ah, 0x41
jne 0x4cf490
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x4cf43c
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cf43c
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcomp dword [0x6be60c]
fnstsw ax
test ah, 1
jne 0x4cf494
mov eax, dword [edi + 4]
test eax, 0x20000
je 0x4cf44e
and eax, 0xfffdffff
mov dword [edi + 4], eax
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x4cf55a
mov ax, word [edi + 0x80]
cmp ax, 0x50
je 0x4cf55a
cmp ax, 0x51
je 0x4cf55a
mov al, byte [esp + 0x1e]
test al, al
je 0x4cf50c
mov edx, dword [0x6be664]
mov dword [esp + 0x18], edx
jmp 0x4cf518
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x4cf616
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cf616
fld dword [edi + 0x90]
push ecx
fsub dword [edi + 0x8c]
mov ecx, 0x6be658
mov edx, 0x6be608
fstp dword [esp]
call fcn.004c5be0
mov al, byte [esp + 0x22]
add esp, 4
test al, al
jne 0x4cf4d7
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x104]
push ecx
call fcn.00603c20
movaps xmm0, xmmword [eax]
movaps xmmword [ebx + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [ebx + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [ebx + 0x30], xmm0
jmp 0x4cf616
fld dword [0x6be664]
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x104]
push ecx
call fcn.00603c20
movaps xmm0, xmmword [eax]
movaps xmmword [ebx + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [ebx + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [ebx + 0x30], xmm0
cmp word [edi + 0xc], 0xffff
jne 0x4cf55a
push 0x3ecccccd
push 0xf
call fcn.00558cf0
add esp, 8
mov al, byte [esp + 0x1e]
test al, al
jne 0x4cf5b2
mov cx, word [edi + 0x80]
cmp cx, 0x43
jne 0x4cf582
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cf5b2
cmp ax, 0x23
je 0x4cf5b2
cmp cx, 0x51
push 5
jne 0x4cf5a7
push 0x11
mov ecx, esi
call fcn.005ef7a0
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x47
push eax
mov ecx, edi
call fcn.004026d0
jmp 0x4cf616
push 0x50
mov ecx, edi
call fcn.004026d0
jmp 0x4cf616
lea edx, [esp + 0xc0]
push edx
lea ecx, [edi + 0x10]
call fcn.004010b0
mov ecx, edi
call fcn.005f0960
push edi
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x1a
lea ecx, [esp + 0xa4]
mov dword [eax], 0x74
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68d068]
fnstsw ax
test ah, 1
jne 0x4cfc77
fcomp dword [0x68b5bc]
fnstsw ax
test ah, 0x41
jp 0x4cfc79
movaps xmm0, xmmword [edi + 0x40]
movaps xmmword [esp + 0x80], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x68fae4]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0x68b4fc]
lea eax, [esp + 0x80]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x68b4fc]
push eax
lea ecx, [esp + 0x74]
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x44]
push ecx
mov ecx, esi
movaps xmmword [esp + 0x78], xmm0
call fcn.005f1de0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 4]
test eax, 0x20000
je 0x4cf777
and eax, 0xfffdfffd
mov dword [edi + 4], eax
mov eax, dword [edi + 0x58]
test eax, eax
mov ecx, esi
je 0x4cf6f5
call fcn.00402090
push eax
lea edx, [esp + 0x104]
push edx
mov ecx, esi
call fcn.004020f0
push eax
lea ecx, [edi + 0x10]
call fcn.004010b0
mov ecx, edi
call fcn.005f0960
jmp 0x4cf713
call fcn.00402090
push eax
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call fcn.00402190
push eax
lea ecx, [edi + 0x10]
call fcn.004010b0
push edi
push ecx
mov eax, esp
push ecx
mov dword [esi + 0x374], 0
mov byte [esi + 9], 0
mov dword [eax], 0
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x1a
lea ecx, [esp + 0xa4]
mov dword [eax], 0x74
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ax, word [edi + 0x80]
cmp ax, 0x14
jne 0x4cf9d8
movaps xmm0, xmmword [esi + 0x10]
lea ebx, [esi + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fchs
fsin
fstp dword [esp + 0x3c]
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68c4e8]
fnstsw ax
test ah, 1
jne 0x4cf8e0
fcomp dword [0x68fae0]
fnstsw ax
test ah, 0x41
jp 0x4cf8e2
mov eax, dword [esi + 0x24c]
movaps xmm0, xmmword [eax + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fsub dword [eax + 0x90]
movaps xmm2, xmmword [ebx + 0x20]
movaps xmm3, xmmword [ebx + 0x10]
lea ecx, [esp + 0x80]
fabs
fld qword [0x68fad8]
fsin
push ecx
mov ecx, esi
fld qword [0x68fad8]
fcos
fmul st(2)
fmul st(1)
fadd st(0), st(0)
fstp dword [esp + 0x60]
movss xmm0, dword [esp + 0x60]
fxch st(1)
movss dword [esp + 0x44], xmm0
fmul st(1)
fmul st(1)
fadd st(0), st(0)
fstp dword [esp + 0x60]
movss xmm0, dword [esp + 0x60]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x68b4fc]
fstp st(0)
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x44]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm1, xmmword [esi + 0x40]
addps xmm3, xmm2
addps xmm0, xmm3
addps xmm1, xmm0
movaps xmmword [esp + 0x84], xmm1
call fcn.00401bc0
lea edx, [esp + 0x100]
push 0x3d449809
push edx
call fcn.00603d20
add esp, 8
push eax
lea eax, [esp + 0x84]
push eax
mov ecx, ebx
call fcn.006020a0
push eax
mov ecx, ebx
call fcn.004010b0
jmp 0x4cf8e2
fstp st(0)
movaps xmm0, xmmword [ebx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fchs
lea edx, [esp + 0x100]
fsin
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
push ecx
push edx
call fcn.00603d20
movaps xmm0, xmmword [eax]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
mov ecx, esi
movaps xmmword [edi + 0x30], xmm0
call fcn.00402090
push eax
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call fcn.004020f0
fld dword [esp + 0x18]
fsub dword [esp + 0x3c]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm0, xmmword [edi + 0x40]
push ecx
lea ecx, [esp + 0x184]
fstp dword [esp]
subps xmm0, xmm1
push ecx
movaps xmmword [esp + 0x88], xmm0
call fcn.00603d20
movaps xmm0, xmmword [esp + 0x88]
movaps xmm3, xmmword [eax + 0x20]
movaps xmm2, xmmword [eax + 0x30]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm3, xmm1
movaps xmm1, xmm3
addps xmm1, xmm2
movaps xmmword [esp + 0x78], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm2, xmm1
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm2
movaps xmmword [esp + 0x88], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
add esp, 8
mov ecx, esi
movaps xmmword [esp + 0x20], xmm0
call fcn.00402090
lea edx, [esp + 0x140]
jmp 0x4cfc2f
cmp ax, 0x15
jne 0x4cfc79
movaps xmm0, xmmword [esi + 0x10]
lea ebx, [esi + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fchs
fsin
fstp dword [esp + 0x3c]
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68fad4]
fnstsw ax
test ah, 1
jne 0x4cfb3c
fcomp dword [0x68fad0]
fnstsw ax
test ah, 0x41
jp 0x4cfb3e
mov eax, dword [esi + 0x24c]
movaps xmm0, xmmword [eax + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fsub dword [eax + 0x90]
movaps xmm2, xmmword [ebx + 0x20]
movaps xmm3, xmmword [ebx + 0x10]
lea ecx, [esp + 0x80]
fabs
fld qword [0x68fac8]
fsin
push ecx
mov ecx, esi
fld qword [0x68fac8]
fcos
fmul st(1)
fmul st(2)
fadd st(0), st(0)
fstp dword [esp + 0x60]
movss xmm0, dword [esp + 0x60]
movss dword [esp + 0x44], xmm0
fld st(0)
fmul st(1)
fmul st(2)
fadd st(0), st(0)
fstp dword [esp + 0x60]
movss xmm0, dword [esp + 0x60]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x68b4fc]
fstp st(0)
movss dword [esp + 0x4c], xmm0
fstp st(0)
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x44]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm1, xmmword [esi + 0x40]
addps xmm3, xmm2
addps xmm0, xmm3
addps xmm1, xmm0
movaps xmmword [esp + 0x84], xmm1
call fcn.00401bc0
lea edx, [esp + 0x140]
push 0xbd449809
push edx
call fcn.00603d20
add esp, 8
push eax
lea eax, [esp + 0x184]
push eax
mov ecx, ebx
call fcn.006020a0
push eax
mov ecx, ebx
call fcn.004010b0
jmp 0x4cfb3e
fstp st(0)
movaps xmm0, xmmword [ebx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
fld dword [esp + 0x80]
fchs
lea edx, [esp + 0x140]
fsin
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
push ecx
push edx
call fcn.00603d20
movaps xmm0, xmmword [eax]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
mov ecx, esi
movaps xmmword [edi + 0x30], xmm0
call fcn.00402090
push eax
lea eax, [esp + 0x144]
push eax
mov ecx, esi
call fcn.004020f0
fld dword [esp + 0x18]
fsub dword [esp + 0x3c]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm0, xmmword [edi + 0x40]
push ecx
lea ecx, [esp + 0x184]
fstp dword [esp]
subps xmm0, xmm1
push ecx
movaps xmmword [esp + 0x88], xmm0
call fcn.00603d20
movaps xmm0, xmmword [esp + 0x88]
movaps xmm3, xmmword [eax + 0x20]
movaps xmm2, xmmword [eax + 0x30]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mulps xmm3, xmm1
movaps xmm1, xmm3
addps xmm1, xmm2
movaps xmmword [esp + 0x78], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm2, xmm1
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm2
movaps xmmword [esp + 0x88], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
add esp, 8
mov ecx, esi
movaps xmmword [esp + 0x20], xmm0
call fcn.00402090
lea edx, [esp + 0x100]
push eax
push edx
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [esp + 0x80]
addps xmm0, xmmword [esp + 0x70]
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
addps xmm0, xmm1
movaps xmm1, xmmword [eax + 0x30]
lea eax, [esp + 0x80]
addps xmm1, xmm0
push eax
mov ecx, edi
movaps xmmword [esp + 0x84], xmm1
call fcn.00401bc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4