Function at 0x1012bd51
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x2228
call fcn.1019c8c0
mov eax, dword [0x102090c0]
xor eax, esp
mov dword [esp + 0x2224], eax
mov ecx, dword [0x10226ca8]
push esi
push edi
cmp byte [ecx + 0x3668], 0
je 0x101342c3
movss xmm0, dword [ecx + 0x366c]
xorps xmm1, xmm1
mov edx, dword [0x10450be0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012981e
movss xmm0, dword [ecx + 0x3670]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10129870
or dword [edx + 0x1c74], 1
mov eax, dword [ecx + 0x366c]
mov ecx, dword [ecx + 0x3670]
mov dword [edx + 0x1c84], eax
mov dword [edx + 0x1c88], ecx
movss dword [edx + 0x1c8c], xmm1
movss dword [edx + 0x1c90], xmm1
mov dword [edx + 0x1c78], 1
mov eax, dword [0x10226ca8]
mov dword [eax + 0x366c], 0
mov dword [eax + 0x3670], 0
mov eax, dword [0x10226cb4]
mov ecx, 0xfb
mov esi, 0xc02fb
cmp byte [eax + 0x5c], 0
cmovne esi, ecx
or dword [edx + 0x1c74], 2
mov dword [edx + 0x1c94], 0x43160000
mov dword [edx + 0x1c98], 0
mov dword [edx + 0x1c7c], 2
mov ecx, dword [0x10226cb4]
mov ecx, dword [ecx + 0x40]
call fcn.1015d220
movq xmm0, qword [0x101f2d14]
xor edx, edx
mov al, byte [0x101f2d1c]
movq qword [esp + 0xf0c], xmm0
mov byte [esp + 0xf14], al
mov dword [esp + 0x3c], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x3c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x3c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xf0c], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 9
jl 0x101298e0
lea ecx, [esp + 0x101c]
call fcn.10029d40
lea ecx, [esp + 0xf0c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10129930
sub ecx, edx
lea eax, [esp + 0xf0c]
push ecx
push eax
lea ecx, [esp + 0x1024]
call fcn.10027a80
push 0
lea ecx, [esp + 0x1020]
call fcn.10006800
movss xmm0, dword [0x101fac3c]
xor edx, edx
mov ecx, eax
call fcn.10158040
lea ecx, [esp + 0x101c]
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x34], xmm0
call fcn.10002240
mov eax, dword [0x10450be0]
movss xmm0, dword [esp + 0x38]
mulss xmm0, dword [0x101fa918]
movss xmm1, dword [0x101fab0c]
or dword [eax + 0x1c74], 0x10
movss dword [esp + 0x3c], xmm0
subss xmm0, dword [0x101fa918]
mov dword [eax + 0x1cb0], 0x43160000
movss dword [esp + 0x40], xmm1
xorps xmm1, xmm1
movss dword [eax + 0x1cb4], xmm1
mov dword [eax + 0x1cb8], 0x43160000
movss dword [eax + 0x1cbc], xmm0
mov dword [eax + 0x1cc0], 0
mov dword [eax + 0x1cc4], 0
call fcn.10154b70
mov eax, dword [0x101f242c]
movq xmm0, qword [str.xQLTV_IePTMK_]
mov dword [esp + 0xf04], eax
mov ax, word [0x101f2430]
mov word [esp + 0xf08], ax
test ah, ah
mov eax, dword [0x10228670]
movq qword [esp + 0xefc], xmm0
je 0x10129b73
xor edx, edx
mov dword [esp + 0x2c], edx
cmp eax, 2
jl 0x10129b41
movaps xmm2, xmmword [0x101fadd0]
mov edx, 8
movaps xmm3, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov dword [esp + 0x2c], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, dword [str.xQLTV_IePTMK_]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf40]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xefc], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, dword [esp + 0xf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf40]
xorps xmm1, xmm0
movd dword [esp + 0xf00], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x2c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xefc], cl
inc edx
mov dword [esp + 0x2c], edx
cmp edx, 0xe
jl 0x10129b41
lea ecx, [esp + 0x1074]
call fcn.10029d40
lea ecx, [esp + 0xefc]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10129b90
sub ecx, edx
lea eax, [esp + 0xefc]
push ecx
push eax
lea ecx, [esp + 0x107c]
call fcn.10027a80
push esi
lea ecx, [esp + 0x1078]
call fcn.10006800
xor edx, edx
mov ecx, eax
call fcn.1015aac0
lea ecx, [esp + 0x1074]
call fcn.10002240
call fcn.10154b70
mov ecx, dword [0x10450be0]
sub esp, 0x18
mov edx, esp
mov edi, eax
mov dword [esp + 0x30], edi
mov ecx, dword [ecx + 0x1bec]
movss xmm0, dword [ecx + 0x10]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [ecx + 0x14]
mov ecx, dword [0x10226ca8]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [ecx + 0x38d4]
divss xmm0, dword [0x101faad8]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
movss dword [esp + 0x1b0], xmm0
movups xmm0, xmmword [ecx + 0x38b8]
mov eax, dword [ecx + 0x38c8]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x38cc]
mov byte [edx + 0x14], al
call fcn.100beaf0
push 0xff
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0x3b4]
mov esi, eax
call fcn.100d2890
mov edx, dword [0x10226ca8]
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [edx + 0x38b8]
mov eax, dword [edx + 0x38c8]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov al, byte [edx + 0x38cc]
xorps xmm0, xmm0
mov byte [ecx + 0x14], al
call fcn.100bec70
mov ecx, dword [0x10226ca8]
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x34], eax
movss xmm1, dword [ecx + 0x38c4]
movups xmm0, xmmword [ecx + 0x38b8]
mov eax, dword [ecx + 0x38c8]
mulss xmm1, dword [0x101fa7dc]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x38cc]
movaps xmm0, xmm1
mov byte [edx + 0x14], al
call fcn.100bec70
mov dword [esp + 0x28], eax
sub esp, 0x18
mov eax, dword [0x10226ca8]
mov edx, esp
movups xmm0, xmmword [eax + 0x38b8]
mov ecx, dword [eax + 0x38c8]
mov al, byte [eax + 0x38cc]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], ecx
mov byte [edx + 0x14], al
call fcn.100beaf0
mov ecx, dword [0x10226ca8]
movss xmm0, dword [0x101fa9c8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
cmp dword [ecx + 0x38d0], 0
movss dword [esp + 0x20], xmm0
je 0x10129d58
xorps xmm0, xmm0
movss dword [esp + 0x20], xmm0
lea ecx, [esp + 0x18c]
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x24]
movaps xmm0, xmm1
addss xmm0, dword [0x101fab0c]
push 0
push ecx
mov ecx, edi
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x100], xmm2
movss dword [esp + 0x34], xmm0
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, xmm2
movss dword [esp + 0x44], xmm0
subss xmm0, dword [0x101fa918]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp], xmm0
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x104]
push eax
call fcn.101670d0
mov eax, dword [0x10226ca8]
mov eax, dword [eax + 0x38d0]
test eax, eax
jne 0x10129e7c
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101fab10]
movss xmm1, dword [0x101fa850]
push ecx
mov dword [esp], 0x3fc00000
push eax
movss dword [esp + 0x104], xmm0
lea eax, [esp + 0x104]
movss xmm0, dword [esp + 0x44]
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 + 0x3c]
subss xmm0, xmm1
movss dword [esp + 0x120], xmm0
call fcn.10166fe0
jmp 0x1012a021
cmp eax, 1
jne 0x10129edc
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x10c]
subss xmm0, dword [0x101fa850]
movss xmm1, dword [esp + 0x2c]
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 0x1012a019
cmp eax, 2
jne 0x10129f3f
movss xmm0, dword [esp + 0x3c]
lea ecx, [esp + 0x1a4]
subss xmm0, dword [0x101fa978]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x20], xmm0
call fcn.1009d700
movss xmm2, dword [esp + 0x20]
lea ecx, [esp + 0x1ac]
movss xmm1, dword [esp + 0x14]
call fcn.1009d700
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1a8]
push esi
push eax
lea eax, [esp + 0x1b8]
jmp 0x1012a019
mov ecx, 0x10226ca8
call fcn.10036040
cmp dword [eax + 0x38d0], 3
jne 0x10129fad
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x1b4]
subss xmm0, dword [0x101fa850]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x20], xmm0
call fcn.1009d700
movss xmm2, dword [esp + 0x20]
lea ecx, [esp + 0x1bc]
movss xmm1, dword [esp + 0x14]
call fcn.1009d700
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1b8]
push esi
push eax
lea eax, [esp + 0x1c8]
jmp 0x1012a019
mov ecx, 0x10226ca8
call fcn.10036040
cmp dword [eax + 0x38d0], 4
jne 0x1012a021
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x1c4]
subss xmm0, dword [0x101fa850]
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss dword [esp + 0x20], xmm0
call fcn.1009d700
movss xmm2, dword [esp + 0x20]
lea ecx, [esp + 0x1cc]
movss xmm1, dword [esp + 0x14]
call fcn.1009d700
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1c8]
push esi
push eax
lea eax, [esp + 0x1d8]
push eax
mov ecx, edi
call fcn.10166eb0
mov al, byte [0x101f2d1c]
xor edx, edx
movq xmm0, qword [0x101f2d14]
mov byte [esp + 0xebc], al
movq qword [esp + 0xeb4], xmm0
mov dword [esp + 0x20], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xeb4], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 9
jl 0x1012a044
lea ecx, [esp + 0x10ec]
call fcn.10029d40
lea ecx, [esp + 0xeb4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012a090
sub ecx, edx
lea eax, [esp + 0xeb4]
push ecx
push eax
lea ecx, [esp + 0x10f4]
call fcn.10027a80
lea ecx, [esp + 0x10ec]
call fcn.10006800
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x34]
mulss xmm0, dword [0x101fa7dc]
push 0
addss xmm1, dword [0x101faab8]
push ecx
mov dword [esp], 0
mov ecx, edi
push 0
push esi
subss xmm1, xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm0, dword [0x101fa7dc]
push eax
lea eax, [esp + 0x198]
push eax
addss xmm0, dword [esp + 0x3c]
push 0
movss dword [esp + 0x1a0], xmm1
subss xmm0, dword [0x101fa850]
movss dword [esp + 0x1a4], xmm0
call fcn.10167650
lea ecx, [esp + 0x10ec]
call fcn.10002240
mov eax, dword [0x10226ca8]
mov eax, dword [eax + 0x38d0]
cmp eax, 3
jne 0x1012a1b3
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push eax
movss dword [esp + 0x120], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x30]
push eax
push eax
lea eax, [esp + 0x12c]
movss dword [esp + 0x130], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x138], xmm0
lea eax, [esp + 0x138]
movss dword [esp + 0x13c], xmm1
jmp 0x1012a27b
cmp eax, 4
jne 0x1012a283
movss xmm1, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [0x101fa918]
mov eax, dword [esp + 0xc]
push esi
push esi
push eax
push eax
movss dword [esp + 0x13c], xmm0
lea eax, [esp + 0x13c]
movss xmm0, dword [esp + 0x4c]
push eax
movss dword [esp + 0x144], xmm0
lea eax, [esp + 0x148]
movss xmm0, dword [esp + 0x38]
push eax
movss dword [esp + 0x14c], xmm1
movss dword [esp + 0x150], xmm0
call fcn.10167230
movss xmm0, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
movss dword [esp + 0x13c], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x140], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101fab08]
push esi
push esi
push eax
push eax
lea eax, [esp + 0x14c]
movss dword [esp + 0x154], xmm0
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x15c], xmm0
lea eax, [esp + 0x158]
push eax
mov ecx, edi
call fcn.10167230
movq xmm0, qword [0x101f23f4]
xor edx, edx
mov al, byte [0x101f23fc]
movq qword [esp + 0xed8], xmm0
mov byte [esp + 0xee0], al
mov dword [esp + 0x20], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xed8], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 9
jl 0x1012a2b0
lea ecx, [esp + 0x10d4]
call fcn.10029d40
lea ecx, [esp + 0xed8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012a300
sub ecx, edx
lea eax, [esp + 0xed8]
push ecx
push eax
lea ecx, [esp + 0x10dc]
call fcn.10027a80
push 0
lea ecx, [esp + 0x10d8]
call fcn.10006800
movss xmm0, dword [0x101fac3c]
xor edx, edx
mov ecx, eax
call fcn.10158040
lea ecx, [esp + 0x10d4]
movss dword [esp + 0x40], xmm0
call fcn.10002240
mov eax, dword [0x101f2488]
xor edx, edx
mov dword [esp + 0xee4], eax
mov ax, word [0x101f248c]
mov word [esp + 0xee8], ax
mov al, byte [0x101f248e]
mov byte [esp + 0xeea], al
mov dword [esp + 0x20], edx
nop dword [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xee4], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 7
jl 0x1012a380
lea ecx, [esp + 0x10bc]
call fcn.10029d40
lea ecx, [esp + 0xee4]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012a3d0
sub ecx, edx
lea eax, [esp + 0xee4]
push ecx
push eax
lea ecx, [esp + 0x10c4]
call fcn.10027a80
push 0
lea ecx, [esp + 0x10c0]
call fcn.10006800
movss xmm0, dword [0x101fac3c]
xor edx, edx
mov ecx, eax
call fcn.10158040
lea ecx, [esp + 0x10bc]
movss dword [esp + 0x2c], xmm0
call fcn.10002240
mov eax, dword [str.h__k7]
xor edx, edx
mov dword [esp + 0xed0], eax
mov al, byte [0x101f24a8]
mov byte [esp + 0xed4], al
mov dword [esp + 0x20], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xed0], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 5
jl 0x1012a440
lea ecx, [esp + 0x10a4]
call fcn.10029d40
lea ecx, [esp + 0xed0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012a490
sub ecx, edx
lea eax, [esp + 0xed0]
push ecx
push eax
lea ecx, [esp + 0x10ac]
call fcn.10027a80
push 0
lea ecx, [esp + 0x10a8]
call fcn.10006800
movss xmm0, dword [0x101fac3c]
xor edx, edx
mov ecx, eax
call fcn.10158040
lea ecx, [esp + 0x10a4]
movss dword [esp + 0x34], xmm0
call fcn.10002240
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x288], 0
je case.0x1012a505.0
mov ecx, dword [eax + 0xeb0]
add eax, 0xeb0
cmp ecx, 3
ja case.0x1012a505.0
jmp dword [ecx*4 + 0x101342d8]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012a518
mov al, byte [eax + 0x20]
test al, al
je case.0x1012a505.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xeb0]
call fcn.100cc060
test al, al
jne 0x1012a821
lea eax, [esp + 0x1280]
push eax
lea ecx, [esp + 0xc8]
call fcn.10134480
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012a590
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012a560
push edi
lea ecx, [esp + 0x1608]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x688]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x3f4]
addss xmm0, dword [0x101faa44]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1604]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xeb0]
call fcn.100cbd30
test al, al
je 0x1012a719
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0xc9]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012a690
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012a660
push edi
lea ecx, [esp + 0x1620]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x698]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3fc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x161c]
jmp 0x1012a814
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xeb0]
call fcn.100cbbd0
test al, al
je 0x1012a819
lea eax, [esp + 0x1274]
push eax
lea ecx, [esp + 0xca]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012a790
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012a760
push edi
lea ecx, [esp + 0x1638]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6a8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x404]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1634]
call fcn.10002240
mov dword [esp + 0x10], 3
mov ecx, 0x10226ca8
call fcn.10036040
cmp byte [eax + 0x291], 0
je case.0x1012a505.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xed4]
call fcn.100cc000
test al, al
je case.0x1012a505.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xed4]
call fcn.100cc060
test al, al
je 0x1012aa39
lea eax, [esp + 0x1538]
push eax
lea ecx, [esp + 0xcb]
call fcn.101344f0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012a8c4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012a894
push edi
lea ecx, [esp + 0x1650]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6b8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x40c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x164c]
call fcn.10002240
lea eax, [esp + 0xfc4]
push eax
lea ecx, [esp + 0xcc]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012a9b0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012a980
push edi
lea ecx, [esp + 0x1668]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6c8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x414]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1664]
jmp 0x1012ad14
lea eax, [esp + 0x152c]
push eax
lea ecx, [esp + 0xcd]
call fcn.101344f0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012aa90
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012aa60
push edi
lea ecx, [esp + 0x1680]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6d8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x41c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x167c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xed4]
call fcn.100cbd30
test al, al
je 0x1012ac1d
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0xce]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012ab94
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012ab64
push edi
lea ecx, [esp + 0x1698]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6e8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x424]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1694]
jmp 0x1012ad14
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xed4]
call fcn.100cbbd0
test al, al
je 0x1012ad19
lea eax, [esp + 0x12a4]
push eax
lea ecx, [esp + 0xcf]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012ac90
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012ac60
push edi
lea ecx, [esp + 0x16b0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6f8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x42c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x16ac]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xa2c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012ad32.2604
jmp dword [ecx*4 + 0x101342e8]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012ad45
mov al, byte [eax + 0x20]
test al, al
je case.0x1012ad32.2604
mov eax, dword [0x10226ca8]
cmp byte [eax], 0
je case.0x1012ad32.2604
lea ecx, [eax + 0xa2c]
call fcn.100cc060
test al, al
jne 0x1012b14d
lea eax, [esp + 0x125c]
push eax
lea ecx, [esp + 0xd0]
call fcn.10134540
mov edi, eax
cmp byte [edi + 7], 0
je 0x1012aebe
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x1012ae90
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1012aebe
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1012ae90
push edi
lea ecx, [esp + 0x16c8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x708]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x444]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x16c4]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xa2c]
call fcn.100cbd30
test al, al
je 0x1012b04b
lea eax, [esp + 0x123c]
push eax
lea ecx, [esp + 0xd1]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012afc2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012af92
push edi
lea ecx, [esp + 0x16e0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x718]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x44c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x16dc]
jmp 0x1012b144
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xa2c]
call fcn.100cbbd0
test al, al
je 0x1012b149
lea eax, [esp + 0x1394]
push eax
lea ecx, [esp + 0xd2]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012b0c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012b090
push edi
lea ecx, [esp + 0x16f8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x728]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x454]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x16f4]
call fcn.10002240
inc dword [esp + 0x10]
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xd10]
call fcn.100cc060
test al, al
je 0x1012b42b
lea eax, [esp + 0x1598]
push eax
lea ecx, [esp + 0xd3]
call fcn.10134560
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1012b2be
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0x20], ecx
jl 0x1012b290
movaps xmm2, xmmword [0x101fadd0]
mov ecx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax]
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 0xc
jl 0x1012b290
push edi
lea ecx, [esp + 0x1710]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x738]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x45c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x170c]
call fcn.10002240
lea eax, [esp + 0xfd4]
push eax
lea ecx, [esp + 0x4f]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012b3a2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012b372
push edi
lea ecx, [esp + 0x1728]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x748]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x464]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1724]
jmp 0x1012b819
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd10]
call fcn.100cc030
test al, al
je case.0x1012ad32.2604
lea eax, [esp + 0x158c]
push eax
lea ecx, [esp + 0x50]
call fcn.10134560
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1012b59e
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0x20], ecx
jl 0x1012b570
movaps xmm2, xmmword [0x101fadd0]
mov ecx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax + eax]
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 0xc
jl 0x1012b570
push edi
lea ecx, [esp + 0x1740]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x758]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x46c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x173c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd10]
call fcn.100cbd30
test al, al
je 0x1012b729
lea eax, [esp + 0x1244]
push eax
lea ecx, [esp + 0x51]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012b6a0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012b670
push edi
lea ecx, [esp + 0x1758]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x768]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x474]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1754]
jmp 0x1012b819
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd10]
call fcn.100cbbd0
test al, al
je 0x1012b81e
lea eax, [esp + 0x1370]
push eax
lea ecx, [esp + 0x52]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012b795
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012b765
push edi
lea ecx, [esp + 0x1770]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x778]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x47c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x176c]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xe54
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012b837.3668
jmp dword [ecx*4 + 0x101342f8]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012b84a
mov al, byte [eax + 0x20]
test al, al
je case.0x1012b837.3668
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xe54]
call fcn.100cc060
test al, al
je 0x1012ba3b
lea eax, [esp + 0x1520]
push eax
lea ecx, [esp + 0x53]
call fcn.10134580
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012b8c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012b890
push edi
lea ecx, [esp + 0x1788]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x788]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1784]
call fcn.10002240
lea eax, [esp + 0xfdc]
push eax
lea ecx, [esp + 0x54]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012b9a4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012b974
push edi
lea ecx, [esp + 0x17a0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x798]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x48c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x179c]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1012bd2c
lea eax, [esp + 0x1514]
push eax
lea ecx, [esp + 0x55]
call fcn.10134580
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012ba90
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012ba60
push edi
lea ecx, [esp + 0x17b8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7a8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x494]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x17b4]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe54]
call fcn.100cbd30
test al, al
je 0x1012bc28
lea eax, [esp + 0x1164]
push eax
lea ecx, [esp + 0x56]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012bb91
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012bb61
push edi
lea ecx, [esp + 0x17d0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7b8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x49c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x17cc]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1012bd2c
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe54]
call fcn.100cbbd0
test al, al
je 0x1012bd1d
lea eax, [esp + 0x1298]
push eax
lea ecx, [esp + 0x57]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012bc94
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012bc64
push edi
lea ecx, [esp + 0x17e8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7c8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4a4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x17e4]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x1012bd2c
mov edi, dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xe78
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012bd41.3704
jmp dword [ecx*4 + 0x10134308]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012bd54
mov al, byte [eax + 0x20]
test al, al
je case.0x1012bd41.3704
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xe78]
call fcn.100cc060
test al, al
je 0x1012bfc0
lea eax, [esp + 0x1508]
push eax
lea ecx, [esp + 0x58]
call fcn.101345b0
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 0xa], 0
je 0x1012bdd8
xor ecx, ecx
mov edi, eax
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012bda0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x108c]
call fcn.10029d40
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012bdf0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1094]
call fcn.10027a80
lea ecx, [esp + 0x108c]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x3b4]
mov esi, eax
movups xmmword [esp + 0x3b4], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101fa9c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x154], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x160]
push eax
mulss xmm0, dword [0x101faa04]
push 0
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x16c], xmm0
call fcn.10167650
lea ecx, [esp + 0x108c]
call fcn.10002240
mov eax, dword [str.h__k7]
xor edx, edx
mov dword [esp + 0xec0], eax
mov al, byte [0x101f24a8]
mov byte [esp + 0xec4], al
mov dword [esp + 0x20], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xec0], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 5
jl 0x1012bec0
lea ecx, [esp + 0x105c]
call fcn.10029d40
lea ecx, [esp + 0xec0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012bf10
sub ecx, edx
lea eax, [esp + 0xec0]
push ecx
push eax
lea ecx, [esp + 0x1064]
call fcn.10027a80
lea ecx, [esp + 0x105c]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x3c4]
mov esi, eax
movups xmmword [esp + 0x3c4], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x101fa9c0]
push 0
push esi
push eax
lea eax, [esp + 0x168]
addss xmm0, dword [0x101fab0c]
push eax
push 0
movss dword [esp + 0x170], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x174], xmm0
call fcn.10167650
lea ecx, [esp + 0x105c]
call fcn.10002240
jmp 0x1012c2d2
mov ax, word [0x101f292c]
xor edx, edx
movq xmm0, qword [str._QS]
mov word [esp + 0xf38], ax
mov al, byte [0x101f292e]
movq qword [esp + 0xf30], xmm0
mov byte [esp + 0xf3a], al
mov dword [esp + 0x20], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xf30], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 0xb
jl 0x1012bff1
lea ecx, [esp + 0x1044]
call fcn.10029d40
lea ecx, [esp + 0xf30]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012c040
sub ecx, edx
lea eax, [esp + 0xf30]
push ecx
push eax
lea ecx, [esp + 0x104c]
call fcn.10027a80
lea ecx, [esp + 0x1044]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x3d4]
mov esi, eax
movups xmmword [esp + 0x3d4], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101fa9c0]
mov ecx, dword [esp + 0x18]
push 0
push esi
push eax
movss dword [esp + 0x168], xmm0
lea eax, [esp + 0x168]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x34]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x170], xmm0
call fcn.10167740
lea ecx, [esp + 0x1044]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe78]
call fcn.100cbd30
test al, al
je 0x1012c1d9
lea eax, [esp + 0x116c]
push eax
lea ecx, [esp + 0x59]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012c150
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012c120
push edi
lea ecx, [esp + 0x1800]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7d8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4ac]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x17fc]
jmp 0x1012c2c9
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe78]
call fcn.100cbbd0
test al, al
je 0x1012c2d2
lea eax, [esp + 0x128c]
push eax
lea ecx, [esp + 0x5a]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012c245
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012c215
push edi
lea ecx, [esp + 0x1818]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc48]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4b4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1814]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10226ca8]
add eax, 0xa50
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012c2ec.2640
jmp dword [ecx*4 + 0x10134318]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012c2ff
mov al, byte [eax + 0x20]
test al, al
je case.0x1012c2ec.2640
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xa50]
call fcn.100cc060
test al, al
je 0x1012c5e3
lea eax, [esp + 0x21bc]
push eax
lea ecx, [esp + 0x5b]
call fcn.101345e0
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x1012c471
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0x20], ecx
jl 0x1012c443
movaps xmm2, xmmword [0x101fadd0]
mov ecx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 0xd
jl 0x1012c443
push edi
lea ecx, [esp + 0x1830]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7f8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x182c]
call fcn.10002240
lea eax, [esp + 0xfe4]
push eax
lea ecx, [esp + 0x5c]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012c555
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012c525
push edi
lea ecx, [esp + 0x1848]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x808]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4c4]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1844]
call fcn.10002240
jmp 0x1012ca0e
mov eax, dword [0x101f2b1c]
xor edx, edx
cmp dword [0x10228670], 2
movq xmm0, qword [str.BPDEQ__expy_]
mov dword [esp + 0xef4], eax
mov al, byte [0x101f2b20]
movq qword [esp + 0xeec], xmm0
mov byte [esp + 0xef8], al
mov dword [esp + 0x20], edx
jl 0x1012c723
movaps xmm2, xmmword [0x101fadd0]
mov edx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.BPDEQ__expy_]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xeec], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0xef0]
xorps xmm1, xmm0
movd dword [esp + 0xef0], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x20]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xeec], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 0xd
jl 0x1012c723
lea ecx, [esp + 0x1104]
call fcn.10029d40
lea ecx, [esp + 0xeec]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012c770
sub ecx, edx
lea eax, [esp + 0xeec]
push ecx
push eax
lea ecx, [esp + 0x110c]
call fcn.10027a80
lea ecx, [esp + 0x1104]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x3e4]
mov esi, eax
movups xmmword [esp + 0x3e4], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101fa9c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x16c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x178]
push eax
mulss xmm0, dword [0x101faa04]
push 0
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x184], xmm0
call fcn.10167650
lea ecx, [esp + 0x1104]
call fcn.10002240
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xa50]
call fcn.100cbd30
test al, al
je 0x1012c919
lea eax, [esp + 0x1174]
push eax
lea ecx, [esp + 0x5d]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012c890
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012c860
push edi
lea ecx, [esp + 0x1860]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x818]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4cc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x185c]
jmp 0x1012ca09
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xa50]
call fcn.100cbbd0
test al, al
je 0x1012ca12
lea eax, [esp + 0x13ac]
push eax
lea ecx, [esp + 0x5e]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012c985
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012c955
push edi
lea ecx, [esp + 0x1878]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x828]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4d4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1874]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10226ca8]
add eax, 0xa74
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012ca2c.2676
jmp dword [ecx*4 + 0x10134328]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012ca3f
mov al, byte [eax + 0x20]
test al, al
je case.0x1012ca2c.2676
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xa74]
call fcn.100cc060
xor edx, edx
mov dword [esp + 0x20], edx
test al, al
je 0x1012ccb0
mov ax, word [0x101f2584]
movq xmm0, qword [str.u_GUR]
mov word [esp + 0xf20], ax
mov al, byte [0x101f2586]
movq qword [esp + 0xf18], xmm0
mov byte [esp + 0xf22], al
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xf18], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 0xb
jl 0x1012ca91
lea ecx, [esp + 0x111c]
call fcn.10029d40
lea ecx, [esp + 0xf18]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012cae0
sub ecx, edx
lea eax, [esp + 0xf18]
push ecx
push eax
lea ecx, [esp + 0x1124]
call fcn.10027a80
lea ecx, [esp + 0x111c]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x434]
mov esi, eax
movups xmmword [esp + 0x434], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101fa9c0]
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 [0x101faa04]
push 0
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x18c], xmm0
call fcn.10167650
lea ecx, [esp + 0x111c]
call fcn.10002240
mov eax, dword [str.h__k7]
xor edx, edx
mov dword [esp + 0xec8], eax
mov al, byte [0x101f24a8]
mov byte [esp + 0xecc], al
mov dword [esp + 0x20], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xec8], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 5
jl 0x1012cbb0
lea ecx, [esp + 0x1134]
call fcn.10029d40
lea ecx, [esp + 0xec8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012cc00
sub ecx, edx
lea eax, [esp + 0xec8]
push ecx
push eax
lea ecx, [esp + 0x113c]
call fcn.10027a80
lea ecx, [esp + 0x1134]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x58c]
mov esi, eax
movups xmmword [esp + 0x58c], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x101fa9c0]
push 0
push esi
push eax
lea eax, [esp + 0x188]
addss xmm0, dword [0x101fab0c]
push eax
push 0
movss dword [esp + 0x190], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x194], xmm0
call fcn.10167650
lea ecx, [esp + 0x1134]
call fcn.10002240
jmp 0x1012cfd2
mov ax, word [0x101f2584]
movq xmm0, qword [str.u_GUR]
mov word [esp + 0xf2c], ax
mov al, byte [0x101f2586]
movq qword [esp + 0xf24], xmm0
mov byte [esp + 0xf2e], al
nop dword [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x20]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x20]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0xf24], cl
inc edx
mov dword [esp + 0x20], edx
cmp edx, 0xb
jl 0x1012cce0
lea ecx, [esp + 0x114c]
call fcn.10029d40
lea ecx, [esp + 0xf24]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1012cd30
sub ecx, edx
lea eax, [esp + 0xf24]
push ecx
push eax
lea ecx, [esp + 0x1154]
call fcn.10027a80
lea ecx, [esp + 0x114c]
call fcn.10006800
movaps xmm0, xmmword [0x101fb190]
lea ecx, [esp + 0x5ac]
mov esi, eax
movups xmmword [esp + 0x5ac], xmm0
call fcn.100d2910
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x101fa9c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x184], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x190]
push eax
mulss xmm0, dword [0x101faa04]
push 0
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x19c], xmm0
call fcn.10167650
lea ecx, [esp + 0x114c]
call fcn.10002240
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xa74]
call fcn.100cbd30
test al, al
je 0x1012ced9
lea eax, [esp + 0x117c]
push eax
lea ecx, [esp + 0x5f]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012ce50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012ce20
push edi
lea ecx, [esp + 0x1890]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x838]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4dc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x188c]
jmp 0x1012cfc9
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xa74]
call fcn.100cbbd0
test al, al
je 0x1012cfd2
lea eax, [esp + 0x13a0]
push eax
lea ecx, [esp + 0x60]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012cf45
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012cf15
push edi
lea ecx, [esp + 0x18a8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x848]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4e4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x18a4]
call fcn.10002240
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10226ca8]
add eax, 0xe0c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012cfec.3596
jmp dword [ecx*4 + 0x10134338]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012cfff
mov al, byte [eax + 0x20]
test al, al
je case.0x1012cfec.3596
imul ecx, dword [0x102292a4], 0x58
mov eax, dword [0x10226ca8]
cmp byte [ecx + eax + 0xb1d], 0
je case.0x1012cfec.3596
lea ecx, [eax + 0xe0c]
call fcn.100cc060
test al, al
je 0x1012d1f9
lea eax, [esp + 0x14fc]
push eax
lea ecx, [esp + 0x61]
call fcn.10134610
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012d083
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012d053
push edi
lea ecx, [esp + 0x18c0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x858]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x18bc]
call fcn.10002240
lea eax, [esp + 0xfb4]
push eax
lea ecx, [esp + 0x62]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012d170
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012d140
push edi
lea ecx, [esp + 0x18d8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x868]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4f4]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x18d4]
jmp 0x1012d4ca
lea eax, [esp + 0x14f0]
push eax
lea ecx, [esp + 0x63]
call fcn.10134610
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1012d250
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1012d220
push edi
lea ecx, [esp + 0x18f0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x878]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x18ec]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe0c]
call fcn.100cbd30
test al, al
je 0x1012d3da
lea eax, [esp + 0x1184]
push eax
lea ecx, [esp + 0x64]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012d351
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012d321
push edi
lea ecx, [esp + 0x1908]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x888]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x504]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1904]
jmp 0x1012d4ca
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe0c]
call fcn.100cbbd0
test al, al
je 0x1012d4cf
lea eax, [esp + 0x1388]
push eax
lea ecx, [esp + 0x65]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012d446
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012d416
push edi
lea ecx, [esp + 0x1920]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x958]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x50c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x191c]
call fcn.10002240
mov edi, dword [esp + 0x10]
mov ecx, 0x10226ca8
inc edi
mov esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], esi
call fcn.10036040
lea ecx, [eax + 0xde8]
call fcn.100cc000
test al, al
je case.0x1012cfec.3596
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xde8]
call fcn.100cc060
test al, al
je 0x1012d839
lea eax, [esp + 0x221c]
push eax
lea ecx, [esp + 0x66]
call fcn.10134640
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1012d6be
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x1012d690
movaps xmm0, xmmword [0x101faf40]
mov eax, 4
movaps xmm4, xmmword [0x101fadd0]
xor edx, edx
movaps xmm3, xmmword [0x101faf20]
sub eax, edi
movaps xmm5, xmmword [0x101fae60]
mov ecx, edi
movaps xmmword [esp + 0xd0], xmm0
mov edi, eax
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
nop dword [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
psrad xmm1, 1
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 [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x101faf00]
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 0x1012d590
mov edi, dword [esp + 0x1c]
jmp 0x1012d6be
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1012d690
push edi
lea ecx, [esp + 0x1938]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa78]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x3c]
lea ecx, [esp + 0x514]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1934]
call fcn.10002240
lea eax, [esp + 0xfec]
push eax
lea ecx, [esp + 0x67]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012d7a2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012d772
push edi
lea ecx, [esp + 0x1950]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa88]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x51c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x194c]
call fcn.10002240
mov esi, dword [esp + 0x3c]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x1012cfec.3596
mov ecx, 0x10226ca8
mov dword [esp + 0x10], esi
call fcn.10036040
lea ecx, [eax + 0xde8]
call fcn.100cc060
test al, al
jne case.0x1012cfec.3596
lea eax, [esp + 0x220c]
push eax
lea ecx, [esp + 0x68]
call fcn.10134640
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1012d9fe
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x1012d9d0
movaps xmm0, xmmword [0x101faf40]
mov eax, 4
movaps xmm4, xmmword [0x101fadd0]
xor edx, edx
movaps xmm3, xmmword [0x101faf20]
sub eax, edi
movaps xmm5, xmmword [0x101fae60]
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
psrad xmm1, 1
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 [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x101faf00]
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 0x1012d8d0
mov edi, dword [esp + 0x1c]
jmp 0x1012d9fe
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1012d9d0
push edi
lea ecx, [esp + 0x1968]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaa8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x3c]
lea ecx, [esp + 0x524]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1964]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xde8]
call fcn.100cbd30
test al, al
je 0x1012db89
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x69]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012db00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012dad0
push edi
lea ecx, [esp + 0x1980]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xab8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x52c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x197c]
jmp 0x1012dc79
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xde8]
call fcn.100cbbd0
test al, al
je 0x1012dc7e
lea eax, [esp + 0x137c]
push eax
lea ecx, [esp + 0x6a]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012dbf5
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012dbc5
push edi
lea ecx, [esp + 0x1998]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xac8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x534]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1994]
call fcn.10002240
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x10226ca8]
add eax, 0xdc4
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012dc9c.3524
jmp dword [ecx*4 + 0x10134348]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012dcaf
mov al, byte [eax + 0x20]
test al, al
je case.0x1012dc9c.3524
imul ecx, dword [0x102292a4], 0x58
mov eax, dword [0x10226ca8]
cmp byte [ecx + eax + 0xb24], 0
je case.0x1012dc9c.3524
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xdc4]
call fcn.100cc060
test al, al
je 0x1012dead
lea eax, [esp + 0x14cc]
push eax
lea ecx, [esp + 0x6b]
call fcn.10134660
mov edi, eax
cmp byte [edi + 9], 0
je 0x1012dd40
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1012dd10
push edi
lea ecx, [esp + 0x19b0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xae8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x53c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x19ac]
call fcn.10002240
lea eax, [esp + 0xff4]
push eax
lea ecx, [esp + 0x6c]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012de24
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012ddf4
push edi
lea ecx, [esp + 0x19c8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x898]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x544]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x19c4]
jmp 0x1012e17a
lea eax, [esp + 0x14a8]
push eax
lea ecx, [esp + 0x6d]
call fcn.10134660
mov edi, eax
cmp byte [edi + 9], 0
je 0x1012df00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1012ded0
push edi
lea ecx, [esp + 0x19e0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8a8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x54c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x19dc]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xdc4]
call fcn.100cbd30
test al, al
je 0x1012e08a
lea eax, [esp + 0x1194]
push eax
lea ecx, [esp + 0x6e]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012e001
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012dfd1
push edi
lea ecx, [esp + 0x19f8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8b8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x554]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x19f4]
jmp 0x1012e17a
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xdc4]
call fcn.100cbbd0
test al, al
je 0x1012e17f
lea eax, [esp + 0x134c]
push eax
lea ecx, [esp + 0x6f]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012e0f6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012e0c6
push edi
lea ecx, [esp + 0x1a10]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8c8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x55c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a0c]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0xac8], 0
je case.0x1012f248.3452
mov ecx, dword [eax + 0xd58]
add eax, 0xd58
cmp ecx, 3
ja case.0x1012e1a9.0
jmp dword [ecx*4 + 0x10134358]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012e1bc
mov al, byte [eax + 0x20]
test al, al
je case.0x1012e1a9.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0xd58]
call fcn.100cc060
test al, al
je 0x1012e39d
lea eax, [esp + 0x1340]
push eax
lea ecx, [esp + 0x70]
call fcn.10134680
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012e230
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012e200
push edi
lea ecx, [esp + 0x1a28]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8d8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x564]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a24]
call fcn.10002240
lea eax, [esp + 0xffc]
push eax
lea ecx, [esp + 0x71]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012e314
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012e2e4
push edi
lea ecx, [esp + 0x1a40]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8e8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x56c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a3c]
jmp 0x1012e66a
lea eax, [esp + 0x1334]
push eax
lea ecx, [esp + 0x72]
call fcn.10134680
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012e3f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012e3c0
push edi
lea ecx, [esp + 0x1a58]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8f8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x574]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a54]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd58]
call fcn.100cbd30
test al, al
je 0x1012e57a
lea eax, [esp + 0x119c]
push eax
lea ecx, [esp + 0x73]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012e4f1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012e4c1
push edi
lea ecx, [esp + 0x1a70]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x908]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x57c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a6c]
jmp 0x1012e66a
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd58]
call fcn.100cbbd0
test al, al
je 0x1012e66f
lea eax, [esp + 0x1328]
push eax
lea ecx, [esp + 0x74]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012e5e6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012e5b6
push edi
lea ecx, [esp + 0x1a88]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x918]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x584]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a84]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xd34
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012e688.3380
jmp dword [ecx*4 + 0x10134368]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012e69b
mov al, byte [eax + 0x20]
test al, al
je case.0x1012e688.3380
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd34]
call fcn.100cc060
test al, al
je 0x1012e97b
lea eax, [esp + 0x124c]
push eax
lea ecx, [esp + 0x75]
call fcn.101346a0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1012e80e
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x1012e7e0
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1012e80e
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1012e7e0
push edi
lea ecx, [esp + 0x1aa0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x928]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x59c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1a9c]
call fcn.10002240
lea eax, [esp + 0x100c]
push eax
lea ecx, [esp + 0x76]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012e8f2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012e8c2
push edi
lea ecx, [esp + 0x1ab8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x938]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5a4]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ab4]
jmp 0x1012ed49
lea eax, [esp + 0x1254]
push eax
lea ecx, [esp + 0x77]
call fcn.101346a0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1012eace
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x1012eaa0
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1012eace
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1012eaa0
push edi
lea ecx, [esp + 0x1ad0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x948]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5bc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1acc]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd34]
call fcn.100cbd30
test al, al
je 0x1012ec59
lea eax, [esp + 0x11a4]
push eax
lea ecx, [esp + 0x78]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012ebd0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012eba0
push edi
lea ecx, [esp + 0x1ae8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x678]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5c4]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ae4]
jmp 0x1012ed49
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd34]
call fcn.100cbbd0
test al, al
je 0x1012ed4e
lea eax, [esp + 0x13b8]
push eax
lea ecx, [esp + 0x79]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012ecc5
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012ec95
push edi
lea ecx, [esp + 0x1b00]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x968]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5cc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1afc]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xda0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012ed67.3488
jmp dword [ecx*4 + 0x10134378]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012ed7a
mov al, byte [eax + 0x20]
test al, al
je case.0x1012ed67.3488
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xda0]
call fcn.100cc060
test al, al
je 0x1012ef5d
lea eax, [esp + 0x1014]
push eax
lea ecx, [esp + 0x7a]
call fcn.101346c0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012edf0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012edc0
push edi
lea ecx, [esp + 0x1b18]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x978]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b14]
call fcn.10002240
lea eax, [esp + 0xf3c]
push eax
lea ecx, [esp + 0x7b]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012eed4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012eea4
push edi
lea ecx, [esp + 0x1b30]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x988]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5dc]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b2c]
jmp 0x1012f22a
lea eax, [esp + 0xf44]
push eax
lea ecx, [esp + 0x7c]
call fcn.101346c0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012efb0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012ef80
push edi
lea ecx, [esp + 0x1b48]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x998]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b44]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xda0]
call fcn.100cbd30
test al, al
je 0x1012f13a
lea eax, [esp + 0x11ac]
push eax
lea ecx, [esp + 0x7d]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012f0b1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012f081
push edi
lea ecx, [esp + 0x1b60]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9a8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5ec]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b5c]
jmp 0x1012f22a
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xda0]
call fcn.100cbbd0
test al, al
je 0x1012f22f
lea eax, [esp + 0x131c]
push eax
lea ecx, [esp + 0x7e]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012f1a6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012f176
push edi
lea ecx, [esp + 0x1b78]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9c8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b74]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xd7c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012f248.3452
jmp dword [ecx*4 + 0x10134388]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012f25b
mov al, byte [eax + 0x20]
test al, al
je case.0x1012f248.3452
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd7c]
call fcn.100cc060
test al, al
je 0x1012f449
lea eax, [esp + 0x1034]
push eax
lea ecx, [esp + 0x7f]
call fcn.101346e0
mov edi, eax
cmp byte [edi + 5], 0
je 0x1012f2d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x1012f2a0
push edi
lea ecx, [esp + 0x1b90]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9d8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1b8c]
call fcn.10002240
lea eax, [esp + 0xf4c]
push eax
lea ecx, [esp + 0x80]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012f3c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012f390
push edi
lea ecx, [esp + 0x1ba8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9e8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x604]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ba4]
jmp 0x1012f724
lea eax, [esp + 0x103c]
push eax
lea ecx, [esp + 0x81]
call fcn.101346e0
mov edi, eax
cmp byte [edi + 5], 0
je 0x1012f4a0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x1012f470
push edi
lea ecx, [esp + 0x1bc0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9f8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x60c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1bbc]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd7c]
call fcn.100cbd30
test al, al
je 0x1012f62d
lea eax, [esp + 0x11b4]
push eax
lea ecx, [esp + 0x82]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012f5a4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012f574
push edi
lea ecx, [esp + 0x1bd8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa08]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x614]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1bd4]
jmp 0x1012f724
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xd7c]
call fcn.100cbbd0
test al, al
je 0x1012f729
lea eax, [esp + 0x1310]
push eax
lea ecx, [esp + 0x83]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012f6a0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012f670
push edi
lea ecx, [esp + 0x1bf0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa18]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x61c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1bec]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0xe30
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012f742.3632
jmp dword [ecx*4 + 0x10134398]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012f755
mov al, byte [eax + 0x20]
test al, al
je case.0x1012f742.3632
imul ecx, dword [0x102292a4], 0x58
mov eax, dword [0x10226ca8]
cmp byte [ecx + eax + 0xb38], 0
je case.0x1012f742.3632
lea ecx, [eax + 0xe30]
call fcn.100cc060
test al, al
je 0x1012fa4e
lea eax, [esp + 0x21dc]
push eax
lea ecx, [esp + 0x84]
call fcn.10134700
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1012f8de
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0x20], ecx
jl 0x1012f8b0
movaps xmm2, xmmword [0x101fadd0]
mov ecx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x94f2095
lea esi, [ecx + edi]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 0xe
jl 0x1012f8b0
push edi
lea ecx, [esp + 0x1c08]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa28]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x624]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c04]
call fcn.10002240
lea eax, [esp + 0xf54]
push eax
lea ecx, [esp + 0x85]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012f9c5
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012f995
push edi
lea ecx, [esp + 0x1c20]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa38]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x62c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c1c]
jmp 0x1012fe24
lea eax, [esp + 0x21cc]
push eax
lea ecx, [esp + 0x86]
call fcn.10134700
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1012fba2
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0x20], ecx
jl 0x1012fb74
movaps xmm2, xmmword [0x101fadd0]
mov ecx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
mov dword [esp + 0x20], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x94f2095
lea esi, [ecx + edi]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, 0xe
jl 0x1012fb74
push edi
lea ecx, [esp + 0x1c38]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa48]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x634]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c34]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe30]
call fcn.100cbd30
test al, al
je 0x1012fd2f
lea eax, [esp + 0x11bc]
push eax
lea ecx, [esp + 0x87]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1012fca6
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1012fc76
push edi
lea ecx, [esp + 0x1c50]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa58]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x63c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c4c]
jmp 0x1012fe24
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0xe30]
call fcn.100cbbd0
test al, al
je 0x1012fe29
lea eax, [esp + 0x1304]
push eax
lea ecx, [esp + 0x88]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1012fda0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1012fd70
push edi
lea ecx, [esp + 0x1c68]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9b8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x644]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c64]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
add eax, 0x353c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1012fe42.13628
jmp dword [ecx*4 + 0x101343a8]
mov ecx, eax
call fcn.100cbd30
jmp 0x1012fe55
mov al, byte [eax + 0x20]
test al, al
je case.0x1012fe42.13628
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x3538], 0
je case.0x1012fe42.13628
lea ecx, [eax + 0x353c]
call fcn.100cc060
test al, al
je 0x10130049
lea eax, [esp + 0x14d8]
push eax
lea ecx, [esp + 0x89]
call fcn.10134730
mov edi, eax
cmp byte [edi + 9], 0
je 0x1012fed4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1012fea4
push edi
lea ecx, [esp + 0x1c80]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa98]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x64c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c7c]
call fcn.10002240
lea eax, [esp + 0xf5c]
push eax
lea ecx, [esp + 0x8a]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x1012ffc0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1012ff90
push edi
lea ecx, [esp + 0x1c98]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa68]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x654]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1c94]
jmp 0x10130344
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x353c]
call fcn.100cc060
test al, al
jne case.0x1012fe42.13628
lea eax, [esp + 0x149c]
push eax
lea ecx, [esp + 0x8b]
call fcn.10134730
mov edi, eax
cmp byte [edi + 9], 0
je 0x101300c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10130090
push edi
lea ecx, [esp + 0x1cb0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xea8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x65c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1cac]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x353c]
call fcn.100cbd30
test al, al
je 0x1013024d
lea eax, [esp + 0x11c4]
push eax
lea ecx, [esp + 0x8c]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101301c4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10130194
push edi
lea ecx, [esp + 0x1cc8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe98]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x664]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1cc4]
jmp 0x10130344
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x353c]
call fcn.100cbbd0
test al, al
je 0x10130349
lea eax, [esp + 0x12f8]
push eax
lea ecx, [esp + 0x8d]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101302c0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10130290
push edi
lea ecx, [esp + 0x1ce0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe88]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x66c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1cdc]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x3575], 0
je case.0x10130373.0
mov ecx, dword [eax + 0x3578]
add eax, 0x3578
cmp ecx, 3
ja case.0x10130373.0
jmp dword [ecx*4 + 0x101343b8]
mov ecx, eax
call fcn.100cbd30
jmp 0x10130386
mov al, byte [eax + 0x20]
test al, al
je case.0x10130373.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0x3578]
call fcn.100cc060
test al, al
je 0x10130579
lea eax, [esp + 0x1490]
push eax
lea ecx, [esp + 0x8e]
call fcn.10134750
mov edi, eax
cmp byte [edi + 9], 0
je 0x10130400
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101303d0
push edi
lea ecx, [esp + 0x1cf8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe78]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1cf4]
call fcn.10002240
lea eax, [esp + 0xf64]
push eax
lea ecx, [esp + 0x8f]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x101304f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101304c0
push edi
lea ecx, [esp + 0x1d10]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe68]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1dc]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d0c]
jmp 0x10130854
lea eax, [esp + 0x1484]
push eax
lea ecx, [esp + 0x90]
call fcn.10134750
mov edi, eax
cmp byte [edi + 9], 0
je 0x101305d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101305a0
push edi
lea ecx, [esp + 0x1d28]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe58]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1e4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d24]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3578]
call fcn.100cbd30
test al, al
je 0x1013075d
lea eax, [esp + 0x11cc]
push eax
lea ecx, [esp + 0x91]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101306d4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101306a4
push edi
lea ecx, [esp + 0x1d40]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe48]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1ec]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d3c]
jmp 0x10130854
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3578]
call fcn.100cbbd0
test al, al
je 0x10130859
lea eax, [esp + 0x12ec]
push eax
lea ecx, [esp + 0x92]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101307d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101307a0
push edi
lea ecx, [esp + 0x1d58]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe38]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1f4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d54]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x34a4], 0
je case.0x10130883.0
mov ecx, dword [eax + 0x34bc]
add eax, 0x34bc
cmp ecx, 3
ja case.0x10130883.0
jmp dword [ecx*4 + 0x101343c8]
mov ecx, eax
call fcn.100cbd30
jmp 0x10130896
mov al, byte [eax + 0x20]
test al, al
je case.0x10130883.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0x34bc]
call fcn.100cc060
test al, al
je 0x10130a89
lea eax, [esp + 0x1364]
push eax
lea ecx, [esp + 0x93]
call fcn.10134770
mov edi, eax
cmp byte [edi + 8], 0
je 0x10130910
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101308e0
push edi
lea ecx, [esp + 0x1d70]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe28]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d6c]
call fcn.10002240
lea eax, [esp + 0xf6c]
push eax
lea ecx, [esp + 0x94]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10130a00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101309d0
push edi
lea ecx, [esp + 0x1d88]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe18]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x204]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d84]
jmp 0x10130d64
lea eax, [esp + 0x12e0]
push eax
lea ecx, [esp + 0x95]
call fcn.10134770
mov edi, eax
cmp byte [edi + 8], 0
je 0x10130ae0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10130ab0
push edi
lea ecx, [esp + 0x1da0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe08]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x20c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1d9c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x34bc]
call fcn.100cbd30
test al, al
je 0x10130c6d
lea eax, [esp + 0x1224]
push eax
lea ecx, [esp + 0x96]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10130be4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10130bb4
push edi
lea ecx, [esp + 0x1db8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdf8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x214]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1db4]
jmp 0x10130d64
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x34bc]
call fcn.100cbbd0
test al, al
je 0x10130d69
lea eax, [esp + 0x12d4]
push eax
lea ecx, [esp + 0x97]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10130ce0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10130cb0
push edi
lea ecx, [esp + 0x1dd0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xde8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x21c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1dcc]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x347c], 0
je case.0x10130d93.0
mov ecx, dword [eax + 0x3480]
add eax, 0x3480
cmp ecx, 3
ja case.0x10130d93.0
jmp dword [ecx*4 + 0x101343d8]
mov ecx, eax
call fcn.100cbd30
jmp 0x10130da6
mov al, byte [eax + 0x20]
test al, al
je case.0x10130d93.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3480]
call fcn.100cc060
test al, al
je 0x10130f99
lea eax, [esp + 0x12c8]
push eax
lea ecx, [esp + 0x98]
call fcn.10134790
mov edi, eax
cmp byte [edi + 8], 0
je 0x10130e20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10130df0
push edi
lea ecx, [esp + 0x1de8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdd8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x224]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1de4]
call fcn.10002240
lea eax, [esp + 0xf74]
push eax
lea ecx, [esp + 0x99]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10130f10
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10130ee0
push edi
lea ecx, [esp + 0x1e00]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdc8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x22c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1dfc]
jmp 0x10131274
lea eax, [esp + 0x12bc]
push eax
lea ecx, [esp + 0x9a]
call fcn.10134790
mov edi, eax
cmp byte [edi + 8], 0
je 0x10130ff0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10130fc0
push edi
lea ecx, [esp + 0x1e18]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdb8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x234]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e14]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3480]
call fcn.100cbd30
test al, al
je 0x1013117d
lea eax, [esp + 0x11d4]
push eax
lea ecx, [esp + 0x9b]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101310f4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101310c4
push edi
lea ecx, [esp + 0x1e30]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xda8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x23c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e2c]
jmp 0x10131274
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3480]
call fcn.100cbbd0
test al, al
je 0x10131279
lea eax, [esp + 0x12b0]
push eax
lea ecx, [esp + 0x9c]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101311f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101311c0
push edi
lea ecx, [esp + 0x1e48]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd98]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x244]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e44]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x1581], 0
je case.0x101312a3.0
mov ecx, dword [eax + 0x1584]
add eax, 0x1584
cmp ecx, 3
ja case.0x101312a3.0
jmp dword [ecx*4 + 0x101343e8]
mov ecx, eax
call fcn.100cbd30
jmp 0x101312b6
mov al, byte [eax + 0x20]
test al, al
je case.0x101312a3.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x1584]
call fcn.100cc060
test al, al
je 0x101314a9
lea eax, [esp + 0xf7c]
push eax
lea ecx, [esp + 0x9d]
call fcn.101347b0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10131330
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10131300
push edi
lea ecx, [esp + 0x1e60]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd88]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x24c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e5c]
call fcn.10002240
lea eax, [esp + 0xf84]
push eax
lea ecx, [esp + 0x9e]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10131420
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101313f0
push edi
lea ecx, [esp + 0x1e78]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7e8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x254]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e74]
jmp 0x10131784
lea eax, [esp + 0xfcc]
push eax
lea ecx, [esp + 0x9f]
call fcn.101347b0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10131500
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101314d0
push edi
lea ecx, [esp + 0x1e90]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd78]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1e8c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x1584]
call fcn.100cbd30
test al, al
je 0x1013168d
lea eax, [esp + 0x11dc]
push eax
lea ecx, [esp + 0xa0]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10131604
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101315d4
push edi
lea ecx, [esp + 0x1ea8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd68]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x264]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ea4]
jmp 0x10131784
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x1584]
call fcn.100cbbd0
test al, al
je 0x10131789
lea eax, [esp + 0x1418]
push eax
lea ecx, [esp + 0xa1]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10131700
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101316d0
push edi
lea ecx, [esp + 0x1ec0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd58]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x26c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ebc]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x15a8], 0
je case.0x101317b3.0
mov ecx, dword [eax + 0x15ac]
add eax, 0x15ac
cmp ecx, 3
ja case.0x101317b3.0
jmp dword [ecx*4 + 0x101343f8]
mov ecx, eax
call fcn.100cbd30
jmp 0x101317c6
mov al, byte [eax + 0x20]
test al, al
je case.0x101317b3.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x15ac]
call fcn.100cc060
test al, al
je 0x10131aae
lea eax, [esp + 0x1264]
push eax
lea ecx, [esp + 0xa2]
call fcn.101347d0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1013193e
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x10131910
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1013193e
mov eax, 0x94f2095
lea esi, [ecx + edi]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10131910
push edi
lea ecx, [esp + 0x1ed8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd48]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x274]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ed4]
call fcn.10002240
lea eax, [esp + 0xf8c]
push eax
lea ecx, [esp + 0xa3]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10131a25
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101319f5
push edi
lea ecx, [esp + 0x1ef0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd38]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x27c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1eec]
jmp 0x10131e84
lea eax, [esp + 0x126c]
push eax
lea ecx, [esp + 0xa4]
call fcn.101347d0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10131bfe
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x10131bd0
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf40]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10131bfe
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10131bd0
push edi
lea ecx, [esp + 0x1f08]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd28]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x284]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f04]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x15ac]
call fcn.100cbd30
test al, al
je 0x10131d8b
lea eax, [esp + 0x11e4]
push eax
lea ecx, [esp + 0xa5]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10131d02
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10131cd2
push edi
lea ecx, [esp + 0x1f20]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd18]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x28c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f1c]
jmp 0x10131e84
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x15ac]
call fcn.100cbbd0
test al, al
je 0x10131e89
lea eax, [esp + 0x140c]
push eax
lea ecx, [esp + 0xa6]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10131e00
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10131dd0
push edi
lea ecx, [esp + 0x1f38]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd08]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x294]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f34]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x34e0], 0
je case.0x10131eb3.0
mov ecx, dword [eax + 0x34e8]
add eax, 0x34e8
cmp ecx, 3
ja case.0x10131eb3.0
jmp dword [ecx*4 + 0x10134408]
mov ecx, eax
call fcn.100cbd30
jmp 0x10131ec6
mov al, byte [eax + 0x20]
test al, al
je case.0x10131eb3.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0x34e8]
call fcn.100cc060
test al, al
je 0x101321fe
lea eax, [esp + 0x21ec]
push eax
lea ecx, [esp + 0xa7]
call fcn.101347f0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1013208e
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x10132060
movaps xmm0, xmmword [0x101faf40]
mov eax, 4
movaps xmm4, xmmword [0x101fadd0]
xor edx, edx
movaps xmm3, xmmword [0x101faf20]
sub eax, edi
movaps xmm5, xmmword [0x101fae60]
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
psrad xmm1, 1
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 [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x101faf00]
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 0x10131f60
mov edi, dword [esp + 0x1c]
jmp 0x1013208e
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10132060
push edi
lea ecx, [esp + 0x1f50]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcf8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x29c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f4c]
call fcn.10002240
lea eax, [esp + 0xf94]
push eax
lea ecx, [esp + 0xa8]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10132175
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10132145
push edi
lea ecx, [esp + 0x1f68]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xce8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2a4]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f64]
jmp 0x10132624
lea eax, [esp + 0x21fc]
push eax
lea ecx, [esp + 0xa9]
call fcn.101347f0
mov edi, eax
mov dword [esp + 0x1c], edi
cmp byte [edi + 0xf], 0
je 0x1013239e
xor ecx, ecx
cmp dword [0x10228670], 2
mov dword [esp + 0xc], ecx
jl 0x10132370
movaps xmm0, xmmword [0x101faf40]
mov eax, 4
movaps xmm4, xmmword [0x101fadd0]
xor edx, edx
movaps xmm3, xmmword [0x101faf20]
sub eax, edi
movaps xmm5, xmmword [0x101fae60]
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
psrad xmm1, 1
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 [0x101faf00]
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
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x101faf00]
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 0x10132271
mov edi, dword [esp + 0x1c]
jmp 0x1013239e
mov eax, 0x94f2095
lea esi, [edi + ecx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10132370
push edi
lea ecx, [esp + 0x1f80]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcd8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f7c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x34e8]
call fcn.100cbd30
test al, al
je 0x1013252b
lea eax, [esp + 0x11ec]
push eax
lea ecx, [esp + 0xaa]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101324a2
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10132472
push edi
lea ecx, [esp + 0x1f98]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcc8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2b4]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1f94]
jmp 0x10132624
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x34e8]
call fcn.100cbbd0
test al, al
je 0x10132629
lea eax, [esp + 0x1400]
push eax
lea ecx, [esp + 0xab]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101325a0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10132570
push edi
lea ecx, [esp + 0x1fb0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcb8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2bc]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1fac]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x3401], 0
je case.0x10132653.0
mov ecx, dword [eax + 0x3404]
add eax, 0x3404
cmp ecx, 3
ja case.0x10132653.0
jmp dword [ecx*4 + 0x10134418]
mov ecx, eax
call fcn.100cbd30
jmp 0x10132666
mov al, byte [eax + 0x20]
test al, al
je case.0x10132653.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3404]
call fcn.100cc060
test al, al
je 0x10132859
lea eax, [esp + 0x1478]
push eax
lea ecx, [esp + 0xac]
call fcn.10134810
mov edi, eax
cmp byte [edi + 9], 0
je 0x101326e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101326b0
push edi
lea ecx, [esp + 0x1fc8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xca8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1fc4]
call fcn.10002240
lea eax, [esp + 0xf9c]
push eax
lea ecx, [esp + 0xad]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x101327d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101327a0
push edi
lea ecx, [esp + 0x1fe0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc98]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2cc]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1fdc]
jmp 0x10132b34
lea eax, [esp + 0x146c]
push eax
lea ecx, [esp + 0xae]
call fcn.10134810
mov edi, eax
cmp byte [edi + 9], 0
je 0x101328b0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10132880
push edi
lea ecx, [esp + 0x1ff8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc88]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1ff4]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3404]
call fcn.100cbd30
test al, al
je 0x10132a3d
lea eax, [esp + 0x11f4]
push eax
lea ecx, [esp + 0xaf]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101329b4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10132984
push edi
lea ecx, [esp + 0x2010]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc78]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2dc]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x200c]
jmp 0x10132b34
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3404]
call fcn.100cbbd0
test al, al
je 0x10132b39
lea eax, [esp + 0x13f4]
push eax
lea ecx, [esp + 0xb0]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10132ab0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10132a80
push edi
lea ecx, [esp + 0x2028]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc68]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2e4]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2024]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x3428], 0
je case.0x10132b63.0
mov ecx, dword [eax + 0x342c]
add eax, 0x342c
cmp ecx, 3
ja case.0x10132b63.0
jmp dword [ecx*4 + 0x10134428]
mov ecx, eax
call fcn.100cbd30
jmp 0x10132b76
mov al, byte [eax + 0x20]
test al, al
je case.0x10132b63.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x342c]
call fcn.100cc060
test al, al
je 0x10132d69
lea eax, [esp + 0x14b4]
push eax
lea ecx, [esp + 0xb1]
call fcn.10134830
mov edi, eax
cmp byte [edi + 9], 0
je 0x10132bf0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10132bc0
push edi
lea ecx, [esp + 0x2040]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc58]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x203c]
call fcn.10002240
lea eax, [esp + 0xfa4]
push eax
lea ecx, [esp + 0xb2]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10132ce0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10132cb0
push edi
lea ecx, [esp + 0x2058]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xad8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2f4]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2054]
jmp 0x10133044
lea eax, [esp + 0x14c0]
push eax
lea ecx, [esp + 0xb3]
call fcn.10134830
mov edi, eax
cmp byte [edi + 9], 0
je 0x10132dc0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10132d90
push edi
lea ecx, [esp + 0x2070]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc38]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x206c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x342c]
call fcn.100cbd30
test al, al
je 0x10132f4d
lea eax, [esp + 0x11fc]
push eax
lea ecx, [esp + 0xb4]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10132ec4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10132e94
push edi
lea ecx, [esp + 0x2088]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc28]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x304]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2084]
jmp 0x10133044
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x342c]
call fcn.100cbbd0
test al, al
je 0x10133049
lea eax, [esp + 0x1358]
push eax
lea ecx, [esp + 0xb5]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10132fc0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10132f90
push edi
lea ecx, [esp + 0x20a0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc18]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x30c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x209c]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x3450], 0
je case.0x10133073.0
mov ecx, dword [eax + 0x3458]
add eax, 0x3458
cmp ecx, 3
ja case.0x10133073.0
jmp dword [ecx*4 + 0x10134438]
mov ecx, eax
call fcn.100cbd30
jmp 0x10133086
mov al, byte [eax + 0x20]
test al, al
je case.0x10133073.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3458]
call fcn.100cc060
test al, al
je 0x10133279
lea eax, [esp + 0x1460]
push eax
lea ecx, [esp + 0xb6]
call fcn.10134850
mov edi, eax
cmp byte [edi + 9], 0
je 0x10133100
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101330d0
push edi
lea ecx, [esp + 0x20b8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc08]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x314]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x20b4]
call fcn.10002240
lea eax, [esp + 0xfac]
push eax
lea ecx, [esp + 0xb7]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x101331f0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101331c0
push edi
lea ecx, [esp + 0x20d0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbf8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x31c]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x20cc]
jmp 0x10133554
lea eax, [esp + 0x1454]
push eax
lea ecx, [esp + 0xb8]
call fcn.10134850
mov edi, eax
cmp byte [edi + 9], 0
je 0x101332d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101332a0
push edi
lea ecx, [esp + 0x20e8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbe8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x324]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x20e4]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3458]
call fcn.100cbd30
test al, al
je 0x1013345d
lea eax, [esp + 0x1204]
push eax
lea ecx, [esp + 0xb9]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101333d4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101333a4
push edi
lea ecx, [esp + 0x2100]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbd8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x32c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x20fc]
jmp 0x10133554
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3458]
call fcn.100cbbd0
test al, al
je 0x10133559
lea eax, [esp + 0x13e8]
push eax
lea ecx, [esp + 0xba]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101334d0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101334a0
push edi
lea ecx, [esp + 0x2118]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbc8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x334]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2114]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x350c], 0
je case.0x10133583.0
mov ecx, dword [eax + 0x3514]
add eax, 0x3514
cmp ecx, 3
ja case.0x10133583.0
jmp dword [ecx*4 + 0x10134448]
mov ecx, eax
call fcn.100cbd30
jmp 0x10133596
mov al, byte [eax + 0x20]
test al, al
je case.0x10133583.0
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3514]
call fcn.100cc060
test al, al
je 0x10133789
lea eax, [esp + 0x1448]
push eax
lea ecx, [esp + 0xbb]
call fcn.10134870
mov edi, eax
cmp byte [edi + 9], 0
je 0x10133610
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101335e0
push edi
lea ecx, [esp + 0x2130]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbb8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x33c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x212c]
call fcn.10002240
lea eax, [esp + 0x1004]
push eax
lea ecx, [esp + 0xbc]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10133700
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101336d0
push edi
lea ecx, [esp + 0x2148]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xba8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x344]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2144]
jmp 0x10133a64
lea eax, [esp + 0x143c]
push eax
lea ecx, [esp + 0xbd]
call fcn.10134870
mov edi, eax
cmp byte [edi + 9], 0
je 0x101337e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101337b0
push edi
lea ecx, [esp + 0x2160]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb98]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x215c]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3514]
call fcn.100cbd30
test al, al
je 0x1013396d
lea eax, [esp + 0x120c]
push eax
lea ecx, [esp + 0xbe]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101338e4
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101338b4
push edi
lea ecx, [esp + 0x2178]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb88]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x354]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x2174]
jmp 0x10133a64
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x3514]
call fcn.100cbbd0
test al, al
je 0x10133a69
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0xbf]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101339e0
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101339b0
push edi
lea ecx, [esp + 0x2190]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb78]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x35c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x218c]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x35ad], 0
je case.0x10133a93.0
mov ecx, dword [eax + 0x36c0]
add eax, 0x36c0
cmp ecx, 3
ja case.0x10133a93.0
jmp dword [ecx*4 + 0x10134458]
mov ecx, eax
call fcn.100cbd30
jmp 0x10133aa6
mov al, byte [eax + 0x20]
test al, al
je case.0x10133a93.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0x36c0]
call fcn.100cc060
test al, al
jne case.0x10133a93.0
lea eax, [esp + 0x14e4]
push eax
lea ecx, [esp + 0xc0]
call fcn.10134890
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10133b20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10133af0
push edi
lea ecx, [esp + 0x21a8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb68]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x364]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x21a4]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x36c0]
call fcn.100cbd30
test al, al
je 0x10133cad
lea eax, [esp + 0x1214]
push eax
lea ecx, [esp + 0xc1]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10133c24
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10133bf4
push edi
lea ecx, [esp + 0x1548]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb58]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x36c]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1544]
jmp 0x10133da4
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x36c0]
call fcn.100cbbd0
test al, al
je 0x10133da9
lea eax, [esp + 0x13d0]
push eax
lea ecx, [esp + 0xc2]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10133d20
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10133cf0
push edi
lea ecx, [esp + 0x1560]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb48]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x374]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x155c]
call fcn.10002240
inc dword [esp + 0x10]
mov eax, dword [0x10226ca8]
cmp byte [eax + 0x33d9], 0
je case.0x10133dd3.0
mov ecx, dword [eax + 0x33dc]
add eax, 0x33dc
cmp ecx, 3
ja case.0x10133dd3.0
jmp dword [ecx*4 + 0x10134468]
mov ecx, eax
call fcn.100cbd30
jmp 0x10133de6
mov al, byte [eax + 0x20]
test al, al
je case.0x10133dd3.0
mov ecx, dword [0x10226ca8]
lea ecx, [ecx + 0x33dc]
call fcn.100cc060
test al, al
je 0x10133fd9
lea eax, [esp + 0x1430]
push eax
lea ecx, [esp + 0xc3]
call fcn.101348c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10133e60
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10133e30
push edi
lea ecx, [esp + 0x1578]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb38]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x37c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x1574]
call fcn.10002240
lea eax, [esp + 0xfbc]
push eax
lea ecx, [esp + 0xc4]
call fcn.10134520
mov edi, eax
cmp byte [edi + 4], 0
je 0x10133f50
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10133f20
push edi
lea ecx, [esp + 0x15a8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb28]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x384]
subss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x28]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x15a4]
jmp 0x101342b4
lea eax, [esp + 0x1424]
push eax
lea ecx, [esp + 0xc5]
call fcn.101348c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x10134030
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x29e4129f
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10134000
push edi
lea ecx, [esp + 0x15c0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb18]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x38c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x101fa9c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101faa04]
addss xmm0, dword [esp + 0x24]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x15bc]
call fcn.10002240
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x33dc]
call fcn.100cbd30
test al, al
je 0x101341bd
lea eax, [esp + 0x121c]
push eax
lea ecx, [esp + 0xc6]
call fcn.101344a0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10134134
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10134104
push edi
lea ecx, [esp + 0x15d8]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb08]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x394]
subss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x15d4]
jmp 0x101342b4
mov ecx, 0x10226ca8
call fcn.10036040
lea ecx, [eax + 0x33dc]
call fcn.100cbbd0
test al, al
je case.0x10133dd3.0
lea eax, [esp + 0x13c4]
push eax
lea ecx, [esp + 0xc7]
call fcn.101344d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10134230
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x29e4129f
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x33
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10134200
push edi
lea ecx, [esp + 0x15f0]
call fcn.10020c60
mov ecx, eax
call fcn.10006800
movss xmm1, dword [0x101fa850]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaf8]
call fcn.100d28f0
mov ecx, eax
call fcn.100d2910
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x39c]
subss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x101fa9c0]
addss xmm1, dword [0x101fab0c]
call fcn.1009d700
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10167740
lea ecx, [esp + 0x15ec]
call fcn.10002240
call fcn.1015d2d0
call fcn.1015cd60
mov ecx, dword [esp + 0x222c]
pop edi
pop esi
xor ecx, esp
call fcn.1019ba64
mov esp, ebp
pop ebp
ret