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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1a4
push ebx
push esi
push edi
mov edi, ecx
mov si, word [edi + 0x80]
mov ebx, 0x3e
cmp si, bx
je 0x4cb8ec
cmp si, 0x3f
jne 0x4cbbab
mov esi, dword [ebp + 8]
lea eax, [esp + 0xf0]
push eax
mov ecx, esi
call fcn.005ef730
mov ecx, eax
call fcn.005efd90
mov cl, byte [esi + 0x21e]
test cl, cl
je 0x4cb95e
mov eax, dword [esi + 0x374]
cmp eax, 2
je 0x4cb924
cmp eax, 3
jne 0x4cb95e
cmp eax, 2
jne 0x4cb941
push 1
push 0
push esi
lea ecx, [esp + 0xbc]
push ecx
mov ecx, edi
call fcn.004c67c0
movaps xmm2, xmmword [eax + 0x30]
jmp 0x4cba37
push 0
push 0
push esi
lea edx, [esp + 0xbc]
push edx
mov ecx, edi
call fcn.004c67c0
movaps xmm2, xmmword [eax + 0x30]
jmp 0x4cba37
cmp word [edi + 0x80], bx
jne 0x4cb9d2
test cl, cl
mov ecx, esi
jne 0x4cb97d
call fcn.00402030
push eax
lea eax, [esp + 0xb4]
push eax
jmp 0x4cb98d
push 0x6b
call fcn.00401ff0
push eax
lea ecx, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.00402190
movaps xmm2, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4cb9af
cmp ax, 0x13
jne 0x4cba37
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 0x4cba37
test cl, cl
mov ecx, esi
jne 0x4cb9e8
call fcn.00402060
push eax
lea eax, [esp + 0xb4]
push eax
jmp 0x4cb9f8
push 0x6c
call fcn.00401ff0
push eax
lea ecx, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.00402190
movaps xmm2, xmmword [eax + 0x30]
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4cba16
cmp ax, 0x13
jne 0x4cba37
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 + 0x30], 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 + 0x50], xmm1
fnstsw ax
test ah, 5
jp 0x4cbaeb
lea ecx, [esp + 0x30]
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 0x4cbb59
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x30], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x30]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x4cbb5d
lea eax, [esp + 0x50]
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 0x4cd918
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 0x4cbbc7
cmp si, 0x3c
je 0x4cbbc7
cmp si, 0x3b
je 0x4cbbc7
cmp si, 0x3d
jne 0x4cc568
mov esi, dword [ebp + 8]
lea ecx, [esp + 0xb0]
push ecx
mov ecx, esi
call fcn.005ef730
mov ecx, eax
call fcn.005efd90
mov ax, word [edi + 0x80]
cmp ax, 0x3a
je 0x4cbbf3
cmp ax, 0x3c
jne 0x4cbc0a
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cbc0a
cmp ax, 0x23
je 0x4cbc0a
mov bl, 1
jmp 0x4cbc0c
xor bl, bl
mov al, byte [esi + 0x21e]
test al, al
mov byte [esp + 0x18], bl
mov byte [esp + 0x17], 0
jne 0x4cc3c9
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cbc36
cmp ax, 0x23
jne 0x4cbc7c
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 0x4cbc81
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 + 0x50], xmm0
mov ecx, esi
je 0x4cbcbe
call fcn.00402030
jmp 0x4cbcc3
call fcn.00402060
push eax
lea edx, [esp + 0xf4]
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 + 0x30], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x34], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x38], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x3c], xmm1
movaps xmm2, xmmword [esp + 0x30]
movaps xmm1, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0x30], xmm2
movaps xmmword [esp + 0xe0], xmm0
je 0x4cbd3f
cmp ax, 0x13
jne 0x4cbd8c
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 + 0xe0], xmm0
mov al, byte [esp + 0x1f]
test al, al
je 0x4cc130
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4cbf6a
lea edx, [esp + 0x70]
push edx
mov ecx, esi
call fcn.005efbf0
fld dword [esp + 0x50]
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 0x4cbe4e
lea eax, [esp + 0x70]
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 + 0x50]
fnstsw ax
test ah, 1
jne 0x4cbf62
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 0x4cbf62
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.00402060
push eax
lea ecx, [esp + 0xf4]
push ecx
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
movaps xmm1, xmmword [esp + 0x30]
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 + 0x70]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
push edx
mov ecx, esi
movaps xmmword [esp + 0xe4], xmm0
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
movaps xmm2, xmmword [esp + 0xe0]
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 + 0x50], xmm0
fsub dword [esp + 0x50]
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 + 0x30]
movaps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
jmp 0x4cc458
movaps xmm0, xmmword [esp + 0xe0]
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jp 0x4cc130
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call fcn.005efbf0
fld dword [esp + 0x50]
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 0x4cc018
lea edx, [esp + 0x70]
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 + 0x50]
fnstsw ax
test ah, 0x41
jp 0x4cc128
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 0x4cc128
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.00402060
push eax
lea eax, [esp + 0xf4]
push eax
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
movaps xmm1, xmmword [esp + 0x30]
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 + 0x70]
shufps xmm1, xmm0, 0xe0
push ecx
shufps xmm0, xmm1, 0x24
mov ecx, esi
movaps xmmword [esp + 0xe4], xmm0
call fcn.005efbf0
movaps xmm0, xmmword [eax]
movaps xmm2, xmmword [esp + 0xe0]
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 + 0x50], xmm0
fsub dword [esp + 0x50]
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 + 0x30]
movaps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
jmp 0x4cc458
movaps xmm0, xmmword [esp + 0xe0]
test bl, bl
movaps xmm1, xmmword [esi + 0x10]
lea eax, [esp + 0x20]
je 0x4cc149
xorps xmm2, xmm2
subps xmm2, xmm1
movaps xmmword [esp + 0x20], xmm2
jmp 0x4cc14e
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 0x4cc458
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 0x4cc2d0
lea eax, [esp + 0x70]
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 + 0x50]
fnstsw ax
test ah, 5
jnp 0x4cc205
mov al, byte [esp + 0x1f]
test al, al
je 0x4cc450
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
mov byte [esp + 0x1b], 1
call fcn.005efbf0
movaps xmm0, xmmword [eax + 0x10]
movaps xmm2, xmmword [esp + 0xe0]
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 + 0x50], xmm0
fsub dword [esp + 0x50]
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 + 0x30]
movaps xmm0, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
je 0x4cc2a0
fld dword [0x68c44c]
jmp 0x4cc2a6
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 0x4cc458
lea ecx, [esp + 0x70]
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 + 0x50]
fnstsw ax
test ah, 0x41
je 0x4cc30c
mov al, byte [esp + 0x1f]
test al, al
je 0x4cc450
lea edx, [esp + 0x70]
push edx
mov ecx, esi
mov byte [esp + 0x1b], 1
call fcn.005efbf0
test bl, bl
movaps xmm0, xmmword [eax]
movaps xmm2, xmmword [esp + 0xe0]
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 + 0x50], xmm0
fsub dword [esp + 0x50]
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 + 0x30]
movaps xmm0, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm0, 0xe0
shufps xmm0, xmm2, 0x24
je 0x4cc3b2
fld dword [0x68c44c]
lea ecx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm2, dword [ecx]
jmp 0x4cc2b2
fld dword [0x68b5b8]
lea ecx, [esp + 0x18]
fstp dword [esp + 0x18]
movss xmm2, dword [ecx]
jmp 0x4cc2b2
mov eax, dword [esi + 0x374]
cmp eax, 2
jne 0x4cc411
push 1
push 0
push esi
lea edx, [esp + 0xfc]
push edx
mov ecx, edi
call fcn.004c67c0
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esp + 0xd0], xmm0
movaps xmm0, xmmword [eax + 0x30]
jmp 0x4cc458
cmp eax, 3
jne 0x4cc42c
push 0
push 0
push esi
lea eax, [esp + 0xfc]
push eax
mov ecx, edi
call fcn.004c67c0
jmp 0x4cc443
mov ecx, dword [esp + 0x18]
push ecx
push 0
push esi
lea edx, [esp + 0xfc]
push edx
mov ecx, edi
call fcn.004c6630
lea ecx, [esp + 0xb0]
push eax
call fcn.004010b0
movaps xmm0, xmmword [esp + 0xe0]
movaps xmm2, xmmword [edi + 0x40]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmmword [esp + 0xe0], 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 + 0x30], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x30]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
movaps xmmword [esp + 0x34], xmm0
call fcn.00402700
mov al, byte [esp + 0x17]
test al, al
jne 0x4cc4fd
fld dword [esp + 0x30]
fcomp dword [0x68f054]
fnstsw ax
test ah, 5
jp 0x4cc4ec
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 + 0x30]
fcomp dword [0x68f054]
fnstsw ax
test ah, 0x41
jne 0x4cc52a
mov ax, word [edi + 0x80]
cmp ax, 0x3a
je 0x4cc510
cmp ax, 0x3b
jne 0x4cc52a
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 + 0x30]
fcomp dword [0x68f054]
fnstsw ax
test ah, 5
jp 0x4cd918
mov ecx, edi
call fcn.004c6390
test al, al
je 0x4cd918
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 0x4cc57c
cmp si, 0x41
jne 0x4cc9fb
cmp si, 0x40
mov esi, dword [ebp + 8]
jne 0x4cc598
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cc598
cmp ax, 0x23
je 0x4cc598
mov bl, 1
jmp 0x4cc59a
xor bl, bl
mov al, byte [esi + 0x21e]
test al, al
mov byte [esp + 0x48], bl
jne 0x4cc72d
test bl, bl
jne 0x4cc5cc
mov ax, word [esi + 0x2c0]
cmp ax, 9
je 0x4cc5cc
cmp ax, 0x23
je 0x4cc5cc
mov ecx, esi
call fcn.004020c0
jmp 0x4cc5d3
mov ecx, esi
call fcn.00402090
movaps xmm0, xmmword [edi + 0x40]
push eax
lea ecx, [esp + 0xf4]
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 + 0x30], xmm1
je 0x4cc60d
cmp ax, 0x13
jne 0x4cc64f
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 + 0x30], xmm1
test bl, bl
mov ecx, esi
je 0x4cc65c
call fcn.00402030
jmp 0x4cc661
call fcn.00402060
push eax
lea ecx, [esp + 0xf4]
push ecx
mov ecx, esi
call fcn.00402190
push eax
lea ecx, [esp + 0xb4]
call fcn.004010b0
mov ax, word [esi + 0x2c0]
cmp ax, 0xc
je 0x4cc695
cmp ax, 0x13
jne 0x4cc7bb
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 + 0xe0]
addps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x50], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x54], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x58], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x5c], xmm1
movaps xmm1, xmmword [esp + 0x50]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0xe0], xmm0
jmp 0x4cc7bb
movaps xmm0, xmmword [edi + 0x40]
mov ecx, esi
movaps xmmword [esp + 0x20], xmm0
call fcn.00402090
push eax
lea eax, [esp + 0xf4]
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 + 0x30], xmm0
jne 0x4cc77c
push 1
push 0
push esi
lea ecx, [esp + 0xfc]
push ecx
mov ecx, edi
call fcn.004c67c0
jmp 0x4cc7ae
cmp eax, 3
jne 0x4cc797
push 0
push 0
push esi
lea edx, [esp + 0xfc]
push edx
mov ecx, edi
call fcn.004c67c0
jmp 0x4cc7ae
mov eax, dword [esp + 0x48]
push eax
push 0
push esi
lea ecx, [esp + 0xfc]
push ecx
mov ecx, edi
call fcn.004c6630
lea ecx, [esp + 0xb0]
push eax
call fcn.004010b0
movaps xmm1, xmmword [esp + 0x30]
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 + 0x30], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
movaps xmm4, xmm0
movaps xmm0, xmmword [esp + 0xe0]
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 + 0x50], xmm2
sqrtss xmm2, xmm2
movss dword [esp + 0x50], xmm2
movaps xmm2, xmmword [esp + 0x50]
movaps xmmword [esp + 0x20], xmm2
fcomp dword [esp + 0x20]
movaps xmmword [esp + 0xe0], xmm4
movaps xmmword [esp + 0x60], xmm1
fnstsw ax
test ah, 0x41
jne 0x4cc86d
lea eax, [esp + 0x20]
movaps xmmword [esp + 0x20], xmm4
push eax
jmp 0x4cc925
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 0x4cc8db
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esp + 0x50], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x4cc8df
lea eax, [esp + 0x60]
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 + 0x60]
addps xmm3, xmm0
movaps xmmword [esp + 0x60], xmm3
push edx
mov ecx, edi
call fcn.00401bc0
movaps xmm1, xmmword [esp + 0x30]
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 + 0x60], xmm4
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4cc9a5
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x50], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x60], xmm1
lea eax, [esp + 0x60]
jmp 0x4cc9a9
lea eax, [esp + 0x30]
fld dword [0x725b3c]
movaps xmm0, xmmword [eax]
fmul dword [0x6be640]
push ecx
lea eax, [esp + 0x64]
mov ecx, edi
fstp dword [esp]
push eax
movaps xmmword [esp + 0x68], xmm0
call fcn.005f0540
test al, al
je 0x4cd918
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [edi + 0x10]
call fcn.004010b0
mov edx, dword [esp + 0x48]
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 0x4ccaa0
cmp si, 0x48
mov ecx, dword [ebp + 8]
jne 0x4cca2c
mov ax, word [ecx + 0x2c0]
cmp ax, 9
je 0x4cca2c
cmp ax, 0x23
je 0x4cca2c
mov bl, 1
push 0x10
jmp 0x4cca30
xor bl, bl
push 0x11
call fcn.005ef7a0
mov esi, eax
test esi, esi
je 0x4cd918
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
test bl, bl
jne 0x4cca67
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
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
mov ecx, edi
call fcn.004c6330
test al, al
jne 0x4cce24
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cce24
mov ecx, edi
call fcn.0042add0
test al, al
je 0x4ccd7f
mov ebx, dword [ebp + 8]
mov al, byte [ebx + 0x21e]
test al, al
jne 0x4ccaea
cmp si, 0x44
je 0x4ccaea
cmp si, 0x46
mov byte [esp + 0x17], al
jne 0x4ccaef
mov byte [esp + 0x17], 1
test al, al
mov ecx, ebx
je 0x4ccb07
push 0x6b
call fcn.00401ff0
push eax
lea edx, [esp + 0xf4]
push edx
jmp 0x4ccb24
mov al, byte [esp + 0x17]
test al, al
je 0x4ccb16
call fcn.00402030
jmp 0x4ccb1b
call fcn.00402060
push eax
lea eax, [esp + 0xb4]
push eax
mov ecx, ebx
call fcn.004020f0
movaps xmm0, xmmword [eax + 0x30]
lea eax, [esp + 0x60]
movaps xmmword [esp + 0x60], xmm0
movaps xmm1, xmmword [eax]
mov al, byte [ebx + 0x21e]
test al, al
movaps xmmword [esp + 0x30], xmm1
je 0x4ccb75
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x3d200000
movss xmm0, dword [ecx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
subss xmm2, xmm0
unpcklps xmm2, xmm1
shufps xmm2, xmm1, 0xe1
movaps xmmword [esp + 0x30], xmm2
xor esi, esi
jmp 0x4ccb8c
mov al, byte [esp + 0x17]
test al, al
mov ecx, ebx
je 0x4ccb83
push 0x10
jmp 0x4ccb85
push 0x11
call fcn.005ef7a0
mov esi, eax
movaps xmm4, xmmword [edi + 0x40]
fld dword [0x725b3c]
movaps xmm1, xmmword [esp + 0x30]
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 + 0x50], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x20], xmm0
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4ccbed
lea edx, [esp + 0x30]
jmp 0x4cccb2
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 + 0x60], xmm5
fld dword [esp + 0x60]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x70], xmm1
fnstsw ax
test ah, 0x41
jne 0x4ccc69
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x50], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x50]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x60], xmm1
lea eax, [esp + 0x60]
jmp 0x4ccc6d
lea eax, [esp + 0x70]
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
addps xmm4, xmm0
movaps xmmword [esp + 0x70], xmm4
lea edx, [esp + 0x70]
mov ecx, edi
push edx
call fcn.00401bc0
test esi, esi
je 0x4ccd1a
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 + 0x1b]
add esp, 4
test al, al
jne 0x4cccea
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
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 0x4cd918
fld dword [0x725b3c]
fmul dword [0x68d07c]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4cd918
mov eax, dword [edi + 4]
test eax, 0x20000
je 0x4ccd55
and eax, 0xfffdffff
mov dword [edi + 4], eax
lea edx, [esp + 0x30]
push edx
mov ecx, edi
call fcn.00401bc0
mov al, byte [esp + 0x17]
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 0x4cd918
cmp si, 0x4a
mov ecx, dword [ebp + 8]
jne 0x4ccdb0
mov ax, word [ecx + 0x2c0]
cmp ax, 9
je 0x4ccdb0
cmp ax, 0x23
je 0x4ccdb0
mov bl, 1
push 0x10
jmp 0x4ccdb4
xor bl, bl
push 0x11
call fcn.005ef7a0
mov esi, eax
test esi, esi
je 0x4cd918
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 0x4ccdeb
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
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 0x4cce38
cmp si, 0x50
je 0x4cce38
xor bl, bl
mov byte [esp + 0x17], bl
jmp 0x4cce41
mov byte [esp + 0x17], 1
mov bl, byte [esp + 0x17]
mov ecx, edi
call fcn.004c63b0
test al, al
je 0x4cce54
fld dword [0x68f060]
jmp 0x4cce5a
fld dword [0x68f05c]
mov esi, dword [ebp + 8]
fmul dword [0x725b3c]
mov al, byte [esi + 0x21e]
test al, al
fstp dword [esp + 0x18]
je 0x4cce7b
mov dword [esp + 0x48], 0
jmp 0x4cce90
test bl, bl
mov ecx, esi
je 0x4cce85
push 0x10
jmp 0x4cce87
push 0x11
call fcn.005ef7a0
mov dword [esp + 0x48], eax
mov al, byte [esi + 0x21e]
test al, al
jne 0x4cd39c
test bl, bl
mov ecx, esi
jne 0x4cceab
call fcn.004020c0
jmp 0x4cceb0
call fcn.00402090
test eax, eax
je 0x4cd168
push eax
lea edx, [esp + 0xf4]
push edx
mov ecx, esi
call fcn.004020f0
push eax
lea ecx, [esp + 0xb4]
call fcn.004010b0
mov eax, dword [edi + 0x1e4]
movaps xmm1, xmmword [eax + 0x40]
xorps xmm0, xmm0
subps xmm0, xmm1
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm1, xmm2
movaps xmm2, xmmword [esp + 0xe0]
addps xmm1, xmm2
movaps xmm2, xmmword [esp + 0xc0]
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 + 0xb0]
mulps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x34], xmm1
movss xmm1, dword [0x68b4fc]
addps xmm0, xmm2
movss dword [esp + 0x38], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x3c], xmm1
movaps xmm1, xmmword [esp + 0x30]
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 + 0x30], xmm0
fld dword [esp + 0x30]
fcomp dword [esp + 0x18]
movaps xmmword [esp + 0xe0], xmm3
fnstsw ax
test ah, 5
jp 0x4ccfd1
movaps xmmword [esp + 0x70], xmm3
jmp 0x4cd070
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 + 0x70], xmm1
fld dword [esp + 0x70]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x60], xmm3
fnstsw ax
test ah, 0x41
jne 0x4cd04a
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 + 0x70], xmm3
lea eax, [esp + 0x70]
jmp 0x4cd04e
lea eax, [esp + 0x60]
mov ecx, dword [esp + 0x18]
movaps xmm0, xmmword [eax]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], ecx
movss xmm1, dword [edx]
shufps xmm1, xmm1, 0
mulps xmm0, xmm1
addps xmm4, xmm0
movaps xmmword [esp + 0x70], xmm4
lea eax, [esp + 0x70]
mov ecx, edi
push eax
call fcn.00401bc0
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x74]
call fcn.00603e20
lea ebx, [edi + 0x10]
push ebx
lea ecx, [esp + 0x64]
call fcn.00603e20
lea edx, [esp + 0xf0]
push edx
push 0x3e000000
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x6c]
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 + 0xf0]
fadd st(0), st(0)
movaps xmmword [ebx], xmm0
movaps xmm0, xmmword [esp + 0x100]
fcomp dword [esp + 0x30]
movaps xmmword [ebx + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x110]
movaps xmmword [ebx + 0x20], xmm0
fnstsw ax
test ah, 0x41
jne 0x4cd1bc
movaps xmm1, xmmword [esp + 0xd0]
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 + 0x70], xmm0
fld dword [esp + 0x70]
fcomp dword [0x68b7f0]
fnstsw ax
test ah, 0x41
jne 0x4cd1bc
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4cd168
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cd168
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcomp dword [0x6be60c]
fnstsw ax
test ah, 1
jne 0x4cd1c0
mov eax, dword [edi + 4]
test eax, 0x20000
je 0x4cd17a
and eax, 0xfffdffff
mov dword [edi + 4], eax
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4cd270
mov ax, word [edi + 0x80]
cmp ax, 0x50
je 0x4cd270
cmp ax, 0x51
je 0x4cd270
mov al, byte [esp + 0x17]
test al, al
je 0x4cd238
mov edx, dword [0x6be664]
mov dword [esp + 0x18], edx
jmp 0x4cd244
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4cd309
mov ecx, edi
call fcn.004c63b0
test al, al
jne 0x4cd309
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 + 0x1b]
add esp, 4
test al, al
jne 0x4cd203
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
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 0x4cd309
fld dword [0x6be664]
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
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
mov al, byte [esp + 0x17]
test al, al
je 0x4cd2de
lea edx, [esp + 0xb0]
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 + 0x94]
mov dword [eax], 0x74
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
jmp 0x4cd309
cmp word [edi + 0x80], 0x51
push 5
jne 0x4cd300
push 0x11
mov ecx, esi
call fcn.005ef7a0
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x47
push eax
jmp 0x4cd302
push 0x50
mov ecx, edi
call fcn.004026d0
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68d068]
fnstsw ax
test ah, 1
jne 0x4cd916
fcomp dword [0x68b5bc]
fnstsw ax
test ah, 0x41
jp 0x4cd918
movaps xmm0, xmmword [edi + 0x40]
movaps xmmword [esp + 0x70], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [0x68fae4]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x68b4fc]
lea eax, [esp + 0x70]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x68b4fc]
push eax
lea ecx, [esp + 0x64]
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x34]
push ecx
mov ecx, esi
movaps xmmword [esp + 0x68], 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 0x4cd464
and eax, 0xfffdfffd
mov dword [edi + 4], eax
mov eax, dword [edi + 0x58]
test eax, eax
mov ecx, esi
je 0x4cd3e2
call fcn.00402090
push eax
lea edx, [esp + 0xf4]
push edx
mov ecx, esi
call fcn.004020f0
push eax
lea ecx, [edi + 0x10]
call fcn.004010b0
mov ecx, edi
call fcn.005f0960
jmp 0x4cd400
call fcn.00402090
push eax
lea eax, [esp + 0xf4]
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 + 0x94]
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 0x4cd6a1
movaps xmm0, xmmword [esi + 0x10]
lea ebx, [esi + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fchs
fsin
fstp dword [esp + 0x48]
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68c4e8]
fnstsw ax
test ah, 1
jne 0x4cd5b8
fcomp dword [0x68fae0]
fnstsw ax
test ah, 0x41
jp 0x4cd5ba
mov eax, dword [esi + 0x24c]
movaps xmm0, xmmword [eax + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fsub dword [eax + 0x90]
movaps xmm2, xmmword [ebx + 0x20]
movaps xmm3, xmmword [ebx + 0x10]
lea ecx, [esp + 0x70]
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 + 0x50]
movss xmm0, dword [esp + 0x50]
fxch st(1)
movss dword [esp + 0x34], xmm0
fmul st(1)
fmul st(1)
fadd st(0), st(0)
fstp dword [esp + 0x50]
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x68b4fc]
fstp st(0)
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x34]
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 + 0x74], xmm1
call fcn.00401bc0
lea edx, [esp + 0xf0]
push 0x3d449809
push edx
call fcn.00603d20
add esp, 8
push eax
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
call fcn.006020a0
push eax
mov ecx, ebx
call fcn.004010b0
jmp 0x4cd5ba
fstp st(0)
movaps xmm0, xmmword [ebx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fchs
lea edx, [esp + 0xf0]
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 + 0xf4]
push eax
mov ecx, esi
call fcn.004020f0
fld dword [esp + 0x18]
fsub dword [esp + 0x48]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm0, xmmword [edi + 0x40]
push ecx
lea ecx, [esp + 0x174]
fstp dword [esp]
subps xmm0, xmm1
push ecx
movaps xmmword [esp + 0x78], xmm0
call fcn.00603d20
movaps xmm0, xmmword [esp + 0x78]
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 + 0x68], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm2, xmm1
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm2
movaps xmmword [esp + 0x78], 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 + 0x130]
jmp 0x4cd8d7
cmp ax, 0x15
jne 0x4cd918
movaps xmm0, xmmword [esi + 0x10]
lea ebx, [esi + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fchs
fsin
fstp dword [esp + 0x48]
fld dword [edi + 0x90]
fsub dword [edi + 0x8c]
fcom dword [0x68fad4]
fnstsw ax
test ah, 1
jne 0x4cd7f3
fcomp dword [0x68fad0]
fnstsw ax
test ah, 0x41
jp 0x4cd7f5
mov eax, dword [esi + 0x24c]
movaps xmm0, xmmword [eax + 0x40]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fsub dword [eax + 0x90]
movaps xmm2, xmmword [ebx + 0x20]
movaps xmm3, xmmword [ebx + 0x10]
lea ecx, [esp + 0x70]
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 + 0x50]
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x34], xmm0
fld st(0)
fmul st(1)
fmul st(2)
fadd st(0), st(0)
fstp dword [esp + 0x50]
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x68b4fc]
fstp st(0)
movss dword [esp + 0x3c], xmm0
fstp st(0)
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x34]
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 + 0x74], xmm1
call fcn.00401bc0
lea edx, [esp + 0x130]
push 0xbd449809
push edx
call fcn.00603d20
add esp, 8
push eax
lea eax, [esp + 0x174]
push eax
mov ecx, ebx
call fcn.006020a0
push eax
mov ecx, ebx
call fcn.004010b0
jmp 0x4cd7f5
fstp st(0)
movaps xmm0, xmmword [ebx]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x70], xmm1
fld dword [esp + 0x70]
fchs
lea edx, [esp + 0x130]
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 + 0x134]
push eax
mov ecx, esi
call fcn.004020f0
fld dword [esp + 0x18]
fsub dword [esp + 0x48]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm0, xmmword [edi + 0x40]
push ecx
lea ecx, [esp + 0x174]
fstp dword [esp]
subps xmm0, xmm1
push ecx
movaps xmmword [esp + 0x78], xmm0
call fcn.00603d20
movaps xmm0, xmmword [esp + 0x78]
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 + 0x68], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm2, xmm1
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm2
movaps xmmword [esp + 0x78], 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 + 0xf0]
push eax
push edx
mov ecx, esi
call fcn.004020f0
movaps xmm0, xmmword [esp + 0x70]
addps xmm0, xmmword [esp + 0x60]
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x20]
addps xmm0, xmm1
movaps xmm1, xmmword [eax + 0x30]
lea eax, [esp + 0x70]
addps xmm1, xmm0
push eax
mov ecx, edi
movaps xmmword [esp + 0x74], 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