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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x324
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x320], eax
mov eax, dword [0x10240c80]
push ebx
push esi
push edi
cmp byte [eax + 0x36cd], 0
mov edi, ecx
mov dword [esp + 0x1c], edi
je 0x100cc0ba
cmp dword [eax + 0x36ac], 0
je 0x100cc0ba
cmp dword [eax + 0x36b0], 0
je 0x100cc0ba
test edi, edi
je 0x100cc0ce
mov eax, dword [0x10242574]
cmp dword [eax], 0
je 0x100cc0ce
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100cc0ce
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10241d9c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10534c68]
mov dword [esp + 0x78], esi
cmp eax, dword [esi + 4]
jle 0x100c931b
push 0x10534c68
call fcn.101b6d6c
add esp, 4
cmp dword [0x10534c68], 0xffffffff
jne 0x100c931b
mov eax, dword [0x10240c88]
xor ebx, ebx
movq xmm0, qword [str._CkV]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov ax, word [0x10208d28]
mov word [esp + 0x38], ax
mov al, byte [0x10208d2a]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], al
nop dword [eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100c92d0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x10534c68
mov dword [0x10534c60], eax
call fcn.101b6d1b
add esp, 4
mov eax, dword [0x10534c64]
cmp eax, dword [esi + 4]
jle 0x100c93b6
push 0x10534c64
call fcn.101b6d6c
add esp, 4
cmp dword [0x10534c64], 0xffffffff
jne 0x100c93b6
xorps xmm0, xmm0
mov dword [0x10534c30], 0
push 2
push 0x10534c30
mov dword [0x10534c34], 0
mov dword [0x10534c38], 0
movups xmmword [0x10534c3c], xmm0
mov dword [0x10534c54], 0
movq qword [0x10534c4c], xmm0
mov dword [0x10534c58], 0
mov dword [0x10534c5c], 0
call fcn.101b5ebf
push 0x101e2ed0
call fcn.101b6ab8
add esp, 0xc
push 0x10534c64
call fcn.101b6d1b
add esp, 4
push 0x10534c30
call fcn.101b5edb
add esp, 4
test eax, eax
jne 0x100cc0e3
cmp dword [0x10534c5c], 0x7fffffff
je 0x100cc0ea
mov eax, dword [0x10534c8c]
cmp eax, dword [esi + 4]
jle 0x100c9507
push 0x10534c8c
call fcn.101b6d6c
add esp, 4
cmp dword [0x10534c8c], 0xffffffff
jne 0x100c9507
push 0x30
mov dword [0x10534c6c], 0
mov dword [0x10534c70], 0
mov dword [0x10534c74], 0
call fcn.101b6ae5
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10534c70], ebx
mov dword [0x10534c78], 0
mov dword [0x10534c7c], 0
mov dword [0x10534c80], 0
mov dword [0x10534c84], 7
mov dword [0x10534c88], 8
mov dword [0x10534c6c], 0x3f800000
call fcn.101b6ae5
mov ecx, dword [0x10534c78]
mov esi, eax
mov eax, dword [0x10534c80]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c94c6
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c94bc
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push edx
push ecx
call fcn.101b6ad2
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10534c78], esi
mov dword [0x10534c7c], eax
mov dword [0x10534c80], eax
cmp esi, eax
je 0x100c94e9
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c94e0
push 0x101e2eb0
call fcn.101b6ab8
add esp, 4
push 0x10534c8c
call fcn.101b6d1b
mov esi, dword [esp + 0x7c]
add esp, 4
mov eax, dword [0x10534c90]
cmp eax, dword [esi + 4]
jle 0x100c9633
push 0x10534c90
call fcn.101b6d6c
add esp, 4
cmp dword [0x10534c90], 0xffffffff
jne 0x100c9633
push 0x24
mov dword [0x10534c94], 0
mov dword [0x10534c98], 0
mov dword [0x10534c9c], 0
call fcn.101b6ae5
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10534c98], ebx
mov dword [0x10534ca0], 0
mov dword [0x10534ca4], 0
mov dword [0x10534ca8], 0
mov dword [0x10534cac], 7
mov dword [0x10534cb0], 8
mov dword [0x10534c94], 0x3f800000
call fcn.101b6ae5
mov ecx, dword [0x10534ca0]
mov esi, eax
mov eax, dword [0x10534ca8]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c95f2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c95e8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push edx
push ecx
call fcn.101b6ad2
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10534ca0], esi
mov dword [0x10534ca4], eax
mov dword [0x10534ca8], eax
cmp esi, eax
je 0x100c9619
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c9610
push 0x101e2e90
call fcn.101b6ab8
add esp, 4
push 0x10534c90
call fcn.101b6d1b
add esp, 4
mov eax, dword [0x10240c7c]
xorps xmm0, xmm0
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xbc], 0x437f0000
mov ecx, edi
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
mov byte [esp + 0xc0], 0
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0xb8], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100cc03e
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100c9696
cmp ecx, 0x7dd410c4
ja 0x100cb83f
je 0x100cb544
cmp ecx, 0x1b30ddf0
je 0x100c9f96
cmp ecx, 0x4400fb1c
je 0x100c9d18
cmp ecx, 0x4e704c3e
jne 0x100cc03e
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cc010
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
nop dword [eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100c9720
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], 0
movups xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c9768
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.10027a90
cmp dword [esp + 0x74], 0xf
lea edx, [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x60]
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 + 0x74]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c97dc
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c97d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc0fb
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov eax, dword [0x10240c88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10242574]
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 + 0x1d0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x260]
cmp edi, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
push edi
mov ecx, dword [eax + 0x18]
call fcn.1007d730
mov esi, eax
test esi, esi
je 0x100cc010
push 0x10240cac
lea ecx, [esp + 0x154]
call fcn.10020db0
movq xmm0, qword [0x10208ce4]
xor ebx, ebx
mov al, byte [0x10208cec]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], al
nop
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100c9860
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xdc]
call fcn.10020d70
mov ecx, dword [0x10534c60]
mov dword [esp + 0x1c], eax
call fcn.1008a060
mov edx, eax
lea ecx, [esp + 0xf0]
call fcn.10003e70
movups xmm0, xmmword [0x10208cd0]
mov cl, byte [0x10208ce0]
xor ebx, ebx
mov edi, dword [0x10241d90]
mov dword [esp + 0x78], eax
mov byte [esp + 0x40], cl
movups xmmword [esp + 0x30], xmm0
cmp edi, 2
jl 0x100c9a46
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100c9910
cmp ebx, 0x11
jl 0x100c9a46
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10c]
call fcn.10020d70
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x88]
push eax
call fcn.100360a0
mov cl, byte [0x10208d70]
mov esi, eax
mov byte [esp + 0x40], cl
jmp 0x100c9a9f
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x11
jl 0x100c9a46
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x10c]
call fcn.10020d70
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x88]
push eax
call fcn.100360a0
mov esi, eax
mov al, byte [0x10208d70]
mov byte [esp + 0x40], al
movups xmm0, xmmword [str.PYW]
xor ebx, ebx
movups xmmword [esp + 0x30], xmm0
cmp edi, 2
jl 0x100c9be4
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100c9ae0
cmp ebx, 0x11
jge 0x100c9c0e
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x11
jl 0x100c9be4
push str._by
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xac]
call fcn.10020d70
mov edx, eax
lea ecx, [esp + 0x170]
call fcn.10031190
mov edx, eax
lea ecx, [esp + 0x184]
call fcn.10024870
push esi
mov edx, eax
lea ecx, [esp + 0x64]
call fcn.100248c0
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x124]
call fcn.100248c0
push dword [esp + 0x78]
mov edx, eax
lea ecx, [esp + 0x13c]
call fcn.100248c0
push dword [esp + 0x1c]
mov edx, eax
lea ecx, [esp + 0x19c]
call fcn.100248c0
push eax
lea ecx, [esp + 0xc4]
call fcn.10020c00
lea ecx, [esp + 0x198]
call fcn.10002120
lea ecx, [esp + 0x138]
call fcn.10002120
lea ecx, [esp + 0x120]
call fcn.10002120
lea ecx, [esp + 0x60]
call fcn.10002120
lea ecx, [esp + 0x180]
call fcn.10002120
lea ecx, [esp + 0x168]
call fcn.10002120
lea ecx, [esp + 0xa0]
call fcn.10002120
lea ecx, [esp + 0x88]
call fcn.10002120
lea ecx, [esp + 0x108]
call fcn.10002120
lea ecx, [esp + 0xf0]
call fcn.10002120
lea ecx, [esp + 0xd8]
jmp 0x100cbfff
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 0x10
je 0x100cc010
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100c9d51
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], 0
movups xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c9da0
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.10027a90
cmp dword [esp + 0x74], 0xf
lea edx, [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x60]
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 + 0x74]
mov esi, eax
cmp ecx, 0xf
jbe 0x100c9e14
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9e0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc100
push ecx
push edx
call fcn.101b6ad2
add esp, 8
test esi, esi
je 0x100cc010
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cc010
call fcn.1007d740
cmp esi, eax
je 0x100cc010
mov eax, dword [0x10240c88]
push esi
mov ecx, dword [eax + 0x18]
call fcn.1007d730
mov dword [esp + 0x78], eax
test eax, eax
je 0x100cc010
mov ecx, dword [0x10242574]
mov esi, dword [ecx]
mov ecx, eax
call fcn.100a6830
mov ecx, esi
mov edi, eax
call fcn.100a6830
mov ecx, dword [edi]
cmp ecx, dword [eax]
je 0x100cc010
mov eax, dword [str.EVUEYY8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov ax, word [0x10208d1c]
mov word [esp + 0x34], ax
mov al, byte [0x10208d1e]
mov byte [esp + 0x36], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100c9e93
push ecx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x110]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
mov ecx, dword [esp + 0x20]
push eax
call fcn.100c91d0
push eax
lea ecx, [esp + 0x8c]
call fcn.10020d70
lea ecx, [esp + 0x108]
call fcn.10002120
push ecx
lea ecx, [esp + 0x1d4]
call fcn.10020530
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x108]
push eax
call fcn.100360a0
mov edx, eax
lea ecx, [esp + 0x1d0]
call fcn.100cce70
mov edx, str._bought
mov ecx, eax
call fcn.100ba0c0
lea edx, [esp + 0x88]
mov ecx, eax
call fcn.100cce70
lea ecx, [esp + 0x108]
call fcn.10002120
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x1d4]
call fcn.10020490
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xc4]
call fcn.10020bd0
lea ecx, [esp + 0x108]
call fcn.10002120
lea ecx, [esp + 0x1d0]
call fcn.10005a00
lea ecx, [esp + 0x88]
jmp 0x100cc00b
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
nop dword [eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100c9fc0
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 ecx, dword [0x10240c88]
xor ebx, ebx
movq xmm0, qword [str.SG_TU_K:]
mov dword [esp + 0x18], eax
mov esi, dword [ecx + 0x10]
mov cl, byte [0x10206364]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], cl
nop word [eax + eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100ca030
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 [0x102081a0]
mov esi, eax
movq xmm0, qword [str.VSjRYUNS_]
xor ebx, ebx
mov word [esp + 0x38], cx
mov cl, byte [0x102081a2]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], cl
nop dword [eax + eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca0a0
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 + 0x168]
call fcn.10003e70
movq xmm0, qword [0x10208d94]
xor ebx, ebx
mov al, byte [0x10208d9c]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100ca100
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.0x100ca142
jmp dword [eax*4 + 0x100cc128]
mov eax, dword [str.generic]
mov dword [esp + 0x48], eax
mov ax, word [0x101ec4b4]
mov word [esp + 0x4c], ax
mov al, byte [0x101ec4b6]
jmp 0x100ca28a
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], 0x64616568
mov byte [esp + 0x4c], 0
jmp 0x100ca2a1
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], eax
mov edi, 5
mov al, byte [0x10208c68]
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], 0
jmp 0x100ca2a1
mov eax, dword [str.stomach]
mov dword [esp + 0x48], eax
mov ax, word [0x10208c70]
mov word [esp + 0x4c], ax
mov al, byte [0x10208c72]
jmp 0x100ca28a
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], 0x7466656c
mov dword [esp + 0x4c], 0x6d726120
mov byte [esp + 0x50], 0
jmp 0x100ca2a1
mov al, byte [0x10208c7c]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov edi, 9
mov byte [esp + 0x50], al
movq xmm0, qword [str.right_arm]
movq qword [esp + 0x48], xmm0
mov byte [esp + 0x51], 0
jmp 0x100ca2a1
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], 0x7466656c
mov dword [esp + 0x4c], 0x67656c20
mov byte [esp + 0x50], 0
jmp 0x100ca2a1
mov al, byte [0x10208c8c]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov edi, 9
mov byte [esp + 0x50], al
movq xmm0, qword [str.right_leg]
movq qword [esp + 0x48], xmm0
mov byte [esp + 0x51], 0
jmp 0x100ca2a1
mov eax, dword [str.unknown]
mov dword [esp + 0x48], eax
mov ax, word [0x101ec498]
mov word [esp + 0x4c], ax
mov al, byte [0x101ec49a]
xorps xmm0, xmm0
mov byte [esp + 0x4e], al
movlpd qword [esp + 0x50], xmm0
mov edi, 7
mov byte [esp + 0x4f], 0
mov eax, dword [0x10242574]
mov ebx, 0xf
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebx
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x18], eax
je 0x100cb222
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
jne 0x100cb222
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 1
jne 0x100ca330
mov ecx, dword [esp + 0x17c]
cmp ecx, ebx
jbe 0x100cc010
mov edx, dword [esp + 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb29c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc105
jmp 0x100cb29c
mov eax, dword [0x10240c88]
push dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100ca360
lea ecx, [esp + 0x48]
call fcn.10002120
lea ecx, [esp + 0x168]
jmp 0x100cc00b
lea ecx, [esp + 0x108]
call fcn.10020ea0
mov ax, word [0x102081a0]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], ax
mov al, byte [0x102081a2]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca390
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x34]
push eax
call fcn.100a68a0
mov ecx, dword [esp + 0x18]
mov esi, eax
call fcn.1007d7a0
sub eax, esi
jns 0x100ca591
movups xmm0, xmmword [0x10208d00]
mov esi, dword [0x10241d90]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100ca55b
xor ebx, ebx
cmp esi, 2
jl 0x100ca531
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ca430
jmp 0x100ca55b
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x10
jl 0x100ca531
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x8c]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0x10c]
call fcn.10020bd0
lea ecx, [esp + 0x88]
call fcn.10002120
jmp 0x100ca7dc
mov eax, dword [0x10208cb4]
xor ebx, ebx
cmp dword [0x10241d90], 2
movq xmm0, qword [0x10208cac]
mov dword [esp + 0x80], eax
mov ax, word [0x10208cb8]
mov word [esp + 0x84], ax
mov al, byte [0x10208cba]
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x86], al
jl 0x100ca6d3
movaps xmm2, xmmword [0x102157f0]
mov ebx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x10208cac]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x78], 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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x7c]
xorps xmm1, xmm0
movd dword [esp + 0x7c], xmm1
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x78], cl
inc ebx
cmp ebx, 0xf
jl 0x100ca6d3
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x19c]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
mov cx, word [0x102081a0]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], cx
mov cl, byte [0x102081a2]
mov dword [esp + 0x78], eax
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], cl
nop
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca740
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x34]
push eax
call fcn.100a68a0
mov ecx, dword [esp + 0x18]
mov esi, eax
call fcn.1007d7a0
sub eax, esi
lea ecx, [esp + 0x150]
mov edx, eax
call fcn.10003e70
push dword [esp + 0x78]
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10024870
push eax
lea ecx, [esp + 0x10c]
call fcn.10020c00
lea ecx, [esp + 0x88]
call fcn.10002120
lea ecx, [esp + 0x150]
call fcn.10002120
lea ecx, [esp + 0x198]
call fcn.10002120
mov esi, dword [0x10241d90]
cmp byte [0x10208cab], 0
mov ecx, dword [0x10208ca4]
mov edx, dword [0x10208ca8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
je 0x100ca92a
xor ebx, ebx
cmp esi, 2
jl 0x100ca900
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
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 [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
jmp 0x100ca92a
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 8
jl 0x100ca900
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x8c]
call fcn.10020d70
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x10208cf8]
mov dword [esp + 0x30], eax
mov ax, word [0x10208cfc]
mov word [esp + 0x34], ax
mov al, byte [0x10208cfe]
mov byte [esp + 0x36], al
call fcn.100066e0
mov esi, eax
mov dword [esp + 0x1c], eax
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100ca967
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x13c]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x150]
push eax
call fcn.100360a0
movups xmm0, xmmword [str._VSEC__]
mov dword [esp + 0x78], eax
movups xmmword [esp + 0x1b0], xmm0
movups xmm0, xmmword [0x10208d84]
movups xmmword [esp + 0x1c0], xmm0
psrldq xmm0, 0xf
movd ecx, xmm0
test cl, cl
je 0x100cab6d
xor ebx, ebx
mov dword [esp + 0x1c], esi
cmp dword [0x10241d90], 2
jl 0x100cab40
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x1b0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x1b0], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x1b4]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x1b4], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x100caa30
jmp 0x100cab6d
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1b0], cl
inc ebx
cmp ebx, 0x20
jl 0x100cab40
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x19c]
call fcn.10020d70
push dword [esp + 0x78]
lea ecx, [esp + 0x124]
push eax
push dword [esp + 0x38]
call fcn.10029a90
push dword [esp + 0x30]
lea ecx, [esp + 0x124]
call fcn.10020af0
mov dword [esp + 0x100], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x104], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xf0], xmm0
push edi
movups xmm0, xmmword [eax]
mov ebx, 0xf
push ecx
movups xmmword [esp + 0xf8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x108], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
sub eax, edx
cmp edi, eax
ja 0x100cac4c
cmp dword [esp + 0x10c], ebx
lea esi, [esp + 0xf8]
lea eax, [edi + edx]
cmova esi, dword [esp + 0xf8]
add esi, edx
mov dword [esp + 0x108], eax
push esi
call fcn.101b8000
mov byte [edi + esi], 0
lea eax, [esp + 0xfc]
mov esi, dword [esp + 0x28]
add esp, 0xc
jmp 0x100cac61
push dword [esp + 0x38]
lea ecx, [esp + 0xfc]
push edi
call fcn.100286b0
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x60], xmm0
push esi
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x74], xmm0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
call fcn.10020af0
mov dword [esp + 0xe8], 0
lea edx, [esp + 0x168]
mov dword [esp + 0xec], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xd8], xmm0
movups xmm0, xmmword [eax]
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
cmp dword [esp + 0x17c], 0xf
mov ecx, dword [esp + 0xe8]
cmova edx, dword [esp + 0x168]
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0x178]
sub eax, ecx
mov dword [esp + 0x30], ecx
push edi
push edx
cmp edi, eax
ja 0x100cad6b
cmp dword [esp + 0xf4], 0xf
lea esi, [esp + 0xe0]
lea eax, [edi + ecx]
cmova esi, dword [esp + 0xe0]
mov dword [esp + 0xf0], eax
lea eax, [esi + ecx]
push eax
call fcn.101b8000
mov ecx, dword [esp + 0x3c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0xd8]
jmp 0x100cad7c
push dword [esp + 0x38]
lea ecx, [esp + 0xe4]
push edi
call fcn.100286b0
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 0x100cae11
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [esp + 0xb0], eax
mov edx, 0x2820
lea eax, [esp + 0xa0]
cmova eax, dword [esp + 0xa0]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [esp + 0xa0]
jmp 0x100cae2a
push 2
push 0x10208c80
push dword [esp + 0x38]
lea ecx, [esp + 0xac]
push 2
call fcn.100286b0
mov dword [esp + 0x190], 0
lea ecx, [esp + 0x180]
mov dword [esp + 0x194], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x180], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x180], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x190], xmm0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
lea eax, [esp + 0x108]
push eax
call fcn.10020b60
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
movups xmmword [esp + 0x20], xmm0
movq qword [esp + 0x30], xmm1
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0xd4]
cmp ecx, 0xf
jbe 0x100caef4
mov edx, dword [esp + 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100caedf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
movups xmm0, xmmword [esp + 0x28]
add esp, 8
movq xmm1, qword [esp + 0x30]
mov ecx, dword [esp + 0x194]
movq qword [esp + 0xd0], xmm1
movups xmmword [esp + 0xc0], xmm0
cmp ecx, 0xf
jbe 0x100caf41
mov edx, dword [esp + 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100caf37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
mov byte [esp + 0x180], 0
cmp ecx, 0xf
jbe 0x100caf9b
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100caf91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
cmp ecx, 0xf
jbe 0x100caff5
mov edx, dword [esp + 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cafeb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp ecx, 0xf
jbe 0x100cb049
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb03f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0xf
mov byte [esp + 0x60], 0
cmp ecx, 0xf
jbe 0x100cb09a
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb090
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
cmp ecx, 0xf
jbe 0x100cb0f4
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb0ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
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, 0xf
jbe 0x100cb14e
mov edx, dword [esp + 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb144
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
mov byte [esp + 0x198], 0
cmp ecx, 0xf
jbe 0x100cb1a8
mov edx, dword [esp + 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb19e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10a
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
mov byte [esp + 0x150], 0
cmp eax, 0xf
jbe 0x100cb1e7
inc eax
lea ecx, [esp + 0x138]
push eax
push dword [esp + 0x13c]
call fcn.10002250
lea ecx, [esp + 0x88]
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
mov byte [esp + 0x138], 0
call fcn.10002120
lea ecx, [esp + 0x108]
call fcn.10002120
jmp 0x100cb4cd
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x18], eax
jne 0x100cb4cd
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
je 0x100cb4cd
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 2
jne 0x100cb2ab
mov ecx, dword [esp + 0x17c]
cmp ecx, 0xf
jbe 0x100cc010
mov edx, dword [esp + 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb29c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push ecx
push edx
call fcn.101b6ad2
add esp, 8
jmp 0x100cc010
mov eax, dword [0x10240c88]
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 0x100cb2d6
lea ecx, [esp + 0x48]
call fcn.10002120
lea ecx, [esp + 0x168]
jmp 0x100cc00b
mov eax, dword [0x10208d10]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x10208d14]
mov byte [esp + 0x34], al
nop word [eax + eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 5
jl 0x100cb2f0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xa4]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
mov ecx, dword [0x10208cf0]
mov dword [esp + 0x78], ecx
mov cx, word [0x10208cf4]
mov dword [esp + 0x30], eax
mov word [esp + 0x7c], cx
test ch, ch
je 0x100cb37a
xor ebx, ebx
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x78], cl
inc ebx
cmp ebx, 6
jl 0x100cb351
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x184]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
mov edi, eax
mov ecx, esi
lea eax, [esp + 0x60]
push eax
call fcn.100360a0
movq xmm0, qword [str.ZFFA]
mov esi, eax
mov cl, byte [0x10208d4c]
xor ebx, ebx
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x80], cl
nop
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x78], cl
inc ebx
cmp ebx, 9
jl 0x100cb3c0
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x124]
call fcn.10020d70
push esi
mov edx, eax
lea ecx, [esp + 0x13c]
call fcn.100248c0
lea ecx, [esp + 0x168]
mov edx, eax
push ecx
push edi
lea ecx, [esp + 0x1a0]
call fcn.10024870
mov edx, eax
lea ecx, [esp + 0x154]
call fcn.10031190
lea ecx, [esp + 0x48]
mov edx, eax
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x110]
call fcn.10024870
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.10031190
push eax
lea ecx, [esp + 0xc4]
call fcn.10020c00
lea ecx, [esp + 0x88]
call fcn.10002120
lea ecx, [esp + 0x108]
call fcn.10002120
lea ecx, [esp + 0x150]
call fcn.10002120
lea ecx, [esp + 0x198]
call fcn.10002120
lea ecx, [esp + 0x138]
call fcn.10002120
lea ecx, [esp + 0x120]
call fcn.10002120
lea ecx, [esp + 0x60]
call fcn.10002120
lea ecx, [esp + 0x180]
call fcn.10002120
lea ecx, [esp + 0xa0]
call fcn.10002120
mov ebx, dword [esp + 0x5c]
cmp ebx, 0xf
jbe 0x100cb4ff
mov ecx, dword [esp + 0x48]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100cb4f5
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push ebx
push ecx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x17c]
cmp ecx, 0xf
jbe 0x100cc010
mov edx, dword [esp + 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb535
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push ecx
push edx
call fcn.101b6ad2
add esp, 8
jmp 0x100cc010
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cc010
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
nop dword [eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100cb580
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], 0
movups xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb5c8
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.10027a90
cmp dword [esp + 0x74], 0xf
lea edx, [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x60]
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 + 0x74]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb63c
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb632
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc10f
push ecx
push edx
call fcn.101b6ad2
add esp, 8
test edi, edi
je 0x100cc010
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
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 + 0x1d0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x260]
cmp edi, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
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 0x100cc010
mov eax, dword [0x10208d3c]
movups xmm0, xmmword [0x10208d2c]
mov dword [esp + 0x40], eax
mov ax, word [0x10208d40]
mov word [esp + 0x44], ax
movups xmmword [esp + 0x30], xmm0
test ah, ah
je 0x100cbfae
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cb810
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb702
cmp ebx, 0x16
jge 0x100cbfae
nop word [eax + eax]
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x16
jl 0x100cb810
jmp 0x100cbfae
cmp ecx, 0xc3c7d299
je 0x100cbcbb
cmp ecx, 0xec398ed7
jne 0x100cc03e
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 4
je 0x100cc010
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100cb890
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], 0
movups xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb8d8
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.10027a90
cmp dword [esp + 0x74], 0xf
lea edx, [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x60]
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 + 0x74]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb94c
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb942
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc114
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov eax, dword [0x10240c88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10242574]
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 + 0x1d0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x260]
cmp edi, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100cc010
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, eax
call fcn.101aa4f0
xorps xmm0, xmm0
mov dword [esp + 0x130], 0
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x134], 0
movups xmmword [esp + 0x120], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb9e0
sub ecx, edx
lea eax, [esp + 0x1d0]
push ecx
push eax
lea ecx, [esp + 0x128]
call fcn.10027a90
movups xmm0, xmmword [str.ZGAWP_]
mov ax, word [0x10208ccc]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x30], xmm0
test ah, ah
je 0x100cbb7f
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cbb55
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cba51
cmp ebx, 0x12
jge 0x100cbb7f
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x12
jl 0x100cbb55
xorps xmm0, xmm0
mov dword [esp + 0x148], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x14c], 0
movups xmmword [esp + 0x138], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cbba7
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x140]
call fcn.10027a90
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x13c]
push eax
push dword [esp + 0x38]
lea ecx, [esp + 0x94]
call fcn.10029a90
mov ecx, dword [esp + 0xd4]
cmp ecx, 0xf
jbe 0x100cbc1e
mov edx, dword [esp + 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbc14
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push ecx
push edx
call fcn.101b6ad2
add esp, 8
movups xmm0, xmmword [esp + 0x88]
mov ecx, dword [esp + 0x14c]
movups xmmword [esp + 0xc0], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [esp + 0xd0], xmm0
cmp ecx, 0xf
jbe 0x100cbc7c
mov edx, dword [esp + 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbc72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x134]
cmp ecx, 0xf
jbe 0x100cc010
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb29c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc119
jmp 0x100cb29c
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cc010
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x102063c8]
mov dword [esp + 0x30], eax
mov ax, word [0x102063cc]
mov word [esp + 0x34], ax
mov al, byte [0x102063ce]
mov byte [esp + 0x36], al
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 7
jl 0x100cbcf4
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], 0
movups xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cbd40
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.10027a90
cmp dword [esp + 0x74], 0xf
lea edx, [esp + 0x60]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x60]
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 + 0x74]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cbdb4
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbdaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc11e
push ecx
push edx
call fcn.101b6ad2
add esp, 8
test edi, edi
je 0x100cc010
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
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 + 0x1d0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x260]
cmp edi, ecx
je 0x100cc010
mov eax, dword [0x10240c88]
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 0x100cc010
mov eax, dword [0x10208db0]
movups xmm0, xmmword [0x10208da0]
mov dword [esp + 0x40], eax
mov ax, word [0x10208db4]
mov word [esp + 0x44], ax
movups xmmword [esp + 0x30], xmm0
test ah, ah
je 0x100cbfae
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cbf84
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215c30]
movaps xmm5, xmmword [0x10215890]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x30], 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 [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x34], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cbe80
cmp ebx, 0x16
jge 0x100cbfae
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0x16
jl 0x100cbf84
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x154]
call fcn.10020d70
mov esi, eax
mov ecx, edi
lea eax, [esp + 0x108]
push eax
call fcn.100360a0
push esi
mov edx, eax
lea ecx, [esp + 0x8c]
call fcn.100248c0
push eax
lea ecx, [esp + 0xc4]
call fcn.10020c00
lea ecx, [esp + 0x88]
call fcn.10002120
lea ecx, [esp + 0x108]
call fcn.10002120
lea ecx, [esp + 0x150]
call fcn.10002120
cmp dword [esp + 0xd0], 0
je 0x100cc03e
lea eax, [esp + 0xb8]
mov ecx, 0x1045dc34
push eax
call fcn.100ccbd0
lea eax, [esp + 0xb8]
mov ecx, 0x1045dc20
push eax
call fcn.100ccbd0
mov ecx, dword [esp + 0xd4]
cmp ecx, 0xf
jbe 0x100cc07a
mov edx, dword [esp + 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cc070
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cc123
push ecx
push edx
call fcn.101b6ad2
add esp, 8
push 0x10534c30
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0xf
mov byte [esp + 0xc4], 0
call fcn.101b5f0d
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret
mov ecx, 0x1045dc34
call fcn.1003ed70
mov ecx, 0x1045dc20
call fcn.1003ed70
mov ecx, dword [esp + 0x32c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret
push 5
call fcn.101b611c
push 6
mov dword [0x10534c5c], 0x7ffffffe
call fcn.101b611c
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
call fcn.101bbc06
dec ecx
mov eax, dword [-1587081204]
or al, 0x10
xchg byte [ecx - 0x5e50eff4], ah
or al, 16
int 0xa1
or al, 16
hlt