Function at 0x100cacb0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x444
mov eax, dword [0x102060c0]
xor eax, esp
mov dword [esp + 0x440], eax
mov eax, dword [0x10223ca0]
push ebx
push esi
push edi
cmp byte [eax + 0x3695], 0
mov edi, ecx
mov dword [esp + 0x18], edi
je 0x100cd93a
cmp dword [eax + 0x3674], 0
je 0x100cd93a
cmp dword [eax + 0x3678], 0
je 0x100cd93a
test edi, edi
je 0x100cd94e
mov eax, dword [0x10225524]
cmp dword [eax], 0
je 0x100cd94e
mov eax, dword [0x10223ca8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100cd94e
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10224d4c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x103524b4]
mov dword [esp + 0x14], esi
cmp eax, dword [esi + 4]
jle 0x100cade3
push 0x103524b4
call fcn.10199827
add esp, 4
cmp dword [0x103524b4], 0xffffffff
jne 0x100cade3
mov eax, dword [0x10223ca8]
xor ebx, ebx
movq xmm0, qword [str._CkV]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov ax, word [0x101ebc10]
mov word [esp + 0x38], ax
mov al, byte [0x101ebc12]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], al
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100cada0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x103524b4
mov dword [0x103524ac], eax
call fcn.101997d6
add esp, 4
mov eax, dword [0x103524b0]
cmp eax, dword [esi + 4]
jle 0x100cae7e
push 0x103524b0
call fcn.10199827
add esp, 4
cmp dword [0x103524b0], 0xffffffff
jne 0x100cae7e
xorps xmm0, xmm0
mov dword [0x1035247c], 0
push 2
push 0x1035247c
mov dword [0x10352480], 0
mov dword [0x10352484], 0
movups xmmword [0x10352488], xmm0
mov dword [0x103524a0], 0
movq qword [0x10352498], xmm0
mov dword [0x103524a4], 0
mov dword [0x103524a8], 0
call fcn.1019896f
push 0x101c5910
call fcn.10199573
add esp, 0xc
push 0x103524b0
call fcn.101997d6
add esp, 4
push 0x1035247c
call fcn.1019898b
add esp, 4
test eax, eax
jne 0x100cd963
cmp dword [0x103524a8], 0x7fffffff
je 0x100cd96a
mov eax, dword [0x103524d8]
cmp eax, dword [esi + 4]
jle 0x100cafcc
push 0x103524d8
call fcn.10199827
add esp, 4
cmp dword [0x103524d8], 0xffffffff
jne 0x100cafcc
push 0x30
mov dword [0x103524b8], 0
mov dword [0x103524bc], 0
mov dword [0x103524c0], 0
call fcn.101995a0
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x103524bc], ebx
mov dword [0x103524c4], 0
mov dword [0x103524c8], 0
mov dword [0x103524cc], 0
mov dword [0x103524d0], 7
mov dword [0x103524d4], 8
mov dword [0x103524b8], 0x3f800000
call fcn.101995a0
mov ecx, dword [0x103524c4]
mov esi, eax
mov eax, dword [0x103524cc]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100caf8e
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100caf84
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push edx
push ecx
call fcn.1019958d
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x103524c4], esi
mov dword [0x103524c8], eax
mov dword [0x103524cc], eax
cmp esi, eax
je 0x100cafae
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100cafa5
push 0x101c58f0
call fcn.10199573
add esp, 4
push 0x103524d8
call fcn.101997d6
mov esi, dword [esp + 0x18]
add esp, 4
mov eax, dword [0x103524dc]
cmp eax, dword [esi + 4]
jle 0x100cb0f3
push 0x103524dc
call fcn.10199827
add esp, 4
cmp dword [0x103524dc], 0xffffffff
jne 0x100cb0f3
push 0x24
mov dword [0x103524e0], 0
mov dword [0x103524e4], 0
mov dword [0x103524e8], 0
call fcn.101995a0
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x103524e4], ebx
mov dword [0x103524ec], 0
mov dword [0x103524f0], 0
mov dword [0x103524f4], 0
mov dword [0x103524f8], 7
mov dword [0x103524fc], 8
mov dword [0x103524e0], 0x3f800000
call fcn.101995a0
mov ecx, dword [0x103524ec]
mov esi, eax
mov eax, dword [0x103524f4]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100cb0b7
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100cb0ad
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push edx
push ecx
call fcn.1019958d
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x103524ec], esi
mov dword [0x103524f0], eax
mov dword [0x103524f4], eax
cmp esi, eax
je 0x100cb0d9
nop
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100cb0d0
push 0x101c58d0
call fcn.10199573
add esp, 4
push 0x103524dc
call fcn.101997d6
add esp, 4
mov eax, dword [0x10223c9c]
xorps xmm0, xmm0
movups xmmword [esp + 0xf0], xmm0
mov dword [esp + 0xec], 0x437f0000
mov ecx, edi
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0xe8], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100cd8be
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100cb156
cmp ecx, 0x7dd410c4
ja 0x100cd0ad
je 0x100ccc10
cmp ecx, 0x1b30ddf0
je 0x100cbaaa
cmp ecx, 0x4400fb1c
je 0x100cb7f1
cmp ecx, 0x4e704c3e
jne 0x100cd8be
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 8
je 0x100cd890
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x1e], al
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb1e0
xorps xmm0, xmm0
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0x88], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb230
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x90]
call fcn.100278e0
cmp dword [esp + 0x9c], 0xf
lea edx, [esp + 0x88]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x88]
push 0
push edx
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [esp + 0x9c]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb2b6
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb2ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd97b
push ecx
push edx
call fcn.1019958d
add esp, 8
mov eax, dword [0x10223ca8]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10225524]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x198]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x228]
cmp edi, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x100cd890
push 0x10223ccc
lea ecx, [esp + 0x10c]
call fcn.10020b00
movq xmm0, qword [0x101ebc68]
xor ebx, ebx
mov al, byte [0x101ebc70]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], al
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100cb340
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x16c]
call fcn.10020ac0
mov ecx, dword [0x103524ac]
mov dword [esp + 0x68], eax
call fcn.1008a3d0
mov edx, eax
lea ecx, [esp + 0x50]
call fcn.10003de0
movups xmm0, xmmword [0x101ebbf4]
mov cl, byte [0x101ebc04]
xor ebx, ebx
mov edi, dword [0x10224d40]
mov dword [esp + 0x14], eax
mov byte [esp + 0x28], cl
movups xmmword [esp + 0x18], xmm0
cmp edi, 2
jl 0x100cb516
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x1c], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb3e0
cmp ebx, 0x11
jl 0x100cb516
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov dword [esp + 0x10], eax
mov ecx, esi
lea eax, [esp + 0xa0]
push eax
call fcn.100362c0
mov cl, byte [0x101ebc5c]
mov esi, eax
mov byte [esp + 0x28], cl
jmp 0x100cb56f
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x11
jl 0x100cb516
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov dword [esp + 0x10], eax
mov ecx, esi
lea eax, [esp + 0xa0]
push eax
call fcn.100362c0
mov esi, eax
mov al, byte [0x101ebc5c]
mov byte [esp + 0x28], al
movups xmm0, xmmword [0x101ebc4c]
xor ebx, ebx
movups xmmword [esp + 0x18], xmm0
cmp edi, 2
jl 0x100cb6b4
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
nop dword [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x1c], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb5b0
cmp ebx, 0x11
jge 0x100cb6de
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x11
jl 0x100cb6b4
push str._by
lea eax, [esp + 0x10c]
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xdc]
call fcn.10020ac0
mov edx, eax
lea ecx, [esp + 0x128]
call fcn.10030fd0
mov edx, eax
lea ecx, [esp + 0x13c]
call fcn.100246c0
push esi
mov edx, eax
lea ecx, [esp + 0x154]
call fcn.10024710
push dword [esp + 0x10]
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10024710
push dword [esp + 0x14]
mov edx, eax
lea ecx, [esp + 0x184]
call fcn.10024710
push dword [esp + 0x68]
mov edx, eax
lea ecx, [esp + 0x74]
call fcn.10024710
push eax
lea ecx, [esp + 0xf4]
call fcn.10020910
lea ecx, [esp + 0x70]
call fcn.100020d0
lea ecx, [esp + 0x180]
call fcn.100020d0
lea ecx, [esp + 0x88]
call fcn.100020d0
lea ecx, [esp + 0x150]
call fcn.100020d0
lea ecx, [esp + 0x138]
call fcn.100020d0
lea ecx, [esp + 0x120]
call fcn.100020d0
lea ecx, [esp + 0xd0]
call fcn.100020d0
lea ecx, [esp + 0xa0]
call fcn.100020d0
lea ecx, [esp + 0xb8]
call fcn.100020d0
lea ecx, [esp + 0x50]
call fcn.100020d0
lea ecx, [esp + 0x168]
call fcn.100020d0
lea ecx, [esp + 0x108]
jmp 0x100cd88b
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 0x10
je 0x100cd890
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x1e], al
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb830
xorps xmm0, xmm0
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0x88], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb880
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x90]
call fcn.100278e0
cmp dword [esp + 0x9c], 0xf
lea edx, [esp + 0x88]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x88]
push 0
push edx
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [esp + 0x9c]
mov ebx, eax
cmp ecx, 0xf
jbe 0x100cb906
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb8fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd980
push ecx
push edx
call fcn.1019958d
add esp, 8
test ebx, ebx
je 0x100cd890
mov eax, dword [0x10225524]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
add ecx, 8
mov esi, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x2f0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x380]
cmp ebx, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
push ebx
mov ecx, dword [eax + 0x18]
call fcn.1007d630
mov ebx, eax
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x100cd890
mov ecx, dword [0x10225524]
mov ecx, dword [ecx]
call fcn.100a68c0
mov ecx, ebx
mov esi, eax
call fcn.100a68c0
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x100cd890
mov eax, dword [str.EVUEYY8]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov ax, word [0x101ebc64]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebc66]
mov byte [esp + 0x1e], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb9b1
push ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x170]
call fcn.10020ac0
mov ecx, eax
call fcn.10006650
push eax
mov ecx, edi
call fcn.100cac90
push eax
lea ecx, [esp + 0xa4]
call fcn.10020ac0
lea ecx, [esp + 0x168]
call fcn.100020d0
push ecx
lea ecx, [esp + 0x19c]
call fcn.10020240
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x168]
push eax
call fcn.100362c0
mov edx, eax
lea ecx, [esp + 0x198]
call fcn.100ce6a0
mov edx, str._bought
mov ecx, eax
call fcn.100bbe30
lea edx, [esp + 0xa0]
mov ecx, eax
call fcn.100ce6a0
lea ecx, [esp + 0x168]
call fcn.100020d0
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x19c]
call fcn.100201a0
mov ecx, eax
call fcn.10006650
push eax
lea ecx, [esp + 0xf4]
call fcn.100208e0
lea ecx, [esp + 0x168]
call fcn.100020d0
lea ecx, [esp + 0x198]
call fcn.10005970
lea ecx, [esp + 0xa0]
jmp 0x100cd88b
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x68], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x6c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x6e], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x68], cl
inc ebx
cmp ebx, 7
jl 0x100cbad1
mov eax, dword [edi]
lea ecx, [esp + 0x68]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [0x10223ca8]
xor ebx, ebx
movq xmm0, qword [str.SG_TU_K:]
mov dword [esp + 0x68], eax
mov esi, dword [ecx + 0x10]
mov cl, byte [0x101eb1ac]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], cl
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100cbb33
mov eax, dword [edi]
lea ecx, [esp + 0x30]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov cx, word [0x101eb0e8]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], cx
mov cl, byte [0x101eb0ea]
mov dword [esp + 0x14], eax
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], cl
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100cbba0
mov eax, dword [edi]
lea ecx, [esp + 0x30]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
mov edx, eax
lea ecx, [esp + 0x150]
call fcn.10003de0
movq xmm0, qword [str.ZZ_RDXMI:]
xor ebx, ebx
mov al, byte [0x101ebbf0]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], al
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100cbc00
mov eax, dword [edi]
lea ecx, [esp + 0x30]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, 7
ja case.default.0x100cbc3a
jmp dword [eax*4 + 0x100cd9a4]
mov eax, dword [str.generic]
mov dword [esp + 0x50], eax
mov ax, word [0x101cf4b4]
mov word [esp + 0x54], ax
mov al, byte [0x101cf4b6]
jmp 0x100cbd7f
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x50], 0x64616568
mov byte [esp + 0x54], 0
jmp 0x100cbd96
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x50], eax
mov edi, 5
mov al, byte [0x101ebba0]
mov byte [esp + 0x54], al
mov byte [esp + 0x55], 0
jmp 0x100cbd96
mov eax, dword [str.stomach]
mov dword [esp + 0x50], eax
mov ax, word [0x101ebba8]
mov word [esp + 0x54], ax
mov al, byte [0x101ebbaa]
jmp 0x100cbd7f
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x50], 0x7466656c
mov dword [esp + 0x54], 0x6d726120
mov byte [esp + 0x58], 0
jmp 0x100cbd96
mov al, byte [0x101ebbb4]
xorps xmm0, xmm0
movups xmmword [esp + 0x50], xmm0
mov edi, 9
mov byte [esp + 0x58], al
movq xmm0, qword [str.right_arm]
movq qword [esp + 0x50], xmm0
mov byte [esp + 0x59], 0
jmp 0x100cbd96
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x50], 0x7466656c
mov dword [esp + 0x54], 0x67656c20
mov byte [esp + 0x58], 0
jmp 0x100cbd96
mov al, byte [0x101ebbc8]
xorps xmm0, xmm0
movups xmmword [esp + 0x50], xmm0
mov edi, 9
mov byte [esp + 0x58], al
movq xmm0, qword [str.right_leg]
movq qword [esp + 0x50], xmm0
mov byte [esp + 0x59], 0
jmp 0x100cbd96
mov eax, dword [str.unknown]
mov dword [esp + 0x50], eax
mov ax, word [0x101cf498]
mov word [esp + 0x54], ax
mov al, byte [0x101cf49a]
xorps xmm0, xmm0
mov byte [esp + 0x56], al
movlpd qword [esp + 0x58], xmm0
mov edi, 7
mov byte [esp + 0x57], 0
mov eax, dword [0x10225524]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], 0xf
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov esi, dword [esp + 0x68]
cmp esi, eax
je 0x100ccb92
mov eax, dword [0x10225524]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x14], eax
jne 0x100ccb92
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 1
jne 0x100cbe2f
mov ecx, dword [esp + 0x164]
cmp ecx, 0xf
jbe 0x100cd890
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbe20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd98a
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100cd890
mov eax, dword [0x10223ca8]
push esi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x100cbe8e
mov ecx, dword [esp + 0x164]
cmp ecx, 0xf
jbe 0x100cd890
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbe7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd98a
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100cd890
xorps xmm0, xmm0
mov dword [esp + 0x118], 0
movups xmmword [esp + 0x108], xmm0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e8]
call eax
mov cx, word [0x101eb0e8]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], cx
mov cl, byte [0x101eb0ea]
mov dword [esp + 0x68], eax
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], cl
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100cbef0
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x30]
push 0
push ecx
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [esp + 0x68]
sub ecx, eax
jns 0x100cc0f1
movups xmm0, xmmword [0x101ebc3c]
mov esi, dword [0x10224d40]
movups xmmword [esp + 0x18], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100cc0bb
xor ebx, ebx
cmp esi, 2
jl 0x100cc091
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov edx, dword [esp + 0x30]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x1c], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cbf90
jmp 0x100cc0bb
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x10
jl 0x100cc091
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x16c]
call fcn.10020ac0
mov ecx, eax
call fcn.10006650
push eax
lea ecx, [esp + 0x10c]
call fcn.100208e0
lea ecx, [esp + 0x168]
call fcn.100020d0
jmp 0x100cc332
mov eax, dword [0x101ebc2c]
xor ebx, ebx
cmp dword [0x10224d40], 2
movq xmm0, qword [0x101ebc24]
mov dword [esp + 0x20], eax
mov ax, word [0x101ebc30]
mov word [esp + 0x24], ax
mov al, byte [0x101ebc32]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x26], al
jl 0x100cc230
movaps xmm2, xmmword [0x101f7c30]
mov ebx, 8
movaps xmm4, xmmword [0x101f8100]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x101f7db0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ebc24]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x18], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x1c]
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0xf
jl 0x100cc230
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov ecx, eax
call fcn.10006650
mov cx, word [0x101eb0e8]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], cx
mov cl, byte [0x101eb0ea]
mov dword [esp + 0x18], eax
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], cl
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100cc2a0
push ecx
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.100a6930
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.1007d640
sub eax, esi
lea ecx, [esp + 0xa0]
mov edx, eax
call fcn.10003de0
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x16c]
call fcn.100246c0
push eax
lea ecx, [esp + 0x10c]
call fcn.10020910
lea ecx, [esp + 0x168]
call fcn.100020d0
lea ecx, [esp + 0xa0]
call fcn.100020d0
lea ecx, [esp + 0xb8]
call fcn.100020d0
mov esi, dword [0x10224d40]
mov eax, dword [0x101ebbe0]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbe4]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbe6]
mov byte [esp + 0x1e], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cc351
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x70], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc397
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100278e0
cmp dword [esp + 0x84], 0xf
lea eax, [esp + 0x70]
movq xmm0, qword [0x101ebc74]
cmova eax, dword [esp + 0x70]
cmp byte [0x101ebc7f], 0
mov dword [esp + 0x68], eax
mov eax, dword [0x101ebc7c]
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], eax
je 0x100cc51c
xor ebx, ebx
cmp esi, 2
jl 0x100cc4f2
movaps xmm2, xmmword [0x101f7c30]
mov ebx, 8
movaps xmm4, xmmword [0x101f8100]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x101f7db0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ebc74]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x30], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x34]
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xc
jl 0x100cc4f2
xorps xmm0, xmm0
mov dword [esp + 0x190], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x194], 0
movups xmmword [esp + 0x180], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc544
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x188]
call fcn.100278e0
cmp dword [esp + 0x194], 0xf
lea eax, [esp + 0x198]
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x180]
cmova esi, dword [esp + 0x180]
push eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0xb4], 0
movups xmmword [esp + 0xa0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc5b2
sub ecx, edx
lea eax, [esp + 0x198]
push ecx
push eax
lea ecx, [esp + 0xa8]
call fcn.100278e0
mov eax, dword [0x101ebc34]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov al, byte [0x101ebc38]
mov byte [esp + 0x1c], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100cc5e4
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], 0
movups xmmword [esp + 0x30], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc624
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.100278e0
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0xc4]
call fcn.100298d0
push esi
lea ecx, [esp + 0xbc]
call fcn.10020800
mov dword [esp + 0xe0], 0
lea edx, [esp + 0x50]
mov dword [esp + 0xe4], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xd0], xmm0
push edi
movups xmm0, xmmword [eax]
mov ebx, 0xf
push edx
movups xmmword [esp + 0xd8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xe8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
sub eax, ecx
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x100cc714
cmp dword [esp + 0xec], ebx
lea esi, [esp + 0xd8]
lea eax, [edi + ecx]
cmova esi, dword [esp + 0xd8]
mov dword [esp + 0xe8], eax
lea eax, [esi + ecx]
push eax
call fcn.1019aac0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0xd0]
jmp 0x100cc729
push dword [esp + 0x20]
lea ecx, [esp + 0xdc]
push edi
call fcn.100284f0
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x88]
mov dword [esp + 0x9c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x98], xmm0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
push dword [esp + 0x68]
call fcn.10020800
mov dword [esp + 0x130], 0
lea edx, [esp + 0x150]
mov dword [esp + 0x134], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x120], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x120], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x130], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x164]
cmp eax, 0xf
mov ecx, dword [esp + 0x130]
cmova edx, dword [esp + 0x150]
mov edi, dword [esp + 0x160]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x134]
sub eax, ecx
mov dword [esp + 0x18], ecx
push edi
push edx
cmp edi, eax
ja 0x100cc852
cmp dword [esp + 0x13c], 0xf
lea esi, [esp + 0x128]
lea eax, [edi + ecx]
cmova esi, dword [esp + 0x128]
mov dword [esp + 0x138], eax
lea eax, [esi + ecx]
push eax
call fcn.1019aac0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
mov edi, dword [esp + 0x74]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x120]
jmp 0x100cc86a
push dword [esp + 0x20]
lea ecx, [esp + 0x12c]
push edi
call fcn.100284f0
mov edi, dword [esp + 0x164]
mov dword [esp + 0x148], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x138], xmm0
mov dword [esp + 0x14c], 0
movups xmm0, xmmword [eax]
push 1
movups xmmword [esp + 0x13c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x14c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0x150]
mov eax, edx
mov ecx, dword [esp + 0x14c]
sub eax, ecx
mov dword [esp + 0x1c], ecx
cmp eax, 1
jb 0x100cc90c
cmp edx, 0xf
lea esi, [esp + 0x13c]
lea eax, [ecx + 1]
mov edx, 0x101e7d20
cmova esi, dword [esp + 0x13c]
add ecx, esi
mov dword [esp + 0x14c], eax
call fcn.10024240
mov eax, dword [esp + 0x18]
mov byte [esi + eax + 1], 0
lea eax, [esp + 0x138]
jmp 0x100cc923
push 0x101e7d20
push dword [esp + 0x20]
lea ecx, [esp + 0x144]
push 1
call fcn.100284f0
push eax
lea ecx, [esp + 0x1c]
call fcn.10020990
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
call fcn.10020910
lea ecx, [esp + 0x18]
call fcn.100020d0
lea ecx, [esp + 0x138]
call fcn.100020d0
lea ecx, [esp + 0x120]
call fcn.100020d0
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x100cc99b
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cc991
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], 0
cmp ecx, 0xf
jbe 0x100cc9f5
mov edx, dword [esp + 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cc9eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
cmp ecx, 0xf
jbe 0x100cca4f
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cca45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xf
mov byte [esp + 0xb8], 0
cmp ecx, 0xf
jbe 0x100ccaa3
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cca99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xf
jbe 0x100ccadf
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccad5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x194]
cmp ecx, 0xf
jbe 0x100ccb1b
mov edx, dword [esp + 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccb11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100ccb54
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccb4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd985
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0x11c]
cmp ecx, 0xf
jbe 0x100ccb9e
mov edx, dword [esp + 0x108]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccb86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd98a
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100ccb9e
mov edi, dword [esp + 0x164]
mov ebx, 0xf
cmp ebx, 0xf
jbe 0x100ccbd0
mov ecx, dword [esp + 0x50]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100ccbc6
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ebx
push ecx
call fcn.1019958d
add esp, 8
cmp edi, 0xf
jbe 0x100cd890
mov edx, dword [esp + 0x150]
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccc01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100cd890
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 8
je 0x100cd890
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x1e], al
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100ccc50
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x70], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ccc96
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100278e0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x70]
push 0
push edx
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [esp + 0x84]
mov edi, eax
cmp ecx, 0xf
jbe 0x100ccd10
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccd06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd98f
push ecx
push edx
call fcn.1019958d
add esp, 8
test edi, edi
je 0x100cd890
mov eax, dword [0x10225524]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
add ecx, 8
mov esi, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x2f0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x380]
cmp edi, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x100cd890
mov eax, dword [0x101ebc90]
movups xmm0, xmmword [0x101ebc80]
mov dword [esp + 0x28], eax
mov ax, word [0x101ebc94]
mov word [esp + 0x2c], ax
movups xmmword [esp + 0x18], xmm0
test ah, ah
je 0x100ccf0e
xor ebx, ebx
cmp dword [0x10224d40], 2
jl 0x100ccee4
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x1c], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100ccde0
cmp ebx, 0x16
jge 0x100ccf0e
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x16
jl 0x100ccee4
xorps xmm0, xmm0
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0xcc], 0
movups xmmword [esp + 0xb8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ccf36
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0xc0]
call fcn.100278e0
lea eax, [esp + 0x198]
mov ecx, esi
push eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0xb4], 0
movups xmmword [esp + 0xa0], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ccf90
sub ecx, edx
lea eax, [esp + 0x198]
push ecx
push eax
lea ecx, [esp + 0xa8]
call fcn.100278e0
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x114]
call fcn.100298d0
mov ecx, dword [esp + 0x104]
cmp ecx, 0xf
jbe 0x100cd00a
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd000
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
movups xmm0, xmmword [esp + 0x108]
mov ecx, dword [esp + 0xb4]
movups xmmword [esp + 0xf0], xmm0
movq xmm0, qword [esp + 0x118]
movq qword [esp + 0x100], xmm0
cmp ecx, 0xf
jbe 0x100cd068
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd05e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0xcc]
cmp ecx, 0xf
jbe 0x100cd890
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd09e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100cd890
cmp ecx, 0xc3c7d299
je 0x100cd53c
cmp ecx, 0xec398ed7
jne 0x100cd8be
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 4
je 0x100cd890
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x1e], al
nop
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cd100
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x70], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cd146
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100278e0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x70]
push 0
push edx
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [esp + 0x84]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cd1c0
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd1b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd994
push ecx
push edx
call fcn.1019958d
add esp, 8
mov eax, dword [0x10223ca8]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10225524]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x2f0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x380]
cmp edi, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100cd890
lea ecx, [esp + 0x198]
push ecx
mov ecx, eax
call fcn.1018cd70
xorps xmm0, xmm0
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0xcc], 0
movups xmmword [esp + 0xb8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cd253
sub ecx, edx
lea eax, [esp + 0x198]
push ecx
push eax
lea ecx, [esp + 0xc0]
call fcn.100278e0
movups xmm0, xmmword [str.ZGAWP_]
mov ax, word [0x101ebcc0]
mov word [esp + 0x28], ax
movups xmmword [esp + 0x18], xmm0
test ah, ah
je 0x100cd3fa
xor ebx, ebx
cmp dword [0x10224d40], 2
jl 0x100cd3d0
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
movd xmm0, ebx
lea eax, [ebx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x1c], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cd2c4
cmp ebx, 0x12
jge 0x100cd3fa
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x12
jl 0x100cd3d0
xorps xmm0, xmm0
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], 0
movups xmmword [esp + 0xa0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cd422
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0xa8]
call fcn.100278e0
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x114]
call fcn.100298d0
mov ecx, dword [esp + 0x104]
cmp ecx, 0xf
jbe 0x100cd499
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd48f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
movups xmm0, xmmword [esp + 0x108]
mov ecx, dword [esp + 0xb4]
movups xmmword [esp + 0xf0], xmm0
movq xmm0, qword [esp + 0x118]
movq qword [esp + 0x100], xmm0
cmp ecx, 0xf
jbe 0x100cd4f7
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd4ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [esp + 0xcc]
cmp ecx, 0xf
jbe 0x100cd890
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd52d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
jmp 0x100cd890
mov eax, dword [0x10223ca0]
test byte [eax + 0x3678], 8
je 0x100cd890
mov eax, dword [0x10223ca8]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101ebbdc]
mov word [esp + 0x1c], ax
mov al, byte [0x101ebbde]
mov byte [esp + 0x1e], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cd575
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x70], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cd5c0
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100278e0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x70]
push 0
push edx
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [esi]
mov ecx, esi
push eax
mov edx, dword [edx + 0x24]
call edx
mov ecx, dword [esp + 0x84]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cd63a
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd630
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd999
push ecx
push edx
call fcn.1019958d
add esp, 8
test edi, edi
je 0x100cd890
mov eax, dword [0x10225524]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
add ecx, 8
mov esi, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x2f0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x380]
cmp edi, ecx
je 0x100cd890
mov eax, dword [0x10223ca8]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x100cd890
mov eax, dword [0x101ebca8]
movups xmm0, xmmword [0x101ebc98]
mov dword [esp + 0x28], eax
mov ax, word [0x101ebcac]
mov word [esp + 0x2c], ax
movups xmmword [esp + 0x18], xmm0
test ah, ah
je 0x100cd82e
xor ebx, ebx
cmp dword [0x10224d40], 2
jl 0x100cd804
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f8100]
movaps xmm5, xmmword [0x101f7c90]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
movd xmm0, ebx
lea eax, [ebx + 4]
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1c]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x1c], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cd700
cmp ebx, 0x16
jge 0x100cd82e
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x16
jl 0x100cd804
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov esi, eax
mov ecx, edi
lea eax, [esp + 0xa0]
push eax
call fcn.100362c0
push esi
mov edx, eax
lea ecx, [esp + 0x16c]
call fcn.10024710
push eax
lea ecx, [esp + 0xf4]
call fcn.10020910
lea ecx, [esp + 0x168]
call fcn.100020d0
lea ecx, [esp + 0xa0]
call fcn.100020d0
lea ecx, [esp + 0xb8]
call fcn.100020d0
cmp dword [esp + 0x100], 0
je 0x100cd8be
lea eax, [esp + 0xe8]
mov ecx, 0x1033721c
push eax
call fcn.100ce400
lea eax, [esp + 0xe8]
mov ecx, 0x10337208
push eax
call fcn.100ce400
mov ecx, dword [esp + 0x104]
cmp ecx, 0xf
jbe 0x100cd8fa
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd8f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd99e
push ecx
push edx
call fcn.1019958d
add esp, 8
push 0x1035247c
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0xf
mov byte [esp + 0xf4], 0
call fcn.101989bd
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.10199294
mov esp, ebp
pop ebp
ret
mov ecx, 0x1033721c
call fcn.1003ee40
mov ecx, 0x10337208
call fcn.1003ee40
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10199294
mov esp, ebp
pop ebp
ret
push 5
call fcn.10198bcc
push 6
mov dword [0x103524a8], 0x7ffffffe
call fcn.10198bcc
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
nop
inc ecx
mov esp, -1134620660
or al, 0x10
jle 0x100cd96a
or al, 0x10
cmpsd dword [esi], dword es:[edi]
mov esp, -1127935988
or al, 0x10
in al, dx
mov esp, -1122562036
or al, 0x10
cmp edi, dword [ebp - 0x3333eff4]
int3