Function at 0x1400869c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r14, r8
mov rbx, rdx
mov r12d, ecx
xor eax, eax
test al, al
jne 0x140086a1d
mov eax, dword [0x141dce8c8]
and eax, dword [0x141dce8cc]
or eax, 0x39a73bf3
xor eax, 0x42487558
imul rcx, rax, 0x51ba4abf
shr rcx, 0x3e
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
cmp ecx, 0xe11dc592
jne 0x140086a2c
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
jmp 0x1400869e4
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rax, rsp
test r14, r14
je 0x140086a92
mov qword [rbp - 0x10], rcx
mov qword [rbp], rax
mov qword [rbp - 8], r9
mov eax, dword [0x141dce8d0]
sub eax, dword [0x141dce8d4]
add eax, 0x6de3407e
xor eax, 0xade4150a
imul eax, eax, 0xbcb11aa5
cmp eax, 0x9b03fe37
jne 0x140086ada
jmp 0x140086b05
xor ecx, ecx
xor r8d, r8d
nop word [rax + rax]
mov eax, dword [0x141dce900]
sub eax, dword [0x141dce904]
imul eax, eax, 0x458880d2
add eax, 0xe44ec404
and eax, 0x818456ae
cmp eax, 0x5e4f1e28
je 0x140086aa0
mov rax, r8
mov rdx, rcx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dce8d8]
or eax, dword [0x141dce8dc]
imul edi, eax, 0x8d6db258
sub rsp, 0x20
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
cmp edi, 0xd6556e43
jne 0x140086b18
sub rsp, 0x20
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
jmp 0x140086ada
mov rsi, rax
mov eax, 0xd103c5d3
mov ecx, dword [0x141dce8e0]
sub ecx, dword [str.Ap_L]
add ecx, 0x962de756
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x32284b98
cmp ecx, 0xf576200c
ja 0x140086b20
test rsi, rsi
je 0x140086b6d
cmp rsi, 0xffffffffffffffff
jne 0x140086b7c
mov eax, dword [0x141dce8e8]
and eax, dword [0x141dce8ec]
add eax, 0x283f1398
cmp eax, 0x34089e53
jae 0x140086bab
jmp 0x140086bcd
movabs rcx, 0x600000002
jmp 0x140086c10
mov dword [r15], 0
mov eax, dword [0x141dce910]
mov ecx, dword [0x141dce914]
add eax, ecx
add eax, 0xdcd9a1c3
or eax, 0xc902fff2
cmp eax, 0x1a91bb16
jne 0x140086c52
jmp 0x140086c80
mov esi, dword [0x141dce8f0]
add esi, dword [0x141dce8f4]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
cmp esi, 0x832e0290
jne 0x140086bdd
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
jmp 0x140086bab
mov ecx, eax
shl rcx, 0x20
or rcx, 2
nop word [rax + rax]
mov eax, dword [0x141dce8f8]
xor eax, dword [0x141dce8fc]
add eax, 0x4ef74fdf
or eax, 0x5d6f1b14
cmp eax, 0x373c03a0
jb 0x140086bf0
nop dword [rax]
mov eax, dword [0x141dce908]
and eax, dword [0x141dce90c]
imul rax, rax, 0x723b1269
shr rax, 0x3e
or eax, 0xfbd4f4d4
imul rdx, rax, 0x1c5fd35b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x189e042
je 0x140086c10
mov r8d, 1
jmp 0x140086aa0
mov edi, dword [0x141dce918]
or edi, dword [0x141dce91c]
and edi, 0x1838dfd7
sub rsp, 0x20
mov rcx, rsi
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
cmp edi, 0x2e6ad678
jne 0x140086c96
sub rsp, 0x20
mov rcx, rsi
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
jmp 0x140086c52
test eax, eax
je 0x140086f89
mov rdi, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dce928]
add eax, dword [0x141dce92c]
xor eax, 0x18300809
or eax, 0x67c7f7f4
cmp eax, 0x1ef6e996
je 0x140086cb0
movzx eax, byte [rdi + 4]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140086ce0
test rax, rax
je 0x140086fd4
nop dword [rax]
mov ecx, dword [0x141dce940]
and ecx, dword [0x141dce944]
or ecx, 0x5757d51e
imul ecx, ecx, 0xf52a2156
or ecx, 0x6715de93
cmp ecx, 0x951ca76b
jb 0x140086cf0
cmp al, 4
jae 0x14008700c
mov ecx, 0x86c82f11
nop word cs:[rax + rax]
mov edx, dword [0x141dce9b0]
xor edx, dword [0x141dce9b4]
imul rdx, rcx
shr rdx, 0x3e
or edx, 0xa6eb7bfa
cmp edx, 0x35571a1f
jb 0x140086d30
movzx ecx, byte [rbx]
mov edx, ecx
and dl, 0xc0
nop word [rax + rax]
mov r8d, dword [0x141dce9b8]
imul r8d, dword [0x141dce9bc]
imul r8d, r8d, 0xd4cacd0f
add r8d, 0xcd024b17
and r8d, 0x40fe61c1
cmp r8d, 0xb8d2d6d3
ja 0x140086d60
nop dword [rax]
mov r8d, dword [0x141dce9c0]
imul r8d, dword [0x141dce9c4]
imul r8d, r8d, 0x6eb62490
cmp r8d, 0xa2e8af89
je 0x140086d90
cmp dl, 0x80
jne 0x140086fdf
mov byte [rdi + rax], cl
movzx ecx, byte [rdi + 4]
inc cl
mov byte [rdi + 4], cl
movzx eax, byte [rdi]
lea rdx, [0x141db95d8]
movzx ebx, byte [rax + rdx]
nop word cs:[rax + rax]
mov eax, dword [0x141dce9d8]
sub eax, dword [0x141dce9dc]
xor eax, 0x10830280
and eax, 0x978353e8
cmp eax, 0x42c42dcd
ja 0x140086de0
nop dword [rax]
mov eax, dword [0x141dce9e0]
add eax, dword [0x141dce9e4]
shr eax, 3
imul rax, rax, 0x106bec7d
shr rax, 0x39
cmp eax, 0x6c5a1b8c
je 0x140086e00
cmp cl, bl
jae 0x140086e30
mov ecx, 1
jmp 0x140086a94
mov eax, dword [0x141dce9e8]
imul eax, dword [0x141dce9ec]
and eax, 0x280148
add eax, 0xe5248d61
cmp eax, 0x57e9c586
jb 0x140086e30
mov eax, dword [0x141dce9f0]
xor edx, edx
div dword [0x141dce9f4]
nop dword [rax]
mov eax, dword [0x141dce9f8]
sub eax, dword [0x141dce9fc]
or eax, 0xe77dff3a
cmp eax, 0x7347e857
je 0x140086e60
cmp cl, 4
ja 0x140087019
movzx r8d, cl
sub rsp, 0x20
mov rcx, qword [rbp]
mov rdx, rdi
call fcn.140053600
add rsp, 0x20
mov byte [rdi + 4], 0
mov eax, 0xa814d207
nop word cs:[rax + rax]
mov ecx, dword [0x141dcea00]
or ecx, dword [0x141dcea04]
or ecx, 0xf3bc58bf
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xc84739f9
je 0x140086eb0
mov rdx, qword [rbp]
cmp qword [rdx], 0
jne 0x1400873d3
mov rax, qword [rdx + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcea18]
and ecx, dword [0x141dcea1c]
and ecx, 0xc4548c90
imul ecx, ecx, 0x8f327606
shr ecx, 1
imul rcx, rcx, 0x2545219b
shr rcx, 0x3c
cmp ecx, 0xcc949266
ja 0x140086ef0
cmp rax, rbx
jne 0x1400873ad
mov rdx, qword [rdx + 8]
sub rsp, 0x20
mov rcx, rsi
mov r8, rbx
call fcn.140087770
add rsp, 0x20
mov rcx, rdx
test rax, rax
je 0x140086f4d
mov r8, rax
jmp 0x140086aa0
mov eax, dword [0x141dcea20]
and eax, dword [0x141dcea24]
xor eax, 0x4cc00600
and eax, 0x4cd11e0d
xor eax, 0xf8b9bb43
cmp eax, 0x38ab7785
jb 0x140086f4d
cmp rbx, rcx
je 0x140086e25
ud2
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call fcn.140087410
add rsp, 0x20
mov r8, rax
mov rcx, rdx
nop word cs:[rax + rax]
mov eax, dword [str.hBG]
xor edx, edx
div dword [0x141dce924]
and eax, 0x134514af
add eax, 0x85890d26
cmp eax, 0x77aa3652
jbe 0x140086fb0
jmp 0x140086aa0
xor eax, eax
test al, al
je 0x14008704a
jmp 0x140087094
mov eax, dword [0x141dce9c8]
add eax, dword [0x141dce9cc]
imul eax, eax, 0xd1c0a3fa
or eax, 0xa60e5543
imul eax, eax, 0xd574f363
cmp eax, 0x2aadcf7f
jae 0x1400873af
jmp 0x1400873cd
ud2
mov eax, dword [0x141dcea08]
imul eax, dword [0x141dcea0c]
mov ecx, 0xa2a4a8c7
imul rcx, rax
shr rcx, 0x3a
or ecx, 0x7efb6db7
cmp ecx, 0x81b1bfe9
jne 0x1400873e5
jmp 0x140087406
mov eax, dword [0x141dce930]
or eax, dword [0x141dce934]
imul edi, eax, 0xbdd9884e
add edi, 0x4a54fbce
xor edi, 0x940e3877
cmp r14, 0x1000
mov r8d, 0x1000
cmovb r8, r14
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.140053600
add rsp, 0x20
cmp edi, 0xf19e2750
jbe 0x1400870c0
cmp r14, 0x1000
mov r8d, 0x1000
cmovb r8, r14
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.140053600
add rsp, 0x20
jmp 0x14008704a
mov eax, dword [0x141dce938]
or eax, dword [0x141dce93c]
or eax, 0xa6670865
add eax, 0x1b9340d9
cmp eax, 0x2e28f2e5
ja 0x1400870c0
cmp qword [r13], 0
je 0x1400871ff
nop dword [rax + rax]
mov eax, dword [0x141dce948]
xor edx, edx
div dword [str.:_mo_b_a]
and eax, 0x4d9e4beb
imul eax, eax, 0x8853e1ee
add eax, 0x2b4e21e
cmp eax, 0x1eef0073
ja 0x1400870f0
mov r8, qword [r13 + 8]
test r8, r8
mov r9, qword [rbp - 8]
je 0x140087223
nop word cs:[rax + rax]
mov eax, dword [0x141dce958]
xor eax, dword [0x141dce95c]
or eax, 0x57b60ba4
imul eax, eax, 0x9391727a
cmp eax, 0x354a8f83
je 0x140087130
nop
mov eax, dword [0x141dce960]
xor edx, edx
div dword [0x141dce964]
and eax, 0x12f8cb1b
add eax, 0x72cb087a
imul rax, rax, 0x63e7bca9
shr rax, 0x3e
cmp eax, 0x7fa0287
ja 0x140087150
nop word [rax + rax]
mov eax, dword [0x141dce968]
xor eax, dword [0x141dce96c]
or eax, 0xfca6cbd1
imul eax, eax, 0x1b8b8a25
cmp eax, 0x78d2b4a1
je 0x140087180
cmp r8, r14
ja 0x1400872e8
sub rsp, 0x20
mov rdi, qword [rbp - 0x10]
mov rcx, rdi
mov rdx, rbx
call fcn.140053600
add rsp, 0x20
cmp qword [rdi], 0
jne 0x1400872b7
mov rax, rdi
mov rdi, qword [rdi + 8]
mov rbx, qword [rax + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dce9a0]
or eax, dword [0x141dce9a4]
add eax, 0x2630d16d
or eax, 0xd0fc047a
cmp eax, 0xb104bac9
jb 0x1400871e0
jmp 0x140087214
mov rdi, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
xor eax, eax
nop dword [rax]
test al, al
jne 0x140087210
xor eax, eax
test al, al
je 0x14008735c
jmp 0x14008738a
mov eax, dword [0x141dce970]
xor edx, edx
div dword [0x141dce974]
lea rcx, [0x141db95d8]
nop dword [rax + rax]
mov eax, dword [0x141dce978]
and eax, dword [0x141dce97c]
and eax, 0xbf32862f
add eax, 0x97218dd7
cmp eax, 0xeb71b66c
ja 0x140087240
movzx eax, byte [rbx]
movzx edx, byte [rax + rcx]
mov r8d, 1
lea rcx, [0x141db9728]
cmp dl, 2
jb 0x140086aa0
cmp rdx, r14
jbe 0x140086aa0
mov byte [r9], al
mov byte [r9 + 4], 1
xor r8d, r8d
mov eax, dword [0x141dce980]
imul eax, dword [0x141dce984]
and eax, 0x2ee1
imul eax, eax, 0xad67a8a1
cmp eax, 0x5a538848
jb 0x14008728e
mov ecx, 1
jmp 0x140086aa0
ud2
mov eax, dword [0x141dce988]
or eax, dword [0x141dce98c]
imul eax, eax, 0xd6aac2d9
imul rax, rax, 0x228ccae5
shr rax, 0x3a
cmp eax, 0xe51425e9
jne 0x14008730e
ud2
mov eax, dword [0x141dce990]
xor eax, dword [0x141dce994]
imul eax, eax, 0xc6c29124
add eax, 0xcdd42321
and eax, 0x955fd54
ud2
mov r14d, dword [0x141dce950]
imul r14d, dword [0x141dce954]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140087770
add rsp, 0x20
cmp r14d, 0x6d571ca5
jne 0x1400873a2
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140087770
add rsp, 0x20
jmp 0x14008735c
mov r8, rax
mov rcx, rdx
jmp 0x140086aa0
ud2
mov eax, dword [0x141dce9d0]
imul eax, dword [0x141dce9d4]
imul eax, eax, 0x92886227
mov byte [rdi + 4], 0
cmp eax, 0x7f04194d
jne 0x1400873d3
mov byte [rdi + 4], 0
jmp 0x1400873af
mov r8d, 1
lea rcx, [0x141db9728]
jmp 0x140086aa0
mov eax, dword [0x141dcea10]
xor edx, edx
div dword [0x141dcea14]
xor eax, 0x1202000
and eax, 0xa5212010
ud2
ud2