Function at 0x10120440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x2228
call fcn.1018f0d0
mov eax, dword [0x101f90c0]
xor eax, esp
mov dword [esp + 0x2224], eax
mov ecx, dword [0x10214408]
push esi
push edi
cmp byte [ecx + 0x355c], 0
je 0x101281df
movss xmm0, dword [ecx + 0x3560]
xorps xmm1, xmm1
mov edx, dword [0x103d8bec]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011da6e
movss xmm0, dword [ecx + 0x3564]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1011dac0
or dword [edx + 0x1c64], 1
mov eax, dword [ecx + 0x3560]
mov ecx, dword [ecx + 0x3564]
mov dword [edx + 0x1c74], eax
mov dword [edx + 0x1c78], ecx
movss dword [edx + 0x1c7c], xmm1
movss dword [edx + 0x1c80], xmm1
mov dword [edx + 0x1c68], 1
mov eax, dword [0x10214408]
mov dword [eax + 0x3560], 0
mov dword [eax + 0x3564], 0
mov eax, dword [0x10214414]
mov ecx, 0xfb
mov esi, 0xc02fb
cmp byte [eax + 0x5c], 0
cmovne esi, ecx
or dword [edx + 0x1c64], 2
mov dword [edx + 0x1c84], 0x43160000
mov dword [edx + 0x1c88], 0
mov dword [edx + 0x1c6c], 2
mov ecx, dword [0x10214414]
mov ecx, dword [ecx + 0x40]
call fcn.101505e0
movq xmm0, qword [str.TKQ__RD8]
xor edx, edx
mov al, byte [0x101e3920]
movq qword [esp + 0xf0c], xmm0
mov byte [esp + 0xf14], al
mov dword [esp + 0x24], edx
nop dword [eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x24]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xf0c], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 9
jl 0x1011db30
lea ecx, [esp + 0x101c]
call fcn.10028bf0
lea ecx, [esp + 0xf0c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011db72
sub ecx, edx
lea eax, [esp + 0xf0c]
push ecx
push eax
lea ecx, [esp + 0x1024]
call fcn.10026930
push 0
lea ecx, [esp + 0x1020]
call fcn.10006340
movss xmm0, dword [0x101eb6e4]
xor edx, edx
mov ecx, eax
call fcn.1014b410
lea ecx, [esp + 0x101c]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x40], xmm0
call fcn.10001f30
mov eax, dword [0x103d8bec]
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [0x101eb3d8]
movss xmm1, dword [0x101eb5b0]
or dword [eax + 0x1c64], 0x10
movss dword [esp + 0x24], xmm0
subss xmm0, dword [0x101eb3d8]
mov dword [eax + 0x1ca0], 0x43160000
movss dword [esp + 0x28], xmm1
xorps xmm1, xmm1
movss dword [eax + 0x1ca4], xmm1
mov dword [eax + 0x1ca8], 0x43160000
movss dword [eax + 0x1cac], xmm0
mov dword [eax + 0x1cb0], 0
mov dword [eax + 0x1cb4], 0
call fcn.10147f60
mov eax, dword [0x101e24b0]
movq xmm0, qword [str.TKQ__RD]
mov dword [esp + 0xf04], eax
mov ax, word [0x101e24b4]
mov word [esp + 0xf08], ax
test ah, ah
mov eax, dword [0x10215510]
movq qword [esp + 0xefc], xmm0
je 0x1011ddc7
xor edx, edx
mov dword [esp + 0x30], edx
cmp eax, 2
jl 0x1011dd90
movaps xmm2, xmmword [0x101eb860]
mov edx, 8
movaps xmm3, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x30], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
movd xmm0, dword [str.TKQ__RD]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.0000000000000000]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xefc], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
movd xmm0, dword [esp + 0xf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.0000000000000000]
xorps xmm1, xmm0
movd dword [esp + 0xf00], xmm1
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x30]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xefc], cl
inc edx
mov dword [esp + 0x30], edx
cmp edx, 0xe
jl 0x1011dd90
lea ecx, [esp + 0x1074]
call fcn.10028bf0
lea ecx, [esp + 0xefc]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011dde0
sub ecx, edx
lea eax, [esp + 0xefc]
push ecx
push eax
lea ecx, [esp + 0x107c]
call fcn.10026930
push esi
lea ecx, [esp + 0x1078]
call fcn.10006340
xor edx, edx
mov ecx, eax
call fcn.1014de90
lea ecx, [esp + 0x1074]
call fcn.10001f30
call fcn.10147f60
mov ecx, dword [0x103d8bec]
sub esp, 0x18
mov edx, esp
mov edi, eax
mov dword [esp + 0x30], edi
mov ecx, dword [ecx + 0x1bdc]
movss xmm0, dword [ecx + 0xc]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x10]
mov ecx, dword [0x10214408]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ecx + 0x37c4]
divss xmm0, dword [0x101eb580]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
movss dword [esp + 0x1b0], xmm0
movups xmm0, xmmword [ecx + 0x37a8]
mov eax, dword [ecx + 0x37b8]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x37bc]
mov byte [edx + 0x14], al
call fcn.100b3a60
push 0xff
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0x3b4]
mov esi, eax
call fcn.100c7850
mov edx, dword [0x10214408]
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [edx + 0x37a8]
mov eax, dword [edx + 0x37b8]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov al, byte [edx + 0x37bc]
xorps xmm0, xmm0
mov byte [ecx + 0x14], al
call fcn.100b3be0
mov ecx, dword [0x10214408]
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x34], eax
movss xmm1, dword [ecx + 0x37b4]
movups xmm0, xmmword [ecx + 0x37a8]
mov eax, dword [ecx + 0x37b8]
mulss xmm1, dword [0x101eb2c4]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x37bc]
movaps xmm0, xmm1
mov byte [edx + 0x14], al
call fcn.100b3be0
mov dword [esp + 0x28], eax
sub esp, 0x18
mov eax, dword [0x10214408]
mov edx, esp
movups xmm0, xmmword [eax + 0x37a8]
mov ecx, dword [eax + 0x37b8]
mov al, byte [eax + 0x37bc]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], ecx
mov byte [edx + 0x14], al
call fcn.100b3a60
mov ecx, dword [0x10214408]
movss xmm0, dword [0x101eb478]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
cmp dword [ecx + 0x37c0], 0
movss dword [esp + 0x38], xmm0
je 0x1011dfa8
xorps xmm0, xmm0
movss dword [esp + 0x38], xmm0
lea ecx, [esp + 0x18c]
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movaps xmm0, xmm1
addss xmm0, dword [0x101eb5b0]
push 0
push ecx
mov ecx, edi
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x100], xmm2
movss dword [esp + 0x38], xmm0
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x2c], xmm0
subss xmm0, dword [0x101eb3d8]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp], xmm0
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.1015a4c0
mov eax, dword [0x10214408]
mov eax, dword [eax + 0x37c0]
test eax, eax
jne 0x1011e0cb
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101eb5b4]
movss xmm1, dword [0x101eb334]
push ecx
mov dword [esp], 0x3fc00000
push eax
movss dword [esp + 0x104], xmm0
lea eax, [esp + 0x104]
movss xmm0, dword [esp + 0x2c]
subss xmm0, xmm1
push ecx
mov dword [esp], 0x40a00000
mov ecx, edi
push esi
push eax
movss dword [esp + 0x114], xmm0
lea eax, [esp + 0x118]
movss xmm0, dword [esp + 0x28]
subss xmm0, xmm1
push eax
movss dword [esp + 0x11c], xmm0
movss xmm0, dword [esp + 0x38]
subss xmm0, xmm1
movss dword [esp + 0x120], xmm0
call fcn.1015a3d0
jmp 0x1011e270
cmp eax, 1
jne 0x1011e12b
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x10c]
subss xmm0, dword [0x101eb334]
movss xmm1, dword [esp + 0x30]
push ecx
mov dword [esp], 0x40000000
movss dword [esp + 0x110], xmm1
movss xmm1, dword [esp + 0x18]
push esi
push eax
movss dword [esp + 0x11c], xmm0
lea eax, [esp + 0x120]
movss dword [esp + 0x120], xmm1
movss dword [esp + 0x124], xmm0
jmp 0x1011e268
cmp eax, 2
jne 0x1011e18e
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x1ac]
subss xmm0, dword [0x101eb438]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.10097170
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x1b4]
movss xmm1, dword [esp + 0x14]
call fcn.10097170
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1b0]
push esi
push eax
lea eax, [esp + 0x1c0]
jmp 0x1011e268
mov ecx, 0x10214408
call fcn.10034d00
cmp dword [eax + 0x37c0], 3
jne 0x1011e1fc
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1bc]
subss xmm0, dword [0x101eb334]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.10097170
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x1c4]
movss xmm1, dword [esp + 0x14]
call fcn.10097170
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1c0]
push esi
push eax
lea eax, [esp + 0x1d0]
jmp 0x1011e268
mov ecx, 0x10214408
call fcn.10034d00
cmp dword [eax + 0x37c0], 4
jne 0x1011e270
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1cc]
subss xmm0, dword [0x101eb334]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
call fcn.10097170
movss xmm2, dword [esp + 0x38]
lea ecx, [esp + 0x19c]
movss xmm1, dword [esp + 0x14]
call fcn.10097170
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1d0]
push esi
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, edi
call fcn.1015a2a0
mov al, byte [0x101e3920]
xor edx, edx
movq xmm0, qword [str.TKQ__RD8]
mov byte [esp + 0xebc], al
movq qword [esp + 0xeb4], xmm0
mov dword [esp + 0x38], edx
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xeb4], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 9
jl 0x1011e293
lea ecx, [esp + 0x10ec]
call fcn.10028bf0
lea ecx, [esp + 0xeb4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011e2d5
sub ecx, edx
lea eax, [esp + 0xeb4]
push ecx
push eax
lea ecx, [esp + 0x10f4]
call fcn.10026930
lea ecx, [esp + 0x10ec]
call fcn.10006340
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x40]
mulss xmm0, dword [0x101eb2c4]
push 0
addss xmm1, dword [0x101eb564]
push ecx
mov dword [esp], 0
mov ecx, edi
push 0
push esi
subss xmm1, xmm0
movss xmm0, dword [esp + 0x54]
mulss xmm0, dword [0x101eb2c4]
push eax
lea eax, [esp + 0x130]
push eax
addss xmm0, dword [esp + 0x38]
push 0
movss dword [esp + 0x138], xmm1
subss xmm0, dword [0x101eb334]
movss dword [esp + 0x13c], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x10ec]
call fcn.10001f30
mov eax, dword [0x10214408]
mov eax, dword [eax + 0x37c0]
cmp eax, 3
jne 0x1011e3f8
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push eax
movss dword [esp + 0x128], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x30]
push eax
push eax
lea eax, [esp + 0x134]
movss dword [esp + 0x138], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x140], xmm0
lea eax, [esp + 0x140]
movss dword [esp + 0x144], xmm1
jmp 0x1011e4c0
cmp eax, 4
jne 0x1011e4c8
movss xmm1, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [0x101eb3d8]
mov eax, dword [esp + 0xc]
push esi
push esi
push eax
push eax
movss dword [esp + 0x144], xmm0
lea eax, [esp + 0x144]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x14c], xmm0
lea eax, [esp + 0x150]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x154], xmm1
movss dword [esp + 0x158], xmm0
call fcn.1015a620
movss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
movss dword [esp + 0x144], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x148], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101eb5ac]
push esi
push esi
push eax
push eax
lea eax, [esp + 0x154]
movss dword [esp + 0x15c], xmm0
movss xmm0, dword [esp + 0x30]
push eax
movss dword [esp + 0x164], xmm0
lea eax, [esp + 0x160]
push eax
mov ecx, edi
call fcn.1015a620
movq xmm0, qword [str.kE_TSYSj8]
xor edx, edx
mov al, byte [0x101e31a0]
movq qword [esp + 0xed8], xmm0
mov byte [esp + 0xee0], al
mov dword [esp + 0xc], edx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xed8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 9
jl 0x1011e4f0
lea ecx, [esp + 0x10d4]
call fcn.10028bf0
lea ecx, [esp + 0xed8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011e532
sub ecx, edx
lea eax, [esp + 0xed8]
push ecx
push eax
lea ecx, [esp + 0x10dc]
call fcn.10026930
push 0
lea ecx, [esp + 0x10d8]
call fcn.10006340
movss xmm0, dword [0x101eb6e4]
xor edx, edx
mov ecx, eax
call fcn.1014b410
lea ecx, [esp + 0x10d4]
movss dword [esp + 0x30], xmm0
call fcn.10001f30
mov eax, dword [str.kY__Ph6]
xor edx, edx
mov dword [esp + 0xee4], eax
mov ax, word [0x101e318c]
mov word [esp + 0xee8], ax
mov al, byte [0x101e318e]
mov byte [esp + 0xeea], al
mov dword [esp + 0xc], edx
nop dword [eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xee4], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x1011e5b0
lea ecx, [esp + 0x10bc]
call fcn.10028bf0
lea ecx, [esp + 0xee4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011e5f2
sub ecx, edx
lea eax, [esp + 0xee4]
push ecx
push eax
lea ecx, [esp + 0x10c4]
call fcn.10026930
push 0
lea ecx, [esp + 0x10c0]
call fcn.10006340
movss xmm0, dword [0x101eb6e4]
xor edx, edx
mov ecx, eax
call fcn.1014b410
lea ecx, [esp + 0x10bc]
movss dword [esp + 0x38], xmm0
call fcn.10001f30
mov eax, dword [str.k_n4]
xor edx, edx
mov dword [esp + 0xed0], eax
mov al, byte [0x101e3194]
mov byte [esp + 0xed4], al
mov dword [esp + 0xc], edx
nop
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xed0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x1011e660
lea ecx, [esp + 0x10a4]
call fcn.10028bf0
lea ecx, [esp + 0xed0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011e6a2
sub ecx, edx
lea eax, [esp + 0xed0]
push ecx
push eax
lea ecx, [esp + 0x10ac]
call fcn.10026930
push 0
lea ecx, [esp + 0x10a8]
call fcn.10006340
movss xmm0, dword [0x101eb6e4]
xor edx, edx
mov ecx, eax
call fcn.1014b410
lea ecx, [esp + 0x10a4]
movss dword [esp + 0x40], xmm0
call fcn.10001f30
mov eax, dword [0x10214408]
cmp byte [eax + 0x1f8], 0
je case.0x1011e717.0
mov ecx, dword [eax + 0xde0]
add eax, 0xde0
cmp ecx, 3
ja case.0x1011e717.0
jmp dword [ecx*4 + 0x101281f4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1011e72a
mov al, byte [eax + 0x20]
test al, al
je case.0x1011e717.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0xde0]
call fcn.100c1310
test al, al
jne 0x1011ea0c
lea eax, [esp + 0x1280]
push eax
lea ecx, [esp + 0xc9]
call fcn.101283a0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011e798
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011e770
push edi
lea ecx, [esp + 0x1608]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x688]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x3f4]
addss xmm0, dword [0x101eb4f4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1604]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xde0]
call fcn.100c0fe0
test al, al
je 0x1011e914
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0xca]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1011e88b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1011e863
push edi
lea ecx, [esp + 0x1620]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x698]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3fc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x161c]
jmp 0x1011e9ff
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xde0]
call fcn.100c0e80
test al, al
je 0x1011ea04
lea eax, [esp + 0x1274]
push eax
lea ecx, [esp + 0xcb]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011e97b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011e953
push edi
lea ecx, [esp + 0x1638]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6a8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x404]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1634]
call fcn.10001f30
mov dword [esp + 0x10], 3
mov ecx, 0x10214408
call fcn.10034d00
cmp byte [eax + 0x200], 0
je case.0x1011e717.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xe04]
call fcn.100c12b0
test al, al
je case.0x1011e717.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xe04]
call fcn.100c1310
test al, al
je 0x1011ec11
lea eax, [esp + 0x1538]
push eax
lea ecx, [esp + 0xcc]
call fcn.10128410
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011eaa8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1011ea80
push edi
lea ecx, [esp + 0x1650]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6b8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x40c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x164c]
call fcn.10001f30
lea eax, [esp + 0xfc4]
push eax
lea ecx, [esp + 0xcd]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1011eb88
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1011eb60
push edi
lea ecx, [esp + 0x1668]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6c8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x414]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1664]
jmp 0x1011eecc
lea eax, [esp + 0x152c]
push eax
lea ecx, [esp + 0xce]
call fcn.10128410
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011ec5b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1011ec33
push edi
lea ecx, [esp + 0x1680]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6d8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x41c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x167c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xe04]
call fcn.100c0fe0
test al, al
je 0x1011ede1
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0xcf]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1011ed58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1011ed30
push edi
lea ecx, [esp + 0x1698]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6e8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x424]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1694]
jmp 0x1011eecc
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xe04]
call fcn.100c0e80
test al, al
je 0x1011eed1
lea eax, [esp + 0x12a4]
push eax
lea ecx, [esp + 0xd0]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011ee48
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011ee20
push edi
lea ecx, [esp + 0x16b0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6f8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x42c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x16ac]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0x998
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1011eeea.2456
jmp dword [ecx*4 + 0x10128204]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1011eefd
mov al, byte [eax + 0x20]
test al, al
je case.0x1011eeea.2456
mov eax, dword [0x10214408]
cmp byte [eax], 0
je case.0x1011eeea.2456
lea ecx, [eax + 0x998]
call fcn.100c1310
test al, al
jne 0x1011f2fa
lea eax, [esp + 0x125c]
push eax
lea ecx, [esp + 0xd1]
call fcn.10128460
mov edi, eax
cmp byte [edi + 7], 0
je 0x1011f081
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x1011f050
movaps xmm2, xmmword [0x101eb860]
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1011f081
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1011f050
push edi
lea ecx, [esp + 0x16c8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x708]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x444]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x16c4]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x998]
call fcn.100c0fe0
test al, al
je 0x1011f206
lea eax, [esp + 0x123c]
push eax
lea ecx, [esp + 0xd2]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1011f17d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1011f155
push edi
lea ecx, [esp + 0x16e0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x718]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x44c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x16dc]
jmp 0x1011f2f1
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x998]
call fcn.100c0e80
test al, al
je 0x1011f2f6
lea eax, [esp + 0x1394]
push eax
lea ecx, [esp + 0xd3]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011f26d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011f245
push edi
lea ecx, [esp + 0x16f8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x728]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x454]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x16f4]
call fcn.10001f30
inc dword [esp + 0x10]
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0xc50]
call fcn.100c1310
test al, al
je 0x1011f5d6
lea eax, [esp + 0x1598]
push eax
lea ecx, [esp + 0x4f]
call fcn.10128480
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011f471
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0x24], ecx
jl 0x1011f440
movaps xmm2, xmmword [0x101eb860]
mov ecx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x1011f440
push edi
lea ecx, [esp + 0x1710]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x738]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x45c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x170c]
call fcn.10001f30
lea eax, [esp + 0xfd4]
push eax
lea ecx, [esp + 0x50]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1011f54d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1011f525
push edi
lea ecx, [esp + 0x1728]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x748]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x464]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1724]
jmp 0x1011f9bc
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc50]
call fcn.100c12e0
test al, al
je case.0x1011eeea.2456
lea eax, [esp + 0x158c]
push eax
lea ecx, [esp + 0x51]
call fcn.10128480
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011f751
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0x24], ecx
jl 0x1011f720
movaps xmm2, xmmword [0x101eb860]
mov ecx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x1011f720
push edi
lea ecx, [esp + 0x1740]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x758]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x46c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x173c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc50]
call fcn.100c0fe0
test al, al
je 0x1011f8d3
lea eax, [esp + 0x1244]
push eax
lea ecx, [esp + 0x52]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1011f84a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1011f822
push edi
lea ecx, [esp + 0x1758]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x768]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x474]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1754]
jmp 0x1011f9bc
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc50]
call fcn.100c0e80
test al, al
je 0x1011f9c1
lea eax, [esp + 0x1370]
push eax
lea ecx, [esp + 0x53]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011f938
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011f910
push edi
lea ecx, [esp + 0x1770]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x778]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x47c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x176c]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xd94
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1011f9da.3476
jmp dword [ecx*4 + 0x10128214]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1011f9ed
mov al, byte [eax + 0x20]
test al, al
je case.0x1011f9da.3476
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0xd94]
call fcn.100c1310
test al, al
je 0x1011fbcf
lea eax, [esp + 0x1520]
push eax
lea ecx, [esp + 0x54]
call fcn.101284a0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011fa58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1011fa30
push edi
lea ecx, [esp + 0x1788]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x788]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1784]
call fcn.10001f30
lea eax, [esp + 0xfdc]
push eax
lea ecx, [esp + 0x55]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1011fb38
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1011fb10
push edi
lea ecx, [esp + 0x17a0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x798]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x48c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x179c]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1011feb0
lea eax, [esp + 0x1514]
push eax
lea ecx, [esp + 0x56]
call fcn.101284a0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011fc18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1011fbf0
push edi
lea ecx, [esp + 0x17b8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7a8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x494]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x17b4]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd94]
call fcn.100c0fe0
test al, al
je 0x1011fdaf
lea eax, [esp + 0x1164]
push eax
lea ecx, [esp + 0x57]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1011fd18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1011fcf0
push edi
lea ecx, [esp + 0x17d0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7b8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x49c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x17cc]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1011feb0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd94]
call fcn.100c0e80
test al, al
je 0x1011fea1
lea eax, [esp + 0x1298]
push eax
lea ecx, [esp + 0x58]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1011fe18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1011fdf0
push edi
lea ecx, [esp + 0x17e8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7c8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4a4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x17e4]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1011feb0
mov edi, dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xdb8
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1011fec5.3512
jmp dword [ecx*4 + 0x10128224]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1011fed8
mov al, byte [eax + 0x20]
test al, al
je case.0x1011fec5.3512
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0xdb8]
call fcn.100c1310
test al, al
je 0x10120122
lea eax, [esp + 0x1508]
push eax
lea ecx, [esp + 0x59]
call fcn.101284d0
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 0xa], 0
je 0x1011ff50
xor ecx, ecx
mov edi, eax
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1011ff20
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x108c]
call fcn.10028bf0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011ff61
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1094]
call fcn.10026930
lea ecx, [esp + 0x108c]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x3b4]
mov esi, eax
movups xmmword [esp + 0x3b4], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101eb470]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x15c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x168]
push eax
mulss xmm0, dword [0x101eb4b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x174], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x108c]
call fcn.10001f30
mov eax, dword [str.k_n4]
xor edx, edx
mov dword [esp + 0xec0], eax
mov al, byte [0x101e3194]
mov byte [esp + 0xec4], al
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xec0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10120030
lea ecx, [esp + 0x105c]
call fcn.10028bf0
lea ecx, [esp + 0xec0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120072
sub ecx, edx
lea eax, [esp + 0xec0]
push ecx
push eax
lea ecx, [esp + 0x1064]
call fcn.10026930
lea ecx, [esp + 0x105c]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x3c4]
mov esi, eax
movups xmmword [esp + 0x3c4], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x40]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x101eb470]
push 0
push esi
push eax
lea eax, [esp + 0x170]
addss xmm0, dword [0x101eb5b0]
push eax
push 0
movss dword [esp + 0x178], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x17c], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x105c]
call fcn.10001f30
jmp 0x10120416
mov ax, word [0x101e39ac]
xor edx, edx
movq xmm0, qword [0x101e39a4]
mov word [esp + 0xf38], ax
mov al, byte [0x101e39ae]
movq qword [esp + 0xf30], xmm0
mov byte [esp + 0xf3a], al
mov dword [esp + 0xc], edx
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xf30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10120153
lea ecx, [esp + 0x1044]
call fcn.10028bf0
lea ecx, [esp + 0xf30]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120195
sub ecx, edx
lea eax, [esp + 0xf30]
push ecx
push eax
lea ecx, [esp + 0x104c]
call fcn.10026930
lea ecx, [esp + 0x1044]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x3d4]
mov esi, eax
movups xmmword [esp + 0x3d4], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101eb470]
mov ecx, dword [esp + 0x18]
push 0
push esi
push eax
movss dword [esp + 0x170], xmm0
lea eax, [esp + 0x170]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x178], xmm0
call fcn.1015ab30
lea ecx, [esp + 0x1044]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xdb8]
call fcn.100c0fe0
test al, al
je 0x10120325
lea eax, [esp + 0x116c]
push eax
lea ecx, [esp + 0x5a]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012029c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10120274
push edi
lea ecx, [esp + 0x1800]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7d8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4ac]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x17fc]
jmp 0x1012040d
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xdb8]
call fcn.100c0e80
test al, al
je 0x10120416
lea eax, [esp + 0x128c]
push eax
lea ecx, [esp + 0x5b]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10120389
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10120361
push edi
lea ecx, [esp + 0x1818]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc48]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4b4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1814]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10214408]
add eax, 0x9bc
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10120430.2492
jmp dword [ecx*4 + 0x10128234]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10120443
mov al, byte [eax + 0x20]
test al, al
je case.0x10120430.2492
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x9bc]
call fcn.100c1310
test al, al
je 0x1012072b
lea eax, [esp + 0x21bc]
push eax
lea ecx, [esp + 0x5c]
call fcn.10128500
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x101205c1
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0x24], ecx
jl 0x10120590
movaps xmm2, xmmword [0x101eb860]
mov ecx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xd
jl 0x10120590
push edi
lea ecx, [esp + 0x1830]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7f8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x182c]
call fcn.10001f30
lea eax, [esp + 0xfe4]
push eax
lea ecx, [esp + 0x5d]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012069d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10120675
push edi
lea ecx, [esp + 0x1848]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x808]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4c4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1844]
call fcn.10001f30
jmp 0x10120b51
mov eax, dword [0x101e38e0]
xor edx, edx
cmp dword [0x10215510], 2
movq xmm0, qword [0x101e38d8]
mov dword [esp + 0xef4], eax
mov al, byte [0x101e38e4]
movq qword [esp + 0xeec], xmm0
mov byte [esp + 0xef8], al
mov dword [esp + 0x24], edx
jl 0x10120873
movaps xmm2, xmmword [0x101eb860]
mov edx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101e38d8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xeec], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0xef0]
xorps xmm1, xmm0
movd dword [esp + 0xef0], xmm1
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x24]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xeec], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xd
jl 0x10120873
lea ecx, [esp + 0x1104]
call fcn.10028bf0
lea ecx, [esp + 0xeec]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101208c0
sub ecx, edx
lea eax, [esp + 0xeec]
push ecx
push eax
lea ecx, [esp + 0x110c]
call fcn.10026930
lea ecx, [esp + 0x1104]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x3e4]
mov esi, eax
movups xmmword [esp + 0x3e4], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101eb470]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x174], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x180]
push eax
mulss xmm0, dword [0x101eb4b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x18c], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x1104]
call fcn.10001f30
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x9bc]
call fcn.100c0fe0
test al, al
je 0x10120a61
lea eax, [esp + 0x1174]
push eax
lea ecx, [esp + 0x5e]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101209d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101209b0
push edi
lea ecx, [esp + 0x1860]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x818]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x185c]
jmp 0x10120b4c
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x9bc]
call fcn.100c0e80
test al, al
je 0x10120b55
lea eax, [esp + 0x13ac]
push eax
lea ecx, [esp + 0x5f]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10120ac8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10120aa0
push edi
lea ecx, [esp + 0x1878]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x828]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4d4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1874]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10214408]
add eax, 0x9e0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10120b6f.2528
jmp dword [ecx*4 + 0x10128244]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10120b82
mov al, byte [eax + 0x20]
test al, al
je case.0x10120b6f.2528
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x9e0]
call fcn.100c1310
xor edx, edx
mov dword [esp + 0xc], edx
test al, al
je 0x10120dd8
mov ax, word [0x101e10b0]
movq xmm0, qword [0x101e10a8]
mov word [esp + 0xf20], ax
mov al, byte [0x101e10b2]
movq qword [esp + 0xf18], xmm0
mov byte [esp + 0xf22], al
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xf18], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10120bd4
lea ecx, [esp + 0x111c]
call fcn.10028bf0
lea ecx, [esp + 0xf18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120c16
sub ecx, edx
lea eax, [esp + 0xf18]
push ecx
push eax
lea ecx, [esp + 0x1124]
call fcn.10026930
lea ecx, [esp + 0x111c]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x434]
mov esi, eax
movups xmmword [esp + 0x434], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101eb470]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x17c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x188]
push eax
mulss xmm0, dword [0x101eb4b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x194], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x111c]
call fcn.10001f30
mov eax, dword [str.k_n4]
xor edx, edx
mov dword [esp + 0xec8], eax
mov al, byte [0x101e3194]
mov byte [esp + 0xecc], al
mov dword [esp + 0xc], edx
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xec8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10120ce6
lea ecx, [esp + 0x1134]
call fcn.10028bf0
lea ecx, [esp + 0xec8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120d28
sub ecx, edx
lea eax, [esp + 0xec8]
push ecx
push eax
lea ecx, [esp + 0x113c]
call fcn.10026930
lea ecx, [esp + 0x1134]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x58c]
mov esi, eax
movups xmmword [esp + 0x58c], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x40]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x101eb470]
push 0
push esi
push eax
lea eax, [esp + 0x190]
addss xmm0, dword [0x101eb5b0]
push eax
push 0
movss dword [esp + 0x198], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x19c], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x1134]
call fcn.10001f30
jmp 0x101210d5
mov ax, word [0x101e10b0]
movq xmm0, qword [0x101e10a8]
mov word [esp + 0xf2c], ax
mov al, byte [0x101e10b2]
movq qword [esp + 0xf24], xmm0
mov byte [esp + 0xf2e], al
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0xf24], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10120e03
lea ecx, [esp + 0x114c]
call fcn.10028bf0
lea ecx, [esp + 0xf24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10120e45
sub ecx, edx
lea eax, [esp + 0xf24]
push ecx
push eax
lea ecx, [esp + 0x1154]
call fcn.10026930
lea ecx, [esp + 0x114c]
call fcn.10006340
movaps xmm0, xmmword [0x101ebbb0]
lea ecx, [esp + 0x5ac]
mov esi, eax
movups xmmword [esp + 0x5ac], xmm0
call fcn.100c78d0
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101eb470]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x18c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x198]
push eax
mulss xmm0, dword [0x101eb4b4]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x1a4], xmm0
call fcn.1015aa40
lea ecx, [esp + 0x114c]
call fcn.10001f30
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x9e0]
call fcn.100c0fe0
test al, al
je 0x10120fe1
lea eax, [esp + 0x117c]
push eax
lea ecx, [esp + 0x60]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10120f58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10120f30
push edi
lea ecx, [esp + 0x1890]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x838]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x188c]
jmp 0x101210cc
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x9e0]
call fcn.100c0e80
test al, al
je 0x101210d5
lea eax, [esp + 0x13a0]
push eax
lea ecx, [esp + 0x61]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10121048
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10121020
push edi
lea ecx, [esp + 0x18a8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x848]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x18a4]
call fcn.10001f30
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10214408]
add eax, 0xd4c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101210ef.3404
jmp dword [ecx*4 + 0x10128254]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10121102
mov al, byte [eax + 0x20]
test al, al
je case.0x101210ef.3404
imul ecx, dword [0x1021f73c], 0x58
mov eax, dword [0x10214408]
cmp byte [ecx + eax + 0xa5d], 0
je case.0x101210ef.3404
lea ecx, [eax + 0xd4c]
call fcn.100c1310
test al, al
je 0x101212e3
lea eax, [esp + 0x14fc]
push eax
lea ecx, [esp + 0x62]
call fcn.10128530
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012117e
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10121156
push edi
lea ecx, [esp + 0x18c0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x858]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x18bc]
call fcn.10001f30
lea eax, [esp + 0xfb4]
push eax
lea ecx, [esp + 0x63]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012125a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10121232
push edi
lea ecx, [esp + 0x18d8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x868]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x18d4]
jmp 0x1012159c
lea eax, [esp + 0x14f0]
push eax
lea ecx, [esp + 0x64]
call fcn.10128530
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012132a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10121302
push edi
lea ecx, [esp + 0x18f0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x878]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x18ec]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd4c]
call fcn.100c0fe0
test al, al
je 0x101214b1
lea eax, [esp + 0x1184]
push eax
lea ecx, [esp + 0x65]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10121428
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10121400
push edi
lea ecx, [esp + 0x1908]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x888]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x504]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1904]
jmp 0x1012159c
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd4c]
call fcn.100c0e80
test al, al
je 0x101215a1
lea eax, [esp + 0x1388]
push eax
lea ecx, [esp + 0x66]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10121518
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101214f0
push edi
lea ecx, [esp + 0x1920]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x958]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x50c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x191c]
call fcn.10001f30
mov edi, dword [esp + 0x10]
mov ecx, 0x10214408
inc edi
mov esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], esi
call fcn.10034d00
lea ecx, [eax + 0xd28]
call fcn.100c12b0
test al, al
je case.0x101210ef.3404
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd28]
call fcn.100c1310
test al, al
je 0x1012190f
lea eax, [esp + 0x221c]
push eax
lea ecx, [esp + 0x67]
call fcn.10128560
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10121795
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10121764
movaps xmm0, xmmword [str.0000000000000000]
mov eax, 4
movaps xmm4, xmmword [0x101eb860]
xor edx, edx
movaps xmm3, xmmword [0x101ebc90]
sub eax, edi
movaps xmm5, xmmword [0x101eb8e0]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10121660
mov edi, dword [esp + 0x1c]
jmp 0x10121795
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10121764
push edi
lea ecx, [esp + 0x1938]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa78]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x514]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1934]
call fcn.10001f30
lea eax, [esp + 0xfec]
push eax
lea ecx, [esp + 0x68]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10121878
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10121850
push edi
lea ecx, [esp + 0x1950]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa88]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x51c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x194c]
call fcn.10001f30
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101210ef.3404
mov ecx, 0x10214408
mov dword [esp + 0x10], esi
call fcn.10034d00
lea ecx, [eax + 0xd28]
call fcn.100c1310
test al, al
jne case.0x101210ef.3404
lea eax, [esp + 0x220c]
push eax
lea ecx, [esp + 0x69]
call fcn.10128560
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10121ad5
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10121aa4
movaps xmm0, xmmword [str.0000000000000000]
mov eax, 4
movaps xmm4, xmmword [0x101eb860]
xor edx, edx
movaps xmm3, xmmword [0x101ebc90]
sub eax, edi
movaps xmm5, xmmword [0x101eb8e0]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x101219a0
mov edi, dword [esp + 0x1c]
jmp 0x10121ad5
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10121aa4
push edi
lea ecx, [esp + 0x1968]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaa8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x524]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1964]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd28]
call fcn.100c0fe0
test al, al
je 0x10121c57
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x6a]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10121bce
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10121ba6
push edi
lea ecx, [esp + 0x1980]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xab8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x52c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x197c]
jmp 0x10121d3f
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd28]
call fcn.100c0e80
test al, al
je 0x10121d44
lea eax, [esp + 0x137c]
push eax
lea ecx, [esp + 0x6b]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10121cbb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10121c93
push edi
lea ecx, [esp + 0x1998]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xac8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x534]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1994]
call fcn.10001f30
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x10214408]
add eax, 0xd04
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10121d62.3332
jmp dword [ecx*4 + 0x10128264]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10121d75
mov al, byte [eax + 0x20]
test al, al
je case.0x10121d62.3332
imul ecx, dword [0x1021f73c], 0x58
mov eax, dword [0x10214408]
cmp byte [ecx + eax + 0xa64], 0
je case.0x10121d62.3332
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd04]
call fcn.100c1310
test al, al
je 0x10121f61
lea eax, [esp + 0x14cc]
push eax
lea ecx, [esp + 0x6c]
call fcn.10128580
mov edi, eax
cmp byte [edi + 9], 0
je 0x10121dfb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10121dd3
push edi
lea ecx, [esp + 0x19b0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xae8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x53c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x19ac]
call fcn.10001f30
lea eax, [esp + 0xff4]
push eax
lea ecx, [esp + 0x6d]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10121ed8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10121eb0
push edi
lea ecx, [esp + 0x19c8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x898]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x544]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x19c4]
jmp 0x1012221c
lea eax, [esp + 0x14a8]
push eax
lea ecx, [esp + 0x6e]
call fcn.10128580
mov edi, eax
cmp byte [edi + 9], 0
je 0x10121fa8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10121f80
push edi
lea ecx, [esp + 0x19e0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8a8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x54c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x19dc]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd04]
call fcn.100c0fe0
test al, al
je 0x10122131
lea eax, [esp + 0x1194]
push eax
lea ecx, [esp + 0x6f]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101220a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10122080
push edi
lea ecx, [esp + 0x19f8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8b8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x554]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x19f4]
jmp 0x1012221c
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd04]
call fcn.100c0e80
test al, al
je 0x10122221
lea eax, [esp + 0x134c]
push eax
lea ecx, [esp + 0x70]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10122198
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10122170
push edi
lea ecx, [esp + 0x1a10]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8c8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x55c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a0c]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0xa0c], 0
je case.0x101232aa.3260
mov ecx, dword [eax + 0xc98]
add eax, 0xc98
cmp ecx, 3
ja case.0x1012224b.0
jmp dword [ecx*4 + 0x10128274]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1012225e
mov al, byte [eax + 0x20]
test al, al
je case.0x1012224b.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0xc98]
call fcn.100c1310
test al, al
je 0x10122431
lea eax, [esp + 0x1340]
push eax
lea ecx, [esp + 0x71]
call fcn.101285a0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101222c8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101222a0
push edi
lea ecx, [esp + 0x1a28]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8d8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x564]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a24]
call fcn.10001f30
lea eax, [esp + 0xffc]
push eax
lea ecx, [esp + 0x72]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101223a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10122380
push edi
lea ecx, [esp + 0x1a40]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8e8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x56c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a3c]
jmp 0x101226ec
lea eax, [esp + 0x1334]
push eax
lea ecx, [esp + 0x73]
call fcn.101285a0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10122478
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10122450
push edi
lea ecx, [esp + 0x1a58]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8f8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x574]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a54]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc98]
call fcn.100c0fe0
test al, al
je 0x10122601
lea eax, [esp + 0x119c]
push eax
lea ecx, [esp + 0x74]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10122578
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10122550
push edi
lea ecx, [esp + 0x1a70]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x908]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x57c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a6c]
jmp 0x101226ec
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc98]
call fcn.100c0e80
test al, al
je 0x101226f1
lea eax, [esp + 0x1328]
push eax
lea ecx, [esp + 0x75]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10122668
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10122640
push edi
lea ecx, [esp + 0x1a88]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x918]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x584]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a84]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xc74
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012270a.3188
jmp dword [ecx*4 + 0x10128284]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1012271d
mov al, byte [eax + 0x20]
test al, al
je case.0x1012270a.3188
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc74]
call fcn.100c1310
test al, al
je 0x10122a01
lea eax, [esp + 0x124c]
push eax
lea ecx, [esp + 0x76]
call fcn.101285c0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10122897
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10122866
movaps xmm2, xmmword [0x101eb860]
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10122897
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10122866
push edi
lea ecx, [esp + 0x1aa0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x928]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x59c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1a9c]
call fcn.10001f30
lea eax, [esp + 0x100c]
push eax
lea ecx, [esp + 0x77]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10122978
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10122950
push edi
lea ecx, [esp + 0x1ab8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x938]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ab4]
jmp 0x10122dcc
lea eax, [esp + 0x1254]
push eax
lea ecx, [esp + 0x78]
call fcn.101285c0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10122b56
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10122b25
movaps xmm2, xmmword [0x101eb860]
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10122b56
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10122b25
push edi
lea ecx, [esp + 0x1ad0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x948]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1acc]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc74]
call fcn.100c0fe0
test al, al
je 0x10122ce1
lea eax, [esp + 0x11a4]
push eax
lea ecx, [esp + 0x79]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10122c58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10122c30
push edi
lea ecx, [esp + 0x1ae8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x678]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5c4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ae4]
jmp 0x10122dcc
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xc74]
call fcn.100c0e80
test al, al
je 0x10122dd1
lea eax, [esp + 0x13b8]
push eax
lea ecx, [esp + 0x7a]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10122d48
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10122d20
push edi
lea ecx, [esp + 0x1b00]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x968]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5cc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1afc]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xce0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10122dea.3296
jmp dword [ecx*4 + 0x10128294]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10122dfd
mov al, byte [eax + 0x20]
test al, al
je case.0x10122dea.3296
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xce0]
call fcn.100c1310
test al, al
je 0x10122fd1
lea eax, [esp + 0x1014]
push eax
lea ecx, [esp + 0x7b]
call fcn.101285e0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10122e69
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10122e41
push edi
lea ecx, [esp + 0x1b18]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x978]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b14]
call fcn.10001f30
lea eax, [esp + 0xf3c]
push eax
lea ecx, [esp + 0x7c]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10122f48
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10122f20
push edi
lea ecx, [esp + 0x1b30]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x988]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5dc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b2c]
jmp 0x1012328c
lea eax, [esp + 0xf44]
push eax
lea ecx, [esp + 0x7d]
call fcn.101285e0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10123018
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10122ff0
push edi
lea ecx, [esp + 0x1b48]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x998]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b44]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xce0]
call fcn.100c0fe0
test al, al
je 0x101231a1
lea eax, [esp + 0x11ac]
push eax
lea ecx, [esp + 0x7e]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10123118
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101230f0
push edi
lea ecx, [esp + 0x1b60]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9a8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5ec]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b5c]
jmp 0x1012328c
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xce0]
call fcn.100c0e80
test al, al
je 0x10123291
lea eax, [esp + 0x131c]
push eax
lea ecx, [esp + 0x7f]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10123208
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101231e0
push edi
lea ecx, [esp + 0x1b78]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9c8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5f4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b74]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xcbc
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101232aa.3260
jmp dword [ecx*4 + 0x101282a4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x101232bd
mov al, byte [eax + 0x20]
test al, al
je case.0x101232aa.3260
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xcbc]
call fcn.100c1310
test al, al
je 0x10123494
lea eax, [esp + 0x1034]
push eax
lea ecx, [esp + 0x80]
call fcn.10128600
mov edi, eax
cmp byte [edi + 5], 0
je 0x1012332c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10123304
push edi
lea ecx, [esp + 0x1b90]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9d8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1b8c]
call fcn.10001f30
lea eax, [esp + 0xf4c]
push eax
lea ecx, [esp + 0x81]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012340b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101233e3
push edi
lea ecx, [esp + 0x1ba8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9e8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x604]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ba4]
jmp 0x1012374e
lea eax, [esp + 0x103c]
push eax
lea ecx, [esp + 0x82]
call fcn.10128600
mov edi, eax
cmp byte [edi + 5], 0
je 0x101234de
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x101234b6
push edi
lea ecx, [esp + 0x1bc0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9f8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x60c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1bbc]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xcbc]
call fcn.100c0fe0
test al, al
je 0x10123663
lea eax, [esp + 0x11b4]
push eax
lea ecx, [esp + 0x83]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101235da
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101235b2
push edi
lea ecx, [esp + 0x1bd8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa08]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x614]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1bd4]
jmp 0x1012374e
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xcbc]
call fcn.100c0e80
test al, al
je 0x10123753
lea eax, [esp + 0x1310]
push eax
lea ecx, [esp + 0x84]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101236ca
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101236a2
push edi
lea ecx, [esp + 0x1bf0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa18]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x61c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1bec]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0xd70
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012376c.3440
jmp dword [ecx*4 + 0x101282b4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x1012377f
mov al, byte [eax + 0x20]
test al, al
je case.0x1012376c.3440
imul ecx, dword [0x1021f73c], 0x58
mov eax, dword [0x10214408]
cmp byte [ecx + eax + 0xa78], 0
je case.0x1012376c.3440
lea ecx, [eax + 0xd70]
call fcn.100c1310
test al, al
je 0x10123a81
lea eax, [esp + 0x21dc]
push eax
lea ecx, [esp + 0x85]
call fcn.10128620
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x10123913
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0x24], ecx
jl 0x101238e2
movaps xmm2, xmmword [0x101eb860]
mov ecx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x101238e2
push edi
lea ecx, [esp + 0x1c08]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa28]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x624]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c04]
call fcn.10001f30
lea eax, [esp + 0xf54]
push eax
lea ecx, [esp + 0x86]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101239f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101239d0
push edi
lea ecx, [esp + 0x1c20]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa38]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x62c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c1c]
jmp 0x10123e5c
lea eax, [esp + 0x21cc]
push eax
lea ecx, [esp + 0x87]
call fcn.10128620
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x10123be1
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0x24], ecx
jl 0x10123bb0
movaps xmm2, xmmword [0x101eb860]
mov ecx, 8
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
mov dword [esp + 0x24], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x10123bb0
push edi
lea ecx, [esp + 0x1c38]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa48]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x634]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c34]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd70]
call fcn.100c0fe0
test al, al
je 0x10123d71
lea eax, [esp + 0x11bc]
push eax
lea ecx, [esp + 0x88]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10123ce8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10123cc0
push edi
lea ecx, [esp + 0x1c50]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa58]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x63c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c4c]
jmp 0x10123e5c
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0xd70]
call fcn.100c0e80
test al, al
je 0x10123e61
lea eax, [esp + 0x1304]
push eax
lea ecx, [esp + 0x89]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10123dd8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10123db0
push edi
lea ecx, [esp + 0x1c68]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9b8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x644]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c64]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
add eax, 0x344c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10123e7a.13388
jmp dword [ecx*4 + 0x101282c4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10123e8d
mov al, byte [eax + 0x20]
test al, al
je case.0x10123e7a.13388
mov eax, dword [0x10214408]
cmp byte [eax + 0x3448], 0
je case.0x10123e7a.13388
lea ecx, [eax + 0x344c]
call fcn.100c1310
test al, al
je 0x10124074
lea eax, [esp + 0x14d8]
push eax
lea ecx, [esp + 0x8a]
call fcn.10128650
mov edi, eax
cmp byte [edi + 9], 0
je 0x10123f08
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10123ee0
push edi
lea ecx, [esp + 0x1c80]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa98]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x64c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c7c]
call fcn.10001f30
lea eax, [esp + 0xf5c]
push eax
lea ecx, [esp + 0x8b]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10123feb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10123fc3
push edi
lea ecx, [esp + 0x1c98]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa68]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x654]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1c94]
jmp 0x10124360
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x344c]
call fcn.100c1310
test al, al
jne case.0x10123e7a.13388
lea eax, [esp + 0x149c]
push eax
lea ecx, [esp + 0x8c]
call fcn.10128650
mov edi, eax
cmp byte [edi + 9], 0
je 0x101240e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101240c0
push edi
lea ecx, [esp + 0x1cb0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xea8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x65c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1cac]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x344c]
call fcn.100c0fe0
test al, al
je 0x10124271
lea eax, [esp + 0x11c4]
push eax
lea ecx, [esp + 0x8d]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101241e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101241c0
push edi
lea ecx, [esp + 0x1cc8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe98]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x664]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1cc4]
jmp 0x10124360
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x344c]
call fcn.100c0e80
test al, al
je 0x10124365
lea eax, [esp + 0x12f8]
push eax
lea ecx, [esp + 0x8e]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101242dc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101242b4
push edi
lea ecx, [esp + 0x1ce0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe88]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x66c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1cdc]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x3485], 0
je case.0x1012438f.0
mov ecx, dword [eax + 0x3488]
add eax, 0x3488
cmp ecx, 3
ja case.0x1012438f.0
jmp dword [ecx*4 + 0x101282d4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x101243a2
mov al, byte [eax + 0x20]
test al, al
je case.0x1012438f.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x3488]
call fcn.100c1310
test al, al
je 0x10124584
lea eax, [esp + 0x1490]
push eax
lea ecx, [esp + 0x8f]
call fcn.10128670
mov edi, eax
cmp byte [edi + 9], 0
je 0x10124418
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101243f0
push edi
lea ecx, [esp + 0x1cf8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe78]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1cf4]
call fcn.10001f30
lea eax, [esp + 0xf64]
push eax
lea ecx, [esp + 0x90]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101244fb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101244d3
push edi
lea ecx, [esp + 0x1d10]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe68]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1dc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d0c]
jmp 0x10124850
lea eax, [esp + 0x1484]
push eax
lea ecx, [esp + 0x91]
call fcn.10128670
mov edi, eax
cmp byte [edi + 9], 0
je 0x101245d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101245b0
push edi
lea ecx, [esp + 0x1d28]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe58]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d24]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3488]
call fcn.100c0fe0
test al, al
je 0x10124761
lea eax, [esp + 0x11cc]
push eax
lea ecx, [esp + 0x92]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101246d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101246b0
push edi
lea ecx, [esp + 0x1d40]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe48]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1ec]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d3c]
jmp 0x10124850
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3488]
call fcn.100c0e80
test al, al
je 0x10124855
lea eax, [esp + 0x12ec]
push eax
lea ecx, [esp + 0x93]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101247cc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101247a4
push edi
lea ecx, [esp + 0x1d58]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe38]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1f4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d54]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x33b8], 0
je case.0x1012487f.0
mov ecx, dword [eax + 0x33cc]
add eax, 0x33cc
cmp ecx, 3
ja case.0x1012487f.0
jmp dword [ecx*4 + 0x101282e4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10124892
mov al, byte [eax + 0x20]
test al, al
je case.0x1012487f.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x33cc]
call fcn.100c1310
test al, al
je 0x10124a74
lea eax, [esp + 0x1364]
push eax
lea ecx, [esp + 0x94]
call fcn.10128690
mov edi, eax
cmp byte [edi + 8], 0
je 0x10124908
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101248e0
push edi
lea ecx, [esp + 0x1d70]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe28]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d6c]
call fcn.10001f30
lea eax, [esp + 0xf6c]
push eax
lea ecx, [esp + 0x95]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101249eb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101249c3
push edi
lea ecx, [esp + 0x1d88]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe18]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x204]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d84]
jmp 0x10124d40
lea eax, [esp + 0x12e0]
push eax
lea ecx, [esp + 0x96]
call fcn.10128690
mov edi, eax
cmp byte [edi + 8], 0
je 0x10124ac8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10124aa0
push edi
lea ecx, [esp + 0x1da0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe08]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x20c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1d9c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x33cc]
call fcn.100c0fe0
test al, al
je 0x10124c51
lea eax, [esp + 0x1224]
push eax
lea ecx, [esp + 0x97]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10124bc8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10124ba0
push edi
lea ecx, [esp + 0x1db8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdf8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x214]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1db4]
jmp 0x10124d40
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x33cc]
call fcn.100c0e80
test al, al
je 0x10124d45
lea eax, [esp + 0x12d4]
push eax
lea ecx, [esp + 0x98]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10124cbc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10124c94
push edi
lea ecx, [esp + 0x1dd0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xde8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x21c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1dcc]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x3390], 0
je case.0x10124d6f.0
mov ecx, dword [eax + 0x3394]
add eax, 0x3394
cmp ecx, 3
ja case.0x10124d6f.0
jmp dword [ecx*4 + 0x101282f4]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10124d82
mov al, byte [eax + 0x20]
test al, al
je case.0x10124d6f.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3394]
call fcn.100c1310
test al, al
je 0x10124f64
lea eax, [esp + 0x12c8]
push eax
lea ecx, [esp + 0x99]
call fcn.101286b0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10124df8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10124dd0
push edi
lea ecx, [esp + 0x1de8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdd8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x224]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1de4]
call fcn.10001f30
lea eax, [esp + 0xf74]
push eax
lea ecx, [esp + 0x9a]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10124edb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10124eb3
push edi
lea ecx, [esp + 0x1e00]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdc8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x22c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1dfc]
jmp 0x10125230
lea eax, [esp + 0x12bc]
push eax
lea ecx, [esp + 0x9b]
call fcn.101286b0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10124fb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10124f90
push edi
lea ecx, [esp + 0x1e18]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdb8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x234]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e14]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3394]
call fcn.100c0fe0
test al, al
je 0x10125141
lea eax, [esp + 0x11d4]
push eax
lea ecx, [esp + 0x9c]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101250b8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10125090
push edi
lea ecx, [esp + 0x1e30]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xda8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x23c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e2c]
jmp 0x10125230
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3394]
call fcn.100c0e80
test al, al
je 0x10125235
lea eax, [esp + 0x12b0]
push eax
lea ecx, [esp + 0x9d]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101251ac
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10125184
push edi
lea ecx, [esp + 0x1e48]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd98]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x244]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e44]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x14a9], 0
je case.0x1012525f.0
mov ecx, dword [eax + 0x14ac]
add eax, 0x14ac
cmp ecx, 3
ja case.0x1012525f.0
jmp dword [ecx*4 + 0x10128304]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10125272
mov al, byte [eax + 0x20]
test al, al
je case.0x1012525f.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14ac]
call fcn.100c1310
test al, al
je 0x10125454
lea eax, [esp + 0xf7c]
push eax
lea ecx, [esp + 0x9e]
call fcn.101286d0
mov edi, eax
cmp byte [edi + 4], 0
je 0x101252e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101252c0
push edi
lea ecx, [esp + 0x1e60]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd88]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x24c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e5c]
call fcn.10001f30
lea eax, [esp + 0xf84]
push eax
lea ecx, [esp + 0x9f]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101253cb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101253a3
push edi
lea ecx, [esp + 0x1e78]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7e8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x254]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e74]
jmp 0x10125720
lea eax, [esp + 0xfcc]
push eax
lea ecx, [esp + 0xa0]
call fcn.101286d0
mov edi, eax
cmp byte [edi + 4], 0
je 0x101254a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10125480
push edi
lea ecx, [esp + 0x1e90]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd78]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1e8c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14ac]
call fcn.100c0fe0
test al, al
je 0x10125631
lea eax, [esp + 0x11dc]
push eax
lea ecx, [esp + 0xa1]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101255a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10125580
push edi
lea ecx, [esp + 0x1ea8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd68]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x264]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ea4]
jmp 0x10125720
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14ac]
call fcn.100c0e80
test al, al
je 0x10125725
lea eax, [esp + 0x1418]
push eax
lea ecx, [esp + 0xa2]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012569c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10125674
push edi
lea ecx, [esp + 0x1ec0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd58]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x26c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ebc]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x14d0], 0
je case.0x1012574f.0
mov ecx, dword [eax + 0x14d4]
add eax, 0x14d4
cmp ecx, 3
ja case.0x1012574f.0
jmp dword [ecx*4 + 0x10128314]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10125762
mov al, byte [eax + 0x20]
test al, al
je case.0x1012574f.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14d4]
call fcn.100c1310
test al, al
je 0x10125a51
lea eax, [esp + 0x1264]
push eax
lea ecx, [esp + 0xa3]
call fcn.101286f0
mov edi, eax
cmp byte [edi + 7], 0
je 0x101258e2
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x101258b1
movaps xmm2, xmmword [0x101eb860]
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x101258e2
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x101258b1
push edi
lea ecx, [esp + 0x1ed8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd48]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x274]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ed4]
call fcn.10001f30
lea eax, [esp + 0xf8c]
push eax
lea ecx, [esp + 0xa4]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x101259c8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101259a0
push edi
lea ecx, [esp + 0x1ef0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd38]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x27c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1eec]
jmp 0x10125e30
lea eax, [esp + 0x126c]
push eax
lea ecx, [esp + 0xa5]
call fcn.101286f0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10125bb1
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10125b80
movaps xmm2, xmmword [0x101eb860]
movaps xmm4, xmmword [0x101ebc90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.0000000000000000]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10125bb1
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10125b80
push edi
lea ecx, [esp + 0x1f08]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd28]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x284]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f04]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14d4]
call fcn.100c0fe0
test al, al
je 0x10125d41
lea eax, [esp + 0x11e4]
push eax
lea ecx, [esp + 0xa6]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10125cb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10125c90
push edi
lea ecx, [esp + 0x1f20]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd18]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x28c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f1c]
jmp 0x10125e30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x14d4]
call fcn.100c0e80
test al, al
je 0x10125e35
lea eax, [esp + 0x140c]
push eax
lea ecx, [esp + 0xa7]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10125dac
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [edi + ecx]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10125d84
push edi
lea ecx, [esp + 0x1f38]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd08]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x294]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f34]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x33f0], 0
je case.0x10125e5f.0
mov ecx, dword [eax + 0x33f8]
add eax, 0x33f8
cmp ecx, 3
ja case.0x10125e5f.0
jmp dword [ecx*4 + 0x10128324]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10125e72
mov al, byte [eax + 0x20]
test al, al
je case.0x10125e5f.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x33f8]
call fcn.100c1310
test al, al
je 0x101261c1
lea eax, [esp + 0x21ec]
push eax
lea ecx, [esp + 0xa8]
call fcn.10128710
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10126051
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10126020
movaps xmm0, xmmword [str.0000000000000000]
mov eax, 4
movaps xmm4, xmmword [0x101eb860]
xor edx, edx
movaps xmm3, xmmword [0x101ebc90]
sub eax, edi
movaps xmm5, xmmword [0x101eb8e0]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10125f10
mov edi, dword [esp + 0x1c]
jmp 0x10126051
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10126020
push edi
lea ecx, [esp + 0x1f50]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcf8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x29c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f4c]
call fcn.10001f30
lea eax, [esp + 0xf94]
push eax
lea ecx, [esp + 0xa9]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10126138
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10126110
push edi
lea ecx, [esp + 0x1f68]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xce8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f64]
jmp 0x101265f0
lea eax, [esp + 0x21fc]
push eax
lea ecx, [esp + 0xaa]
call fcn.10128710
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x10126371
xor ecx, ecx
cmp dword [0x10215510], 2
mov dword [esp + 0xc], ecx
jl 0x10126340
movaps xmm0, xmmword [str.0000000000000000]
mov eax, 4
movaps xmm4, xmmword [0x101eb860]
xor edx, edx
movaps xmm3, xmmword [0x101ebc90]
sub eax, edi
movaps xmm5, xmmword [0x101eb8e0]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb980]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10126234
mov edi, dword [esp + 0x1c]
jmp 0x10126371
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10126340
push edi
lea ecx, [esp + 0x1f80]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcd8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f7c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x33f8]
call fcn.100c0fe0
test al, al
je 0x10126501
lea eax, [esp + 0x11ec]
push eax
lea ecx, [esp + 0xab]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10126478
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10126450
push edi
lea ecx, [esp + 0x1f98]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcc8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2b4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1f94]
jmp 0x101265f0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x33f8]
call fcn.100c0e80
test al, al
je 0x101265f5
lea eax, [esp + 0x1400]
push eax
lea ecx, [esp + 0xac]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012656c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10126544
push edi
lea ecx, [esp + 0x1fb0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcb8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2bc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1fac]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x3315], 0
je case.0x1012661f.0
mov ecx, dword [eax + 0x3318]
add eax, 0x3318
cmp ecx, 3
ja case.0x1012661f.0
jmp dword [ecx*4 + 0x10128334]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10126632
mov al, byte [eax + 0x20]
test al, al
je case.0x1012661f.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3318]
call fcn.100c1310
test al, al
je 0x10126814
lea eax, [esp + 0x1478]
push eax
lea ecx, [esp + 0xad]
call fcn.10128730
mov edi, eax
cmp byte [edi + 9], 0
je 0x101266a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10126680
push edi
lea ecx, [esp + 0x1fc8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xca8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1fc4]
call fcn.10001f30
lea eax, [esp + 0xf9c]
push eax
lea ecx, [esp + 0xae]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012678b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10126763
push edi
lea ecx, [esp + 0x1fe0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc98]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2cc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1fdc]
jmp 0x10126ae0
lea eax, [esp + 0x146c]
push eax
lea ecx, [esp + 0xaf]
call fcn.10128730
mov edi, eax
cmp byte [edi + 9], 0
je 0x10126868
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10126840
push edi
lea ecx, [esp + 0x1ff8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc88]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1ff4]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3318]
call fcn.100c0fe0
test al, al
je 0x101269f1
lea eax, [esp + 0x11f4]
push eax
lea ecx, [esp + 0xb0]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10126968
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10126940
push edi
lea ecx, [esp + 0x2010]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc78]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2dc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x200c]
jmp 0x10126ae0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3318]
call fcn.100c0e80
test al, al
je 0x10126ae5
lea eax, [esp + 0x13f4]
push eax
lea ecx, [esp + 0xb1]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10126a5c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10126a34
push edi
lea ecx, [esp + 0x2028]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc68]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2024]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x333c], 0
je case.0x10126b0f.0
mov ecx, dword [eax + 0x3340]
add eax, 0x3340
cmp ecx, 3
ja case.0x10126b0f.0
jmp dword [ecx*4 + 0x10128344]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10126b22
mov al, byte [eax + 0x20]
test al, al
je case.0x10126b0f.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3340]
call fcn.100c1310
test al, al
je 0x10126d04
lea eax, [esp + 0x14b4]
push eax
lea ecx, [esp + 0xb2]
call fcn.10128750
mov edi, eax
cmp byte [edi + 9], 0
je 0x10126b98
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10126b70
push edi
lea ecx, [esp + 0x2040]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc58]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x203c]
call fcn.10001f30
lea eax, [esp + 0xfa4]
push eax
lea ecx, [esp + 0xb3]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10126c7b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10126c53
push edi
lea ecx, [esp + 0x2058]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xad8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2054]
jmp 0x10126fd0
lea eax, [esp + 0x14c0]
push eax
lea ecx, [esp + 0xb4]
call fcn.10128750
mov edi, eax
cmp byte [edi + 9], 0
je 0x10126d58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10126d30
push edi
lea ecx, [esp + 0x2070]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc38]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x206c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3340]
call fcn.100c0fe0
test al, al
je 0x10126ee1
lea eax, [esp + 0x11fc]
push eax
lea ecx, [esp + 0xb5]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10126e58
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10126e30
push edi
lea ecx, [esp + 0x2088]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc28]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x304]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2084]
jmp 0x10126fd0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3340]
call fcn.100c0e80
test al, al
je 0x10126fd5
lea eax, [esp + 0x1358]
push eax
lea ecx, [esp + 0xb6]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10126f4c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10126f24
push edi
lea ecx, [esp + 0x20a0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc18]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x30c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x209c]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x3364], 0
je case.0x10126fff.0
mov ecx, dword [eax + 0x336c]
add eax, 0x336c
cmp ecx, 3
ja case.0x10126fff.0
jmp dword [ecx*4 + 0x10128354]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10127012
mov al, byte [eax + 0x20]
test al, al
je case.0x10126fff.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x336c]
call fcn.100c1310
test al, al
je 0x101271f4
lea eax, [esp + 0x1460]
push eax
lea ecx, [esp + 0xb7]
call fcn.10128770
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127088
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127060
push edi
lea ecx, [esp + 0x20b8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc08]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x314]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x20b4]
call fcn.10001f30
lea eax, [esp + 0xfac]
push eax
lea ecx, [esp + 0xb8]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012716b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10127143
push edi
lea ecx, [esp + 0x20d0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbf8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x31c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x20cc]
jmp 0x101274c0
lea eax, [esp + 0x1454]
push eax
lea ecx, [esp + 0xb9]
call fcn.10128770
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127248
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127220
push edi
lea ecx, [esp + 0x20e8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbe8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x324]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x20e4]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x336c]
call fcn.100c0fe0
test al, al
je 0x101273d1
lea eax, [esp + 0x1204]
push eax
lea ecx, [esp + 0xba]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10127348
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10127320
push edi
lea ecx, [esp + 0x2100]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbd8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x32c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x20fc]
jmp 0x101274c0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x336c]
call fcn.100c0e80
test al, al
je 0x101274c5
lea eax, [esp + 0x13e8]
push eax
lea ecx, [esp + 0xbb]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012743c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10127414
push edi
lea ecx, [esp + 0x2118]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbc8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x334]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2114]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x341c], 0
je case.0x101274ef.0
mov ecx, dword [eax + 0x3424]
add eax, 0x3424
cmp ecx, 3
ja case.0x101274ef.0
jmp dword [ecx*4 + 0x10128364]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10127502
mov al, byte [eax + 0x20]
test al, al
je case.0x101274ef.0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3424]
call fcn.100c1310
test al, al
je 0x101276e4
lea eax, [esp + 0x1448]
push eax
lea ecx, [esp + 0xbc]
call fcn.10128790
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127578
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127550
push edi
lea ecx, [esp + 0x2130]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbb8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x33c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x212c]
call fcn.10001f30
lea eax, [esp + 0x1004]
push eax
lea ecx, [esp + 0xbd]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012765b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10127633
push edi
lea ecx, [esp + 0x2148]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xba8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x344]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2144]
jmp 0x101279b0
lea eax, [esp + 0x143c]
push eax
lea ecx, [esp + 0xbe]
call fcn.10128790
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127738
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127710
push edi
lea ecx, [esp + 0x2160]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb98]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x215c]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3424]
call fcn.100c0fe0
test al, al
je 0x101278c1
lea eax, [esp + 0x120c]
push eax
lea ecx, [esp + 0xbf]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10127838
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10127810
push edi
lea ecx, [esp + 0x2178]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb88]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x354]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x2174]
jmp 0x101279b0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x3424]
call fcn.100c0e80
test al, al
je 0x101279b5
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0xc0]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012792c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10127904
push edi
lea ecx, [esp + 0x2190]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb78]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x35c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x218c]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x34bb], 0
je case.0x101279df.0
mov ecx, dword [eax + 0x35b4]
add eax, 0x35b4
cmp ecx, 3
ja case.0x101279df.0
jmp dword [ecx*4 + 0x10128374]
mov ecx, eax
call fcn.100c0fe0
jmp 0x101279f2
mov al, byte [eax + 0x20]
test al, al
je case.0x101279df.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x35b4]
call fcn.100c1310
test al, al
jne case.0x101279df.0
lea eax, [esp + 0x14e4]
push eax
lea ecx, [esp + 0xc1]
call fcn.101287b0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10127a68
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10127a40
push edi
lea ecx, [esp + 0x21a8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb68]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x364]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x21a4]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x35b4]
call fcn.100c0fe0
test al, al
je 0x10127bf1
lea eax, [esp + 0x1214]
push eax
lea ecx, [esp + 0xc2]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10127b68
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10127b40
push edi
lea ecx, [esp + 0x1548]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb58]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x36c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1544]
jmp 0x10127ce0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x35b4]
call fcn.100c0e80
test al, al
je 0x10127ce5
lea eax, [esp + 0x13d0]
push eax
lea ecx, [esp + 0xc3]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10127c5c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10127c34
push edi
lea ecx, [esp + 0x1560]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb48]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x374]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x155c]
call fcn.10001f30
inc dword [esp + 0x10]
mov eax, dword [0x10214408]
cmp byte [eax + 0x32ed], 0
je case.0x10127d0f.0
mov ecx, dword [eax + 0x32f0]
add eax, 0x32f0
cmp ecx, 3
ja case.0x10127d0f.0
jmp dword [ecx*4 + 0x10128384]
mov ecx, eax
call fcn.100c0fe0
jmp 0x10127d22
mov al, byte [eax + 0x20]
test al, al
je case.0x10127d0f.0
mov ecx, dword [0x10214408]
lea ecx, [ecx + 0x32f0]
call fcn.100c1310
test al, al
je 0x10127f04
lea eax, [esp + 0x1430]
push eax
lea ecx, [esp + 0xc4]
call fcn.101287e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127d98
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127d70
push edi
lea ecx, [esp + 0x1578]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb38]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x37c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x1574]
call fcn.10001f30
lea eax, [esp + 0xfbc]
push eax
lea ecx, [esp + 0xc5]
call fcn.10128440
mov edi, eax
cmp byte [edi + 4], 0
je 0x10127e7b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10127e53
push edi
lea ecx, [esp + 0x15a8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb28]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x384]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x15a4]
jmp 0x101281d0
lea eax, [esp + 0x1424]
push eax
lea ecx, [esp + 0xc6]
call fcn.101287e0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10127f58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10127f30
push edi
lea ecx, [esp + 0x15c0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb18]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x38c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101eb470]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101eb4b4]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x15bc]
call fcn.10001f30
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x32f0]
call fcn.100c0fe0
test al, al
je 0x101280e1
lea eax, [esp + 0x121c]
push eax
lea ecx, [esp + 0xc7]
call fcn.101283c0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10128058
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10128030
push edi
lea ecx, [esp + 0x15d8]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb08]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x394]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x15d4]
jmp 0x101281d0
mov ecx, 0x10214408
call fcn.10034d00
lea ecx, [eax + 0x32f0]
call fcn.100c0e80
test al, al
je case.0x10127d0f.0
lea eax, [esp + 0x13c4]
push eax
lea ecx, [esp + 0xc8]
call fcn.101283f0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012814c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10128124
push edi
lea ecx, [esp + 0x15f0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
movss xmm1, dword [0x101eb334]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaf8]
call fcn.100c78b0
mov ecx, eax
call fcn.100c78d0
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x39c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101eb470]
addss xmm1, dword [0x101eb5b0]
call fcn.10097170
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.1015ab30
lea ecx, [esp + 0x15ec]
call fcn.10001f30
call fcn.10150690
call fcn.10150120
mov ecx, dword [esp + 0x222c]
pop edi
pop esi
xor ecx, esp
call fcn.1018e27a
mov esp, ebp
pop ebp
ret