Function at 0x100c9fc6
Capabilities:
Encode data using xor

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 0x100cbc88
cmp dword [eax + 0x36ac], 0
je 0x100cbc88
cmp dword [eax + 0x36b0], 0
je 0x100cbc88
test edi, edi
je 0x100cbc9c
mov eax, dword [0x10242574]
cmp dword [eax], 0
je 0x100cbc9c
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100cbc9c
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10241d9c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10534a50]
mov dword [esp + 0x74], esi
cmp eax, dword [esi + 4]
jle 0x100c906b
push 0x10534a50
call fcn.101b633d
add esp, 4
cmp dword [0x10534a50], 0xffffffff
jne 0x100c906b
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 [0x10208d2c]
mov word [esp + 0x38], ax
mov al, byte [0x10208d2e]
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 0x100c9020
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x10534a50
mov dword [0x10534a48], eax
call fcn.101b62ec
add esp, 4
mov eax, dword [0x10534a4c]
cmp eax, dword [esi + 4]
jle 0x100c9106
push 0x10534a4c
call fcn.101b633d
add esp, 4
cmp dword [0x10534a4c], 0xffffffff
jne 0x100c9106
xorps xmm0, xmm0
mov dword [0x10534a18], 0
push 2
push 0x10534a18
mov dword [0x10534a1c], 0
mov dword [0x10534a20], 0
movups xmmword [0x10534a24], xmm0
mov dword [0x10534a3c], 0
movq qword [0x10534a34], xmm0
mov dword [0x10534a40], 0
mov dword [0x10534a44], 0
call fcn.101b54bf
push 0x101e24d0
call fcn.101b6089
add esp, 0xc
push 0x10534a4c
call fcn.101b62ec
add esp, 4
push 0x10534a18
call fcn.101b54db
add esp, 4
test eax, eax
jne 0x100cbcb1
cmp dword [0x10534a44], 0x7fffffff
je 0x100cbcb8
mov eax, dword [0x10534a74]
cmp eax, dword [esi + 4]
jle 0x100c9257
push 0x10534a74
call fcn.101b633d
add esp, 4
cmp dword [0x10534a74], 0xffffffff
jne 0x100c9257
push 0x30
mov dword [0x10534a54], 0
mov dword [0x10534a58], 0
mov dword [0x10534a5c], 0
call fcn.101b60b6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10534a58], ebx
mov dword [0x10534a60], 0
mov dword [0x10534a64], 0
mov dword [0x10534a68], 0
mov dword [0x10534a6c], 7
mov dword [0x10534a70], 8
mov dword [0x10534a54], 0x3f800000
call fcn.101b60b6
mov ecx, dword [0x10534a60]
mov esi, eax
mov eax, dword [0x10534a68]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c9216
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c920c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push edx
push ecx
call fcn.101b60a3
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10534a60], esi
mov dword [0x10534a64], eax
mov dword [0x10534a68], eax
cmp esi, eax
je 0x100c9239
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c9230
push 0x101e24b0
call fcn.101b6089
add esp, 4
push 0x10534a74
call fcn.101b62ec
mov esi, dword [esp + 0x78]
add esp, 4
mov eax, dword [0x10534a78]
cmp eax, dword [esi + 4]
jle 0x100c9383
push 0x10534a78
call fcn.101b633d
add esp, 4
cmp dword [0x10534a78], 0xffffffff
jne 0x100c9383
push 0x24
mov dword [0x10534a7c], 0
mov dword [0x10534a80], 0
mov dword [0x10534a84], 0
call fcn.101b60b6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x10534a80], ebx
mov dword [0x10534a88], 0
mov dword [0x10534a8c], 0
mov dword [0x10534a90], 0
mov dword [0x10534a94], 7
mov dword [0x10534a98], 8
mov dword [0x10534a7c], 0x3f800000
call fcn.101b60b6
mov ecx, dword [0x10534a88]
mov esi, eax
mov eax, dword [0x10534a90]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c9342
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c9338
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push edx
push ecx
call fcn.101b60a3
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x10534a88], esi
mov dword [0x10534a8c], eax
mov dword [0x10534a90], eax
cmp esi, eax
je 0x100c9369
nop dword [eax]
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c9360
push 0x101e2490
call fcn.101b6089
add esp, 4
push 0x10534a78
call fcn.101b62ec
add esp, 4
mov eax, dword [0x10240c7c]
xorps xmm0, xmm0
movups xmmword [esp + 0xa4], xmm0
mov dword [esp + 0xa0], 0x437f0000
mov ecx, edi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0x9c], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100cbc0c
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100c93e6
cmp ecx, 0x7dd410c4
ja 0x100cb415
je 0x100cb114
cmp ecx, 0x1b30ddf0
je 0x100c9d13
cmp ecx, 0x4400fb1c
je 0x100c9a96
cmp ecx, 0x4e704c3e
jne 0x100cbc0c
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cbbde
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
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 0x100c9470
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c94b8
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
cmp dword [esp + 0x70], 0xf
lea edx, [esp + 0x5c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x5c]
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 + 0x70]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c952c
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9522
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcc9
push ecx
push edx
call fcn.101b60a3
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 0x100cbbde
mov eax, dword [0x10240c88]
push edi
mov ecx, dword [eax + 0x18]
call fcn.1007d410
mov esi, eax
test esi, esi
je 0x100cbbde
push 0x10240cac
lea ecx, [esp + 0xf0]
call fcn.10020a50
movq xmm0, qword [0x10208cc4]
xor ebx, ebx
mov al, byte [0x10208ccc]
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 0x100c95b0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xc0]
call fcn.10020a10
mov ecx, dword [0x10534a48]
mov dword [esp + 0x1c], eax
call fcn.10089c90
mov edx, eax
lea ecx, [esp + 0x164]
call fcn.10003e20
movups xmm0, xmmword [0x10208cb0]
mov cl, byte [0x10208cc0]
xor ebx, ebx
mov edi, dword [0x10241d90]
mov dword [esp + 0x74], eax
mov byte [esp + 0x54], cl
movups xmmword [esp + 0x44], xmm0
cmp edi, 2
jl 0x100c9797
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x48]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x44]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x44], 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 [0x102158a0]
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 0x100c9660
cmp ebx, 0x11
jl 0x100c9797
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x180]
call fcn.10020a10
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x134]
push eax
call fcn.10035d90
mov cl, byte [0x10208d64]
mov esi, eax
mov byte [esp + 0x94], cl
jmp 0x100c97f3
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 + 0x44], cl
inc ebx
cmp ebx, 0x11
jl 0x100c9797
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x180]
call fcn.10020a10
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x134]
push eax
call fcn.10035d90
mov esi, eax
mov al, byte [0x10208d64]
mov byte [esp + 0x94], al
movups xmm0, xmmword [str.PYW]
xor ebx, ebx
movups xmmword [esp + 0x84], xmm0
cmp edi, 2
jl 0x100c9950
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x88]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x84]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x84], 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 [0x102158a0]
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 0x100c9840
cmp ebx, 0x11
jge 0x100c997d
nop dword [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 + 0x84], cl
inc ebx
cmp ebx, 0x11
jl 0x100c9950
push str._by
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x158]
call fcn.10020a10
mov edx, eax
lea ecx, [esp + 0x1b4]
call fcn.10031080
mov edx, eax
lea ecx, [esp + 0xd8]
call fcn.10024520
push esi
mov edx, eax
lea ecx, [esp + 0x108]
call fcn.10024570
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x120]
call fcn.10024570
push dword [esp + 0x74]
mov edx, eax
lea ecx, [esp + 0x60]
call fcn.10024570
push dword [esp + 0x1c]
mov edx, eax
lea ecx, [esp + 0x198]
call fcn.10024570
push eax
lea ecx, [esp + 0xa8]
call fcn.100208a0
lea ecx, [esp + 0x194]
call fcn.10002110
lea ecx, [esp + 0x5c]
call fcn.10002110
lea ecx, [esp + 0x11c]
call fcn.10002110
lea ecx, [esp + 0x104]
call fcn.10002110
lea ecx, [esp + 0xd4]
call fcn.10002110
lea ecx, [esp + 0x1ac]
call fcn.10002110
lea ecx, [esp + 0x14c]
call fcn.10002110
lea ecx, [esp + 0x134]
call fcn.10002110
lea ecx, [esp + 0x17c]
call fcn.10002110
lea ecx, [esp + 0x164]
call fcn.10002110
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0xec]
jmp 0x100cbbd9
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 0x10
je 0x100cbbde
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
mov byte [esp + 0x36], 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, 7
jl 0x100c9ad0
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c9b18
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
cmp dword [esp + 0x70], 0xf
lea edx, [esp + 0x5c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x5c]
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 + 0x70]
mov esi, eax
cmp ecx, 0xf
jbe 0x100c9b8c
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9b82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcce
push ecx
push edx
call fcn.101b60a3
add esp, 8
test esi, esi
je 0x100cbbde
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbbde
call fcn.1007d420
cmp esi, eax
je 0x100cbbde
mov eax, dword [0x10240c88]
push esi
mov ecx, dword [eax + 0x18]
call fcn.1007d410
mov dword [esp + 0x74], eax
test eax, eax
je 0x100cbbde
mov ecx, dword [0x10242574]
mov esi, dword [ecx]
mov ecx, eax
call fcn.100a65a0
mov ecx, esi
mov edi, eax
call fcn.100a65a0
mov ecx, dword [edi]
cmp ecx, dword [eax]
je 0x100cbbde
mov eax, dword [str.EVUEYY8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov ax, word [0x10208d20]
mov word [esp + 0x34], ax
mov al, byte [0x10208d22]
mov byte [esp + 0x36], al
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, 7
jl 0x100c9c10
push ecx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xc4]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
mov ecx, dword [esp + 0x20]
push eax
call fcn.100c8f20
push eax
lea ecx, [esp + 0x138]
call fcn.10020a10
lea ecx, [esp + 0xbc]
call fcn.10002110
push ecx
lea ecx, [esp + 0x1d4]
call fcn.100201c0
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0xbc]
push eax
call fcn.10035d90
mov edx, eax
lea ecx, [esp + 0x1d0]
call fcn.100ccaa0
mov edx, str._bought
mov ecx, eax
call fcn.100b9ed0
lea edx, [esp + 0x134]
mov ecx, eax
call fcn.100ccaa0
lea ecx, [esp + 0xbc]
call fcn.10002110
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x1d4]
call fcn.10020120
mov ecx, eax
call fcn.10006570
push eax
lea ecx, [esp + 0xa8]
call fcn.10020870
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0x1d0]
call fcn.10005890
lea ecx, [esp + 0x134]
jmp 0x100cbbd9
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
mov byte [esp + 0x36], 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, 7
jl 0x100c9d40
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 [0x10206380]
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 0x100c9db0
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 [0x102081b4]
mov esi, eax
movq xmm0, qword [str.VSjRYUNS_]
xor ebx, ebx
mov word [esp + 0x38], cx
mov cl, byte [0x102081b6]
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 0x100c9e20
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 + 0x11c]
call fcn.10003e20
movq xmm0, qword [str.ZZ_RDXMI:]
xor ebx, ebx
mov al, byte [0x10208d70]
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 0x100c9e80
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.0x100c9ec2
jmp dword [eax*4 + 0x100cbcf8]
mov eax, dword [str.generic]
mov dword [esp + 0x44], eax
mov ax, word [0x101ec4b4]
mov word [esp + 0x48], ax
mov al, byte [0x101ec4b6]
jmp 0x100ca00a
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x44], 0x64616568
mov byte [esp + 0x48], 0
jmp 0x100ca021
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x44], eax
mov edi, 5
mov al, byte [0x10208c48]
mov byte [esp + 0x48], al
mov byte [esp + 0x49], 0
jmp 0x100ca021
mov eax, dword [str.stomach]
mov dword [esp + 0x44], eax
mov ax, word [0x10208c50]
mov word [esp + 0x48], ax
mov al, byte [0x10208c52]
jmp 0x100ca00a
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x44], 0x7466656c
mov dword [esp + 0x48], 0x6d726120
mov byte [esp + 0x4c], 0
jmp 0x100ca021
mov al, byte [0x10208c5c]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov edi, 9
mov byte [esp + 0x4c], al
movq xmm0, qword [str.right_arm]
movq qword [esp + 0x44], xmm0
mov byte [esp + 0x4d], 0
jmp 0x100ca021
xorps xmm0, xmm0
mov edi, 8
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x44], 0x7466656c
mov dword [esp + 0x48], 0x67656c20
mov byte [esp + 0x4c], 0
jmp 0x100ca021
mov al, byte [0x10208c6c]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov edi, 9
mov byte [esp + 0x4c], al
movq xmm0, qword [str.right_leg]
movq qword [esp + 0x44], xmm0
mov byte [esp + 0x4d], 0
jmp 0x100ca021
mov eax, dword [str.unknown]
mov dword [esp + 0x44], eax
mov ax, word [0x101ec498]
mov word [esp + 0x48], ax
mov al, byte [0x101ec49a]
xorps xmm0, xmm0
mov byte [esp + 0x4a], al
movlpd qword [esp + 0x4c], xmm0
mov edi, 7
mov byte [esp + 0x4b], 0
mov eax, dword [0x10242574]
mov ebx, 0xf
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 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 0x100cadf3
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 0x100cadf3
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 1
jne 0x100ca0b0
mov ecx, dword [esp + 0x130]
cmp ecx, ebx
jbe 0x100cbbde
mov edx, dword [esp + 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cae6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcd3
jmp 0x100cae6d
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 0x100ca0e0
lea ecx, [esp + 0x44]
call fcn.10002110
lea ecx, [esp + 0x11c]
jmp 0x100cbbd9
lea ecx, [esp + 0x17c]
call fcn.10020b40
mov ax, word [0x102081b4]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], ax
mov al, byte [0x102081b6]
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 0x100ca110
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x34]
push eax
call fcn.100a6610
mov ecx, dword [esp + 0x18]
mov esi, eax
call fcn.1007d480
sub eax, esi
jns 0x100ca313
movups xmm0, xmmword [0x10208ce8]
mov esi, dword [0x10241d90]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100ca2dd
xor ebx, ebx
cmp esi, 2
jl 0x100ca2b3
movaps xmm0, xmmword [0x102158e0]
lea ebx, [esp + 0x34]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
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 [0x102158a0]
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebx + ecx]
xorps xmm1, xmm0
movd dword [ebx + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ca1b4
jmp 0x100ca2dd
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 0x100ca2b3
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xc0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
push eax
lea ecx, [esp + 0x180]
call fcn.10020870
lea ecx, [esp + 0xbc]
call fcn.10002110
jmp 0x100ca55c
mov eax, dword [0x10208c94]
xor ebx, ebx
cmp dword [0x10241d90], 2
movq xmm0, qword [0x10208c8c]
mov dword [esp + 0x7c], eax
mov ax, word [0x10208c98]
mov word [esp + 0x80], ax
mov al, byte [0x10208c9a]
movq qword [esp + 0x74], xmm0
mov byte [esp + 0x82], al
jl 0x100ca452
movaps xmm2, xmmword [0x10215760]
mov ebx, 8
movaps xmm4, xmmword [0x10215c00]
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 [0x102158e0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x10208c8c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x74], 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 [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x78]
xorps xmm1, xmm0
movd dword [esp + 0x78], 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 + 0x74], cl
inc ebx
cmp ebx, 0xf
jl 0x100ca452
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x150]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
mov cx, word [0x102081b4]
xor ebx, ebx
movq xmm0, qword [str.VSjRYUNS_]
mov word [esp + 0x38], cx
mov cl, byte [0x102081b6]
mov dword [esp + 0x74], 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 0x100ca4c0
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x34]
push eax
call fcn.100a6610
mov ecx, dword [esp + 0x18]
mov esi, eax
call fcn.1007d480
sub eax, esi
lea ecx, [esp + 0x164]
mov edx, eax
call fcn.10003e20
push dword [esp + 0x74]
mov edx, eax
lea ecx, [esp + 0xc0]
call fcn.10024520
push eax
lea ecx, [esp + 0x180]
call fcn.100208a0
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0x164]
call fcn.10002110
lea ecx, [esp + 0x14c]
call fcn.10002110
mov esi, dword [0x10241d90]
cmp byte [0x10208c8b], 0
mov ecx, dword [0x10208c84]
mov edx, dword [0x10208c88]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
je 0x100ca6aa
xor ebx, ebx
cmp esi, 2
jl 0x100ca680
movaps xmm2, xmmword [0x10215760]
movaps xmm4, xmmword [0x10215c00]
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 [0x102158e0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
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 [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
jmp 0x100ca6aa
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 0x100ca680
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x138]
call fcn.10020a10
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x10208cd8]
mov dword [esp + 0x30], eax
mov ax, word [0x10208cdc]
mov word [esp + 0x34], ax
mov al, byte [0x10208cde]
mov byte [esp + 0x36], al
call fcn.10006570
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 0x100ca6e5
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x150]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x164]
push eax
call fcn.10035d90
movups xmm0, xmmword [0x10208cf8]
mov cx, word [0x10208d18]
xor ebx, ebx
mov dword [esp + 0x74], eax
mov word [esp + 0x1cc], cx
movups xmmword [esp + 0x1ac], xmm0
movups xmm0, xmmword [0x10208d08]
movups xmmword [esp + 0x1bc], xmm0
cmp esi, 2
jl 0x100ca8c0
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x1b0]
mov eax, dword [esp + 0x1c]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x1ac]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x1ac], 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 [0x102158a0]
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, 0x20
jl 0x100ca7b0
cmp ebx, 0x22
jge 0x100ca8ed
nop dword [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 + 0x1ac], cl
inc ebx
cmp ebx, 0x22
jl 0x100ca8c0
lea eax, [esp + 0x1ac]
push eax
lea ecx, [esp + 0xc0]
call fcn.10020a10
push dword [esp + 0x74]
lea ecx, [esp + 0x198]
push eax
push dword [esp + 0x38]
call fcn.10029860
push dword [esp + 0x30]
lea ecx, [esp + 0x198]
call fcn.10020790
mov dword [esp + 0x114], 0
lea edx, [esp + 0x44]
mov dword [esp + 0x118], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x104], xmm0
push edi
movups xmm0, xmmword [eax]
mov ebx, 0xf
push edx
movups xmmword [esp + 0x10c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x120]
sub eax, ecx
mov dword [esp + 0x38], ecx
cmp edi, eax
ja 0x100ca9d4
cmp dword [esp + 0x120], ebx
lea esi, [esp + 0x10c]
lea eax, [ecx + edi]
cmova esi, dword [esp + 0x10c]
mov dword [esp + 0x11c], eax
lea eax, [esi + ecx]
push eax
call fcn.101b75d0
mov ecx, dword [esp + 0x3c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x104]
jmp 0x100ca9e9
push dword [esp + 0x38]
lea ecx, [esp + 0x110]
push edi
call fcn.10028480
mov ebx, dword [esp + 0x58]
push dword [esp + 0x1c]
mov dword [esp + 0x100], 0
lea ecx, [esp + 0xf0]
mov dword [esp + 0x104], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xf0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x100], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10020790
mov dword [esp + 0x94], 0
lea edx, [esp + 0x11c]
mov dword [esp + 0x98], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x84], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x84], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x94], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [esp + 0x130], 0xf
mov ecx, dword [esp + 0x94]
cmova edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x12c]
sub eax, ecx
mov dword [esp + 0x30], ecx
push edi
push edx
cmp edi, eax
ja 0x100cab07
cmp dword [esp + 0xa0], 0xf
lea esi, [esp + 0x8c]
lea eax, [edi + ecx]
cmova esi, dword [esp + 0x8c]
mov dword [esp + 0x9c], eax
lea eax, [esi + ecx]
push eax
call fcn.101b75d0
mov eax, dword [esp + 0x3c]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [esp + 0x84]
jmp 0x100cab18
push dword [esp + 0x38]
lea ecx, [esp + 0x90]
push edi
call fcn.10028480
mov dword [esp + 0xe4], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xd4], xmm0
mov dword [esp + 0xe8], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xd4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xe4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xe8]
mov eax, edx
mov ecx, dword [esp + 0xe4]
sub eax, ecx
cmp eax, 2
jb 0x100cabad
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [esp + 0xe4], eax
mov edx, 0x2820
lea eax, [esp + 0xd4]
cmova eax, dword [esp + 0xd4]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [esp + 0xd4]
jmp 0x100cabc6
push 2
push 0x10208c60
push dword [esp + 0x38]
lea ecx, [esp + 0xe0]
push 2
call fcn.10028480
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x70], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x5c], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x5c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x6c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x17c]
push eax
call fcn.10020800
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 + 0xb8]
cmp ecx, 0xf
jbe 0x100cac7e
mov edx, dword [esp + 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cac69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcd8
push ecx
push edx
call fcn.101b60a3
movups xmm0, xmmword [esp + 0x28]
add esp, 8
movq xmm1, qword [esp + 0x30]
mov ecx, dword [esp + 0x70]
movq qword [esp + 0xb4], xmm1
movups xmmword [esp + 0xa4], xmm0
cmp ecx, 0xf
jbe 0x100cacc5
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cacbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcd8
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0xf
mov byte [esp + 0x5c], 0
cmp ecx, 0xf
jbe 0x100cad16
mov edx, dword [esp + 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cad0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcd8
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0xf
mov byte [esp + 0xd4], 0
cmp ecx, 0xf
jbe 0x100cad70
mov edx, dword [esp + 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cad66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcd8
push ecx
push edx
call fcn.101b60a3
add esp, 8
lea ecx, [esp + 0xec]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0xf
mov byte [esp + 0x84], 0
call fcn.10002110
lea ecx, [esp + 0x104]
call fcn.10002110
lea ecx, [esp + 0x194]
call fcn.10002110
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0x164]
call fcn.10002110
lea ecx, [esp + 0x14c]
call fcn.10002110
lea ecx, [esp + 0x134]
call fcn.10002110
lea ecx, [esp + 0x17c]
call fcn.10002110
jmp 0x100cb09d
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 0x100cb09d
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 0x100cb09d
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 2
jne 0x100cae7c
mov ecx, dword [esp + 0x130]
cmp ecx, 0xf
jbe 0x100cbbde
mov edx, dword [esp + 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cae6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push ecx
push edx
call fcn.101b60a3
add esp, 8
jmp 0x100cbbde
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 0x100caea7
lea ecx, [esp + 0x44]
call fcn.10002110
lea ecx, [esp + 0x11c]
jmp 0x100cbbd9
mov eax, dword [0x10208ce0]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x10208ce4]
mov byte [esp + 0x34], al
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, 5
jl 0x100caec0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x60]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
mov ecx, dword [0x10208cd0]
mov dword [esp + 0x74], ecx
mov cx, word [0x10208cd4]
mov dword [esp + 0x30], eax
mov word [esp + 0x78], cx
test ch, ch
je 0x100caf49
xor ebx, ebx
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 + 0x74], cl
inc ebx
cmp ebx, 6
jl 0x100caf20
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0xf0]
call fcn.10020a10
mov ecx, eax
call fcn.10006570
mov edi, eax
mov ecx, esi
lea eax, [esp + 0x17c]
push eax
call fcn.10035d90
movq xmm0, qword [str.ZFFA]
mov esi, eax
mov cl, byte [0x10208d50]
xor ebx, ebx
movq qword [esp + 0x74], xmm0
mov byte [esp + 0x7c], 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 + 0x74], cl
inc ebx
cmp ebx, 9
jl 0x100caf90
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x138]
call fcn.10020a10
push esi
mov edx, eax
lea ecx, [esp + 0x198]
call fcn.10024570
lea ecx, [esp + 0x11c]
mov edx, eax
push ecx
push edi
lea ecx, [esp + 0x1b4]
call fcn.10024520
mov edx, eax
lea ecx, [esp + 0x150]
call fcn.10031080
lea ecx, [esp + 0x44]
mov edx, eax
push ecx
push dword [esp + 0x34]
lea ecx, [esp + 0x16c]
call fcn.10024520
mov edx, eax
lea ecx, [esp + 0xc0]
call fcn.10031080
push eax
lea ecx, [esp + 0xa8]
call fcn.100208a0
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0x164]
call fcn.10002110
lea ecx, [esp + 0x14c]
call fcn.10002110
lea ecx, [esp + 0x1ac]
call fcn.10002110
lea ecx, [esp + 0x194]
call fcn.10002110
lea ecx, [esp + 0x134]
call fcn.10002110
lea ecx, [esp + 0x17c]
call fcn.10002110
lea ecx, [esp + 0xec]
call fcn.10002110
lea ecx, [esp + 0x5c]
call fcn.10002110
mov ebx, dword [esp + 0x58]
cmp ebx, 0xf
jbe 0x100cb0cf
mov ecx, dword [esp + 0x44]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100cb0c5
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push ebx
push ecx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0x130]
cmp ecx, 0xf
jbe 0x100cbbde
mov edx, dword [esp + 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb105
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push ecx
push edx
call fcn.101b60a3
add esp, 8
jmp 0x100cbbde
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cbbde
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
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 0x100cb150
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb198
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
cmp dword [esp + 0x70], 0xf
lea edx, [esp + 0x5c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x5c]
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 + 0x70]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb20c
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb202
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcdd
push ecx
push edx
call fcn.101b60a3
add esp, 8
test edi, edi
je 0x100cbbde
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbbde
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 0x100cbbde
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 0x100cbbde
mov eax, dword [0x10208d40]
movups xmm0, xmmword [0x10208d30]
mov dword [esp + 0x54], eax
mov ax, word [0x10208d44]
mov word [esp + 0x58], ax
movups xmmword [esp + 0x44], xmm0
test ah, ah
je 0x100cbb7c
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cb3e6
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x48]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x44]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x44], 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 [0x102158a0]
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 0x100cb2e0
cmp ebx, 0x16
jge 0x100cbb7c
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 + 0x44], cl
inc ebx
cmp ebx, 0x16
jl 0x100cb3e6
jmp 0x100cbb7c
cmp ecx, 0xc3c7d299
je 0x100cb881
cmp ecx, 0xec398ed7
jne 0x100cbc0c
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 4
je 0x100cbbde
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
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 0x100cb466
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb4b0
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
cmp dword [esp + 0x70], 0xf
lea edx, [esp + 0x5c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x5c]
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 + 0x70]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb524
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb51a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce2
push ecx
push edx
call fcn.101b60a3
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 0x100cbbde
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 0x100cbbde
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, eax
call fcn.101a9ae0
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb5b0
sub ecx, edx
lea eax, [esp + 0x1d0]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
movups xmm0, xmmword [str.ZGAWP_]
mov ax, word [0x10208cac]
mov word [esp + 0x54], ax
movups xmmword [esp + 0x44], xmm0
test ah, ah
je 0x100cb74e
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cb724
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x48]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x44]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x44], 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 [0x102158a0]
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 0x100cb622
cmp ebx, 0x12
jge 0x100cb74e
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 + 0x44], cl
inc ebx
cmp ebx, 0x12
jl 0x100cb724
xorps xmm0, xmm0
mov dword [esp + 0xfc], 0
lea ecx, [esp + 0x44]
mov dword [esp + 0x100], 0
movups xmmword [esp + 0xec], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb776
sub ecx, edx
lea eax, [esp + 0x44]
push ecx
push eax
lea ecx, [esp + 0xf4]
call fcn.10027870
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x38]
lea ecx, [esp + 0x1a0]
call fcn.10029860
mov ecx, dword [esp + 0xb8]
cmp ecx, 0xf
jbe 0x100cb7ea
mov edx, dword [esp + 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb7e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push ecx
push edx
call fcn.101b60a3
add esp, 8
movups xmm0, xmmword [esp + 0x194]
mov ecx, dword [esp + 0x100]
movups xmmword [esp + 0xa4], xmm0
movq xmm0, qword [esp + 0x1a4]
movq qword [esp + 0xb4], xmm0
cmp ecx, 0xf
jbe 0x100cb848
mov edx, dword [esp + 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb83e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0x70]
cmp ecx, 0xf
jbe 0x100cbbde
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cae6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbce7
jmp 0x100cae6d
mov eax, dword [0x10240c80]
test byte [eax + 0x36b0], 8
je 0x100cbbde
mov eax, dword [0x10240c88]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x1020640c]
mov dword [esp + 0x30], eax
mov ax, word [0x10206410]
mov word [esp + 0x34], ax
mov al, byte [0x10206412]
mov byte [esp + 0x36], 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, 7
jl 0x100cb8c0
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], 0
movups xmmword [esp + 0x5c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cb908
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.10027870
cmp dword [esp + 0x70], 0xf
lea edx, [esp + 0x5c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x5c]
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 + 0x70]
mov edi, eax
cmp ecx, 0xf
jbe 0x100cb97c
mov edx, dword [esp + 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cb972
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcec
push ecx
push edx
call fcn.101b60a3
add esp, 8
test edi, edi
je 0x100cbbde
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x100cbbde
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 0x100cbbde
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 0x100cbbde
mov eax, dword [0x10208d84]
movups xmm0, xmmword [0x10208d74]
mov dword [esp + 0x54], eax
mov ax, word [0x10208d88]
mov word [esp + 0x58], ax
movups xmmword [esp + 0x44], xmm0
test ah, ah
je 0x100cbb7c
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100cbb52
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x48]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
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 [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x44]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x44], 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 [0x102158a0]
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 0x100cba50
cmp ebx, 0x16
jge 0x100cbb7c
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 + 0x44], cl
inc ebx
cmp ebx, 0x16
jl 0x100cbb52
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x150]
call fcn.10020a10
mov esi, eax
mov ecx, edi
lea eax, [esp + 0x164]
push eax
call fcn.10035d90
push esi
mov edx, eax
lea ecx, [esp + 0xc0]
call fcn.10024570
push eax
lea ecx, [esp + 0xa8]
call fcn.100208a0
lea ecx, [esp + 0xbc]
call fcn.10002110
lea ecx, [esp + 0x164]
call fcn.10002110
lea ecx, [esp + 0x14c]
call fcn.10002110
cmp dword [esp + 0xb4], 0
je 0x100cbc0c
lea eax, [esp + 0x9c]
mov ecx, 0x1045dc2c
push eax
call fcn.100cc800
lea eax, [esp + 0x9c]
mov ecx, 0x1045dc18
push eax
call fcn.100cc800
mov ecx, dword [esp + 0xb8]
cmp ecx, 0xf
jbe 0x100cbc48
mov edx, dword [esp + 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbc3e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cbcf1
push ecx
push edx
call fcn.101b60a3
add esp, 8
push 0x10534a18
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
mov byte [esp + 0xa8], 0
call fcn.101b550d
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, esp
call fcn.101b5daa
mov esp, ebp
pop ebp
ret
mov ecx, 0x1045dc2c
call fcn.1003ea80
mov ecx, 0x1045dc18
call fcn.1003ea80
mov ecx, dword [esp + 0x32c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b5daa
mov esp, ebp
pop ebp
ret
push 5
call fcn.101b571c
push 6
mov dword [0x10534a44], 0x7ffffffe
call fcn.101b571c
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
nop
leave
sahf
or al, 0x10
out 0x9e, eax
or al, 16
push es
lahf
or al, 0x10
das
lahf
or al, 0x10
dec ebp
lahf
or al, 0x10
je 0x100cbcad
or al, 0x10
mov byte [0xc6100c9f], al
lahf
or al, 0x10
int3