Function at 0x140118220
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0xfc8]
mov eax, 0x10b0
call fcn.1401ae760
sub rsp, rax
mov rax, qword [0x14022ff58]
xor rax, rsp
mov qword [rbp + 0xfa0], rax
mov dil, cl
xor r12d, r12d
cmp byte [0x1402439b0], r12b
je 0x140118274
test dl, dl
je 0x140118ce7
mov r15d, 0x80
or rsi, 0xffffffffffffffff
mov r14d, 0x1000
cmp dword [0x14022e9f4], r12d
je 0x14011833d
mov rcx, r12
mov r9, r12
lea rbx, str.8g30w1_5r7_2ta
mov r8d, 0x480
xor byte [r9 + rbx], cl
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
add rcx, 3
add rcx, rdx
and ecx, 0xffffff
inc r9
cmp r9, r8
jb 0x1401182a4
cmp dword [0x14022e9f4], r12d
je 0x14011841a
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1401b0b80
lea rax, [rbp - 0x60]
mov ecx, 9
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rbx + 0x60], xmm0
add rbx, r15
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rbx - 0x10], xmm1
add rax, r15
sub rcx, 1
jne 0x1401182ee
jmp 0x14011841a
mov ecx, 0x4fd
call fcn.1400f5fe0
mov rbx, rax
cmp word [rax], 0x23
jne 0x14011836a
cmp word [rax + 2], 0x23
jne 0x14011836a
mov rax, rsi
inc rax
cmp word [rbx + rax*2], r12w
jne 0x14011835a
cmp rax, 0x64
jae 0x140118371
mov rbx, qword [str.0C69__3V_hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_gmuqqucswnmk_Peuamiwcbprp__G5_9hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_gmuqqexvhvbfvftrmhl8_U_vdjltfeuqug8_B__QMoH0V5hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_dxwkwegwauqlom__Rcwckouadvprf__Ek9]
mov r8, r14
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1401b0b80
lea rcx, [rbx + 4]
mov r8, r14
lea rdx, [rbp - 0x60]
call fcn.140104680
lea rax, [rbp - 0x60]
mov r8, rsi
inc r8
cmp byte [rax + r8], r12b
jne 0x140118396
lea rdx, [rbp - 0x60]
lea rbx, str.8g30w1_5r7_2ta
mov rcx, rbx
call fcn.1401172fc
test al, al
jne 0x14011841a
xor edx, edx
mov r8d, 0x480
lea rcx, [rbp - 0x60]
call fcn.1401b0b80
lea rax, [rbp - 0x60]
mov ecx, 9
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rbx + 0x60], xmm0
add rbx, r15
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rbx - 0x10], xmm1
add rax, r15
sub rcx, 1
jne 0x1401183d0
call fcn.1400b59dc
test al, al
jne 0x140118443
mov al, dil
neg al
sbb ecx, ecx
and ecx, 0xffffffce
add ecx, 0x5a
mov eax, dword [0x140231b38]
cmp eax, ecx
jg 0x14011843e
test eax, eax
jns 0x140118443
mov sil, 1
jmp 0x140118446
mov sil, r12b
test dil, dil
je 0x140118cb2
call fcn.1400cfc48
cmp eax, 0x501
ja 0x14011846b
test dword [0x14022e9f0], 0x200
je 0x140118ce7
cmp byte [0x14022ed60], r12b
je 0x140118ce7
mov byte [0x14022eb0b], r12b
mov byte [0x14022ec0f], r12b
mov byte [0x14022ee5f], r12b
test sil, sil
jne 0x1401184a5
mov al, byte [0x14022e9f0]
and al, r15b
neg al
sbb eax, eax
and dword [0x14022e9f8], eax
mov dil, r12b
mov r15d, 0x27
cmp dword [0x14022ea08], r12d
jbe 0x1401186e0
call fcn.1400b59dc
test al, al
jne 0x1401186e0
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
lea r8d, [r15 - 0x1f]
lea rdx, str.RemShown
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
lea r8d, [r15 - 0x19]
lea rdx, str.InterfaceMisc
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.14011537c
mov ebx, eax
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14011855d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, r14
jb 0x140118558
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d1d
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1401185ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r14
jb 0x1401185a7
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d23
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r12w
cmp ebx, dword [0x14022ea08]
jae 0x1401186e0
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 8
lea rdx, str.RemShown
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov r8d, 0xe
lea rdx, str.InterfaceMisc
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
lea r8d, [rbx + 1]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140117094
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140118661
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r14
jb 0x14011865c
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d29
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1401186b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, r14
jb 0x1401186ab
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d2f
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov dil, 1
cmp byte [0x14022ea0c], r12b
je 0x140118ac7
lea rdx, [0x14022ea0c]
jmp 0x140118ab5
cmp dword [0x14022eb0c], r12d
jbe 0x140118912
test sil, sil
je 0x140118912
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 0xb
lea rdx, str.ExpRemShown
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov r8d, 0xe
lea rdx, str.InterfaceMisc
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.14011537c
mov ebx, eax
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x14011878d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r14
jb 0x140118788
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d35
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1401187dc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, r14
jb 0x1401187d7
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d3b
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
cmp ebx, dword [0x14022eb0c]
jae 0x140118912
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 0xb
lea rdx, str.ExpRemShown
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov r8d, 0xe
lea rdx, str.InterfaceMisc
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
lea r8d, [rbx + 1]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140117094
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140118893
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r14
jb 0x14011888e
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d41
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1401188e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, r14
jb 0x1401188dd
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d47
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov dil, 1
cmp byte [0x14022eb10], r12b
je 0x140118ac7
lea rdx, [0x14022eb10]
jmp 0x140118ab5
cmp dword [0x14022ec10], r12d
jbe 0x140118ac7
call fcn.1400b59dc
test al, al
je 0x140118ac7
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 0xb
lea rdx, str.RegRemShown
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov r8d, 0xe
lea rdx, str.InterfaceMisc
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.14011537c
mov ebx, eax
lea rcx, [rbp - 0x80]
call fcn.140006b84
nop
lea rcx, [rsp + 0x60]
call fcn.140006b84
cmp ebx, dword [0x14022ec10]
jae 0x140118ac7
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 0xb
lea rdx, str.RegRemShown
lea rcx, [rsp + 0x60]
call fcn.1400041a8
nop
mov qword [rbp - 0x80], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov r8d, 0xe
lea rdx, str.InterfaceMisc
lea rcx, [rbp - 0x80]
call fcn.1400041a8
nop
lea r8d, [rbx + 1]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140117094
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140118a3f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, r14
jb 0x140118a3a
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d4d
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140118a8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, r14
jb 0x140118a89
add rdx, r15
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118d17
call fcn.1401addcc
movdqa xmm0, xmmword [0x1401da070]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov dil, 1
cmp byte [0x14022ec14], r12b
je 0x140118ac7
lea rdx, [0x14022ec14]
mov r8d, 0x100
lea rcx, [0x14022ed60]
call fcn.1400fdc78
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov ebx, edx
shr ebx, 6
call fcn.1400b59dc
test al, al
je 0x140118c84
mov ecx, dword [0x14022ea04]
test ecx, ecx
je 0x140118aff
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
jne 0x140118aff
mov dil, 1
test dil, dil
je 0x140118ce7
mov ecx, dword [0x14022e9f0]
shl ecx, 0x11
not ecx
and ecx, 0x40000
or ecx, 0x16c80000
mov esi, ecx
or esi, 0x30000
test byte [0x14022e9f0], 8
cmovne esi, ecx
mov ebx, 0x80000000
mov edi, ebx
mov r14d, ebx
mov r15d, ebx
mov ecx, dword [0x14022ed18]
test ecx, ecx
je 0x140118bed
cmp dword [0x14022ed14], r12d
je 0x140118bed
call fcn.1401617dc
mov ebx, eax
mov ecx, 0x21
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea edi, [rbx + rax*2]
mov ecx, 4
call qword [sym.imp.USER32.dll_GetSystemMetrics]
add edi, eax
mov eax, dword [0x14022e9f0]
test al, 0x40
jne 0x140118b8b
bt eax, 8
jb 0x140118b91
add edi, dword [0x1402439ac]
mov ecx, dword [0x14022ed14]
call fcn.1401617a4
mov ebx, eax
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ebx, [rbx + rax*2]
xor r9d, r9d
lea r8, [rsp + 0x60]
xor edx, edx
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [rsp + 0x68]
mov r14d, eax
cmp ebx, eax
cmovl r14d, ebx
sub eax, r14d
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov eax, dword [rsp + 0x6c]
mov r15d, eax
cmp edi, eax
cmovl r15d, edi
sub eax, r15d
cdq
sub eax, edx
sar eax, 1
mov edi, eax
mov edx, 0x100
lea rcx, [0x14022ed60]
call fcn.140117780
mov qword [rsp + 0x58], r12
mov rcx, qword [0x14023bc48]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
mov r9d, esi
lea r8, [0x1401da520]
lea rdx, str.RarReminder
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
test byte [0x14022e9f0], 1
je 0x140118c72
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
or rdx, 0xffffffffffffffff
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowPos]
cmp qword [0x140231b00], r12
je 0x140118ce7
mov byte [0x1402439b0], 1
jmp 0x140118ce7
test sil, sil
jne 0x140118caa
mov ecx, dword [0x14022e9fc]
test ecx, ecx
je 0x140118aff
mov eax, ebx
xor edx, edx
div ecx
test edx, edx
jne 0x140118aff
jmp 0x140118b08
mov ecx, dword [0x14022ea00]
jmp 0x140118c8f
test sil, sil
je 0x140118ce7
mov byte [0x1402439b0], 1
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x20], r12
lea r9, [0x140184780]
mov r8, rax
lea rdx, str.REMINDER
mov rcx, qword [0x14023bc40]
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov rcx, qword [rbp + 0xfa0]
xor rcx, rsp
call fcn.1401adee0
lea r11, [rsp + 0x10b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
nop
call fcn.1401b4fa4
int3