Function at 0x100ca1c6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x304
mov eax, dword [0x102220c0]
xor eax, esp
mov dword [esp + 0x300], eax
mov eax, dword [0x1023fc80]
push ebx
push esi
push edi
cmp byte [eax + 0x36dd], 0
mov edi, ecx
mov dword [esp + 0x14], edi
je 0x100cbbd3
cmp dword [eax + 0x36bc], 0
je 0x100cbbd3
cmp dword [eax + 0x36c0], 0
je 0x100cbbd3
test edi, edi
je 0x100cbbe7
mov eax, dword [0x10241574]
cmp dword [eax], 0
je 0x100cbbe7
mov eax, dword [0x1023fc88]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100cbbe7
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10240d9c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10533a64]
mov dword [esp + 0x18], esi
cmp eax, dword [esi + 4]
jle 0x100c929b
push 0x10533a64
call fcn.101b5d2d
add esp, 4
cmp dword [0x10533a64], 0xffffffff
jne 0x100c929b
mov eax, dword [0x1023fc88]
xor ebx, ebx
movq xmm0, qword [str._GgZ]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
mov ax, word [0x10207d68]
mov word [esp + 0x78], ax
mov al, byte [0x10207d6a]
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, 0x36
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100c9250
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x70]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x10533a64
mov dword [0x10533a5c], eax
call fcn.101b5cdc
add esp, 4
mov eax, dword [0x10533a60]
cmp eax, dword [esi + 4]
jle 0x100c9336
push 0x10533a60
call fcn.101b5d2d
add esp, 4
cmp dword [0x10533a60], 0xffffffff
jne 0x100c9336
xorps xmm0, xmm0
mov dword [0x10533a2c], 0
push 2
push 0x10533a2c
mov dword [0x10533a30], 0
mov dword [0x10533a34], 0
movups xmmword [0x10533a38], xmm0
mov dword [0x10533a50], 0
movq qword [0x10533a48], xmm0
mov dword [0x10533a54], 0
mov dword [0x10533a58], 0
call fcn.101b4eaf
push 0x101e1ef0
call fcn.101b5a79
add esp, 0xc
push 0x10533a60
call fcn.101b5cdc
add esp, 4
push 0x10533a2c
call fcn.101b4ecb
add esp, 4
test eax, eax
jne 0x100cbbfc
cmp dword [0x10533a58], 0x7fffffff
je 0x100cbc03
mov eax, dword [0x10533a88]
cmp eax, dword [esi + 4]
jle 0x100c9487
push 0x10533a88
call fcn.101b5d2d
add esp, 4
cmp dword [0x10533a88], 0xffffffff
jne 0x100c9487
push 0x30
mov dword [0x10533a68], 0
mov dword [0x10533a6c], 0
mov dword [0x10533a70], 0
call fcn.101b5aa6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10533a6c], ebx
mov dword [0x10533a74], 0
mov dword [0x10533a78], 0
mov dword [0x10533a7c], 0
mov dword [0x10533a80], 7
mov dword [0x10533a84], 8
mov dword [0x10533a68], 0x3f800000
call fcn.101b5aa6
mov ecx, dword [0x10533a74]
mov esi, eax
mov eax, dword [0x10533a7c]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c9446
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c943c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push edx
push ecx
call fcn.101b5a93
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10533a74], esi
mov dword [0x10533a78], eax
mov dword [0x10533a7c], eax
cmp esi, eax
je 0x100c9469
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c9460
push 0x101e1ed0
call fcn.101b5a79
add esp, 4
push 0x10533a88
call fcn.101b5cdc
mov esi, dword [esp + 0x1c]
add esp, 4
mov eax, dword [0x10533a8c]
cmp eax, dword [esi + 4]
jle 0x100c95b3
push 0x10533a8c
call fcn.101b5d2d
add esp, 4
cmp dword [0x10533a8c], 0xffffffff
jne 0x100c95b3
push 0x24
mov dword [0x10533a90], 0
mov dword [0x10533a94], 0
mov dword [0x10533a98], 0
call fcn.101b5aa6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10533a94], ebx
mov dword [0x10533a9c], 0
mov dword [0x10533aa0], 0
mov dword [0x10533aa4], 0
mov dword [0x10533aa8], 7
mov dword [0x10533aac], 8
mov dword [0x10533a90], 0x3f800000
call fcn.101b5aa6
mov ecx, dword [0x10533a9c]
mov esi, eax
mov eax, dword [0x10533aa4]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c9572
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c9568
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push edx
push ecx
call fcn.101b5a93
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10533a9c], esi
mov dword [0x10533aa0], eax
mov dword [0x10533aa4], eax
cmp esi, eax
je 0x100c9599
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c9590
push 0x101e1eb0
call fcn.101b5a79
add esp, 4
push 0x10533a8c
call fcn.101b5cdc
add esp, 4
mov eax, dword [0x1023fc7c]
xorps xmm0, xmm0
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x8c], 0x437f0000
mov ecx, edi
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0x88], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100cbb57
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100c9616
cmp ecx, 0x7dd410c4
ja 0x100cb36c
je 0x100cb074
cmp ecx, 0x1b30ddf0
je 0x100c9f16
cmp ecx, 0x4400fb1c
je 0x100c9c9d
cmp ecx, 0x4e704c3e
jne 0x100cbb57
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 8
je 0x100cbb29
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c96a0
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 0x100c96e8
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
cmp dword [esp + 0x58], 0xf
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmova 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, 0xf
jbe 0x100c975c
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9752
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc14
push ecx
push edx
call fcn.101b5a93
add esp, 8
mov eax, dword [0x1023fc88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10241574]
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 0x100cbb29
mov eax, dword [0x1023fc88]
push edi
mov ecx, dword [eax + 0x18]
call fcn.1007d740
mov esi, eax
test esi, esi
je 0x100cbb29
push 0x1023fcac
lea ecx, [esp + 0x124]
call fcn.10020f00
movq xmm0, qword [0x10207d04]
xor ebx, ebx
mov al, byte [0x10207d0c]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100c97e0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xc4]
call fcn.10020ec0
mov ecx, dword [0x10533a5c]
mov dword [esp + 0x14], eax
call fcn.10089fd0
mov edx, eax
lea ecx, [esp + 0x168]
call fcn.10003e40
movups xmm0, xmmword [0x10207d7c]
mov cl, byte [0x10207d8c]
xor ebx, ebx
mov edi, dword [0x10240d90]
mov dword [esp + 0x18], eax
mov byte [esp + 0x6c], cl
movups xmmword [esp + 0x5c], xmm0
cmp edi, 2
jl 0x100c99c0
movaps xmm0, xmmword [0x10214a90]
lea edx, [esp + 0x60]
movaps xmm4, xmmword [0x10214950]
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x5c]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100c9890
cmp ebx, 0x11
jl 0x100c99c0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xf4]
call fcn.10020ec0
mov dword [esp + 0x5c], eax
mov ecx, esi
lea eax, [esp + 0x138]
push eax
call fcn.10036160
mov cl, byte [0x10207d20]
mov esi, eax
mov byte [esp + 0x3c], cl
jmp 0x100c9a16
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x5c], al
inc ebx
cmp ebx, 0x11
jl 0x100c99c0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xf4]
call fcn.10020ec0
mov dword [esp + 0x5c], eax
mov ecx, esi
lea eax, [esp + 0x138]
push eax
call fcn.10036160
mov esi, eax
mov al, byte [0x10207d20]
mov byte [esp + 0x3c], al
movups xmm0, xmmword [str.TXU_]
xor ebx, ebx
movups xmmword [esp + 0x2c], xmm0
cmp edi, 2
jl 0x100c9b60
movaps xmm0, xmmword [0x10214a90]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x10214950]
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100c9a60
cmp ebx, 0x11
jge 0x100c9b87
nop word [eax + eax]
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x2c], al
inc ebx
cmp ebx, 0x11
jl 0x100c9b60
push str._by
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x15c]
call fcn.10020ec0
mov edx, eax
lea ecx, [esp + 0xb0]
call fcn.100315a0
mov edx, eax
lea ecx, [esp + 0xdc]
call fcn.100249c0
push esi
mov edx, eax
lea ecx, [esp + 0x10c]
call fcn.10024a10
push dword [esp + 0x5c]
mov edx, eax
lea ecx, [esp + 0x48]
call fcn.10024a10
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x19c]
call fcn.10024a10
push dword [esp + 0x14]
mov edx, eax
lea ecx, [esp + 0x184]
call fcn.10024a10
push eax
lea ecx, [esp + 0x94]
call fcn.10020d50
lea ecx, [esp + 0x180]
call fcn.10002130
lea ecx, [esp + 0x198]
call fcn.10002130
lea ecx, [esp + 0x44]
call fcn.10002130
lea ecx, [esp + 0x108]
call fcn.10002130
lea ecx, [esp + 0xd8]
call fcn.10002130
lea ecx, [esp + 0xa8]
call fcn.10002130
lea ecx, [esp + 0x150]
call fcn.10002130
lea ecx, [esp + 0x138]
call fcn.10002130
lea ecx, [esp + 0xf0]
call fcn.10002130
lea ecx, [esp + 0x168]
call fcn.10002130
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x120]
jmp 0x100cbb24
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 0x10
je 0x100cbb29
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c9cd6
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c9d20
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
cmp dword [esp + 0x58], 0xf
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmova 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, 0xf
jbe 0x100c9d94
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9d8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc19
push ecx
push edx
call fcn.101b5a93
add esp, 8
test esi, esi
je 0x100cbb29
mov eax, dword [0x10241574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbb29
call fcn.1007d750
cmp esi, eax
je 0x100cbb29
mov eax, dword [0x1023fc88]
push esi
mov ecx, dword [eax + 0x18]
call fcn.1007d740
mov dword [esp + 0x18], eax
test eax, eax
je 0x100cbb29
mov ecx, dword [0x10241574]
mov esi, dword [ecx]
mov ecx, eax
call fcn.100a67e0
mov ecx, esi
mov edi, eax
call fcn.100a67e0
mov ecx, dword [edi]
cmp ecx, dword [eax]
je 0x100cbb29
mov eax, dword [str.ARYIUU_]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov ax, word [0x10207d28]
mov word [esp + 0x60], ax
mov al, byte [0x10207d2a]
mov byte [esp + 0x62], 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, 0x36
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 7
jl 0x100c9e13
push ecx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0xc8]
call fcn.10020ec0
mov ecx, eax
call fcn.10006590
mov ecx, dword [esp + 0x18]
push eax
call fcn.100c9140
push eax
lea ecx, [esp + 0x13c]
call fcn.10020ec0
lea ecx, [esp + 0xc0]
call fcn.10002130
push ecx
lea ecx, [esp + 0x1b4]
call fcn.10020670
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xc0]
push eax
call fcn.10036160
mov edx, eax
lea ecx, [esp + 0x1b0]
call fcn.100cc980
mov edx, str._bought
mov ecx, eax
call fcn.100ba0e0
lea edx, [esp + 0x138]
mov ecx, eax
call fcn.100cc980
lea ecx, [esp + 0xc0]
call fcn.10002130
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x1b4]
call fcn.100205d0
mov ecx, eax
call fcn.10006590
push eax
lea ecx, [esp + 0x94]
call fcn.10020d20
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x1b0]
call fcn.100058b0
lea ecx, [esp + 0x138]
jmp 0x100cbb24
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c9f40
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 [0x1023fc88]
xor ebx, ebx
movq xmm0, qword [str.WCLXYPYO_]
mov dword [esp + 0x5c], eax
mov esi, dword [ecx + 0x10]
mov cl, byte [0x1020721c]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100c9fb0
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 [0x10207230]
mov esi, eax
movq xmm0, qword [0x10207228]
xor ebx, ebx
mov word [esp + 0x78], cx
mov cl, byte [0x10207232]
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, 0x36
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca020
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 + 0x120]
call fcn.10003e40
movq xmm0, qword [str.LHTIM_]
xor ebx, ebx
mov al, byte [0x10207dc0]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100ca080
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.0x100ca0c2
jmp dword [eax*4 + 0x100cbc44]
mov eax, dword [str.generic]
mov dword [esp + 0x2c], eax
mov ax, word [0x101eb4b4]
mov word [esp + 0x30], ax
mov al, byte [0x101eb4b6]
jmp 0x100ca20a
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], 0x64616568
mov byte [esp + 0x30], 0
jmp 0x100ca221
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], eax
mov edi, 5
mov al, byte [0x10207cc0]
mov byte [esp + 0x30], al
mov byte [esp + 0x31], 0
jmp 0x100ca221
mov eax, dword [str.stomach]
mov dword [esp + 0x2c], eax
mov ax, word [0x10207cb8]
mov word [esp + 0x30], ax
mov al, byte [0x10207cba]
jmp 0x100ca20a
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 0x100ca221
mov al, byte [0x10207ccc]
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 0x100ca221
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 0x100ca221
mov al, byte [0x10207cd8]
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 0x100ca221
mov eax, dword [str.unknown]
mov dword [esp + 0x2c], eax
mov ax, word [0x101eb498]
mov word [esp + 0x30], ax
mov al, byte [0x101eb49a]
xorps xmm0, xmm0
mov byte [esp + 0x32], al
movlpd qword [esp + 0x34], xmm0
mov edi, 7
mov byte [esp + 0x33], 0
mov eax, dword [0x10241574]
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 0x100cad59
mov eax, dword [0x10241574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
jne 0x100cad59
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 1
jne 0x100ca2b0
mov ecx, dword [esp + 0x134]
cmp ecx, ebx
jbe 0x100cbb29
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cadd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc1e
jmp 0x100cadd3
mov eax, dword [0x1023fc88]
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 0x100ca2e0
lea ecx, [esp + 0x2c]
call fcn.10002130
lea ecx, [esp + 0x120]
jmp 0x100cbb24
lea ecx, [esp + 0x138]
call fcn.10020ff0
mov ax, word [0x10207230]
xor ebx, ebx
movq xmm0, qword [0x10207228]
mov word [esp + 0x78], ax
mov al, byte [0x10207232]
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, 0x36
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca310
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
call fcn.100a6850
mov ecx, dword [esp + 0x5c]
mov esi, eax
call fcn.1007d7b0
sub eax, esi
jns 0x100ca508
movups xmm0, xmmword [0x10207d6c]
movups xmmword [esp + 0x18], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100ca4d7
xor ebx, ebx
cmp dword [0x10240d90], 2
jl 0x100ca4b0
movaps xmm0, xmmword [0x10214a90]
lea esi, [esp + 0x1c]
movaps xmm4, xmmword [0x10214950]
xor ecx, ecx
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov edx, dword [esp + 0x70]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ca3b2
jmp 0x100ca4d7
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x18], al
inc ebx
cmp ebx, 0x10
jl 0x100ca4b0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xc4]
call fcn.10020ec0
mov ecx, eax
call fcn.10006590
push eax
lea ecx, [esp + 0x13c]
call fcn.10020d20
lea ecx, [esp + 0xc0]
jmp 0x100ca741
mov eax, dword [0x10207de0]
xor ebx, ebx
cmp dword [0x10240d90], 2
movq xmm0, qword [0x10207dd8]
mov dword [esp + 0x20], eax
mov ax, word [0x10207de4]
mov word [esp + 0x24], ax
mov al, byte [0x10207de6]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x26], al
jl 0x100ca640
movaps xmm2, xmmword [0x10214950]
mov ebx, 8
movaps xmm4, xmmword [0x10214d10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x10214a90]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x102149c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10214990]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x10207dd8]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x102149c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x1c]
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
nop dword [eax]
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x18], al
inc ebx
cmp ebx, 0xf
jl 0x100ca640
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x154]
call fcn.10020ec0
mov ecx, eax
call fcn.10006590
mov cx, word [0x10207230]
xor ebx, ebx
movq xmm0, qword [0x10207228]
mov word [esp + 0x78], cx
mov cl, byte [0x10207232]
mov dword [esp + 0x18], eax
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], 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, 0x36
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100ca6b0
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
call fcn.100a6850
mov ecx, dword [esp + 0x5c]
mov esi, eax
call fcn.1007d7b0
sub eax, esi
lea ecx, [esp + 0x168]
mov edx, eax
call fcn.10003e40
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0xc4]
call fcn.100249c0
push eax
lea ecx, [esp + 0x13c]
call fcn.10020d50
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x168]
call fcn.10002130
lea ecx, [esp + 0x150]
call fcn.10002130
mov eax, dword [0x10207dd0]
mov dword [esp + 0x18], eax
mov ax, word [0x10207dd4]
mov word [esp + 0x1c], ax
test ah, ah
je 0x100ca789
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 6
jl 0x100ca760
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x184]
call fcn.10020ec0
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x10207cfc]
mov dword [esp + 0x18], eax
mov al, byte [0x10207d00]
mov byte [esp + 0x1c], al
call fcn.10006590
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100ca7c0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x154]
call fcn.10020ec0
mov ecx, eax
call fcn.10006590
mov ecx, dword [esp + 0x5c]
mov esi, eax
lea eax, [esp + 0x168]
push eax
call fcn.10036160
mov ecx, dword [0x10207cf4]
xor ebx, ebx
mov dword [esp + 0x5c], ecx
mov cl, byte [0x10207cf8]
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, 0x36
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 5
jl 0x100ca830
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xc4]
call fcn.10020ec0
push dword [esp + 0x18]
lea ecx, [esp + 0x19c]
push eax
push dword [esp + 0x20]
call fcn.10029d80
push esi
lea ecx, [esp + 0x19c]
call fcn.10020c40
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 0x100ca93a
cmp dword [esp + 0x124], ebx
lea esi, [esp + 0x110]
lea eax, [ecx + edi]
cmova esi, dword [esp + 0x110]
mov dword [esp + 0x120], eax
lea eax, [esi + ecx]
push eax
call fcn.101b6fc0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x108]
jmp 0x100ca94f
push dword [esp + 0x20]
lea ecx, [esp + 0x114]
push edi
call fcn.100289a0
mov ebx, dword [esp + 0x40]
push dword [esp + 0x14]
mov dword [esp + 0x104], 0
lea ecx, [esp + 0xf4]
mov dword [esp + 0x108], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xf4], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xf4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10020c40
mov dword [esp + 0xb8], 0
lea edx, [esp + 0x120]
mov dword [esp + 0xbc], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xb8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [esp + 0x134], 0xf
mov ecx, dword [esp + 0xb8]
cmova edx, dword [esp + 0x120]
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x130]
sub eax, ecx
mov dword [esp + 0x18], ecx
push edi
push edx
cmp edi, eax
ja 0x100caa6d
cmp dword [esp + 0xc4], 0xf
lea esi, [esp + 0xb0]
lea eax, [ecx + edi]
cmova esi, dword [esp + 0xb0]
mov dword [esp + 0xc0], eax
lea eax, [esi + ecx]
push eax
call fcn.101b6fc0
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [esp + 0xa8]
jmp 0x100caa7e
push dword [esp + 0x20]
lea ecx, [esp + 0xb4]
push edi
call fcn.100289a0
mov dword [esp + 0xe8], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xec], 0
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
mov edx, dword [esp + 0xec]
mov eax, edx
mov ecx, dword [esp + 0xe8]
sub eax, ecx
cmp eax, 2
jb 0x100cab13
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [esp + 0xe8], eax
mov edx, 0x2820
lea eax, [esp + 0xd8]
cmova eax, dword [esp + 0xd8]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [esp + 0xd8]
jmp 0x100cab2c
push 2
push 0x10207ce4
push dword [esp + 0x20]
lea ecx, [esp + 0xe4]
push 2
call fcn.100289a0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x44], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x138]
push eax
call fcn.10020cb0
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 + 0xa4]
cmp ecx, 0xf
jbe 0x100cabe4
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cabcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc23
push ecx
push edx
call fcn.101b5a93
movups xmm0, xmmword [esp + 0x78]
add esp, 8
movq xmm1, qword [esp + 0x18]
mov ecx, dword [esp + 0x58]
movq qword [esp + 0xa0], xmm1
movups xmmword [esp + 0x90], xmm0
cmp ecx, 0xf
jbe 0x100cac2b
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cac21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc23
push ecx
push edx
call fcn.101b5a93
add esp, 8
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0xf
mov byte [esp + 0x44], 0
cmp ecx, 0xf
jbe 0x100cac7c
mov edx, dword [esp + 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cac72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc23
push ecx
push edx
call fcn.101b5a93
add esp, 8
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
cmp ecx, 0xf
jbe 0x100cacd6
mov edx, dword [esp + 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100caccc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc23
push ecx
push edx
call fcn.101b5a93
add esp, 8
lea ecx, [esp + 0xf0]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
mov byte [esp + 0xa8], 0
call fcn.10002130
lea ecx, [esp + 0x108]
call fcn.10002130
lea ecx, [esp + 0x198]
call fcn.10002130
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x168]
call fcn.10002130
lea ecx, [esp + 0x150]
call fcn.10002130
lea ecx, [esp + 0x180]
call fcn.10002130
lea ecx, [esp + 0x138]
call fcn.10002130
jmp 0x100caffd
mov eax, dword [0x10241574]
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 0x100caffd
mov eax, dword [0x10241574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
je 0x100caffd
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 2
jne 0x100cade2
mov ecx, dword [esp + 0x134]
cmp ecx, 0xf
jbe 0x100cbb29
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cadd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push ecx
push edx
call fcn.101b5a93
add esp, 8
jmp 0x100cbb29
mov eax, dword [0x1023fc88]
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 0x100cae0d
lea ecx, [esp + 0x2c]
call fcn.10002130
lea ecx, [esp + 0x120]
jmp 0x100cbb24
mov eax, dword [0x10207dd0]
mov dword [esp + 0x18], eax
mov ax, word [0x10207dd4]
mov word [esp + 0x1c], ax
test ah, ah
je 0x100cae50
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 6
jl 0x100cae27
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x184]
call fcn.10020ec0
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x10207cfc]
mov dword [esp + 0x5c], eax
mov al, byte [0x10207d00]
mov byte [esp + 0x60], al
call fcn.10006590
mov dword [esp + 0x18], 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, 0x36
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 5
jl 0x100cae80
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x10c]
call fcn.10020ec0
mov ecx, eax
call fcn.10006590
mov edi, eax
mov ecx, esi
lea eax, [esp + 0x44]
push eax
call fcn.10036160
movq xmm0, qword [0x10207dc4]
mov esi, eax
mov cl, byte [0x10207dcc]
xor ebx, ebx
movq qword [esp + 0x5c], xmm0
mov byte [esp + 0x64], 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, 0x36
xor byte [esp + ebx + 0x5c], cl
inc ebx
cmp ebx, 9
jl 0x100caef0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0xf4]
call fcn.10020ec0
push esi
mov edx, eax
lea ecx, [esp + 0x13c]
call fcn.10024a10
lea ecx, [esp + 0x2c]
mov edx, eax
push ecx
push edi
lea ecx, [esp + 0x1a0]
call fcn.100249c0
mov edx, eax
lea ecx, [esp + 0x154]
call fcn.100315a0
lea ecx, [esp + 0x120]
mov edx, eax
push ecx
push dword [esp + 0x1c]
lea ecx, [esp + 0x170]
call fcn.100249c0
mov edx, eax
lea ecx, [esp + 0xc4]
call fcn.100315a0
push eax
lea ecx, [esp + 0x94]
call fcn.10020d50
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x168]
call fcn.10002130
lea ecx, [esp + 0x150]
call fcn.10002130
lea ecx, [esp + 0x198]
call fcn.10002130
lea ecx, [esp + 0x138]
call fcn.10002130
lea ecx, [esp + 0xf0]
call fcn.10002130
lea ecx, [esp + 0x44]
call fcn.10002130
lea ecx, [esp + 0x108]
call fcn.10002130
lea ecx, [esp + 0x180]
call fcn.10002130
mov ebx, dword [esp + 0x40]
cmp ebx, 0xf
jbe 0x100cb02f
mov ecx, dword [esp + 0x2c]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100cb025
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push ebx
push ecx
call fcn.101b5a93
add esp, 8
mov ecx, dword [esp + 0x134]
cmp ecx, 0xf
jbe 0x100cbb29
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb065
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push ecx
push edx
call fcn.101b5a93
add esp, 8
jmp 0x100cbb29
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 8
je 0x100cbb29
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb0b0
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 0x100cb0f8
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
cmp dword [esp + 0x58], 0xf
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmova 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, 0xf
jbe 0x100cb16c
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb162
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc28
push ecx
push edx
call fcn.101b5a93
add esp, 8
test edi, edi
je 0x100cbb29
mov eax, dword [0x10241574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbb29
mov eax, dword [0x1023fc88]
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 0x100cbb29
mov eax, dword [0x1023fc88]
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 0x100cbb29
mov eax, dword [0x10207da0]
movups xmm0, xmmword [0x10207d90]
mov dword [esp + 0x3c], eax
mov ax, word [0x10207da4]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cbac7
xor ebx, ebx
cmp dword [0x10240d90], 2
jl 0x100cb340
movaps xmm0, xmmword [0x10214a90]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x10214950]
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb240
cmp ebx, 0x16
jge 0x100cbac7
nop
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x2c], al
inc ebx
cmp ebx, 0x16
jl 0x100cb340
jmp 0x100cbac7
cmp ecx, 0xc3c7d299
je 0x100cb7db
cmp ecx, 0xec398ed7
jne 0x100cbb57
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 4
je 0x100cbb29
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb3c0
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 0x100cb408
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
cmp dword [esp + 0x58], 0xf
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmova 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, 0xf
jbe 0x100cb47c
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb472
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc2d
push ecx
push edx
call fcn.101b5a93
add esp, 8
mov eax, dword [0x1023fc88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10241574]
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 0x100cbb29
mov eax, dword [0x1023fc88]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100cbb29
lea ecx, [esp + 0x1b0]
push ecx
mov ecx, eax
call fcn.101a94d0
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb506
sub ecx, edx
lea eax, [esp + 0x1b0]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
movups xmm0, xmmword [str.XKM_Y]
mov ax, word [0x10207d5c]
mov word [esp + 0x3c], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cb6a7
xor ebx, ebx
cmp dword [0x10240d90], 2
jl 0x100cb680
movaps xmm0, xmmword [0x10214a90]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x10214950]
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb580
cmp ebx, 0x12
jge 0x100cb6a7
nop word [eax + eax]
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x2c], al
inc ebx
cmp ebx, 0x12
jl 0x100cb680
xorps xmm0, xmm0
mov dword [esp + 0x100], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x104], 0
movups xmmword [esp + 0xf0], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb6d0
sub ecx, edx
lea eax, [esp + 0x2c]
push ecx
push eax
lea ecx, [esp + 0xf8]
call fcn.10027d90
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xf4]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x18c]
call fcn.10029d80
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100cb744
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb73a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push ecx
push edx
call fcn.101b5a93
add esp, 8
movups xmm0, xmmword [esp + 0x180]
mov ecx, dword [esp + 0x104]
movups xmmword [esp + 0x90], xmm0
movq xmm0, qword [esp + 0x190]
movq qword [esp + 0xa0], xmm0
cmp ecx, 0xf
jbe 0x100cb7a2
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb798
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
push ecx
push edx
call fcn.101b5a93
add esp, 8
mov ecx, dword [esp + 0x58]
cmp ecx, 0xf
jbe 0x100cbb29
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cadd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc32
jmp 0x100cadd3
mov eax, dword [0x1023fc80]
test byte [eax + 0x36c0], 8
je 0x100cbb29
mov eax, dword [0x1023fc88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [str.CD_KS__]
mov dword [esp + 0x18], eax
mov ax, word [0x10207d30]
mov word [esp + 0x1c], ax
mov al, byte [0x10207d32]
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, 0x36
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100cb814
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 0x100cb860
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10027d90
cmp dword [esp + 0x58], 0xf
lea edx, [esp + 0x44]
mov eax, dword [edi]
mov ecx, edi
cmova 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, 0xf
jbe 0x100cb8d4
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb8ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc37
push ecx
push edx
call fcn.101b5a93
add esp, 8
test edi, edi
je 0x100cbb29
mov eax, dword [0x10241574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbb29
mov eax, dword [0x1023fc88]
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 0x100cbb29
mov eax, dword [0x1023fc88]
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 0x100cbb29
mov eax, dword [0x10207d44]
movups xmm0, xmmword [0x10207d34]
mov dword [esp + 0x3c], eax
mov ax, word [0x10207d48]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100cbac7
xor ebx, ebx
cmp dword [0x10240d90], 2
jl 0x100cbaa0
movaps xmm0, xmmword [0x10214a90]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x10214950]
movaps xmm3, xmmword [0x10214d10]
movaps xmm5, xmmword [0x102149c0]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
nop
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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x2c]
xorps 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, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10214a50]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cb9a0
cmp ebx, 0x16
jge 0x100cbac7
nop word [eax + eax]
mov eax, 0x4bda12f7
imul ebx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
movsx eax, al
imul eax, eax, 0x36
add al, bl
xor byte [esp + ebx + 0x2c], al
inc ebx
cmp ebx, 0x16
jl 0x100cbaa0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x154]
call fcn.10020ec0
mov esi, eax
mov ecx, edi
lea eax, [esp + 0x168]
push eax
call fcn.10036160
push esi
mov edx, eax
lea ecx, [esp + 0xc4]
call fcn.10024a10
push eax
lea ecx, [esp + 0x94]
call fcn.10020d50
lea ecx, [esp + 0xc0]
call fcn.10002130
lea ecx, [esp + 0x168]
call fcn.10002130
lea ecx, [esp + 0x150]
call fcn.10002130
cmp dword [esp + 0xa0], 0
je 0x100cbb57
lea eax, [esp + 0x88]
mov ecx, 0x1045cc34
push eax
call fcn.100cc6e0
lea eax, [esp + 0x88]
mov ecx, 0x1045cc20
push eax
call fcn.100cc6e0
mov ecx, dword [esp + 0xa4]
cmp ecx, 0xf
jbe 0x100cbb93
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbb89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbc3c
push ecx
push edx
call fcn.101b5a93
add esp, 8
push 0x10533a2c
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
call fcn.101b4efd
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x300]
xor ecx, esp
call fcn.101b579a
mov esp, ebp
pop ebp
ret
mov ecx, 0x1045cc34
call fcn.1003eda0
mov ecx, 0x1045cc20
call fcn.1003eda0
mov ecx, dword [esp + 0x30c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b579a
mov esp, ebp
pop ebp
ret
push 5
call fcn.101b510c
push 6
mov dword [0x10533a58], 0x7ffffffe
call fcn.101b510c
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
call fcn.101babc6
nop dword [eax]
leave
mov al, byte [2699497484]
or al, 0x10
push es
mov eax, dword [-1590751220]
or al, 0x10
dec ebp
mov eax, dword [-1586229236]
or al, 0x10
mov byte [0xc6100ca1], al
mov eax, dword [-859041780]
int3