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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x314
mov eax, dword [0x101f90c0]
xor eax, esp
mov dword [esp + 0x310], eax
mov eax, dword [0x10214408]
push ebx
push esi
push edi
cmp byte [eax + 0x3589], 0
mov edi, ecx
mov dword [esp + 0x64], edi
je 0x100c3d08
cmp dword [eax + 0x3568], 0
je 0x100c3d08
cmp dword [eax + 0x356c], 0
je 0x100c3d08
test edi, edi
je 0x100c3d1c
mov eax, dword [0x10215cf4]
cmp dword [eax], 0
je 0x100c3d1c
mov eax, dword [0x10214410]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x100c3d1c
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1021551c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x103dbef4]
mov dword [esp + 0x18], esi
cmp eax, dword [esi + 4]
jle 0x100c1443
push 0x103dbef4
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbef4], 0xffffffff
jne 0x100c1443
mov eax, dword [0x10214410]
xor ebx, ebx
movq xmm0, qword [str.YEiT_fMSVYO_]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov ax, word [0x101dfb94]
mov word [esp + 0x78], ax
mov al, byte [0x101dfb96]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], al
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100c1400
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x70]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x103dbef4
mov dword [0x103dbeec], eax
call fcn.1018e60c
add esp, 4
mov eax, dword [0x103dbef0]
cmp eax, dword [esi + 4]
jle 0x100c14de
push 0x103dbef0
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbef0], 0xffffffff
jne 0x100c14de
xorps xmm0, xmm0
mov dword [0x103dbebc], 0
push 2
push 0x103dbebc
mov dword [0x103dbec0], 0
mov dword [0x103dbec4], 0
movups xmmword [0x103dbec8], xmm0
mov dword [0x103dbee0], 0
movq qword [0x103dbed8], xmm0
mov dword [0x103dbee4], 0
mov dword [0x103dbee8], 0
call fcn.1018d7df
push 0x101ba400
call fcn.1018e3a9
add esp, 0xc
push 0x103dbef0
call fcn.1018e60c
add esp, 4
push 0x103dbebc
call fcn.1018d7fb
add esp, 4
test eax, eax
jne 0x100c3d31
cmp dword [0x103dbee8], 0x7fffffff
je 0x100c3d38
mov eax, dword [0x103dbf18]
cmp eax, dword [esi + 4]
jle 0x100c162c
push 0x103dbf18
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbf18], 0xffffffff
jne 0x100c162c
push 0x30
mov dword [0x103dbef8], 0
mov dword [0x103dbefc], 0
mov dword [0x103dbf00], 0
call fcn.1018e3d6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x103dbefc], ebx
mov dword [0x103dbf04], 0
mov dword [0x103dbf08], 0
mov dword [0x103dbf0c], 0
mov dword [0x103dbf10], 7
mov dword [0x103dbf14], 8
mov dword [0x103dbef8], 0x3f800000
call fcn.1018e3d6
mov ecx, dword [0x103dbf04]
mov esi, eax
mov eax, dword [0x103dbf0c]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c15ee
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c15e4
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push edx
push ecx
call fcn.1018e3c3
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x103dbf04], esi
mov dword [0x103dbf08], eax
mov dword [0x103dbf0c], eax
cmp esi, eax
je 0x100c160e
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c1605
push 0x101ba3e0
call fcn.1018e3a9
add esp, 4
push 0x103dbf18
call fcn.1018e60c
mov esi, dword [esp + 0x1c]
add esp, 4
mov eax, dword [0x103dbf1c]
cmp eax, dword [esi + 4]
jle 0x100c1753
push 0x103dbf1c
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbf1c], 0xffffffff
jne 0x100c1753
push 0x24
mov dword [0x103dbf20], 0
mov dword [0x103dbf24], 0
mov dword [0x103dbf28], 0
call fcn.1018e3d6
mov ebx, eax
add esp, 4
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
push 0x40
mov dword [0x103dbf24], ebx
mov dword [0x103dbf2c], 0
mov dword [0x103dbf30], 0
mov dword [0x103dbf34], 0
mov dword [0x103dbf38], 7
mov dword [0x103dbf3c], 8
mov dword [0x103dbf20], 0x3f800000
call fcn.1018e3d6
mov ecx, dword [0x103dbf2c]
mov esi, eax
mov eax, dword [0x103dbf34]
add esp, 4
sub eax, ecx
sar eax, 2
test eax, eax
je 0x100c1717
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100c170d
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push edx
push ecx
call fcn.1018e3c3
add esp, 8
lea eax, [esi + 0x40]
mov dword [0x103dbf2c], esi
mov dword [0x103dbf30], eax
mov dword [0x103dbf34], eax
cmp esi, eax
je 0x100c1739
nop
mov dword [esi], ebx
add esi, 4
cmp esi, eax
jne 0x100c1730
push 0x101ba3c0
call fcn.1018e3a9
add esp, 4
push 0x103dbf1c
call fcn.1018e60c
add esp, 4
mov eax, dword [0x10214404]
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x9c], 0x437f0000
mov ecx, edi
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mov eax, dword [edi]
movss dword [esp + 0x98], xmm0
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x811c9dc5
mov al, byte [edx]
test al, al
je 0x100c3c8c
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x100c17b6
cmp ecx, 0x7dd410c4
ja 0x100c34af
je 0x100c31bc
cmp ecx, 0x1b30ddf0
je 0x100c20c9
cmp ecx, 0x4400fb1c
je 0x100c1e56
cmp ecx, 0x4e704c3e
jne 0x100c3c8c
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 8
je 0x100c3c5e
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c1840
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c1880
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
cmp dword [esp + 0x60], 0xf
lea edx, [esp + 0x4c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x4c]
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 + 0x60]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c18f4
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c18ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d49
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov eax, dword [0x10214410]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10215cf4]
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 + 0x1c0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x250]
cmp edi, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
push edi
mov ecx, dword [eax + 0x18]
call fcn.1007c1d0
mov esi, eax
test esi, esi
je 0x100c3c5e
push 0x10214434
lea ecx, [esp + 0x104]
call fcn.1001fc30
movq xmm0, qword [0x101dfb80]
xor ebx, ebx
mov al, byte [0x101dfb88]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100c1977
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.1001fbf0
mov ecx, dword [0x103dbeec]
mov dword [esp + 0x64], eax
call fcn.10087860
mov edx, eax
lea ecx, [esp + 0x160]
call fcn.10003bf0
movups xmm0, xmmword [0x101dfc14]
mov cl, byte [0x101dfc24]
xor ebx, ebx
mov edi, dword [0x10215510]
mov dword [esp + 0x18], eax
mov byte [esp + 0x3c], cl
movups xmmword [esp + 0x2c], xmm0
cmp edi, 2
jl 0x100c1b57
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
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
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 [0x101eb990]
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
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 [0x101eb990]
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 0x100c1a20
cmp ebx, 0x11
jl 0x100c1b57
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xec]
call fcn.1001fbf0
mov dword [esp + 0x44], eax
mov ecx, esi
lea eax, [esp + 0x130]
push eax
call fcn.10034d10
mov cl, byte [0x101dfba8]
mov esi, eax
mov byte [esp + 0x90], cl
jmp 0x100c1bb3
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x11
jl 0x100c1b57
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xec]
call fcn.1001fbf0
mov dword [esp + 0x44], eax
mov ecx, esi
lea eax, [esp + 0x130]
push eax
call fcn.10034d10
mov esi, eax
mov al, byte [0x101dfba8]
mov byte [esp + 0x90], al
movups xmm0, xmmword [str.VZ_U]
xor ebx, ebx
movups xmmword [esp + 0x80], xmm0
cmp edi, 2
jl 0x100c1d10
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x84]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x80]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x80], 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 [0x101eb990]
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 0x100c1c00
cmp ebx, 0x11
jge 0x100c1d3d
nop dword [eax + eax]
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x80], cl
inc ebx
cmp ebx, 0x11
jl 0x100c1d10
push str._by
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x154]
call fcn.1001fbf0
mov edx, eax
lea ecx, [esp + 0x1b0]
call fcn.10030150
mov edx, eax
lea ecx, [esp + 0xd4]
call fcn.100236f0
push esi
mov edx, eax
lea ecx, [esp + 0x11c]
call fcn.10023740
push dword [esp + 0x44]
mov edx, eax
lea ecx, [esp + 0x50]
call fcn.10023740
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0x194]
call fcn.10023740
push dword [esp + 0x64]
mov edx, eax
lea ecx, [esp + 0x17c]
call fcn.10023740
push eax
lea ecx, [esp + 0xa4]
call fcn.1001fa80
lea ecx, [esp + 0x178]
call fcn.10001f30
lea ecx, [esp + 0x190]
call fcn.10001f30
lea ecx, [esp + 0x4c]
call fcn.10001f30
lea ecx, [esp + 0x118]
call fcn.10001f30
lea ecx, [esp + 0xd0]
call fcn.10001f30
lea ecx, [esp + 0x1a8]
call fcn.10001f30
lea ecx, [esp + 0x148]
call fcn.10001f30
lea ecx, [esp + 0x130]
call fcn.10001f30
lea ecx, [esp + 0xe8]
call fcn.10001f30
lea ecx, [esp + 0x160]
call fcn.10001f30
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x100]
jmp 0x100c3c59
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 0x10
je 0x100c3c5e
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
nop
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c1e90
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c1ed0
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
cmp dword [esp + 0x60], 0xf
lea edx, [esp + 0x4c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x4c]
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 + 0x60]
mov esi, eax
cmp ecx, 0xf
jbe 0x100c1f44
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c1f3a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d4e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test esi, esi
je 0x100c3c5e
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
test ecx, ecx
je 0x100c3c5e
call fcn.1007c1e0
cmp esi, eax
je 0x100c3c5e
mov eax, dword [0x10214410]
push esi
mov ecx, dword [eax + 0x18]
call fcn.1007c1d0
mov ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x100c3c5e
mov ecx, 0x9e167e91
call fcn.100c68e0
mov edx, dword [0x10215cf4]
mov esi, eax
mov ecx, 0x9e167e91
add esi, dword [edx]
call fcn.100c68e0
mov ecx, dword [eax + ebx]
cmp ecx, dword [esi]
je 0x100c3c5e
mov eax, dword [str.CPWGWW:]
xor ebx, ebx
mov dword [esp + 0x64], eax
mov ax, word [0x101dfb48]
mov word [esp + 0x68], ax
mov al, byte [0x101dfb4a]
mov byte [esp + 0x6a], al
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 7
jl 0x100c1fd0
push ecx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xc0]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
push eax
mov ecx, edi
call fcn.100c1300
push eax
lea ecx, [esp + 0x134]
call fcn.1001fbf0
lea ecx, [esp + 0xb8]
call fcn.10001f30
push ecx
lea ecx, [esp + 0x1c4]
call fcn.1001f3a0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xb8]
push eax
call fcn.10034d10
mov edx, eax
lea ecx, [esp + 0x1c0]
call fcn.100c4ac0
mov edx, str._bought
mov ecx, eax
call fcn.100b2220
lea edx, [esp + 0x130]
mov ecx, eax
call fcn.100c4ac0
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x1c4]
call fcn.1001f300
mov ecx, eax
call fcn.10006340
push eax
lea ecx, [esp + 0xa4]
call fcn.1001fa50
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x1c0]
call fcn.10005660
lea ecx, [esp + 0x130]
jmp 0x100c3c59
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c20f0
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 [0x10214410]
xor ebx, ebx
movq xmm0, qword [0x101dd45c]
mov dword [esp + 0x44], eax
mov esi, dword [ecx + 0x10]
mov cl, byte [0x101dd464]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], cl
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100c2152
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 [0x101df154]
mov esi, eax
movq xmm0, qword [str.PXQhP_WHU_]
xor ebx, ebx
mov word [esp + 0x78], cx
mov cl, byte [0x101df156]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], cl
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100c21b5
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 + 0x100]
call fcn.10003bf0
movq xmm0, qword [0x101dfc08]
xor ebx, ebx
mov al, byte [0x101dfc10]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x20], al
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 9
jl 0x100c2210
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.0x100c224a
jmp dword [eax*4 + 0x100c3d78]
mov eax, dword [str.generic]
mov dword [esp + 0x2c], eax
mov ax, word [0x101c4454]
mov word [esp + 0x30], ax
mov al, byte [0x101c4456]
jmp 0x100c238f
xorps xmm0, xmm0
mov edi, 4
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], 0x64616568
mov byte [esp + 0x30], 0
jmp 0x100c23a6
mov eax, dword [str.chest]
xorps xmm0, xmm0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x2c], eax
mov edi, 5
mov al, byte [0x101dfb00]
mov byte [esp + 0x30], al
mov byte [esp + 0x31], 0
jmp 0x100c23a6
mov eax, dword [str.stomach]
mov dword [esp + 0x2c], eax
mov ax, word [0x101dfb08]
mov word [esp + 0x30], ax
mov al, byte [0x101dfb0a]
jmp 0x100c238f
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 0x100c23a6
mov al, byte [0x101dfb14]
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 0x100c23a6
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 0x100c23a6
mov al, byte [0x101dfb24]
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 0x100c23a6
mov eax, dword [str.unknown]
mov dword [esp + 0x2c], eax
mov ax, word [0x101c4438]
mov word [esp + 0x30], ax
mov al, byte [0x101c443a]
xorps xmm0, xmm0
mov byte [esp + 0x32], al
movlpd qword [esp + 0x34], xmm0
mov edi, 7
mov byte [esp + 0x33], 0
mov eax, dword [0x10215cf4]
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 + 0x44], eax
je 0x100c2eb9
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
jne 0x100c2eb9
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 1
jne 0x100c2435
mov ecx, dword [esp + 0x114]
cmp ecx, ebx
jbe 0x100c3c5e
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2f33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d53
jmp 0x100c2f33
mov eax, dword [0x10214410]
push dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100c2465
lea ecx, [esp + 0x2c]
call fcn.10001f30
lea ecx, [esp + 0x100]
jmp 0x100c3c59
lea ecx, [esp + 0x130]
call fcn.1001fd20
mov ax, word [0x101df154]
xor ebx, ebx
movq xmm0, qword [str.PXQhP_WHU_]
mov word [esp + 0x78], ax
mov al, byte [0x101df156]
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100c2495
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x74]
push eax
call fcn.1009fb40
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.1007c240
sub eax, esi
jns 0x100c268b
movups xmm0, xmmword [0x101dfbf8]
movups xmmword [esp + 0x18], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100c265a
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100c2630
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x1c]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
movaps xmmword [esp + 0x70], xmm0
mov edx, dword [esp + 0x70]
nop
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x18]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x18], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esi + ecx]
xorps xmm1, xmm0
movd dword [esi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100c2530
jmp 0x100c265a
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0x10
jl 0x100c2630
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xbc]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
push eax
lea ecx, [esp + 0x134]
call fcn.1001fa50
lea ecx, [esp + 0xb8]
jmp 0x100c28b9
mov eax, dword [0x101dfbf0]
xor ebx, ebx
cmp dword [0x10215510], 2
movq xmm0, qword [0x101dfbe8]
mov dword [esp + 0x20], eax
mov ax, word [0x101dfbf4]
mov word [esp + 0x24], ax
mov al, byte [0x101dfbf6]
movq qword [esp + 0x18], xmm0
mov byte [esp + 0x26], al
jl 0x100c27c4
movaps xmm2, xmmword [0x101eb880]
mov ebx, 8
movaps xmm4, xmmword [0x101ebc80]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.4444444444444444]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb920]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8c0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101dfbe8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x18], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb920]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x1c]
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 0xf
jl 0x100c27c4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14c]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
mov cx, word [0x101df154]
xor ebx, ebx
movq xmm0, qword [str.PXQhP_WHU_]
mov word [esp + 0x78], cx
mov cl, byte [0x101df156]
mov dword [esp + 0x18], eax
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x7a], cl
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x70], cl
inc ebx
cmp ebx, 0xb
jl 0x100c2830
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x74]
push eax
call fcn.1009fb40
mov ecx, dword [esp + 0x44]
mov esi, eax
call fcn.1007c240
sub eax, esi
lea ecx, [esp + 0x160]
mov edx, eax
call fcn.10003bf0
push dword [esp + 0x18]
mov edx, eax
lea ecx, [esp + 0xbc]
call fcn.100236f0
push eax
lea ecx, [esp + 0x134]
call fcn.1001fa80
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x160]
call fcn.10001f30
lea ecx, [esp + 0x148]
call fcn.10001f30
mov eax, dword [0x101dfb3c]
mov dword [esp + 0x18], eax
mov ax, word [0x101dfb40]
mov word [esp + 0x1c], ax
test ah, ah
je 0x100c2901
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 6
jl 0x100c28e0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x17c]
call fcn.1001fbf0
mov ecx, eax
xor ebx, ebx
mov eax, dword [0x101dfb4c]
mov dword [esp + 0x18], eax
mov al, byte [0x101dfb50]
mov byte [esp + 0x1c], al
call fcn.10006340
mov dword [esp + 0x64], eax
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100c2931
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14c]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
mov ecx, dword [esp + 0x44]
mov esi, eax
lea eax, [esp + 0x160]
push eax
call fcn.10034d10
mov ecx, dword [0x101dfb60]
xor ebx, ebx
mov dword [esp + 0x44], ecx
mov cl, byte [0x101dfb64]
mov dword [esp + 0x18], eax
mov byte [esp + 0x48], cl
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x44], cl
inc ebx
cmp ebx, 5
jl 0x100c2997
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xbc]
call fcn.1001fbf0
push dword [esp + 0x18]
lea ecx, [esp + 0x194]
push eax
push dword [esp + 0x20]
call fcn.10028920
push esi
lea ecx, [esp + 0x194]
call fcn.1001f970
mov dword [esp + 0x128], 0
lea edx, [esp + 0x2c]
mov dword [esp + 0x12c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x118], xmm0
push edi
movups xmm0, xmmword [eax]
mov ebx, 0xf
push edx
movups xmmword [esp + 0x120], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x130], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
sub eax, ecx
mov dword [esp + 0x20], ecx
cmp edi, eax
ja 0x100c2a99
cmp dword [esp + 0x134], ebx
lea esi, [esp + 0x120]
lea eax, [edi + ecx]
cmova esi, dword [esp + 0x120]
mov dword [esp + 0x130], eax
lea eax, [esi + ecx]
push eax
call fcn.1018f8f0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x118]
jmp 0x100c2aae
push dword [esp + 0x20]
lea ecx, [esp + 0x124]
push edi
call fcn.10027540
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xf8], 0
lea ecx, [esp + 0xe8]
mov dword [esp + 0xfc], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xe8], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xf8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [esp + 0x64]
call fcn.1001f970
mov dword [esp + 0x90], 0
lea edx, [esp + 0x100]
mov dword [esp + 0x94], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x80], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x90], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [esp + 0x114], 0xf
mov ecx, dword [esp + 0x90]
cmova edx, dword [esp + 0x100]
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x110]
sub eax, ecx
mov dword [esp + 0x18], ecx
push edi
push edx
cmp edi, eax
ja 0x100c2bcd
cmp dword [esp + 0x9c], 0xf
lea esi, [esp + 0x88]
lea eax, [ecx + edi]
cmova esi, dword [esp + 0x88]
mov dword [esp + 0x98], eax
lea eax, [esi + ecx]
push eax
call fcn.1018f8f0
mov ecx, dword [esp + 0x24]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x80]
jmp 0x100c2bde
push dword [esp + 0x20]
lea ecx, [esp + 0x8c]
push edi
call fcn.10027540
mov dword [esp + 0xe0], 0
xorps xmm0, xmm0
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe4], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xd0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xe0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [esp + 0xe4]
mov eax, edx
mov ecx, dword [esp + 0xe0]
sub eax, ecx
cmp eax, 2
jb 0x100c2c73
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [esp + 0xe0], eax
mov edx, 0x2820
lea eax, [esp + 0xd0]
cmova eax, dword [esp + 0xd0]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
lea eax, [esp + 0xd0]
jmp 0x100c2c8c
push 2
push 0x101dfb18
push dword [esp + 0x20]
lea ecx, [esp + 0xdc]
push 2
call fcn.10027540
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x60], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x4c], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x5c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x130]
push eax
call fcn.1001f9e0
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 + 0xb4]
cmp ecx, 0xf
jbe 0x100c2d44
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2d2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d58
push ecx
push edx
call fcn.1018e3c3
movups xmm0, xmmword [esp + 0x78]
add esp, 8
movq xmm1, qword [esp + 0x18]
mov ecx, dword [esp + 0x60]
movq qword [esp + 0xb0], xmm1
movups xmmword [esp + 0xa0], xmm0
cmp ecx, 0xf
jbe 0x100c2d8b
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2d81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d58
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0xf
mov byte [esp + 0x4c], 0
cmp ecx, 0xf
jbe 0x100c2ddc
mov edx, dword [esp + 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2dd2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d58
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
cmp ecx, 0xf
jbe 0x100c2e36
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2e2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d58
push ecx
push edx
call fcn.1018e3c3
add esp, 8
lea ecx, [esp + 0xe8]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x80], 0
call fcn.10001f30
lea ecx, [esp + 0x118]
call fcn.10001f30
lea ecx, [esp + 0x190]
call fcn.10001f30
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x160]
call fcn.10001f30
lea ecx, [esp + 0x148]
call fcn.10001f30
lea ecx, [esp + 0x178]
call fcn.10001f30
lea ecx, [esp + 0x130]
call fcn.10001f30
jmp 0x100c3145
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp dword [esp + 0x44], eax
jne 0x100c3145
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
cmp esi, eax
je 0x100c3145
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 2
jne 0x100c2f42
mov ecx, dword [esp + 0x114]
cmp ecx, 0xf
jbe 0x100c3c5e
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2f33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push ecx
push edx
call fcn.1018e3c3
add esp, 8
jmp 0x100c3c5e
mov eax, dword [0x10214410]
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 0x100c2f6d
lea ecx, [esp + 0x2c]
call fcn.10001f30
lea ecx, [esp + 0x100]
jmp 0x100c3c59
mov eax, dword [0x101dfb4c]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov al, byte [0x101dfb50]
mov byte [esp + 0x1c], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 5
jl 0x100c2f81
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x50]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
mov ecx, dword [0x101dfb3c]
mov dword [esp + 0x64], ecx
mov cx, word [0x101dfb40]
mov dword [esp + 0x18], eax
mov word [esp + 0x68], cx
test ch, ch
je 0x100c2ff8
xor ebx, ebx
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 6
jl 0x100c2fd7
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xec]
call fcn.1001fbf0
mov ecx, eax
call fcn.10006340
mov edi, eax
mov ecx, esi
lea eax, [esp + 0x130]
push eax
call fcn.10034d10
movq xmm0, qword [0x101dfb54]
mov esi, eax
mov cl, byte [0x101dfb5c]
xor ebx, ebx
movq qword [esp + 0x64], xmm0
mov byte [esp + 0x6c], cl
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 9
jl 0x100c3040
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x194]
call fcn.1001fbf0
push esi
mov edx, eax
lea ecx, [esp + 0x17c]
call fcn.10023740
lea ecx, [esp + 0x100]
mov edx, eax
push ecx
push edi
lea ecx, [esp + 0x1b0]
call fcn.100236f0
mov edx, eax
lea ecx, [esp + 0x14c]
call fcn.10030150
lea ecx, [esp + 0x2c]
mov edx, eax
push ecx
push dword [esp + 0x1c]
lea ecx, [esp + 0x168]
call fcn.100236f0
mov edx, eax
lea ecx, [esp + 0xbc]
call fcn.10030150
push eax
lea ecx, [esp + 0xa4]
call fcn.1001fa80
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x160]
call fcn.10001f30
lea ecx, [esp + 0x148]
call fcn.10001f30
lea ecx, [esp + 0x1a8]
call fcn.10001f30
lea ecx, [esp + 0x178]
call fcn.10001f30
lea ecx, [esp + 0x190]
call fcn.10001f30
lea ecx, [esp + 0x130]
call fcn.10001f30
lea ecx, [esp + 0xe8]
call fcn.10001f30
lea ecx, [esp + 0x4c]
call fcn.10001f30
mov ebx, dword [esp + 0x40]
cmp ebx, 0xf
jbe 0x100c3177
mov ecx, dword [esp + 0x2c]
inc ebx
mov eax, ecx
cmp ebx, 0x1000
jb 0x100c316d
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push ebx
push ecx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x114]
cmp ecx, 0xf
jbe 0x100c3c5e
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c31ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push ecx
push edx
call fcn.1018e3c3
add esp, 8
jmp 0x100c3c5e
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 8
je 0x100c3c5e
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c31f5
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3235
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
cmp dword [esp + 0x60], 0xf
lea edx, [esp + 0x4c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x4c]
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 + 0x60]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c32a9
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c329f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d5d
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test edi, edi
je 0x100c3c5e
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
test ecx, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
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 + 0x1c0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x250]
cmp edi, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
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 0x100c3c5e
mov eax, dword [0x101dfbbc]
movups xmm0, xmmword [0x101dfbac]
mov dword [esp + 0x3c], eax
mov ax, word [0x101dfbc0]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100c3bfc
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100c3480
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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 [0x101eb990]
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
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 [0x101eb990]
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 0x100c3373
cmp ebx, 0x16
jge 0x100c3bfc
nop dword [eax]
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x16
jl 0x100c3480
jmp 0x100c3bfc
cmp ecx, 0xc3c7d299
je 0x100c3911
cmp ecx, 0xec398ed7
jne 0x100c3c8c
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 4
je 0x100c3c5e
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c3500
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3540
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
cmp dword [esp + 0x60], 0xf
lea edx, [esp + 0x4c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x4c]
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 + 0x60]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c35b4
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c35aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d62
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov eax, dword [0x10214410]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10215cf4]
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 + 0x1c0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x250]
cmp edi, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100c3c5e
lea ecx, [esp + 0x1c0]
push ecx
mov ecx, eax
call fcn.101823a0
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3640
sub ecx, edx
lea eax, [esp + 0x1c0]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
movups xmm0, xmmword [str.ZECY_eHUZ.a_:dE]
mov ax, word [0x101dfbe4]
mov word [esp + 0x3c], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100c37de
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100c37b4
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
movaps xmmword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
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 [0x101eb990]
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
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 [0x101eb990]
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 0x100c36b2
cmp ebx, 0x12
jge 0x100c37de
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x12
jl 0x100c37b4
xorps xmm0, xmm0
mov dword [esp + 0xf8], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0xfc], 0
movups xmmword [esp + 0xe8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3806
sub ecx, edx
lea eax, [esp + 0x2c]
push ecx
push eax
lea ecx, [esp + 0xf0]
call fcn.10026930
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x184]
call fcn.10028920
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xf
jbe 0x100c387a
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c3870
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push ecx
push edx
call fcn.1018e3c3
add esp, 8
movups xmm0, xmmword [esp + 0x178]
mov ecx, dword [esp + 0xfc]
movups xmmword [esp + 0xa0], xmm0
movq xmm0, qword [esp + 0x188]
movq qword [esp + 0xb0], xmm0
cmp ecx, 0xf
jbe 0x100c38d8
mov edx, dword [esp + 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c38ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x60]
cmp ecx, 0xf
jbe 0x100c3c5e
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c2f33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d67
jmp 0x100c2f33
mov eax, dword [0x10214408]
test byte [eax + 0x356c], 8
je 0x100c3c5e
mov eax, dword [0x10214410]
xor ebx, ebx
mov esi, dword [eax + 0x10]
mov eax, dword [0x101dd424]
mov dword [esp + 0x18], eax
mov ax, word [0x101dd428]
mov word [esp + 0x1c], ax
mov al, byte [0x101dd42a]
mov byte [esp + 0x1e], al
nop word [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 7
jl 0x100c3950
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x4c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3990
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.10026930
cmp dword [esp + 0x60], 0xf
lea edx, [esp + 0x4c]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [esp + 0x4c]
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 + 0x60]
mov edi, eax
cmp ecx, 0xf
jbe 0x100c3a04
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c39fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d6c
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test edi, edi
je 0x100c3c5e
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
test ecx, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
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 + 0x1c0]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
or ecx, 0xffffffff
test al, al
cmovne ecx, dword [esp + 0x250]
cmp edi, ecx
je 0x100c3c5e
mov eax, dword [0x10214410]
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 0x100c3c5e
mov eax, dword [0x101dfb78]
movups xmm0, xmmword [0x101dfb68]
mov dword [esp + 0x3c], eax
mov ax, word [0x101dfb7c]
mov word [esp + 0x40], ax
movups xmmword [esp + 0x2c], xmm0
test ah, ah
je 0x100c3bfc
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100c3bd2
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x30]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc80]
movaps xmm5, xmmword [0x101eb920]
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
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 [0x101eb990]
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
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 [0x101eb990]
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 0x100c3ad0
cmp ebx, 0x16
jge 0x100c3bfc
mov eax, 0x8d3dcb09
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, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2c], cl
inc ebx
cmp ebx, 0x16
jl 0x100c3bd2
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14c]
call fcn.1001fbf0
mov esi, eax
mov ecx, edi
lea eax, [esp + 0x160]
push eax
call fcn.10034d10
push esi
mov edx, eax
lea ecx, [esp + 0xbc]
call fcn.10023740
push eax
lea ecx, [esp + 0xa4]
call fcn.1001fa80
lea ecx, [esp + 0xb8]
call fcn.10001f30
lea ecx, [esp + 0x160]
call fcn.10001f30
lea ecx, [esp + 0x148]
call fcn.10001f30
cmp dword [esp + 0xb0], 0
je 0x100c3c8c
lea eax, [esp + 0x98]
mov ecx, 0x103d88b8
push eax
call fcn.100c4820
lea eax, [esp + 0x98]
mov ecx, 0x103d88a4
push eax
call fcn.100c4820
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xf
jbe 0x100c3cc8
mov edx, dword [esp + 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c3cbe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c3d71
push ecx
push edx
call fcn.1018e3c3
add esp, 8
push 0x103dbebc
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
call fcn.1018d82d
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.1018e0ca
mov esp, ebp
pop ebp
ret
mov ecx, 0x103d88b8
call fcn.1003da10
mov ecx, 0x103d88a4
call fcn.1003da10
mov ecx, dword [esp + 0x31c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1018e0ca
mov esp, ebp
pop ebp
ret
push 5
call fcn.1018da3c
push 6
mov dword [0x103dbee8], 0x7ffffffe
call fcn.1018da3c
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
nop
push ecx
and cl, byte [eax + edx]
outsd dx, dword [esi]
and cl, byte [eax + edx]
mov fs, word [edx]
or al, 16
mov bh, 0x22
or al, 16
aad 0x22
or al, 16
cld
and cl, byte [eax + edx]
daa
and ecx, dword [eax + edx]
dec ebx
and ecx, dword [eax + edx]
int3