Function at 0x140209820
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1402100eb
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 0x50], rax
add rax, 0x50
mov qword [rbp + 0x48], rax
mov ax, 0xc33c
xor ax, 0xc954
mov word [rcx], ax
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x58], rcx
mov al, byte [rax + 0x50]
mov cl, 0xb9
xor cl, 0xb9
cmp al, cl
jne 0x14020a02e
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x58]
mov rcx, qword [0x140269898]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x110], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x120]
lea r8, [rbp + 0x110]
sub rsp, 0x20
call fcn.140205c5d
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rbp + 0x120]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbp + 0x128]
mov qword [rbp + 0x18], rcx
mov al, byte [rax]
mov cl, 0xaf
xor cl, 0xaf
cmp al, cl
jne 0x14020a02e
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140019c70
add rsp, 0x20
mov qword [rbp - 0x10], rax
movabs rcx, 0x5b32434cfbde2de3
movabs rax, 0x5b32434cfbde2dfb
xor rcx, rax
movabs rdx, 0x9397358d75984594
movabs rax, 0x9397358d7598459c
xor rdx, rax
sub rsp, 0x20
call fcn.14001b8b0
add rsp, 0x20
mov qword [rbp - 8], rax
mov word [rbp + 0x136], 0xb9c
lea rcx, [rbp + 0x136]
sub rsp, 0x20
call fcn.14006a0a0
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x140209f10
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0x100]
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.14001cda0
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x108]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x57c5
xor cx, 0x50bb
sub rsp, 0x20
call fcn.14006a650
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x48]
mov dword [rcx + 0x10], edx
mov cl, byte [rax]
mov dl, 0x2e
xor dl, 0x2e
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x140209f10
mov ecx, 0x567
sub rsp, 0x20
call fcn.14006a650
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x140209f10
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov qword [rax + 8], rcx
mov cx, 0x8c
xor cx, 0xd35
sub rsp, 0x20
call fcn.14006a650
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x140209f10
mov r8d, dword [rbp - 0x14]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
mov qword [rbp + 0xe0], rdx
mov qword [rbp + 0xe8], rcx
movabs rcx, 0x146f21658d9a65a2
movabs rdx, 0x146f21658d9a65a3
xor rcx, rdx
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.14017b9b0
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x140209f10
mov word [rbp + 0x134], 0x68d
lea rcx, [rbp + 0x134]
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x28], rcx
mov cl, byte [rax]
mov dl, 0xc7
xor dl, 0xc7
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x140209f10
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0xb0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xc0]
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14001cda0
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0x90]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
lea r8, [rbp + 0xa0]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x90]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14017b550
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x48]
mov dword [rbp - 0x2c], ecx
mov cl, byte [rax]
mov dl, 0x95
xor dl, 0x95
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x140209f10
sub rsp, 0x20
mov cx, 0xd19
call fcn.140069e00
mov r8d, dword [rbp - 0x2c]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x48]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x39], al
jne 0x140209c66
jmp 0x140209f0a
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001b8b0
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov qword [rax], 0
mov ecx, 0xb3a5aa86
xor ecx, 0xb3a5aa87
mov dword [rax + 8], ecx
mov cx, 0x4a2e
xor cx, 0x498f
sub rsp, 0x20
call fcn.14006a650
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x58]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x140209df1
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov word [rcx], 0x171
sub rsp, 0x20
call fcn.14006a0a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x60], rcx
mov dl, byte [rax]
mov r8b, 0xfa
xor r8b, 0xfa
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x140209df1
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.14001cda0
mov rdx, qword [rbp - 0x68]
add rsp, 0x20
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x88]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14007b1b0
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov r8, qword [rbp + 0x60]
mov qword [rcx + 0x10], r8
mov r8, qword [rbp + 0x68]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x140209df1
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x20]
mov rcx, qword [0x140269118]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x140269120]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140029f90
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x48]
mov dl, byte [rbp - 0x49]
mov rcx, qword [rbp - 0x48]
mov byte [rbp - 0x69], dl
mov dl, 0xbf
xor dl, 0xbf
mov byte [rax], dl
sub rsp, 0x20
call fcn.1402034c7
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x140209f0a
mov eax, dword [0x14025e3f8]
xor edx, edx
div dword [0x14025e3fc]
mov edx, 0xffffffff
xor edx, 0xecd66725
mov ecx, eax
xor ecx, edx
and ecx, eax
sub ecx, 0x96bfed95
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x57f82e61
mov edx, 0xffffffff
xor edx, 0x57f82e61
and ecx, edx
or eax, ecx
mov ecx, 0x771859ec
xor ecx, 0x218b5ebf
cmp eax, ecx
je 0x14020a0b5
mov rcx, qword [rbp + 0x48]
mov dl, byte [rbp - 0x69]
mov r10d, dword [0x14025e400]
mov r9d, dword [0x14025e404]
xor r9d, 0xe9de9f85
mov eax, 0xa345ef1c
xor eax, 0x5cba10e3
mov r8d, r10d
xor r8d, eax
mov eax, 0x41c33b4d
xor eax, 0x4fd5e8ae
and eax, r8d
mov r11d, 0xffffffff
xor r11d, 0xe16d3e3
and r10d, r11d
mov esi, 0xcfcc69bf
xor esi, 0x30339640
mov r8d, r9d
xor r8d, esi
and r8d, 0xe16d3e3
and r9d, r11d
or eax, r10d
or r8d, r9d
xor eax, r8d
xor eax, 0x95f399dc
sub eax, 0x917ffc7a
xor eax, 0xea6b674b
mov byte [rcx], dl
cmp eax, 0xcd64426c
ja 0x14020a0b5
mov al, byte [rbp - 0x69]
mov byte [rbp - 0x39], al
jmp 0x140209f0a
mov al, byte [rbp - 0x39]
mov byte [rbp + 0xf], al
mov rcx, qword [rbp + 0x18]
mov al, byte [rbp + 0xf]
mov byte [rbp - 0x6b], al
cmp rcx, 0
mov byte [rbp - 0x6a], al
je 0x14020a023
mov eax, dword [0x14025e408]
xor eax, dword [0x14025e40c]
or eax, 0xeee1ee55
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe0853eea
mov r8d, 0x95453fa8
xor r8d, 0x75c00142
mov ecx, 0xba61909a
xor ecx, 0x459e6f65
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x1da9307c
xor r8d, 0xfd2c0e96
mov edx, eax
and edx, r8d
or eax, 0xe0853eea
imul eax, edx
add eax, ecx
mov ecx, 0x353a4a0e
xor ecx, 0xaf6f1e75
xor edx, edx
div ecx
mov ecx, 0x313729f8
xor ecx, 0x49015261
cmp eax, ecx
ja 0x14020a0be
mov eax, dword [0x14025e410]
mov ecx, dword [0x14025e414]
xor ecx, 0x125c578d
add eax, ecx
imul eax, eax, 0xce764876
xor eax, 0x1b891b8e
mov ecx, 0xb28afff7
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x18]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x6c], cl
cmp eax, 0xc15f91f9
je 0x140209fa4
mov al, byte [rbp - 0x6b]
mov cl, byte [rbp - 0x6c]
test cl, 1
mov byte [rbp - 0x6a], al
jne 0x14020a009
jmp 0x14020a023
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000e9f6
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x6a]
cmp al, 0
je 0x14020a0ab
sub rsp, 0x20
call fcn.140205cd9
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ax, word [rax + 0x12]
mov cx, 0xae7c
xor cx, 0xae7d
cmp ax, cx
jle 0x14020a0ab
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x14020a0ab
mov rax, qword [rbp + 0x48]
mov byte [rax], 0
sub rsp, 0x20
call fcn.140205ceb
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009ff50
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14020a0ab
sub rsp, 0x20
call fcn.140205d18
add rsp, 0x20
lea rsp, [rbp + 0x138]
pop rsi
pop rbp
ret
push 0xffffffffe9cf4389
mov eax, 0x7cfffffd
pop rbp
jl 0x14020a11d
hlt
ror dword [rdi], 0xaf
retf 0xc101