Function at 0x100cff80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x304
mov eax, dword [0x1020c0c0]
xor eax, esp
mov dword [esp + 0x300], eax
mov eax, dword [0x10229c78]
push ebx
push esi
push edi
cmp byte [eax + 0x3695], 0
mov edi, ecx
mov dword [esp + 0x14], edi
je 0x100cff04
cmp dword [eax + 0x3674], 0
je 0x100cff04
cmp dword [eax + 0x3678], 0
je 0x100cff04
test edi, edi
je 0x100cff18
mov eax, dword [0x1022bebc]
cmp dword [eax], 0
je 0x100cff18
mov eax, dword [0x10229c80]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100cff18
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1022b6ec]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x1051ed9c]
mov dword [esp + 0x18], esi
cmp eax, dword [esi + 4]
jle 0x100cd37b
push 0x1051ed9c
call fcn.101a0794
add esp, 4
cmp dword [0x1051ed9c], 0xffffffff
jne 0x100cd37b
mov eax, dword [0x10229c80]
xor ebx, ebx
movq xmm0, qword [str._CkV]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
mov ax, word [0x101f655c]
mov word [esp + 0x78], ax
mov al, byte [0x101f655e]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], al
nop dword [eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100cd330
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x70]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x1051ed9c
mov dword [0x1051ed94], eax
call fcn.101a074a
add esp, 4
mov eax, dword [0x1051ed98]
cmp eax, dword [esi + 4]
jle 0x100cd3c4
push 0x1051ed98
call fcn.101a0794
add esp, 4
cmp dword [0x1051ed98], 0xffffffff
jne 0x100cd3c4
push 2
push 0x1051ed64
call fcn.1019f868
push 0x101ccb00
call fcn.101a0422
add esp, 0xc
push 0x1051ed98
call fcn.101a074a
add esp, 4
push 0x1051ed64
call fcn.1019f887
add esp, 4
test eax, eax
jne 0x100cff2d
mov eax, dword [0x1051edc0]
cmp eax, dword [esi + 4]
jle 0x100cd507
push 0x1051edc0
call fcn.101a0794
add esp, 4
cmp dword [0x1051edc0], 0xffffffff
jne 0x100cd507
push 0x30
mov dword [0x1051eda0], 0
mov dword [0x1051eda4], 0
mov dword [0x1051eda8], 0
call fcn.101a044f
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x1051eda4], ebx
mov dword [0x1051edac], 0
mov dword [0x1051edb0], 0
mov dword [0x1051edb4], 0
mov dword [0x1051edb8], 7
mov dword [0x1051edbc], 8
mov dword [0x1051eda0], 0x3f800000
call fcn.101a044f
mov ecx, dword [0x1051edac]
mov esi, eax
mov eax, dword [0x1051edb4]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100cd4c4
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100cd4ba
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push edx
push ecx
call fcn.101a043c
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x1051edac], esi
mov dword [0x1051edb0], eax
mov dword [0x1051edb4], eax
cmp esi, eax
je 0x100cd4e9
nop dword [eax + eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100cd4e0
push 0x101ccae0
call fcn.101a0422
add esp, 4
push 0x1051edc0
call fcn.101a074a
mov esi, dword [esp + 0x1c]
add esp, 4
mov eax, dword [0x1051edc4]
cmp eax, dword [esi + 4]
jle 0x100cd633
push 0x1051edc4
call fcn.101a0794
add esp, 4
cmp dword [0x1051edc4], 0xffffffff
jne 0x100cd633
push 0x24
mov dword [0x1051edc8], 0
mov dword [0x1051edcc], 0
mov dword [0x1051edd0], 0
call fcn.101a044f
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x1051edcc], ebx
mov dword [0x1051edd4], 0
mov dword [0x1051edd8], 0
mov dword [0x1051eddc], 0
mov dword [0x1051ede0], 7
mov dword [0x1051ede4], 8
mov dword [0x1051edc8], 0x3f800000
call fcn.101a044f
mov ecx, dword [0x1051edd4]
mov esi, eax
mov eax, dword [0x1051eddc]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100cd5f2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100cd5e8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push edx
push ecx
call fcn.101a043c
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x1051edd4], esi
mov dword [0x1051edd8], eax
mov dword [0x1051eddc], eax
cmp esi, eax
je 0x100cd619
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100cd610
push 0x101ccac0
call fcn.101a0422
add esp, 4
push 0x1051edc4
call fcn.101a074a
add esp, 4
mov eax, dword [0x10229c74]
xorps xmm0, xmm0
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xd4], 0x437f0000
mov ecx, edi
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0xd0], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100cfe88
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100cd696
cmp ecx, 0x7dd410c4
ja 0x100cf681
je 0x100cf384
cmp ecx, 0x1b30ddf0
je 0x100cdfb3
cmp ecx, 0x4400fb1c
je 0x100cdd32
cmp ecx, 0x4e704c3e
jne 0x100cfe88
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 8
je 0x100cfe5a
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
nop dword [eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cd720
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cd768
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
cmp dword [esp + 0x58], 0x10
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmovae edx, dword [esp + 0x44]
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 + 0x58]
mov edi, eax
cmp ecx, 0x10
jb 0x100cd7dc
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cd7d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff33
push ecx
push edx
call fcn.101a043c
add esp, 8
mov eax, dword [0x10229c80]
mov esi, dword [eax + 0x10]
mov eax, dword [0x1022bebc]
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 + 0x1b0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x240]
cmp edi, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
push edi
mov ecx, dword [eax + 0x18]
call fcn.1007e820
mov esi, eax
test esi, esi
je 0x100cfe5a
push 0x10229ca4
lea ecx, [esp + 0x13c]
call fcn.10020b00
movq xmm0, qword [0x101f652c]
xor ebx, ebx
mov al, byte [0x101f6534]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], al
nop
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100cd860
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xf4]
call fcn.10020ac0
mov ecx, dword [0x1051ed94]
mov dword [esp + 0x14], eax
call fcn.1008b590
mov edx, eax
lea ecx, [esp + 0x108]
call fcn.10003e60
movups xmm0, xmmword [0x101f64cc]
mov cl, byte [0x101f64dc]
xor ebx, ebx
mov edi, dword [0x1022b6e0]
mov dword [esp + 0x18], eax
mov byte [esp + 0x6c], cl
lea eax, [ebx + 4]
lea ecx, [ebx + 0x1f]
movups xmmword [esp + 0x5c], xmm0
cmp edi, 2
jl 0x100cda50
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm7, ecx
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movd xmm5, eax
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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x5c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x5c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x60]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x60], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cd920
cmp ebx, 0x11
jl 0x100cda50
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov dword [esp + 0x5c], eax
mov ecx, esi
lea eax, [esp + 0x88]
push eax
call fcn.10036300
mov cl, byte [0x101f6520]
mov esi, eax
mov byte [esp + 0x3c], cl
jmp 0x100cdaa7
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 0x11
jl 0x100cda50
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xbc]
call fcn.10020ac0
mov dword [esp + 0x5c], eax
mov ecx, esi
lea eax, [esp + 0x88]
push eax
call fcn.10036300
mov esi, eax
mov al, byte [0x101f6520]
mov byte [esp + 0x3c], al
movups xmm0, xmmword [str.PYW]
xor ebx, ebx
movups xmmword [esp + 0x2c], xmm0
cmp edi, 2
jl 0x100cdc00
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 4
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movd xmm7, eax
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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x2c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x30], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cdb00
cmp ebx, 0x11
jge 0x100cdc28
nop dword [eax]
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x11
jl 0x100cdc00
push str._by
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xac]
call fcn.10020ac0
mov edx, eax
lea ecx, [esp + 0x158]
call fcn.10030ed0
mov edx, eax
lea ecx, [esp + 0x16c]
call fcn.10024b10
push esi
mov edx, eax
lea ecx, [esp + 0x48]
call fcn.10024b60
push dword [esp + 0x5c]
mov edx, eax
lea ecx, [esp + 0x124]
call fcn.10024b60
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x19c]
call fcn.10024b60
push dword [esp + 0x14]
mov edx, eax
lea ecx, [esp + 0x184]
call fcn.10024b60
push eax
lea ecx, [esp + 0xdc]
call fcn.10020950
lea ecx, [esp + 0x180]
call fcn.10002230
lea ecx, [esp + 0x198]
call fcn.10002230
lea ecx, [esp + 0x120]
call fcn.10002230
lea ecx, [esp + 0x44]
call fcn.10002230
lea ecx, [esp + 0x168]
call fcn.10002230
lea ecx, [esp + 0x150]
call fcn.10002230
lea ecx, [esp + 0xa0]
call fcn.10002230
lea ecx, [esp + 0x88]
call fcn.10002230
lea ecx, [esp + 0xb8]
call fcn.10002230
lea ecx, [esp + 0x108]
call fcn.10002230
lea ecx, [esp + 0xf0]
jmp 0x100cfe49
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 0x10
je 0x100cfe5a
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
nop dword [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cdd70
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cddb8
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
cmp dword [esp + 0x58], 0x10
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmovae edx, dword [esp + 0x44]
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 + 0x58]
mov esi, eax
cmp ecx, 0x10
jb 0x100cde2c
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cde22
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff38
push ecx
push edx
call fcn.101a043c
add esp, 8
test esi, esi
je 0x100cfe5a
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cfe5a
call fcn.1007e8c0
cmp esi, eax
je 0x100cfe5a
mov eax, dword [0x10229c80]
push esi
mov ecx, dword [eax + 0x18]
call fcn.1007e820
mov dword [esp + 0x18], eax
test eax, eax
je 0x100cfe5a
mov ecx, dword [0x1022bebc]
mov esi, dword [ecx]
mov ecx, eax
call fcn.100a7e50
mov ecx, esi
mov edi, eax
call fcn.100a7e50
mov ecx, dword [edi]
cmp ecx, dword [eax]
je 0x100cfe5a
mov eax, dword [0x101f6570]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov ax, word [0x101f6574]
mov word [esp + 0x60], ax
mov al, byte [0x101f6576]
mov byte [esp + 0x62], al
nop dword [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 7
jl 0x100cdeb0
push ecx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0xc0]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
mov ecx, dword [esp + 0x18]
push eax
call fcn.100cd230
push eax
lea ecx, [esp + 0x8c]
call fcn.10020ac0
lea ecx, [esp + 0xb8]
call fcn.10002230
push ecx
lea ecx, [esp + 0x1b4]
call fcn.10020360
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xb8]
push eax
call fcn.10036300
mov edx, eax
lea ecx, [esp + 0x1b0]
call fcn.100d0cc0
mov edx, str._bought
mov ecx, eax
call fcn.100be240
lea edx, [esp + 0x88]
mov ecx, eax
call fcn.100d0cc0
lea ecx, [esp + 0xb8]
call fcn.10002230
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x1b4]
call fcn.100202c0
mov ecx, eax
call fcn.10006680
push eax
lea ecx, [esp + 0xdc]
call fcn.10020920
lea ecx, [esp + 0xb8]
call fcn.10002230
lea ecx, [esp + 0x1b0]
call fcn.10005930
lea ecx, [esp + 0x88]
jmp 0x100cfe55
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
nop word [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cdfe0
mov eax, dword [edi]
lea ecx, [esp + 0x18]
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 [0x10229c80]
xor ebx, ebx
movq xmm0, qword [0x101f59dc]
mov dword [esp + 0x5c], eax
mov esi, dword [ecx + 0x10]
mov cl, byte [0x101f59e4]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], cl
nop word [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100ce050
mov eax, dword [edi]
lea ecx, [esp + 0x18]
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 [0x101f5b54]
mov esi, eax
movq xmm0, qword [str.VSjRYUNS_]
xor ebx, ebx
mov word [esp + 0x78], cx
mov cl, byte [0x101f5b56]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], cl
nop dword [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ce0c0
mov eax, dword [edi]
lea ecx, [esp + 0x70]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
mov edx, eax
lea ecx, [esp + 0x150]
call fcn.10003e60
movq xmm0, qword [str.ZZ_RDXMI:]
xor ebx, ebx
mov al, byte [0x101f650c]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], al
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100ce120
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, 7
ja case.default.0x100ce162
jmp dword [eax*4 + 0x100cff60]
mov eax, dword [str.generic]
mov dword [esp + 0x2c], eax
mov ax, word [0x101d9e54]
mov word [esp + 0x30], ax
mov al, byte [0x101d9e56]
jmp 0x100ce2aa
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], 0x64616568
mov byte [esp + 0x30], 0
jmp 0x100ce2c1
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], eax
mov edi, 5
mov al, byte [0x101f6470]
mov byte [esp + 0x30], al
mov byte [esp + 0x31], 0
jmp 0x100ce2c1
mov eax, dword [str.stomach]
mov dword [esp + 0x2c], eax
mov ax, word [0x101f6468]
mov word [esp + 0x30], ax
mov al, byte [0x101f646a]
jmp 0x100ce2aa
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], 0x7466656c
mov dword [esp + 0x30], 0x6d726120
mov byte [esp + 0x34], 0
jmp 0x100ce2c1
mov al, byte [0x101f647c]
xorps xmm0, xmm0
movups xmmword [esp + 0x2c], xmm0
mov edi, 9
mov byte [esp + 0x34], al
movq xmm0, qword [str.right_arm]
movq qword [esp + 0x2c], xmm0
mov byte [esp + 0x35], 0
jmp 0x100ce2c1
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], 0x7466656c
mov dword [esp + 0x30], 0x67656c20
mov byte [esp + 0x34], 0
jmp 0x100ce2c1
mov al, byte [0x101f6488]
xorps xmm0, xmm0
movups xmmword [esp + 0x2c], xmm0
mov edi, 9
mov byte [esp + 0x34], al
movq xmm0, qword [str.right_leg]
movq qword [esp + 0x2c], xmm0
mov byte [esp + 0x35], 0
jmp 0x100ce2c1
mov eax, dword [str.unknown]
mov dword [esp + 0x2c], eax
mov ax, word [0x101d9e38]
mov word [esp + 0x30], ax
mov al, byte [0x101d9e3a]
xorps xmm0, xmm0
mov byte [esp + 0x32], al
movlpd qword [esp + 0x34], xmm0
mov edi, 7
mov byte [esp + 0x33], 0
mov eax, dword [0x1022bebc]
mov ebx, 0xf
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebx
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x5c], eax
je 0x100cf062
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
jne 0x100cf062
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 1
jne 0x100ce357
mov ecx, dword [esp + 0x164]
cmp ecx, 0x10
jb 0x100cfe5a
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce348
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff42
push ecx
push edx
call fcn.101a043c
add esp, 8
jmp 0x100cfe5a
mov eax, dword [0x10229c80]
push dword [esp + 0x5c]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x100ce387
lea ecx, [esp + 0x2c]
call fcn.10002230
lea ecx, [esp + 0x150]
jmp 0x100cfe55
lea ecx, [esp + 0xb8]
call fcn.10020bf0
mov ax, word [0x101f5b54]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x78], ax
mov al, byte [0x101f5b56]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], al
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ce3b7
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
call fcn.100a7ec0
mov ecx, dword [esp + 0x5c]
mov esi, eax
call fcn.1007e830
sub eax, esi
jns 0x100ce5c9
movups xmm0, xmmword [0x101f6560]
movups xmmword [esp + 0x18], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100ce598
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100ce570
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 4
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x70], xmm0
mov edx, dword [esp + 0x70]
movd xmm7, eax
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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x18]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x1c]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x1c], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ce470
jmp 0x100ce598
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x10
jl 0x100ce570
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x8c]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
push eax
lea ecx, [esp + 0xbc]
call fcn.10020920
lea ecx, [esp + 0x88]
jmp 0x100ce811
mov eax, dword [0x101f6590]
xor ebx, ebx
cmp dword [0x1022b6e0], 2
movq xmm0, qword [0x101f6588]
mov dword [esp + 0x20], eax
mov ax, word [0x101f6594]
mov word [esp + 0x24], ax
mov al, byte [0x101f6596]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x26], al
jl 0x100ce710
movaps xmm2, xmmword [0x102025e0]
mov eax, 4
movaps xmm4, xmmword [0x10202a90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov ebx, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.2222222222222222777777777777777788888888888888889999999999999999]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202670]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10202620]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f6588]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x18], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202670]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x1c]
pxor xmm1, xmm0
movd dword [esp + 0x1c], xmm1
nop dword [eax]
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0xf
jl 0x100ce710
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x184]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
mov cx, word [0x101f5b54]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x78], cx
mov cl, byte [0x101f5b56]
mov dword [esp + 0x18], eax
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], cl
nop word [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ce780
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
call fcn.100a7ec0
mov ecx, dword [esp + 0x5c]
mov esi, eax
call fcn.1007e830
sub eax, esi
lea ecx, [esp + 0x138]
mov edx, eax
call fcn.10003e60
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10024b10
push eax
lea ecx, [esp + 0xbc]
call fcn.10020950
lea ecx, [esp + 0x88]
call fcn.10002230
lea ecx, [esp + 0x138]
call fcn.10002230
lea ecx, [esp + 0x180]
call fcn.10002230
mov eax, dword [0x101f64bc]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c0]
mov word [esp + 0x1c], ax
test ah, ah
je 0x100ce859
xor ebx, ebx
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 6
jl 0x100ce830
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x8c]
call fcn.10020ac0
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x101f6538]
mov dword [esp + 0x18], eax
mov al, byte [0x101f653c]
mov byte [esp + 0x1c], al
call fcn.10006680
mov dword [esp + 0x14], eax
nop dword [eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100ce890
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x13c]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
mov ecx, dword [esp + 0x5c]
mov esi, eax
lea eax, [esp + 0x180]
push eax
call fcn.10036300
mov ecx, dword [0x101f6524]
xor ebx, ebx
mov dword [esp + 0x5c], ecx
mov cl, byte [0x101f6528]
mov dword [esp + 0x18], eax
mov byte [esp + 0x60], cl
nop
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 5
jl 0x100ce900
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x19c]
call fcn.10020ac0
push dword [esp + 0x18]
lea ecx, [esp + 0x124]
push eax
push dword [esp + 0x20]
call fcn.10029b50
push esi
lea ecx, [esp + 0x124]
call fcn.10020840
mov dword [esp + 0x118], 0
lea edx, [esp + 0x2c]
mov dword [esp + 0x11c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x108], xmm0
push edi
movups xmm0, xmmword [eax]
mov ebx, 0xf
push edx
movups xmmword [esp + 0x110], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x120], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
sub eax, ecx
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x100cea0a
cmp dword [esp + 0x124], 0x10
lea esi, [esp + 0x110]
lea eax, [edi + ecx]
cmovae esi, dword [esp + 0x110]
mov dword [esp + 0x120], eax
lea eax, [esi + ecx]
push eax
call fcn.101a1ab0
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [esp + 0x108]
jmp 0x100cea1f
push dword [esp + 0x20]
lea ecx, [esp + 0x114]
push edi
call fcn.100285e0
mov ebx, dword [esp + 0x40]
push dword [esp + 0x14]
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x5c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x48], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10020840
mov dword [esp + 0x100], 0
lea edx, [esp + 0x150]
mov dword [esp + 0x104], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xf0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x100], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [esp + 0x164], 0x10
mov ecx, dword [esp + 0x100]
cmovae edx, dword [esp + 0x150]
mov eax, dword [esp + 0x104]
mov edi, dword [esp + 0x160]
sub eax, ecx
mov dword [esp + 0x18], ecx
push edi
push edx
cmp edi, eax
ja 0x100ceb2c
cmp dword [esp + 0x10c], 0x10
lea esi, [esp + 0xf8]
lea eax, [edi + ecx]
cmovae esi, dword [esp + 0xf8]
mov dword [esp + 0x108], eax
lea eax, [esi + ecx]
push eax
call fcn.101a1ab0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0xf0]
jmp 0x100ceb3d
push dword [esp + 0x20]
lea ecx, [esp + 0xfc]
push edi
call fcn.100285e0
mov dword [esp + 0xb0], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb4], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xb0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xb4]
mov eax, edx
mov ecx, dword [esp + 0xb0]
sub eax, ecx
cmp eax, 2
jb 0x100cebd2
lea eax, [ecx + 2]
cmp edx, 0x10
mov dword [esp + 0xb0], eax
mov edx, 0x2820
lea eax, [esp + 0xa0]
cmovae eax, dword [esp + 0xa0]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [esp + 0xa0]
jmp 0x100cebeb
push 2
push 0x101f6494
push dword [esp + 0x20]
lea ecx, [esp + 0xac]
push 2
call fcn.100285e0
mov dword [esp + 0x178], 0
lea ecx, [esp + 0x168]
mov dword [esp + 0x17c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x168], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x168], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x178], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0xb8]
push eax
call fcn.100208b0
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
movups xmmword [esp + 0x70], xmm0
movq qword [esp + 0x18], xmm1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0xec]
cmp ecx, 0x10
jb 0x100cecb5
mov edx, dword [esp + 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceca0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
movups xmm0, xmmword [esp + 0x78]
add esp, 8
movq xmm1, qword [esp + 0x18]
mov ecx, dword [esp + 0x17c]
movq qword [esp + 0xe8], xmm1
movups xmmword [esp + 0xd8], xmm0
cmp ecx, 0x10
jb 0x100ced02
mov edx, dword [esp + 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cecf8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
mov byte [esp + 0x168], 0
cmp ecx, 0x10
jb 0x100ced5c
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ced52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
cmp ecx, 0x10
jb 0x100cedb6
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cedac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
cmp ecx, 0x10
jb 0x100cee0a
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cee00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0xf
mov byte [esp + 0x44], 0
cmp ecx, 0x10
jb 0x100cee5b
mov edx, dword [esp + 0x108]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cee51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
mov byte [esp + 0x108], 0
cmp ecx, 0x10
jb 0x100ceeb5
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceeab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov byte [esp + 0x120], 0
cmp ecx, 0x10
jb 0x100cef0f
mov edx, dword [esp + 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cef05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
mov byte [esp + 0x198], 0
cmp ecx, 0x10
jb 0x100cef69
mov edx, dword [esp + 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cef5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
mov byte [esp + 0x180], 0
cmp ecx, 0x10
jb 0x100cefc3
mov edx, dword [esp + 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cefb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
mov byte [esp + 0x138], 0
cmp ecx, 0x10
jb 0x100cf01d
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf013
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff3d
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0xcc]
cmp ecx, 0x10
jb 0x100cf30d
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf053
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff42
push ecx
push edx
call fcn.101a043c
add esp, 8
jmp 0x100cf30d
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x5c], eax
jne 0x100cf30d
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
je 0x100cf30d
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 2
jne 0x100cf0eb
mov ecx, dword [esp + 0x164]
cmp ecx, 0x10
jb 0x100cfe5a
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf0dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push ecx
push edx
call fcn.101a043c
add esp, 8
jmp 0x100cfe5a
mov eax, dword [0x10229c80]
push esi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
jne 0x100cf116
lea ecx, [esp + 0x2c]
call fcn.10002230
lea ecx, [esp + 0x150]
jmp 0x100cfe55
mov eax, dword [0x101f6538]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov al, byte [0x101f653c]
mov byte [esp + 0x1c], al
nop word [eax + eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100cf130
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xa4]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
mov ecx, dword [0x101f64bc]
mov dword [esp + 0x5c], ecx
mov cx, word [0x101f64c0]
mov dword [esp + 0x18], eax
mov word [esp + 0x60], cx
test ch, ch
je 0x100cf1ba
xor ebx, ebx
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 6
jl 0x100cf191
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x16c]
call fcn.10020ac0
mov ecx, eax
call fcn.10006680
mov edi, eax
mov ecx, esi
lea eax, [esp + 0x44]
push eax
call fcn.10036300
movq xmm0, qword [str.ZFFA]
mov esi, eax
mov cl, byte [0x101f6500]
xor ebx, ebx
movq qword [esp + 0x5c], xmm0
mov byte [esp + 0x64], cl
nop dword [eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 9
jl 0x100cf200
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x124]
call fcn.10020ac0
push esi
mov edx, eax
lea ecx, [esp + 0x19c]
call fcn.10024b60
lea ecx, [esp + 0x150]
mov edx, eax
push ecx
push edi
lea ecx, [esp + 0x188]
call fcn.10024b10
mov edx, eax
lea ecx, [esp + 0x13c]
call fcn.10030ed0
lea ecx, [esp + 0x2c]
mov edx, eax
push ecx
push dword [esp + 0x1c]
lea ecx, [esp + 0xc0]
call fcn.10024b10
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10030ed0
push eax
lea ecx, [esp + 0xdc]
call fcn.10020950
lea ecx, [esp + 0x88]
call fcn.10002230
lea ecx, [esp + 0xb8]
call fcn.10002230
lea ecx, [esp + 0x138]
call fcn.10002230
lea ecx, [esp + 0x180]
call fcn.10002230
lea ecx, [esp + 0x198]
call fcn.10002230
lea ecx, [esp + 0x120]
call fcn.10002230
lea ecx, [esp + 0x44]
call fcn.10002230
lea ecx, [esp + 0x168]
call fcn.10002230
lea ecx, [esp + 0xa0]
call fcn.10002230
mov ebx, dword [esp + 0x40]
cmp ebx, 0x10
jb 0x100cf33f
mov ecx, dword [esp + 0x2c]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100cf335
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push ebx
push ecx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x164]
cmp ecx, 0x10
jb 0x100cfe5a
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf375
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push ecx
push edx
call fcn.101a043c
add esp, 8
jmp 0x100cfe5a
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 8
je 0x100cfe5a
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
nop dword [eax]
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cf3c0
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf408
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
cmp dword [esp + 0x58], 0x10
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmovae edx, dword [esp + 0x44]
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 + 0x58]
mov edi, eax
cmp ecx, 0x10
jb 0x100cf47c
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf472
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff47
push ecx
push edx
call fcn.101a043c
add esp, 8
test edi, edi
je 0x100cfe5a
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
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 + 0x1b0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x240]
cmp edi, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
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 0x100cfe5a
mov eax, dword [0x101f64f0]
movups xmm0, xmmword [0x101f64e0]
mov dword [esp + 0x3c], eax
mov ax, word [0x101f64f4]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cfdf8
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100cf654
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 4
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movd xmm7, 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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x2c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x30], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cf554
cmp ebx, 0x16
jge 0x100cfdf8
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x16
jl 0x100cf654
jmp 0x100cfdf8
cmp ecx, 0xc3c7d299
je 0x100cfafb
cmp ecx, 0xec398ed7
jne 0x100cfe88
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 4
je 0x100cfe5a
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cf6d2
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf720
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
cmp dword [esp + 0x58], 0x10
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmovae edx, dword [esp + 0x44]
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 + 0x58]
mov edi, eax
cmp ecx, 0x10
jb 0x100cf794
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf78a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff4c
push ecx
push edx
call fcn.101a043c
add esp, 8
mov eax, dword [0x10229c80]
mov esi, dword [eax + 0x10]
mov eax, dword [0x1022bebc]
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 + 0x1b0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x240]
cmp edi, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100cfe5a
lea ecx, [esp + 0x1b0]
push ecx
mov ecx, eax
call fcn.10193ac0
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf820
sub ecx, edx
lea eax, [esp + 0x1b0]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
movups xmm0, xmmword [str.ZGAWP_]
mov ax, word [0x101f6550]
mov word [esp + 0x3c], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cf9c8
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100cf9a0
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 4
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movd xmm7, 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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x2c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x30], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cf8a0
cmp ebx, 0x12
jge 0x100cf9c8
nop dword [eax]
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x12
jl 0x100cf9a0
xorps xmm0, xmm0
mov dword [esp + 0x130], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x134], 0
movups xmmword [esp + 0x120], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf9f0
sub ecx, edx
lea eax, [esp + 0x2c]
push ecx
push eax
lea ecx, [esp + 0x128]
call fcn.10027e90
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x124]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x94]
call fcn.10029b50
mov ecx, dword [esp + 0xec]
cmp ecx, 0x10
jb 0x100cfa64
mov edx, dword [esp + 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfa5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push ecx
push edx
call fcn.101a043c
add esp, 8
movups xmm0, xmmword [esp + 0x88]
mov ecx, dword [esp + 0x134]
movups xmmword [esp + 0xd8], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [esp + 0xe8], xmm0
cmp ecx, 0x10
jb 0x100cfac2
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfab8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x58]
cmp ecx, 0x10
jb 0x100cfe5a
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce348
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff51
jmp 0x100ce348
mov eax, dword [0x10229c78]
test byte [eax + 0x3678], 8
je 0x100cfe5a
mov eax, dword [0x10229c80]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.G_QG_S8]
mov dword [esp + 0x18], eax
mov ax, word [0x101f64c8]
mov word [esp + 0x1c], ax
mov al, byte [0x101f64ca]
mov byte [esp + 0x1e], al
mov eax, 0x2f684bdb
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cfb34
xorps xmm0, xmm0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x44], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cfb80
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027e90
cmp dword [esp + 0x58], 0x10
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmovae edx, dword [esp + 0x44]
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 + 0x58]
mov edi, eax
cmp ecx, 0x10
jb 0x100cfbf4
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfbea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff56
push ecx
push edx
call fcn.101a043c
add esp, 8
test edi, edi
je 0x100cfe5a
mov eax, dword [0x1022bebc]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
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 + 0x1b0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x240]
cmp edi, ecx
je 0x100cfe5a
mov eax, dword [0x10229c80]
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 0x100cfe5a
mov eax, dword [0x101f64b4]
movups xmm0, xmmword [0x101f64a4]
mov dword [esp + 0x3c], eax
mov ax, word [0x101f64b8]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cfdf8
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100cfdd0
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 4
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202a90]
movaps xmm6, xmmword [0x10202670]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movd xmm7, eax
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
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x2c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x30], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cfcd0
cmp ebx, 0x16
jge 0x100cfdf8
nop dword [eax]
mov eax, 0x4bda12f7
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x16
jl 0x100cfdd0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x13c]
call fcn.10020ac0
mov esi, eax
mov ecx, edi
lea eax, [esp + 0xb8]
push eax
call fcn.10036300
push esi
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10024b60
push eax
lea ecx, [esp + 0xdc]
call fcn.10020950
lea ecx, [esp + 0x88]
call fcn.10002230
lea ecx, [esp + 0xb8]
call fcn.10002230
lea ecx, [esp + 0x138]
call fcn.10002230
cmp dword [esp + 0xe8], 0
je 0x100cfe88
lea eax, [esp + 0xd0]
mov ecx, 0x1043e6d4
push eax
call fcn.100d0a10
lea eax, [esp + 0xd0]
mov ecx, 0x1043e6c0
push eax
call fcn.100d0a10
mov ecx, dword [esp + 0xec]
cmp ecx, 0x10
jb 0x100cfec4
mov edx, dword [esp + 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfeba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cff5b
push ecx
push edx
call fcn.101a043c
add esp, 8
push 0x1051ed64
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0xf
mov byte [esp + 0xdc], 0
call fcn.1019f8ce
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x300]
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret
mov ecx, 0x1043e6d4
call fcn.1003f0a0
mov ecx, 0x1043e6c0
call fcn.1003f0a0
mov ecx, dword [esp + 0x30c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret
push eax
call fcn.1019f9be
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
imul esp, ecx, 0xe187100c
or al, 16
cmpsb byte [esi], byte es:[edi]
loope 269287287
adc bh, cl
loope 0x100cff7b
adc ch, ch
loope 0x100cff7f
adc byte [edx], dl
or al, 0x10
inc edx
loop 269287303
adc byte [edx - 0x1e], al
or al, 0x10
loop 0x100cff8b
adc byte [esi - 0x1e], ah
or al, 0x10
adc byte [ebp - 0x75], dl
in al, dx
in al, dx
js 0x100cff2b
rol al, 0x20
adc byte [ebx], dh
les ecx, [ecx + 0x56742444]
shl byte [eax], 0x10