Function at 0x10145d70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x2218
call fcn.101b6d00
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x2214], eax
mov ecx, dword [0x10240c80]
push esi
push edi
cmp byte [ecx + 0x36b0], 0
je 0x1014dabf
movss xmm0, dword [ecx + 0x36b4]
xorps xmm1, xmm1
mov edx, dword [0x10469450]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101433ce
movss xmm0, dword [ecx + 0x36b8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10143420
or dword [edx + 0x1c74], 1
mov eax, dword [ecx + 0x36b4]
mov ecx, dword [ecx + 0x36b8]
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 [0x10240c80]
mov dword [eax + 0x36b4], 0
mov dword [eax + 0x36b8], 0
mov eax, dword [0x10240c8c]
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 [0x10240c8c]
mov ecx, dword [ecx + 0x40]
call fcn.10177e10
movq xmm0, qword [str.zWJVXSK9]
xor edx, edx
mov al, byte [0x1020c9b8]
movq qword [esp + 0xefc], xmm0
mov byte [esp + 0xf04], al
mov dword [esp + 0x24], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xefc], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 9
jl 0x10143490
lea ecx, [esp + 0x100c]
call fcn.1002a0f0
lea ecx, [esp + 0xefc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101434d2
sub ecx, edx
lea eax, [esp + 0xefc]
push ecx
push eax
lea ecx, [esp + 0x1014]
call fcn.10027e30
push 0
lea ecx, [esp + 0x1010]
call fcn.10006590
movss xmm0, dword [0x10215934]
xor edx, edx
mov ecx, eax
call fcn.10172c30
lea ecx, [esp + 0x100c]
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x38], xmm0
call fcn.10002130
mov eax, dword [0x10469450]
movss xmm0, dword [esp + 0x3c]
mulss xmm0, dword [0x10215620]
movss xmm1, dword [0x10215810]
or dword [eax + 0x1c74], 0x10
movss dword [esp + 0x24], xmm0
subss xmm0, dword [0x10215620]
mov dword [eax + 0x1cb0], 0x43340000
movss dword [esp + 0x40], xmm1
xorps xmm1, xmm1
movss dword [eax + 0x1cb4], xmm1
mov dword [eax + 0x1cb8], 0x43340000
movss dword [eax + 0x1cbc], xmm0
mov dword [eax + 0x1cc0], 0
mov dword [eax + 0x1cc4], 0
call fcn.10170060
mov eax, dword [0x1020cd84]
movq xmm0, qword [str.zWJVXSK]
mov dword [esp + 0xef4], eax
mov ax, word [0x1020cd88]
mov word [esp + 0xef8], ax
test ah, ah
mov eax, dword [0x10241d90]
movq qword [esp + 0xeec], xmm0
je 0x10143716
xor edx, edx
mov dword [esp + 0x30], edx
cmp eax, 2
jl 0x101436e3
movaps xmm2, xmmword [0x10215ab0]
mov edx, 8
movaps xmm3, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov dword [esp + 0x30], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
movd xmm0, dword [str.zWJVXSK]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10215c30]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xeec], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
movd xmm0, dword [esp + 0xef0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10215c30]
xorps xmm1, xmm0
movd dword [esp + 0xef0], xmm1
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xeec], cl
inc edx
mov dword [esp + 0x30], edx
cmp edx, 0xe
jl 0x101436e3
lea ecx, [esp + 0x1094]
call fcn.1002a0f0
lea ecx, [esp + 0xeec]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143730
sub ecx, edx
lea eax, [esp + 0xeec]
push ecx
push eax
lea ecx, [esp + 0x109c]
call fcn.10027e30
push esi
lea ecx, [esp + 0x1098]
call fcn.10006590
xor edx, edx
mov ecx, eax
call fcn.101756b0
lea ecx, [esp + 0x1094]
call fcn.10002130
call fcn.10170060
mov ecx, dword [0x10469450]
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 [0x10240c80]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ecx + 0x391c]
divss xmm0, dword [0x102157d8]
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
movss dword [esp + 0x1a0], xmm0
movups xmm0, xmmword [ecx + 0x3900]
mov eax, dword [ecx + 0x3910]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x3914]
mov byte [edx + 0x14], al
call fcn.100bb890
push 0xff
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0x3b4]
mov esi, eax
call fcn.100cf690
mov edx, dword [0x10240c80]
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [edx + 0x3900]
mov eax, dword [edx + 0x3910]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov al, byte [edx + 0x3914]
xorps xmm0, xmm0
mov byte [ecx + 0x14], al
call fcn.100bba10
mov ecx, dword [0x10240c80]
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x34], eax
movss xmm1, dword [ecx + 0x390c]
movups xmm0, xmmword [ecx + 0x3900]
mov eax, dword [ecx + 0x3910]
mulss xmm1, dword [0x1021550c]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], eax
mov al, byte [ecx + 0x3914]
movaps xmm0, xmm1
mov byte [edx + 0x14], al
call fcn.100bba10
mov dword [esp + 0x40], eax
sub esp, 0x18
mov eax, dword [0x10240c80]
mov edx, esp
movups xmm0, xmmword [eax + 0x3900]
mov ecx, dword [eax + 0x3910]
mov al, byte [eax + 0x3914]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], ecx
mov byte [edx + 0x14], al
call fcn.100bb890
mov ecx, dword [0x10240c80]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
cmp dword [ecx + 0x3918], 0
jne 0x101438eb
movss xmm0, dword [0x1021573c]
jmp 0x101438ee
xorps xmm0, xmm0
lea ecx, [esp + 0x17c]
movss dword [esp + 0x28], xmm0
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movaps xmm0, xmm1
addss xmm0, dword [0x10215810]
push 0
push ecx
mov ecx, edi
movss dword [esp + 0xec], xmm1
movss dword [esp + 0xf0], xmm2
movss dword [esp + 0x38], xmm0
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm2
movss dword [esp + 0x2c], xmm0
subss xmm0, dword [0x10215620]
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm0
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.10181680
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3918]
test eax, eax
jne 0x10143a18
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x10215814]
movss xmm1, dword [0x10215578]
push ecx
mov dword [esp], 0x3fc00000
push eax
movss dword [esp + 0xf4], xmm0
lea eax, [esp + 0xf4]
movss xmm0, dword [esp + 0x2c]
subss xmm0, xmm1
push ecx
mov dword [esp], 0x41700000
mov ecx, edi
push esi
push eax
movss dword [esp + 0x104], xmm0
lea eax, [esp + 0x108]
movss xmm0, dword [esp + 0x28]
subss xmm0, xmm1
push eax
movss dword [esp + 0x10c], xmm0
movss xmm0, dword [esp + 0x38]
subss xmm0, xmm1
movss dword [esp + 0x110], xmm0
call fcn.10181590
jmp 0x10143bbd
cmp eax, 1
jne 0x10143a78
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0xfc]
subss xmm0, dword [0x10215578]
movss xmm1, dword [esp + 0x30]
push ecx
mov dword [esp], 0x40000000
movss dword [esp + 0x100], xmm1
movss xmm1, dword [esp + 0x18]
push esi
push eax
movss dword [esp + 0x10c], xmm0
lea eax, [esp + 0x110]
movss dword [esp + 0x110], xmm1
movss dword [esp + 0x114], xmm0
jmp 0x10143bb5
cmp eax, 2
jne 0x10143adb
movss xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x1b4]
subss xmm0, dword [0x10215680]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d330
movss xmm2, dword [esp + 0x28]
lea ecx, [esp + 0x1bc]
movss xmm1, dword [esp + 0x14]
call fcn.1009d330
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1b8]
push esi
push eax
lea eax, [esp + 0x1c8]
jmp 0x10143bb5
mov ecx, 0x10240c80
call fcn.100361f0
cmp dword [eax + 0x3918], 3
jne 0x10143b49
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x1a4]
subss xmm0, dword [0x10215578]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d330
movss xmm2, dword [esp + 0x28]
lea ecx, [esp + 0x18c]
movss xmm1, dword [esp + 0x14]
call fcn.1009d330
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x1a8]
push esi
push eax
lea eax, [esp + 0x198]
jmp 0x10143bb5
mov ecx, 0x10240c80
call fcn.100361f0
cmp dword [eax + 0x3918], 4
jne 0x10143bbd
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x194]
subss xmm0, dword [0x10215578]
movss xmm1, dword [esp + 0x30]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1009d330
movss xmm2, dword [esp + 0x28]
lea ecx, [esp + 0x19c]
movss xmm1, dword [esp + 0x14]
call fcn.1009d330
push ecx
mov dword [esp], 0x40000000
lea eax, [esp + 0x198]
push esi
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, edi
call fcn.10181460
mov al, byte [0x1020c9b8]
xor edx, edx
movq xmm0, qword [str.zWJVXSK9]
mov byte [esp + 0xeac], al
movq qword [esp + 0xea4], xmm0
mov dword [esp + 0x28], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xea4], cl
inc edx
mov dword [esp + 0x28], edx
cmp edx, 9
jl 0x10143be0
lea ecx, [esp + 0x1024]
call fcn.1002a0f0
lea ecx, [esp + 0xea4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143c22
sub ecx, edx
lea eax, [esp + 0xea4]
push ecx
push eax
lea ecx, [esp + 0x102c]
call fcn.10027e30
lea ecx, [esp + 0x1024]
call fcn.10006590
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.100cf710
movss xmm0, dword [esp + 0x38]
xorps xmm2, xmm2
divss xmm0, dword [0x10215680]
push 0
push ecx
mov ecx, edi
mov dword [esp], 0
push 0
push esi
push eax
lea eax, [esp + 0x120]
push eax
push 0
movss xmm1, dword [esp + 0x30]
addss xmm1, dword [0x102157cc]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x58]
divss xmm0, dword [0x10215680]
subss xmm1, dword [0x102156b8]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x128], xmm1
addss xmm0, dword [0x10215620]
movss dword [esp + 0x12c], xmm0
call fcn.10181c00
lea ecx, [esp + 0x1024]
call fcn.10002130
mov eax, dword [0x10240c80]
mov eax, dword [eax + 0x3918]
cmp eax, 3
jne 0x10143d4d
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push eax
movss dword [esp + 0x118], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x48]
push eax
push eax
lea eax, [esp + 0x124]
movss dword [esp + 0x128], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x130], xmm0
lea eax, [esp + 0x130]
movss dword [esp + 0x134], xmm1
jmp 0x10143e15
cmp eax, 4
jne 0x10143e1d
movss xmm1, dword [esp + 0x14]
mov ecx, edi
mov esi, dword [esp + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [0x10215620]
mov eax, dword [esp + 0xc]
push esi
push esi
push eax
push eax
movss dword [esp + 0x134], xmm0
lea eax, [esp + 0x134]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x13c], xmm0
lea eax, [esp + 0x140]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x144], xmm1
movss dword [esp + 0x148], xmm0
call fcn.101817e0
movss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
movss dword [esp + 0x134], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x138], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x1021580c]
push esi
push esi
push eax
push eax
lea eax, [esp + 0x144]
movss dword [esp + 0x14c], xmm0
movss xmm0, dword [esp + 0x30]
push eax
movss dword [esp + 0x154], xmm0
lea eax, [esp + 0x150]
push eax
mov ecx, edi
call fcn.101817e0
movq xmm0, qword [str.jFSRZRe9]
xor edx, edx
mov al, byte [0x1020c5e8]
movq qword [esp + 0xec8], xmm0
mov byte [esp + 0xed0], al
mov dword [esp + 0xc], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xec8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 9
jl 0x10143e40
lea ecx, [esp + 0x10ac]
call fcn.1002a0f0
lea ecx, [esp + 0xec8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143e82
sub ecx, edx
lea eax, [esp + 0xec8]
push ecx
push eax
lea ecx, [esp + 0x10b4]
call fcn.10027e30
push 0
lea ecx, [esp + 0x10b0]
call fcn.10006590
movss xmm0, dword [0x10215934]
xor edx, edx
mov ecx, eax
call fcn.10172c30
lea ecx, [esp + 0x10ac]
movss dword [esp + 0x30], xmm0
call fcn.10002130
mov eax, dword [str.jZXQk7]
xor edx, edx
mov dword [esp + 0xed4], eax
mov ax, word [0x1020c41c]
mov word [esp + 0xed8], ax
mov al, byte [0x1020c41e]
mov byte [esp + 0xeda], al
mov dword [esp + 0xc], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xed4], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x10143f00
lea ecx, [esp + 0x103c]
call fcn.1002a0f0
lea ecx, [esp + 0xed4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143f42
sub ecx, edx
lea eax, [esp + 0xed4]
push ecx
push eax
lea ecx, [esp + 0x1044]
call fcn.10027e30
push 0
lea ecx, [esp + 0x1040]
call fcn.10006590
movss xmm0, dword [0x10215934]
xor edx, edx
mov ecx, eax
call fcn.10172c30
lea ecx, [esp + 0x103c]
movss dword [esp + 0x28], xmm0
call fcn.10002130
mov eax, dword [str.j__i5]
xor edx, edx
mov dword [esp + 0xec0], eax
mov al, byte [0x1020c4ac]
mov byte [esp + 0xec4], al
mov dword [esp + 0xc], edx
nop
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xec0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10143fb0
lea ecx, [esp + 0x1054]
call fcn.1002a0f0
lea ecx, [esp + 0xec0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10143ff2
sub ecx, edx
lea eax, [esp + 0xec0]
push ecx
push eax
lea ecx, [esp + 0x105c]
call fcn.10027e30
push 0
lea ecx, [esp + 0x1058]
call fcn.10006590
movss xmm0, dword [0x10215934]
xor edx, edx
mov ecx, eax
call fcn.10172c30
lea ecx, [esp + 0x1054]
movss dword [esp + 0x38], xmm0
call fcn.10002130
mov eax, dword [0x10240c80]
cmp byte [eax + 0x2b4], 0
je case.0x10144067.0
mov ecx, dword [eax + 0xee8]
add eax, 0xee8
cmp ecx, 3
ja case.0x10144067.0
jmp dword [ecx*4 + 0x1014dad4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014407a
mov al, byte [eax + 0x20]
test al, al
je case.0x10144067.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xee8]
call fcn.100c90d0
test al, al
jne 0x1014435c
lea eax, [esp + 0x1270]
push eax
lea ecx, [esp + 0xd5]
call fcn.1014dc80
mov edi, eax
cmp byte [edi + 8], 0
je 0x101440e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101440c0
push edi
lea ecx, [esp + 0x15f8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc28]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x3e4]
addss xmm0, dword [0x10215744]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x15f4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xee8]
call fcn.100c8da0
test al, al
je 0x10144264
lea eax, [esp + 0x121c]
push eax
lea ecx, [esp + 0xd6]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101441db
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101441b3
push edi
lea ecx, [esp + 0x1610]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc38]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3ec]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x160c]
jmp 0x1014434f
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xee8]
call fcn.100c8c40
test al, al
je 0x10144354
lea eax, [esp + 0x1264]
push eax
lea ecx, [esp + 0xd7]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101442cb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101442a3
push edi
lea ecx, [esp + 0x1628]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc48]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x3f4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1624]
call fcn.10002130
mov dword [esp + 0x10], 3
mov ecx, 0x10240c80
call fcn.100361f0
cmp byte [eax + 0x2bd], 0
je case.0x10144067.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xf0c]
call fcn.100c9070
test al, al
je case.0x10144067.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xf0c]
call fcn.100c90d0
test al, al
je 0x10144561
lea eax, [esp + 0x1528]
push eax
lea ecx, [esp + 0xd8]
call fcn.1014dcf0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x101443f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x101443d0
push edi
lea ecx, [esp + 0x1640]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc58]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x3fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x163c]
call fcn.10002130
lea eax, [esp + 0xf44]
push eax
lea ecx, [esp + 0xd9]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x101444d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101444b0
push edi
lea ecx, [esp + 0x1658]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc68]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x404]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1654]
jmp 0x1014481c
lea eax, [esp + 0x151c]
push eax
lea ecx, [esp + 0xda]
call fcn.1014dcf0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x101445ab
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10144583
push edi
lea ecx, [esp + 0x1670]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc78]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x40c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x166c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xf0c]
call fcn.100c8da0
test al, al
je 0x10144731
lea eax, [esp + 0x1224]
push eax
lea ecx, [esp + 0xdb]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101446a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10144680
push edi
lea ecx, [esp + 0x1688]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc88]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x414]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1684]
jmp 0x1014481c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xf0c]
call fcn.100c8c40
test al, al
je 0x10144821
lea eax, [esp + 0x1288]
push eax
lea ecx, [esp + 0xdc]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10144798
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10144770
push edi
lea ecx, [esp + 0x16a0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc98]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x41c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x169c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xa58
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014483a.2648
jmp dword [ecx*4 + 0x1014dae4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014484d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014483a.2648
mov eax, dword [0x10240c80]
cmp byte [eax], 0
je case.0x1014483a.2648
lea ecx, [eax + 0xa58]
call fcn.100c90d0
test al, al
jne 0x10144c45
lea eax, [esp + 0x123c]
push eax
lea ecx, [esp + 0xdd]
call fcn.1014dd40
mov edi, eax
cmp byte [edi + 7], 0
je 0x101449c4
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10144995
movaps xmm2, xmmword [0x10215ab0]
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x101449c4
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10144995
push edi
lea ecx, [esp + 0x16b8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xca8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x434]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x16b4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xa58]
call fcn.100c8da0
test al, al
je 0x10144b51
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0xde]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10144ac8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10144aa0
push edi
lea ecx, [esp + 0x16d0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcb8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x43c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x16cc]
jmp 0x10144c3c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xa58]
call fcn.100c8c40
test al, al
je 0x10144c41
lea eax, [esp + 0x1384]
push eax
lea ecx, [esp + 0xdf]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10144bb8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10144b90
push edi
lea ecx, [esp + 0x16e8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcc8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x444]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x16e4]
call fcn.10002130
inc dword [esp + 0x10]
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd3c]
call fcn.100c90d0
test al, al
je 0x10144f15
lea eax, [esp + 0x1588]
push eax
lea ecx, [esp + 0x5b]
call fcn.1014dd60
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10144db0
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10144d81
movaps xmm2, xmmword [0x10215ab0]
mov ecx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10144d81
push edi
lea ecx, [esp + 0x1700]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcd8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x44c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x16fc]
call fcn.10002130
lea eax, [esp + 0xf3c]
push eax
lea ecx, [esp + 0x5c]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10144e8c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10144e64
push edi
lea ecx, [esp + 0x1718]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xce8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x454]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1714]
jmp 0x101452ee
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd3c]
call fcn.100c90a0
test al, al
je case.0x1014483a.2648
lea eax, [esp + 0x157c]
push eax
lea ecx, [esp + 0x5d]
call fcn.1014dd60
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x10145084
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10145055
movaps xmm2, xmmword [0x10215ab0]
mov ecx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x10145055
push edi
lea ecx, [esp + 0x1730]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xcf8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x45c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x172c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd3c]
call fcn.100c8da0
test al, al
je 0x10145206
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0x5e]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014517d
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145155
push edi
lea ecx, [esp + 0x1748]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd08]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x464]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1744]
jmp 0x101452ee
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd3c]
call fcn.100c8c40
test al, al
je 0x101452f3
lea eax, [esp + 0x1360]
push eax
lea ecx, [esp + 0x5f]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014526a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145242
push edi
lea ecx, [esp + 0x1760]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd18]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x46c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x175c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe80
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014530c.3712
jmp dword [ecx*4 + 0x1014daf4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014531f
mov al, byte [eax + 0x20]
test al, al
je case.0x1014530c.3712
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xe80]
call fcn.100c90d0
test al, al
je 0x101454ff
lea eax, [esp + 0x1510]
push eax
lea ecx, [esp + 0x60]
call fcn.1014dd80
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10145388
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145360
push edi
lea ecx, [esp + 0x1778]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd28]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x474]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1774]
call fcn.10002130
lea eax, [esp + 0xf34]
push eax
lea ecx, [esp + 0x61]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10145468
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10145440
push edi
lea ecx, [esp + 0x1790]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd38]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x47c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x178c]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101457e0
lea eax, [esp + 0x1504]
push eax
lea ecx, [esp + 0x62]
call fcn.1014dd80
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10145548
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145520
push edi
lea ecx, [esp + 0x17a8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd48]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x484]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x17a4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe80]
call fcn.100c8da0
test al, al
je 0x101456df
lea eax, [esp + 0x1154]
push eax
lea ecx, [esp + 0x63]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145648
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145620
push edi
lea ecx, [esp + 0x17c0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd58]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x48c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x17bc]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101457e0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe80]
call fcn.100c8c40
test al, al
je 0x101457d1
lea eax, [esp + 0x127c]
push eax
lea ecx, [esp + 0x64]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145748
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145720
push edi
lea ecx, [esp + 0x17d8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd68]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x494]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x17d4]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
jmp 0x101457e0
mov edi, dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xea4
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101457f5.3748
jmp dword [ecx*4 + 0x1014db04]
mov ecx, eax
call fcn.100c8da0
jmp 0x10145808
mov al, byte [eax + 0x20]
test al, al
je case.0x101457f5.3748
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xea4]
call fcn.100c90d0
test al, al
je 0x10145a52
lea eax, [esp + 0x14f8]
push eax
lea ecx, [esp + 0x65]
call fcn.1014ddb0
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 0xa], 0
je 0x10145880
xor ecx, ecx
mov edi, eax
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10145850
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x106c]
call fcn.1002a0f0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10145891
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1074]
call fcn.10027e30
lea ecx, [esp + 0x106c]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x3b4]
mov esi, eax
movups xmmword [esp + 0x3b4], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x102156c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x14c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x158]
push eax
mulss xmm0, dword [0x10215704]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x164], xmm0
call fcn.10181c00
lea ecx, [esp + 0x106c]
call fcn.10002130
mov eax, dword [str.j__i5]
xor edx, edx
mov dword [esp + 0xeb0], eax
mov al, byte [0x1020c4ac]
mov byte [esp + 0xeb4], al
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xeb0], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10145960
lea ecx, [esp + 0x10dc]
call fcn.1002a0f0
lea ecx, [esp + 0xeb0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101459a2
sub ecx, edx
lea eax, [esp + 0xeb0]
push ecx
push eax
lea ecx, [esp + 0x10e4]
call fcn.10027e30
lea ecx, [esp + 0x10dc]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x3c4]
mov esi, eax
movups xmmword [esp + 0x3c4], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x102156f4]
push 0
push esi
push eax
lea eax, [esp + 0x160]
addss xmm0, dword [0x10215810]
push eax
push 0
movss dword [esp + 0x168], xmm0
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x16c], xmm0
call fcn.10181c00
lea ecx, [esp + 0x10dc]
call fcn.10002130
jmp 0x10145d46
mov ax, word [0x1020c4d8]
xor edx, edx
movq xmm0, qword [str.y_WQ]
mov word [esp + 0xf10], ax
mov al, byte [0x1020c4da]
movq qword [esp + 0xf08], xmm0
mov byte [esp + 0xf12], al
mov dword [esp + 0xc], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xf08], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10145a83
lea ecx, [esp + 0x10c4]
call fcn.1002a0f0
lea ecx, [esp + 0xf08]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10145ac5
sub ecx, edx
lea eax, [esp + 0xf08]
push ecx
push eax
lea ecx, [esp + 0x10cc]
call fcn.10027e30
lea ecx, [esp + 0x10c4]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x3d4]
mov esi, eax
movups xmmword [esp + 0x3d4], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x102156c0]
mov ecx, dword [esp + 0x18]
push 0
push esi
push eax
movss dword [esp + 0x160], xmm0
lea eax, [esp + 0x160]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x168], xmm0
call fcn.10181cf0
lea ecx, [esp + 0x10c4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xea4]
call fcn.100c8da0
test al, al
je 0x10145c55
lea eax, [esp + 0x115c]
push eax
lea ecx, [esp + 0x66]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10145bcc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10145ba4
push edi
lea ecx, [esp + 0x17f0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd78]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x49c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x17ec]
jmp 0x10145d3d
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xea4]
call fcn.100c8c40
test al, al
je 0x10145d46
lea eax, [esp + 0x139c]
push eax
lea ecx, [esp + 0x67]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10145cb9
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10145c91
push edi
lea ecx, [esp + 0x1808]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7d8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4a4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1804]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xa7c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10145d60.2684
jmp dword [ecx*4 + 0x1014db14]
mov ecx, eax
call fcn.100c8da0
jmp 0x10145d73
mov al, byte [eax + 0x20]
test al, al
je case.0x10145d60.2684
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c90d0
test al, al
je 0x10146059
lea eax, [esp + 0x21ac]
push eax
lea ecx, [esp + 0x68]
call fcn.1014dde0
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x10145eef
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10145ec0
movaps xmm2, xmmword [0x10215ab0]
mov ecx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xd
jl 0x10145ec0
push edi
lea ecx, [esp + 0x1820]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd88]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x181c]
call fcn.10002130
lea eax, [esp + 0xf2c]
push eax
lea ecx, [esp + 0x69]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10145fcb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10145fa3
push edi
lea ecx, [esp + 0x1838]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xd98]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4b4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1834]
call fcn.10002130
jmp 0x10146481
mov eax, dword [0x1020dae0]
xor edx, edx
cmp dword [0x10241d90], 2
movq xmm0, qword [0x1020dad8]
mov dword [esp + 0xee4], eax
mov al, byte [0x1020dae4]
movq qword [esp + 0xedc], xmm0
mov byte [esp + 0xee8], al
mov dword [esp + 0x24], edx
jl 0x101461a0
movaps xmm2, xmmword [0x10215ab0]
mov edx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1020dad8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xedc], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0xee0]
xorps xmm1, xmm0
movd dword [esp + 0xee0], xmm1
nop dword [eax]
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x24]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xedc], cl
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0xd
jl 0x101461a0
lea ecx, [esp + 0x10f4]
call fcn.1002a0f0
lea ecx, [esp + 0xedc]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101461f0
sub ecx, edx
lea eax, [esp + 0xedc]
push ecx
push eax
lea ecx, [esp + 0x10fc]
call fcn.10027e30
lea ecx, [esp + 0x10f4]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x424]
mov esi, eax
movups xmmword [esp + 0x424], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x102156c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x164], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x170]
push eax
mulss xmm0, dword [0x10215704]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x17c], xmm0
call fcn.10181c00
lea ecx, [esp + 0x10f4]
call fcn.10002130
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xa7c]
call fcn.100c8da0
test al, al
je 0x10146391
lea eax, [esp + 0x1164]
push eax
lea ecx, [esp + 0x6a]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146308
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101462e0
push edi
lea ecx, [esp + 0x1850]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xda8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4bc]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x184c]
jmp 0x1014647c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xa7c]
call fcn.100c8c40
test al, al
je 0x10146485
lea eax, [esp + 0x1390]
push eax
lea ecx, [esp + 0x6b]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101463f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101463d0
push edi
lea ecx, [esp + 0x1868]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdb8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4c4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1864]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xaa0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014649f.2720
jmp dword [ecx*4 + 0x1014db24]
mov ecx, eax
call fcn.100c8da0
jmp 0x101464b2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014649f.2720
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c90d0
xor edx, edx
mov dword [esp + 0xc], edx
test al, al
je 0x10146708
mov ax, word [0x1020d190]
movq xmm0, qword [str.w_AWP]
mov word [esp + 0xf1c], ax
mov al, byte [0x1020d192]
movq qword [esp + 0xf14], xmm0
mov byte [esp + 0xf1e], al
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xf14], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10146504
lea ecx, [esp + 0x110c]
call fcn.1002a0f0
lea ecx, [esp + 0xf14]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146546
sub ecx, edx
lea eax, [esp + 0xf14]
push ecx
push eax
lea ecx, [esp + 0x1114]
call fcn.10027e30
lea ecx, [esp + 0x110c]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x57c]
mov esi, eax
movups xmmword [esp + 0x57c], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x102156c0]
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 [0x10215704]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x184], xmm0
call fcn.10181c00
lea ecx, [esp + 0x110c]
call fcn.10002130
mov eax, dword [str.j__i5]
xor edx, edx
mov dword [esp + 0xeb8], eax
mov al, byte [0x1020c4ac]
mov byte [esp + 0xebc], al
mov dword [esp + 0xc], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xeb8], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 5
jl 0x10146616
lea ecx, [esp + 0x1124]
call fcn.1002a0f0
lea ecx, [esp + 0xeb8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146658
sub ecx, edx
lea eax, [esp + 0xeb8]
push ecx
push eax
lea ecx, [esp + 0x112c]
call fcn.10027e30
lea ecx, [esp + 0x1124]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x59c]
mov esi, eax
movups xmmword [esp + 0x59c], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
subss xmm0, dword [esp + 0x38]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
subss xmm0, dword [0x102156f4]
push 0
push esi
push eax
lea eax, [esp + 0x180]
addss xmm0, dword [0x10215810]
push eax
push 0
movss dword [esp + 0x188], xmm0
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x18c], xmm0
call fcn.10181c00
lea ecx, [esp + 0x1124]
call fcn.10002130
jmp 0x10146a05
mov ax, word [0x1020d190]
movq xmm0, qword [str.w_AWP]
mov word [esp + 0xf28], ax
mov al, byte [0x1020d192]
movq qword [esp + 0xf20], xmm0
mov byte [esp + 0xf2a], al
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0xc]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esp + edx + 0xf20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x10146733
lea ecx, [esp + 0x113c]
call fcn.1002a0f0
lea ecx, [esp + 0xf20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10146775
sub ecx, edx
lea eax, [esp + 0xf20]
push ecx
push eax
lea ecx, [esp + 0x1144]
call fcn.10027e30
lea ecx, [esp + 0x113c]
call fcn.10006590
movaps xmm0, xmmword [0x10215e90]
lea ecx, [esp + 0x264]
mov esi, eax
movups xmmword [esp + 0x264], xmm0
call fcn.100cf710
movss xmm0, dword [esp + 0x14]
xorps xmm2, xmm2
addss xmm0, dword [0x102156c0]
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], 0
movss dword [esp + 0x17c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0
push esi
push eax
lea eax, [esp + 0x188]
push eax
mulss xmm0, dword [0x10215704]
push 0
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x194], xmm0
call fcn.10181c00
lea ecx, [esp + 0x113c]
call fcn.10002130
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xaa0]
call fcn.100c8da0
test al, al
je 0x10146911
lea eax, [esp + 0x116c]
push eax
lea ecx, [esp + 0x6c]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146888
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146860
push edi
lea ecx, [esp + 0x1880]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdc8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4cc]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x187c]
jmp 0x101469fc
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xaa0]
call fcn.100c8c40
test al, al
je 0x10146a05
lea eax, [esp + 0x1378]
push eax
lea ecx, [esp + 0x6d]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146978
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146950
push edi
lea ecx, [esp + 0x1898]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdd8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4d4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1894]
call fcn.10002130
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [0x10240c80]
add eax, 0xe38
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10146a1f.3640
jmp dword [ecx*4 + 0x1014db34]
mov ecx, eax
call fcn.100c8da0
jmp 0x10146a32
mov al, byte [eax + 0x20]
test al, al
je case.0x10146a1f.3640
imul ecx, dword [0x1024c1a4], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb49], 0
je case.0x10146a1f.3640
lea ecx, [eax + 0xe38]
call fcn.100c90d0
test al, al
je 0x10146c13
lea eax, [esp + 0x14ec]
push eax
lea ecx, [esp + 0x6e]
call fcn.1014de10
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10146aae
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146a86
push edi
lea ecx, [esp + 0x18b0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xde8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4dc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x18ac]
call fcn.10002130
lea eax, [esp + 0xf74]
push eax
lea ecx, [esp + 0x6f]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10146b8a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10146b62
push edi
lea ecx, [esp + 0x18c8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xdf8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4e4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x18c4]
jmp 0x10146ecc
lea eax, [esp + 0x14e0]
push eax
lea ecx, [esp + 0x70]
call fcn.1014de10
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x10146c5a
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x10146c32
push edi
lea ecx, [esp + 0x18e0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe08]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x4ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x18dc]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe38]
call fcn.100c8da0
test al, al
je 0x10146de1
lea eax, [esp + 0x1174]
push eax
lea ecx, [esp + 0x71]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10146d58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10146d30
push edi
lea ecx, [esp + 0x18f8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe18]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4f4]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x18f4]
jmp 0x10146ecc
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe38]
call fcn.100c8c40
test al, al
je 0x10146ed1
lea eax, [esp + 0x136c]
push eax
lea ecx, [esp + 0x72]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10146e48
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10146e20
push edi
lea ecx, [esp + 0x1910]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe28]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x4fc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x190c]
call fcn.10002130
mov edi, dword [esp + 0x10]
mov ecx, 0x10240c80
inc edi
mov esi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], esi
call fcn.100361f0
lea ecx, [eax + 0xe14]
call fcn.100c9070
test al, al
je case.0x10146a1f.3640
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe14]
call fcn.100c90d0
test al, al
je 0x10147222
lea eax, [esp + 0x220c]
push eax
lea ecx, [esp + 0x73]
call fcn.1014de40
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x101470af
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10147080
movaps xmm0, xmmword [0x10215c30]
mov esi, 4
movaps xmm4, xmmword [0x10215ab0]
xor edx, edx
movaps xmm3, xmmword [0x10215f10]
mov ecx, edi
movaps xmm5, xmmword [0x10215b10]
sub esi, edi
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
add edx, 8
pshufd xmm2, xmm0, 0
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, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + ecx]
lea ecx, [ecx + 8]
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
mov eax, dword [esp + 0x40]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x10146f80
jmp 0x101470af
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x10147080
push edi
lea ecx, [esp + 0x1928]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe48]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x504]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1924]
call fcn.10002130
lea eax, [esp + 0xf6c]
push eax
lea ecx, [esp + 0x74]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014718b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10147163
push edi
lea ecx, [esp + 0x1940]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe58]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x50c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x193c]
call fcn.10002130
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x10146a1f.3640
mov ecx, 0x10240c80
mov dword [esp + 0x10], esi
call fcn.100361f0
lea ecx, [eax + 0xe14]
call fcn.100c90d0
test al, al
jne case.0x10146a1f.3640
lea eax, [esp + 0x21fc]
push eax
lea ecx, [esp + 0x75]
call fcn.1014de40
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x101473cf
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x101473a0
movaps xmm0, xmmword [0x10215c30]
mov esi, 4
movaps xmm4, xmmword [0x10215ab0]
xor edx, edx
movaps xmm3, xmmword [0x10215f10]
mov ecx, edi
movaps xmm5, xmmword [0x10215b10]
sub esi, edi
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0x40]
movd xmm0, edx
add edx, 8
pshufd xmm2, xmm0, 0
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, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + ecx]
lea ecx, [ecx + 8]
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
mov eax, dword [esp + 0x40]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x101472a3
jmp 0x101473cf
mov eax, 0x51eb851f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x101473a0
push edi
lea ecx, [esp + 0x1958]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe78]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x24]
lea ecx, [esp + 0x514]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1954]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe14]
call fcn.100c8da0
test al, al
je 0x10147551
lea eax, [esp + 0x117c]
push eax
lea ecx, [esp + 0x76]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101474c8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101474a0
push edi
lea ecx, [esp + 0x1970]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe88]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x51c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x196c]
jmp 0x1014763c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe14]
call fcn.100c8c40
test al, al
je 0x10147641
lea eax, [esp + 0x133c]
push eax
lea ecx, [esp + 0x77]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x101475b8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147590
push edi
lea ecx, [esp + 0x1988]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe98]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x524]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1984]
call fcn.10002130
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [0x10240c80]
add eax, 0xdf0
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014765f.3568
jmp dword [ecx*4 + 0x1014db44]
mov ecx, eax
call fcn.100c8da0
jmp 0x10147672
mov al, byte [eax + 0x20]
test al, al
je case.0x1014765f.3568
imul ecx, dword [0x1024c1a4], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb50], 0
je case.0x1014765f.3568
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdf0]
call fcn.100c90d0
test al, al
je 0x10147861
lea eax, [esp + 0x1498]
push eax
lea ecx, [esp + 0x78]
call fcn.1014de60
mov edi, eax
cmp byte [edi + 9], 0
je 0x101476f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101476d0
push edi
lea ecx, [esp + 0x19a0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6d8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x52c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x199c]
call fcn.10002130
lea eax, [esp + 0xf64]
push eax
lea ecx, [esp + 0x79]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x101477d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x101477b0
push edi
lea ecx, [esp + 0x19b8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x888]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x534]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x19b4]
jmp 0x10147b1c
lea eax, [esp + 0x14b0]
push eax
lea ecx, [esp + 0x7a]
call fcn.1014de60
mov edi, eax
cmp byte [edi + 9], 0
je 0x101478a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10147880
push edi
lea ecx, [esp + 0x19d0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x898]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x53c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x19cc]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdf0]
call fcn.100c8da0
test al, al
je 0x10147a31
lea eax, [esp + 0x1184]
push eax
lea ecx, [esp + 0x7b]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x101479a8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147980
push edi
lea ecx, [esp + 0x19e8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8a8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x544]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x19e4]
jmp 0x10147b1c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdf0]
call fcn.100c8c40
test al, al
je 0x10147b21
lea eax, [esp + 0x1330]
push eax
lea ecx, [esp + 0x7c]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147a98
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147a70
push edi
lea ecx, [esp + 0x1a00]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8b8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x54c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x19fc]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0xaf4], 0
je case.0x10148bca.3496
mov ecx, dword [eax + 0xd84]
add eax, 0xd84
cmp ecx, 3
ja case.0x10147b4b.0
jmp dword [ecx*4 + 0x1014db54]
mov ecx, eax
call fcn.100c8da0
jmp 0x10147b5e
mov al, byte [eax + 0x20]
test al, al
je case.0x10147b4b.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0xd84]
call fcn.100c90d0
test al, al
je 0x10147d31
lea eax, [esp + 0x1324]
push eax
lea ecx, [esp + 0x7d]
call fcn.1014de80
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147bc8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147ba0
push edi
lea ecx, [esp + 0x1a18]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8c8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x554]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a14]
call fcn.10002130
lea eax, [esp + 0xf54]
push eax
lea ecx, [esp + 0x7e]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10147ca8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10147c80
push edi
lea ecx, [esp + 0x1a30]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8d8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x55c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a2c]
jmp 0x10147fec
lea eax, [esp + 0x1318]
push eax
lea ecx, [esp + 0x7f]
call fcn.1014de80
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147d78
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147d50
push edi
lea ecx, [esp + 0x1a48]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8e8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x564]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a44]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd84]
call fcn.100c8da0
test al, al
je 0x10147f01
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x80]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10147e78
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10147e50
push edi
lea ecx, [esp + 0x1a60]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x8f8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x56c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a5c]
jmp 0x10147fec
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd84]
call fcn.100c8c40
test al, al
je 0x10147ff1
lea eax, [esp + 0x13a8]
push eax
lea ecx, [esp + 0x81]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10147f68
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10147f40
push edi
lea ecx, [esp + 0x1a78]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x908]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x574]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a74]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xd60
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x1014800a.3424
jmp dword [ecx*4 + 0x1014db64]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014801d
mov al, byte [eax + 0x20]
test al, al
je case.0x1014800a.3424
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd60]
call fcn.100c90d0
test al, al
je 0x10148301
lea eax, [esp + 0x125c]
push eax
lea ecx, [esp + 0x82]
call fcn.1014dea0
mov edi, eax
cmp byte [edi + 7], 0
je 0x10148193
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10148164
movaps xmm2, xmmword [0x10215ab0]
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x10148193
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10148164
push edi
lea ecx, [esp + 0x1a90]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x918]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x58c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1a8c]
call fcn.10002130
lea eax, [esp + 0xf4c]
push eax
lea ecx, [esp + 0x83]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148278
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148250
push edi
lea ecx, [esp + 0x1aa8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x928]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x594]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1aa4]
jmp 0x101486cc
lea eax, [esp + 0x124c]
push eax
lea ecx, [esp + 0x84]
call fcn.1014dea0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014844f
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x10148420
movaps xmm2, xmmword [0x10215ab0]
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014844f
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x10148420
push edi
lea ecx, [esp + 0x1ac0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x938]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1abc]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd60]
call fcn.100c8da0
test al, al
je 0x101485d4
lea eax, [esp + 0x1194]
push eax
lea ecx, [esp + 0x85]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014854b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10148523
push edi
lea ecx, [esp + 0x1ad8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x668]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5b4]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ad4]
jmp 0x101486cc
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xd60]
call fcn.100c8c40
test al, al
je 0x101486d1
lea eax, [esp + 0x130c]
push eax
lea ecx, [esp + 0x86]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148648
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148620
push edi
lea ecx, [esp + 0x1af0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x958]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5bc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1aec]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xdcc
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101486ea.3532
jmp dword [ecx*4 + 0x1014db74]
mov ecx, eax
call fcn.100c8da0
jmp 0x101486fd
mov al, byte [eax + 0x20]
test al, al
je case.0x101486ea.3532
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdcc]
call fcn.100c90d0
test al, al
je 0x101488e1
lea eax, [esp + 0x1004]
push eax
lea ecx, [esp + 0x87]
call fcn.1014dec0
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148778
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148750
push edi
lea ecx, [esp + 0x1b08]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x968]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b04]
call fcn.10002130
lea eax, [esp + 0xffc]
push eax
lea ecx, [esp + 0x88]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148858
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148830
push edi
lea ecx, [esp + 0x1b20]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x978]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b1c]
jmp 0x10148bac
lea eax, [esp + 0xff4]
push eax
lea ecx, [esp + 0x89]
call fcn.1014dec0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014892b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148903
push edi
lea ecx, [esp + 0x1b38]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x988]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b34]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdcc]
call fcn.100c8da0
test al, al
je 0x10148ab4
lea eax, [esp + 0x119c]
push eax
lea ecx, [esp + 0x8a]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10148a2b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10148a03
push edi
lea ecx, [esp + 0x1b50]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x998]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5dc]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b4c]
jmp 0x10148bac
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xdcc]
call fcn.100c8c40
test al, al
je 0x10148bb1
lea eax, [esp + 0x1300]
push eax
lea ecx, [esp + 0x8b]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10148b28
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148b00
push edi
lea ecx, [esp + 0x1b68]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9b8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b64]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xda8
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x10148bca.3496
jmp dword [ecx*4 + 0x1014db84]
mov ecx, eax
call fcn.100c8da0
jmp 0x10148bdd
mov al, byte [eax + 0x20]
test al, al
je case.0x10148bca.3496
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xda8]
call fcn.100c90d0
test al, al
je 0x10148dc4
lea eax, [esp + 0x1084]
push eax
lea ecx, [esp + 0x8c]
call fcn.1014dee0
mov edi, eax
cmp byte [edi + 5], 0
je 0x10148c58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10148c30
push edi
lea ecx, [esp + 0x1b80]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9c8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b7c]
call fcn.10002130
lea eax, [esp + 0xfec]
push eax
lea ecx, [esp + 0x8d]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10148d3b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10148d13
push edi
lea ecx, [esp + 0x1b98]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9d8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x5f4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1b94]
jmp 0x10149090
lea eax, [esp + 0x108c]
push eax
lea ecx, [esp + 0x8e]
call fcn.1014dee0
mov edi, eax
cmp byte [edi + 5], 0
je 0x10148e18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 6
jl 0x10148df0
push edi
lea ecx, [esp + 0x1bb0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9e8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x5fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1bac]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xda8]
call fcn.100c8da0
test al, al
je 0x10148fa1
lea eax, [esp + 0x11a4]
push eax
lea ecx, [esp + 0x8f]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10148f18
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10148ef0
push edi
lea ecx, [esp + 0x1bc8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9f8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x604]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1bc4]
jmp 0x10149090
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xda8]
call fcn.100c8c40
test al, al
je 0x10149095
lea eax, [esp + 0x12f4]
push eax
lea ecx, [esp + 0x90]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014900c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10148fe4
push edi
lea ecx, [esp + 0x1be0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa08]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x60c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1bdc]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0xe5c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101490ae.3676
jmp dword [ecx*4 + 0x1014db94]
mov ecx, eax
call fcn.100c8da0
jmp 0x101490c1
mov al, byte [eax + 0x20]
test al, al
je case.0x101490ae.3676
imul ecx, dword [0x1024c1a4], 0x58
mov eax, dword [0x10240c80]
cmp byte [ecx + eax + 0xb64], 0
je case.0x101490ae.3676
lea ecx, [eax + 0xe5c]
call fcn.100c90d0
test al, al
je 0x101493c1
lea eax, [esp + 0x21cc]
push eax
lea ecx, [esp + 0x91]
call fcn.1014df00
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1014924f
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x10149220
movaps xmm2, xmmword [0x10215ab0]
mov ecx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x10149220
push edi
lea ecx, [esp + 0x1bf8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa18]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x614]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1bf4]
call fcn.10002130
lea eax, [esp + 0xfe4]
push eax
lea ecx, [esp + 0x92]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149338
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149310
push edi
lea ecx, [esp + 0x1c10]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa28]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x61c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c0c]
jmp 0x1014979c
lea eax, [esp + 0x21bc]
push eax
lea ecx, [esp + 0x93]
call fcn.1014df00
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1014951f
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x24], ecx
jl 0x101494f0
movaps xmm2, xmmword [0x10215ab0]
mov ecx, 8
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
mov dword [esp + 0x24], ecx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, 0xe
jl 0x101494f0
push edi
lea ecx, [esp + 0x1c28]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa38]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x624]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c24]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe5c]
call fcn.100c8da0
test al, al
je 0x101496a4
lea eax, [esp + 0x11ac]
push eax
lea ecx, [esp + 0x94]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014961b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x101495f3
push edi
lea ecx, [esp + 0x1c40]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa48]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x62c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c3c]
jmp 0x1014979c
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0xe5c]
call fcn.100c8c40
test al, al
je 0x101497a1
lea eax, [esp + 0x12e8]
push eax
lea ecx, [esp + 0x95]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10149718
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x101496f0
push edi
lea ecx, [esp + 0x1c58]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x9a8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x634]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c54]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
add eax, 0x3584
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x101497ba.13700
jmp dword [ecx*4 + 0x1014dba4]
mov ecx, eax
call fcn.100c8da0
jmp 0x101497cd
mov al, byte [eax + 0x20]
test al, al
je case.0x101497ba.13700
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3580], 0
je case.0x101497ba.13700
lea ecx, [eax + 0x3584]
call fcn.100c90d0
test al, al
je 0x101499b1
lea eax, [esp + 0x14bc]
push eax
lea ecx, [esp + 0x96]
call fcn.1014df30
mov edi, eax
cmp byte [edi + 9], 0
je 0x10149848
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10149820
push edi
lea ecx, [esp + 0x1c70]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe68]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x63c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c6c]
call fcn.10002130
lea eax, [esp + 0xfdc]
push eax
lea ecx, [esp + 0x97]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149928
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149900
push edi
lea ecx, [esp + 0x1c88]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xe38]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x644]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c84]
jmp 0x10149c90
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3584]
call fcn.100c90d0
test al, al
jne case.0x101497ba.13700
lea eax, [esp + 0x148c]
push eax
lea ecx, [esp + 0x98]
call fcn.1014df30
mov edi, eax
cmp byte [edi + 9], 0
je 0x10149a18
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x101499f0
push edi
lea ecx, [esp + 0x1ca0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc18]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x64c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1c9c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3584]
call fcn.100c8da0
test al, al
je 0x10149ba1
lea eax, [esp + 0x11b4]
push eax
lea ecx, [esp + 0x99]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x10149b18
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149af0
push edi
lea ecx, [esp + 0x1cb8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x698]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x654]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1cb4]
jmp 0x10149c90
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3584]
call fcn.100c8c40
test al, al
je 0x10149c95
lea eax, [esp + 0x12dc]
push eax
lea ecx, [esp + 0x9a]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x10149c0c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x10149be4
push edi
lea ecx, [esp + 0x1cd0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6a8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x65c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ccc]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35bd], 0
je case.0x10149cbf.0
mov ecx, dword [eax + 0x35c0]
add eax, 0x35c0
cmp ecx, 3
ja case.0x10149cbf.0
jmp dword [ecx*4 + 0x1014dbb4]
mov ecx, eax
call fcn.100c8da0
jmp 0x10149cd2
mov al, byte [eax + 0x20]
test al, al
je case.0x10149cbf.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x35c0]
call fcn.100c90d0
test al, al
je 0x10149eb4
lea eax, [esp + 0x1480]
push eax
lea ecx, [esp + 0x9b]
call fcn.1014df50
mov edi, eax
cmp byte [edi + 9], 0
je 0x10149d48
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10149d20
push edi
lea ecx, [esp + 0x1ce8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6b8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ce4]
call fcn.10002130
lea eax, [esp + 0xfd4]
push eax
lea ecx, [esp + 0x9c]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x10149e2b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x10149e03
push edi
lea ecx, [esp + 0x1d00]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6c8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1cfc]
jmp 0x1014a180
lea eax, [esp + 0x1474]
push eax
lea ecx, [esp + 0x9d]
call fcn.1014df50
mov edi, eax
cmp byte [edi + 9], 0
je 0x10149f08
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x10149ee0
push edi
lea ecx, [esp + 0x1d18]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6e8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d14]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x35c0]
call fcn.100c8da0
test al, al
je 0x1014a091
lea eax, [esp + 0x11bc]
push eax
lea ecx, [esp + 0x9e]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014a008
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x10149fe0
push edi
lea ecx, [esp + 0x1d30]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x6f8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1dc]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d2c]
jmp 0x1014a180
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x35c0]
call fcn.100c8c40
test al, al
je 0x1014a185
lea eax, [esp + 0x1354]
push eax
lea ecx, [esp + 0x9f]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a0fc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a0d4
push edi
lea ecx, [esp + 0x1d48]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x708]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d44]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34ec], 0
je case.0x1014a1af.0
mov ecx, dword [eax + 0x3504]
add eax, 0x3504
cmp ecx, 3
ja case.0x1014a1af.0
jmp dword [ecx*4 + 0x1014dbc4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014a1c2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a1af.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3504]
call fcn.100c90d0
test al, al
je 0x1014a3a4
lea eax, [esp + 0x12d0]
push eax
lea ecx, [esp + 0xa0]
call fcn.1014df70
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a238
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a210
push edi
lea ecx, [esp + 0x1d60]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x718]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d5c]
call fcn.10002130
lea eax, [esp + 0xfcc]
push eax
lea ecx, [esp + 0xa1]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a31b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a2f3
push edi
lea ecx, [esp + 0x1d78]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x728]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x1f4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d74]
jmp 0x1014a670
lea eax, [esp + 0x12c4]
push eax
lea ecx, [esp + 0xa2]
call fcn.1014df70
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a3f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a3d0
push edi
lea ecx, [esp + 0x1d90]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x738]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x1fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1d8c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3504]
call fcn.100c8da0
test al, al
je 0x1014a581
lea eax, [esp + 0x1214]
push eax
lea ecx, [esp + 0xa3]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014a4f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014a4d0
push edi
lea ecx, [esp + 0x1da8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x748]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x204]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1da4]
jmp 0x1014a670
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3504]
call fcn.100c8c40
test al, al
je 0x1014a675
lea eax, [esp + 0x12b8]
push eax
lea ecx, [esp + 0xa4]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a5ec
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a5c4
push edi
lea ecx, [esp + 0x1dc0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x758]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x20c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1dbc]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x34c4], 0
je case.0x1014a69f.0
mov ecx, dword [eax + 0x34c8]
add eax, 0x34c8
cmp ecx, 3
ja case.0x1014a69f.0
jmp dword [ecx*4 + 0x1014dbd4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014a6b2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014a69f.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34c8]
call fcn.100c90d0
test al, al
je 0x1014a894
lea eax, [esp + 0x12ac]
push eax
lea ecx, [esp + 0xa5]
call fcn.1014df90
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a728
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a700
push edi
lea ecx, [esp + 0x1dd8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x768]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x214]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1dd4]
call fcn.10002130
lea eax, [esp + 0xfc4]
push eax
lea ecx, [esp + 0xa6]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014a80b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014a7e3
push edi
lea ecx, [esp + 0x1df0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x778]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x21c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1dec]
jmp 0x1014ab60
lea eax, [esp + 0x12a0]
push eax
lea ecx, [esp + 0xa7]
call fcn.1014df90
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014a8e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014a8c0
push edi
lea ecx, [esp + 0x1e08]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x788]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x224]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e04]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34c8]
call fcn.100c8da0
test al, al
je 0x1014aa71
lea eax, [esp + 0x11c4]
push eax
lea ecx, [esp + 0xa8]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014a9e8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014a9c0
push edi
lea ecx, [esp + 0x1e20]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x798]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x22c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e1c]
jmp 0x1014ab60
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34c8]
call fcn.100c8c40
test al, al
je 0x1014ab65
lea eax, [esp + 0x1294]
push eax
lea ecx, [esp + 0xa9]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014aadc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014aab4
push edi
lea ecx, [esp + 0x1e38]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7a8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x234]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e34]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15c9], 0
je case.0x1014ab8f.0
mov ecx, dword [eax + 0x15cc]
add eax, 0x15cc
cmp ecx, 3
ja case.0x1014ab8f.0
jmp dword [ecx*4 + 0x1014dbe4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014aba2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014ab8f.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15cc]
call fcn.100c90d0
test al, al
je 0x1014ad84
lea eax, [esp + 0xfbc]
push eax
lea ecx, [esp + 0xaa]
call fcn.1014dfb0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ac18
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014abf0
push edi
lea ecx, [esp + 0x1e50]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7b8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x23c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e4c]
call fcn.10002130
lea eax, [esp + 0xfac]
push eax
lea ecx, [esp + 0xab]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014acfb
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014acd3
push edi
lea ecx, [esp + 0x1e68]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7c8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x244]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e64]
jmp 0x1014b050
lea eax, [esp + 0xf5c]
push eax
lea ecx, [esp + 0xac]
call fcn.1014dfb0
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014add8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014adb0
push edi
lea ecx, [esp + 0x1e80]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7e8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x24c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e7c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15cc]
call fcn.100c8da0
test al, al
je 0x1014af61
lea eax, [esp + 0x11cc]
push eax
lea ecx, [esp + 0xad]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014aed8
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014aeb0
push edi
lea ecx, [esp + 0x1e98]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x7f8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x254]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1e94]
jmp 0x1014b050
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15cc]
call fcn.100c8c40
test al, al
je 0x1014b055
lea eax, [esp + 0x1408]
push eax
lea ecx, [esp + 0xae]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014afcc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014afa4
push edi
lea ecx, [esp + 0x1eb0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x808]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x25c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1eac]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x15f0], 0
je case.0x1014b07f.0
mov ecx, dword [eax + 0x15f4]
add eax, 0x15f4
cmp ecx, 3
ja case.0x1014b07f.0
jmp dword [ecx*4 + 0x1014dbf4]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014b092
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b07f.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15f4]
call fcn.100c90d0
test al, al
je 0x1014b381
lea eax, [esp + 0x1244]
push eax
lea ecx, [esp + 0xaf]
call fcn.1014dfd0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014b20f
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014b1e0
movaps xmm2, xmmword [0x10215ab0]
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014b20f
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014b1e0
push edi
lea ecx, [esp + 0x1ec8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x818]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x274]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ec4]
call fcn.10002130
lea eax, [esp + 0xfa4]
push eax
lea ecx, [esp + 0xb0]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014b2f8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014b2d0
push edi
lea ecx, [esp + 0x1ee0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x828]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x27c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1edc]
jmp 0x1014b750
lea eax, [esp + 0x1254]
push eax
lea ecx, [esp + 0xb1]
call fcn.1014dfd0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1014b4d2
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014b4a3
movaps xmm2, xmmword [0x10215ab0]
movaps xmm4, xmmword [0x10215f10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10215c30]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215af0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215b10]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1014b4d2
mov eax, 0x51eb851f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 8
jl 0x1014b4a3
push edi
lea ecx, [esp + 0x1ef8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x838]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x284]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ef4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15f4]
call fcn.100c8da0
test al, al
je 0x1014b661
lea eax, [esp + 0x11d4]
push eax
lea ecx, [esp + 0xb2]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014b5d8
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014b5b0
push edi
lea ecx, [esp + 0x1f10]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x848]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x28c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f0c]
jmp 0x1014b750
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x15f4]
call fcn.100c8c40
test al, al
je 0x1014b755
lea eax, [esp + 0x13fc]
push eax
lea ecx, [esp + 0xb3]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014b6cc
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014b6a4
push edi
lea ecx, [esp + 0x1f28]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x858]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x294]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f24]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3528], 0
je case.0x1014b77f.0
mov ecx, dword [eax + 0x3530]
add eax, 0x3530
cmp ecx, 3
ja case.0x1014b77f.0
jmp dword [ecx*4 + 0x1014dc04]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014b792
mov al, byte [eax + 0x20]
test al, al
je case.0x1014b77f.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3530]
call fcn.100c90d0
test al, al
je 0x1014bac1
lea eax, [esp + 0x21dc]
push eax
lea ecx, [esp + 0xb4]
call fcn.1014dff0
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x1014b94f
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014b920
movaps xmm0, xmmword [0x10215c30]
mov esi, 4
movaps xmm4, xmmword [0x10215ab0]
xor edx, edx
movaps xmm3, xmmword [0x10215f10]
mov ecx, edi
movaps xmm5, xmmword [0x10215b10]
sub esi, edi
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
add edx, 8
pshufd xmm2, xmm0, 0
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, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + ecx]
lea ecx, [ecx + 8]
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
mov eax, dword [esp + 0x40]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x1014b820
jmp 0x1014b94f
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014b920
push edi
lea ecx, [esp + 0x1f40]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x868]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x29c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f3c]
call fcn.10002130
lea eax, [esp + 0xf9c]
push eax
lea ecx, [esp + 0xb5]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ba38
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014ba10
push edi
lea ecx, [esp + 0x1f58]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x878]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2a4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f54]
jmp 0x1014bed0
lea eax, [esp + 0x21ec]
push eax
lea ecx, [esp + 0xb6]
call fcn.1014dff0
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x1014bc52
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0xc], ecx
jl 0x1014bc23
movaps xmm0, xmmword [0x10215c30]
mov esi, 4
movaps xmm4, xmmword [0x10215ab0]
xor edx, edx
movaps xmm3, xmmword [0x10215f10]
mov ecx, edi
movaps xmm5, xmmword [0x10215b10]
sub esi, edi
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0x40]
movd xmm0, edx
add edx, 8
pshufd xmm2, xmm0, 0
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, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + ecx]
lea ecx, [ecx + 8]
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
mov eax, dword [esp + 0x40]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x10215c00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x1014bb24
jmp 0x1014bc52
mov eax, 0x51eb851f
lea esi, [ecx + edi]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x10
jl 0x1014bc23
push edi
lea ecx, [esp + 0x1f70]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x948]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ac]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f6c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3530]
call fcn.100c8da0
test al, al
je 0x1014bde1
lea eax, [esp + 0x11dc]
push eax
lea ecx, [esp + 0xb7]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014bd58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014bd30
push edi
lea ecx, [esp + 0x1f88]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa58]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2b4]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f84]
jmp 0x1014bed0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3530]
call fcn.100c8c40
test al, al
je 0x1014bed5
lea eax, [esp + 0x13f0]
push eax
lea ecx, [esp + 0xb8]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014be4c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014be24
push edi
lea ecx, [esp + 0x1fa0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa68]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2bc]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1f9c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3449], 0
je case.0x1014beff.0
mov ecx, dword [eax + 0x344c]
add eax, 0x344c
cmp ecx, 3
ja case.0x1014beff.0
jmp dword [ecx*4 + 0x1014dc14]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014bf12
mov al, byte [eax + 0x20]
test al, al
je case.0x1014beff.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x344c]
call fcn.100c90d0
test al, al
je 0x1014c0f4
lea eax, [esp + 0x1468]
push eax
lea ecx, [esp + 0xb9]
call fcn.1014e010
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014bf88
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014bf60
push edi
lea ecx, [esp + 0x1fb8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa78]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2c4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1fb4]
call fcn.10002130
lea eax, [esp + 0xf94]
push eax
lea ecx, [esp + 0xba]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014c06b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014c043
push edi
lea ecx, [esp + 0x1fd0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa88]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2cc]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1fcc]
jmp 0x1014c3c0
lea eax, [esp + 0x14c8]
push eax
lea ecx, [esp + 0xbb]
call fcn.1014e010
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014c148
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014c120
push edi
lea ecx, [esp + 0x1fe8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xa98]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2d4]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1fe4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x344c]
call fcn.100c8da0
test al, al
je 0x1014c2d1
lea eax, [esp + 0x11e4]
push eax
lea ecx, [esp + 0xbc]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014c248
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014c220
push edi
lea ecx, [esp + 0x2000]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaa8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2dc]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1ffc]
jmp 0x1014c3c0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x344c]
call fcn.100c8c40
test al, al
je 0x1014c3c5
lea eax, [esp + 0x1348]
push eax
lea ecx, [esp + 0xbd]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014c33c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014c314
push edi
lea ecx, [esp + 0x2018]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xab8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2e4]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2014]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3470], 0
je case.0x1014c3ef.0
mov ecx, dword [eax + 0x3474]
add eax, 0x3474
cmp ecx, 3
ja case.0x1014c3ef.0
jmp dword [ecx*4 + 0x1014dc24]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014c402
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c3ef.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3474]
call fcn.100c90d0
test al, al
je 0x1014c5e4
lea eax, [esp + 0x14a4]
push eax
lea ecx, [esp + 0xbe]
call fcn.1014e030
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014c478
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014c450
push edi
lea ecx, [esp + 0x2030]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xad8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2ec]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x202c]
call fcn.10002130
lea eax, [esp + 0xfb4]
push eax
lea ecx, [esp + 0xbf]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014c55b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014c533
push edi
lea ecx, [esp + 0x2048]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xac8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x2f4]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2044]
jmp 0x1014c8b0
lea eax, [esp + 0x145c]
push eax
lea ecx, [esp + 0xc0]
call fcn.1014e030
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014c638
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014c610
push edi
lea ecx, [esp + 0x2060]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x688]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x2fc]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x205c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3474]
call fcn.100c8da0
test al, al
je 0x1014c7c1
lea eax, [esp + 0x11ec]
push eax
lea ecx, [esp + 0xc1]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014c738
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014c710
push edi
lea ecx, [esp + 0x2078]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0x678]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x304]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2074]
jmp 0x1014c8b0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3474]
call fcn.100c8c40
test al, al
je 0x1014c8b5
lea eax, [esp + 0x13e4]
push eax
lea ecx, [esp + 0xc2]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014c82c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014c804
push edi
lea ecx, [esp + 0x2090]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xc08]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x30c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x208c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3498], 0
je case.0x1014c8df.0
mov ecx, dword [eax + 0x34a0]
add eax, 0x34a0
cmp ecx, 3
ja case.0x1014c8df.0
jmp dword [ecx*4 + 0x1014dc34]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014c8f2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014c8df.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34a0]
call fcn.100c90d0
test al, al
je 0x1014cad4
lea eax, [esp + 0x1450]
push eax
lea ecx, [esp + 0xc3]
call fcn.1014e050
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014c968
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014c940
push edi
lea ecx, [esp + 0x20a8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbf8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x314]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x20a4]
call fcn.10002130
lea eax, [esp + 0xf8c]
push eax
lea ecx, [esp + 0xc4]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014ca4b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014ca23
push edi
lea ecx, [esp + 0x20c0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbe8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x31c]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x20bc]
jmp 0x1014cda0
lea eax, [esp + 0x1444]
push eax
lea ecx, [esp + 0xc5]
call fcn.1014e050
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014cb28
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014cb00
push edi
lea ecx, [esp + 0x20d8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbd8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x324]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x20d4]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34a0]
call fcn.100c8da0
test al, al
je 0x1014ccb1
lea eax, [esp + 0x11f4]
push eax
lea ecx, [esp + 0xc6]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014cc28
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014cc00
push edi
lea ecx, [esp + 0x20f0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbc8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x32c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x20ec]
jmp 0x1014cda0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x34a0]
call fcn.100c8c40
test al, al
je 0x1014cda5
lea eax, [esp + 0x13d8]
push eax
lea ecx, [esp + 0xc7]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014cd1c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014ccf4
push edi
lea ecx, [esp + 0x2108]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xbb8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x334]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2104]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3554], 0
je case.0x1014cdcf.0
mov ecx, dword [eax + 0x355c]
add eax, 0x355c
cmp ecx, 3
ja case.0x1014cdcf.0
jmp dword [ecx*4 + 0x1014dc44]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014cde2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014cdcf.0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x355c]
call fcn.100c90d0
test al, al
je 0x1014cfc4
lea eax, [esp + 0x1438]
push eax
lea ecx, [esp + 0xc8]
call fcn.1014e070
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014ce58
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014ce30
push edi
lea ecx, [esp + 0x2120]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xba8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x33c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x211c]
call fcn.10002130
lea eax, [esp + 0xf84]
push eax
lea ecx, [esp + 0xc9]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014cf3b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014cf13
push edi
lea ecx, [esp + 0x2138]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb98]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x344]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2134]
jmp 0x1014d290
lea eax, [esp + 0x142c]
push eax
lea ecx, [esp + 0xca]
call fcn.1014e070
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d018
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014cff0
push edi
lea ecx, [esp + 0x2150]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb88]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x34c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x214c]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x355c]
call fcn.100c8da0
test al, al
je 0x1014d1a1
lea eax, [esp + 0x11fc]
push eax
lea ecx, [esp + 0xcb]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d118
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d0f0
push edi
lea ecx, [esp + 0x2168]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb78]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x354]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2164]
jmp 0x1014d290
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x355c]
call fcn.100c8c40
test al, al
je 0x1014d295
lea eax, [esp + 0x13cc]
push eax
lea ecx, [esp + 0xcc]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d20c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d1e4
push edi
lea ecx, [esp + 0x2180]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb68]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x35c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x217c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x35f5], 0
je case.0x1014d2bf.0
mov ecx, dword [eax + 0x3708]
add eax, 0x3708
cmp ecx, 3
ja case.0x1014d2bf.0
jmp dword [ecx*4 + 0x1014dc54]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014d2d2
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d2bf.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3708]
call fcn.100c90d0
test al, al
jne case.0x1014d2bf.0
lea eax, [esp + 0x14d4]
push eax
lea ecx, [esp + 0xcd]
call fcn.1014e090
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1014d348
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xb
jl 0x1014d320
push edi
lea ecx, [esp + 0x2198]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb58]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x364]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x2194]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3708]
call fcn.100c8da0
test al, al
je 0x1014d4d1
lea eax, [esp + 0x1204]
push eax
lea ecx, [esp + 0xce]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d448
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d420
push edi
lea ecx, [esp + 0x1538]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb48]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x36c]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1534]
jmp 0x1014d5c0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3708]
call fcn.100c8c40
test al, al
je 0x1014d5c5
lea eax, [esp + 0x13c0]
push eax
lea ecx, [esp + 0xcf]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014d53c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014d514
push edi
lea ecx, [esp + 0x1550]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb38]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x374]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x154c]
call fcn.10002130
inc dword [esp + 0x10]
mov eax, dword [0x10240c80]
cmp byte [eax + 0x3421], 0
je case.0x1014d5ef.0
mov ecx, dword [eax + 0x3424]
add eax, 0x3424
cmp ecx, 3
ja case.0x1014d5ef.0
jmp dword [ecx*4 + 0x1014dc64]
mov ecx, eax
call fcn.100c8da0
jmp 0x1014d605
mov al, byte [eax + 0x20]
test al, al
je case.0x1014d5ef.0
mov ecx, dword [0x10240c80]
lea ecx, [ecx + 0x3424]
call fcn.100c90d0
test al, al
je 0x1014d7e4
lea eax, [esp + 0x1420]
push eax
lea ecx, [esp + 0xd0]
call fcn.1014e0c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d678
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop dword [eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d650
push edi
lea ecx, [esp + 0x1568]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb28]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x37c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x40], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1564]
call fcn.10002130
lea eax, [esp + 0xf7c]
push eax
lea ecx, [esp + 0xd1]
call fcn.1014dd20
mov edi, eax
cmp byte [edi + 4], 0
je 0x1014d75b
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 5
jl 0x1014d733
push edi
lea ecx, [esp + 0x1598]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb18]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x384]
subss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x40]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x1594]
jmp 0x1014dab0
lea eax, [esp + 0x1414]
push eax
lea ecx, [esp + 0xd2]
call fcn.1014e0c0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1014d838
xor ecx, ecx
mov dword [esp + 0xc], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0xa
jl 0x1014d810
push edi
lea ecx, [esp + 0x15b0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xb08]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movd xmm0, dword [esp + 0x10]
lea ecx, [esp + 0x38c]
movss xmm1, dword [esp + 0x14]
mov esi, eax
addss xmm1, dword [0x102156c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10215704]
addss xmm0, dword [esp + 0x20]
movaps xmm2, xmm0
movss dword [esp + 0x1c], xmm0
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x15ac]
call fcn.10002130
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3424]
call fcn.100c8da0
test al, al
je 0x1014d9c1
lea eax, [esp + 0x120c]
push eax
lea ecx, [esp + 0xd3]
call fcn.1014dca0
mov edi, eax
cmp byte [edi + 6], 0
je 0x1014d938
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 7
jl 0x1014d910
push edi
lea ecx, [esp + 0x15c8]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xaf8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x394]
subss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x15c4]
jmp 0x1014dab0
mov ecx, 0x10240c80
call fcn.100361f0
lea ecx, [eax + 0x3424]
call fcn.100c8c40
test al, al
je case.0x1014d5ef.0
lea eax, [esp + 0x13b4]
push eax
lea ecx, [esp + 0xd4]
call fcn.1014dcd0
mov edi, eax
cmp byte [edi + 8], 0
je 0x1014da2c
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x31
xor byte [esi], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 9
jl 0x1014da04
push edi
lea ecx, [esp + 0x15e0]
call fcn.10020f60
mov ecx, eax
call fcn.10006590
movss xmm1, dword [0x10215578]
mov edi, eax
push ecx
movaps xmm3, xmm1
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
lea ecx, [esp + 0xae8]
call fcn.100cf6f0
mov ecx, eax
call fcn.100cf710
movss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x39c]
subss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x1c]
mov esi, eax
subss xmm1, dword [0x102156f4]
addss xmm1, dword [0x10215810]
call fcn.1009d330
mov ecx, dword [esp + 0x18]
push 0
push edi
push esi
push eax
call fcn.10181cf0
lea ecx, [esp + 0x15dc]
call fcn.10002130
call fcn.10177ec0
call fcn.10177950
mov ecx, dword [esp + 0x221c]
pop edi
pop esi
xor ecx, esp
call fcn.101b5eaa
mov esp, ebp
pop ebp
ret