Function at 0x14004b980
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x38]
sub rsp, 0x130
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x140067040]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov rdi, rcx
xor esi, esi
mov dword [rcx], esi
mov dword [rcx + 4], 0x79
mov dword [rcx + 8], 0x3f800000
mov qword [rcx + 0xc], 0x140
mov qword [rcx + 0x14], rsi
mov dword [rcx + 0x1c], esi
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + 0x20], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + 0x24], eax
mov dword [rdi + 0x28], 1
mov qword [rdi + 0x2c], 1
mov qword [rdi + 0x34], rsi
mov qword [rdi + 0x3c], rsi
mov word [rdi + 0x44], si
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
mov byte [rbp - 0x68], sil
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rsi
mov ecx, 0x48
call fcn.140053c20
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov ecx, 0x28
call fcn.140053c20
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x40], 0x1000000
mov word [rbp - 0x3c], si
mov dword [rbp - 0x38], esi
movsd xmm0, qword [str.bKH]
movsd qword [rsp + 0x60], xmm0
movzx eax, byte [0x14005d8c8]
mov byte [rsp + 0x60], 0x55
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor al, 0x3f
mov byte [rsp + 0x68], al
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.14004ff90
test eax, eax
js 0x14004d0ce
mov eax, dword [str.vQT:]
mov dword [rsp + 0x40], eax
movdqa xmm9, xmmword [0x14005dc90]
movdqa xmm8, xmmword [0x14005dcd0]
movdqa xmm10, xmmword [0x14005dc70]
movdqa xmm7, xmmword [0x14005dfb0]
movdqa xmm6, xmmword [0x14005dc30]
mov ebx, dword [0x140067090]
cmp byte [0x14005d8ab], sil
je 0x14004bbe3
cmp ebx, 2
jl 0x14004bba3
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x14004bbe3
lea r9, [rsp + 0x40]
mov r8d, esi
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004bbb0
movsd xmm0, qword [0x14005d858]
movsd qword [rsp + 0x60], xmm0
movzx eax, word [0x14005d860]
mov word [rsp + 0x68], ax
cmp byte [0x14005d861], 0
je 0x14004bc38
mov byte [rsp + 0x60], 0x4b
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor byte [rsp + 0x68], 0x3f
xor byte [rsp + 0x69], 0x40
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi], eax
movsd xmm0, qword [0x14005d9d0]
movsd qword [rsp + 0x60], xmm0
movzx eax, word [0x14005d9d8]
mov word [rsp + 0x68], ax
cmp byte [0x14005d9d9], 0
je 0x14004bca9
mov byte [rsp + 0x60], 0x48
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor byte [rsp + 0x68], 0x3f
xor byte [rsp + 0x69], 0x40
movsd xmm0, qword [0x14005d858]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [0x14005d860]
mov word [rsp + 0x38], ax
cmp byte [0x14005d861], 0
je 0x14004bcfe
mov byte [rsp + 0x30], 0x4b
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor byte [rsp + 0x34], 0x3b
xor byte [rsp + 0x35], 0x3c
xor byte [rsp + 0x36], 0x3d
xor byte [rsp + 0x37], 0x3e
xor byte [rsp + 0x38], 0x3f
xor byte [rsp + 0x39], 0x40
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 4], eax
movsd xmm0, qword [str.dLK_U_IV_]
movsd qword [rsp + 0x60], xmm0
movzx eax, byte [0x14005da08]
mov byte [rsp + 0x60], 0x53
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor al, 0x3f
mov byte [rsp + 0x68], al
mov eax, dword [0x14005d884]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d888]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d88a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor cl, 0x3b
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x3c
xor al, 0x3d
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rdi + 8], xmm1
mov eax, dword [str.qwo:x_IH]
mov dword [rsp + 0x40], eax
cmp byte [0x14005d867], 0
je 0x14004be83
cmp ebx, 2
jl 0x14004be41
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x14004be83
lea r9, [rsp + 0x40]
mov r8d, esi
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14004be50
mov eax, dword [0x14005d884]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14005d888]
mov word [rsp + 0x34], ax
movzx eax, byte [0x14005d88a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor byte [rsp + 0x34], 0x3b
xor byte [rsp + 0x35], 0x3c
xor al, 0x3d
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0xc], eax
movsd xmm0, qword [str.x_IH]
movsd qword [rsp + 0x60], xmm0
movzx eax, byte [0x14005d8f0]
mov byte [rsp + 0x60], 0x4f
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor al, 0x3f
mov byte [rsp + 0x68], al
mov eax, dword [0x14005d884]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d888]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d88a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor cl, 0x3b
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x3c
xor al, 0x3d
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
movsd xmm0, qword [0x14005d868]
movsd qword [rsp + 0x60], xmm0
movzx eax, byte [0x14005d870]
mov byte [rsp + 0x60], 0x4f
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor al, 0x3f
mov byte [rsp + 0x68], al
mov eax, dword [0x14005d884]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14005d888]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14005d88a]
mov byte [rsp + 0x30], 0x41
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor cl, 0x3b
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x3c
xor al, 0x3d
mov byte [rsp + 0x36], al
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x14], eax
mov eax, dword [str.tWUUI_]
mov dword [rsp + 0x40], eax
movzx eax, word [0x14005d9fc]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x43
xor byte [rsp + 0x41], 0x38
xor byte [rsp + 0x42], 0x39
xor byte [rsp + 0x43], 0x3a
xor al, 0x3b
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x3c
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x60], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c1d3
cmp ebx, 2
jl 0x14004c18d
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x64]
mov r8d, dword [rsp + 0x30]
nop word [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004c0a0
jmp 0x14004c1d3
lea r9, [rsp + 0x60]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c1a0
xorps xmm3, xmm3
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x18], eax
movsd xmm0, qword [str.aYKSZHTQQ_]
movsd qword [rsp + 0x60], xmm0
movzx eax, word [0x14005d9c8]
mov word [rsp + 0x68], ax
cmp byte [0x14005d9c9], 0
je 0x14004c245
mov byte [rsp + 0x60], 0x56
xor byte [rsp + 0x61], 0x38
xor byte [rsp + 0x62], 0x39
xor byte [rsp + 0x63], 0x3a
xor byte [rsp + 0x64], 0x3b
xor byte [rsp + 0x65], 0x3c
xor byte [rsp + 0x66], 0x3d
xor byte [rsp + 0x67], 0x3e
xor byte [rsp + 0x68], 0x3f
xor byte [rsp + 0x69], 0x40
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c3b3
cmp ebx, 2
jl 0x14004c36d
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
nop
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004c280
jmp 0x14004c3b3
lea r9, [rsp + 0x48]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c380
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x1c], eax
movsd xmm0, qword [str.dQC_eoX_M_B]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x14005d8b8]
mov dword [rsp + 0x68], eax
cmp byte [0x14005d8bb], 0
je 0x14004c523
mov r8d, esi
cmp ebx, 2
jl 0x14004c4dc
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.dQC_eoX_M_B]
xorps xmm1, xmm0
movd dword [rsp + 0x60], xmm1
movdqa xmm2, xmmword [0x14005dc50]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004c4f0
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c693
cmp ebx, 2
jl 0x14004c64d
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004c560
jmp 0x14004c693
lea r9, [rsp + 0x48]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c660
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x28], eax
movsd xmm0, qword [str.zQWSVIP]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [str.r_5_D]
mov dword [rsp + 0x68], eax
movzx eax, word [0x14005d89c]
mov word [rsp + 0x6c], ax
cmp byte [0x14005d89d], 0
je 0x14004c813
mov r8d, esi
cmp ebx, 2
jl 0x14004c7c8
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.zQWSVIP]
xorps xmm1, xmm0
movd dword [rsp + 0x60], xmm1
movdqa xmm2, xmmword [0x14005dc50]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x14004c7e0
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004c983
cmp ebx, 2
jl 0x14004c93d
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004c850
jmp 0x14004c983
lea r9, [rsp + 0x48]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004c950
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x2c], eax
movsd xmm0, qword [0x14005d878]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x14005d880]
mov dword [rsp + 0x68], eax
cmp byte [str.BvQTXTH], 0
je 0x14004caf3
mov r8d, esi
cmp ebx, 2
jl 0x14004caac
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x14005d878]
xorps xmm1, xmm0
movd dword [rsp + 0x60], xmm1
movdqa xmm2, xmmword [0x14005dc50]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004cac0
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004cc63
cmp ebx, 2
jl 0x14004cc1d
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004cb30
jmp 0x14004cc63
lea r9, [rsp + 0x48]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004cc30
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x3c], eax
movsd xmm0, qword [str.e___IYS_Z_]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x14005d998]
mov dword [rsp + 0x68], eax
cmp byte [0x14005d99b], 0
je 0x14004cdd3
mov r8d, esi
cmp ebx, 2
jl 0x14004cd8c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.e___IYS_Z_]
xorps xmm1, xmm0
movd dword [rsp + 0x60], xmm1
movdqa xmm2, xmmword [0x14005dc50]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x14004cda0
movups xmm0, xmmword [str.d_XHXT]
movups xmmword [rsp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004cf43
cmp ebx, 2
jl 0x14004cefd
mov edx, esi
movdqa xmmword [rsp + 0x30], xmm8
lea rcx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004ce10
jmp 0x14004cf43
lea r9, [rsp + 0x48]
mov r8d, esi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004cf10
xorps xmm3, xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.1400500b0
cvttsd2si eax, xmm0
mov dword [rdi + 0x40], eax
mov eax, dword [str.s__O_]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14005d8a4]
mov word [rsp + 0x34], ax
mov byte [rsp + 0x30], 0x44
xor byte [rsp + 0x31], 0x38
xor byte [rsp + 0x32], 0x39
xor byte [rsp + 0x33], 0x3a
xor al, 0x3b
mov byte [rsp + 0x34], al
xor byte [rsp + 0x35], 0x3c
mov eax, dword [str.sYM__]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x14005d98c]
mov byte [rsp + 0x40], 0x44
xor byte [rsp + 0x41], 0x38
xor byte [rsp + 0x42], 0x39
xor byte [rsp + 0x43], 0x3a
xor al, 0x3b
mov byte [rsp + 0x44], al
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.140053220
lea r8, [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
call fcn.1400532f0
mov rdx, qword [rbp - 0x60]
test al, al
cmovne rdx, qword [rsp + 0x70]
cmp rdx, qword [rbp - 0x60]
je case.0x14004d078.48
mov qword [rsp + 0x60], rsi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
lea rbx, [rdx + 0x38]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140050d80
mov rax, qword [rsp + 0x60]
cmp rax, qword [rbx]
je case.0x14004d078.48
mov rdx, qword [rax + 0x38]
test rdx, rdx
je case.0x14004d078.48
movsx eax, byte [rdx]
test al, al
je case.0x14004d078.48
add eax, 0xffffffd0
cmp eax, 0x49
ja case.0x14004d078.48
cdqe
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x4d128]
mov ecx, dword [r8 + rax*4 + 0x4d118]
add rcx, r8
jmp rcx
mov al, 1
jmp 0x14004d08e
movzx ecx, byte [rdx + 1]
lea eax, [rcx - 0x4e]
test al, 0xdf
je case.0x14004d078.49
sub cl, 0x46
xor al, al
mov byte [rdi + 0x44], al
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov eax, dword [rdi + 0xc]
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
add ebx, dword [rdi + 0x3c]
mov dword [rdi + 0x20], ebx
mov ecx, dword [rdi + 0x40]
sub ecx, eax
add ecx, r8d
mov dword [rdi + 0x24], ecx
lea rcx, [rbp - 0x80]
call fcn.14004fe60
mov rax, rdi
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.140053c00
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rbp
ret