Function at 0x140086570
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rdi, r8
mov r8, rdx
mov rbx, rcx
mov eax, dword [0x141dcb300]
imul eax, dword [0x141dcb304]
xor eax, 0xc726230c
imul eax, eax, 0xdcad89b7
add eax, 0x87b131cb
cmp eax, 0xcba77c63
jbe 0x1400865c0
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
nop word [rax + rax]
mov eax, dword [0x141dcb308]
xor eax, dword [0x141dcb30c]
or eax, 0x39d43211
imul ecx, eax, 0x724805d4
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov r14, rsp
cmp ecx, 0xd90ce72d
je 0x1400865c0
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov r15, rsp
mov eax, 0x2000
call fcn.1400ed360
sub rsp, rax
mov rsi, rsp
cmp rdi, 0x1001
jb 0x14008671c
nop dword [rax]
mov eax, dword [0x141dcb310]
sub eax, dword [0x141dcb314]
imul rax, rax, 0x56c58baf
shr rax, 0x3e
cmp eax, 0x279d2ae9
je 0x140086620
movzx eax, byte [r8 + 0x1000]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb318]
xor ecx, dword [0x141dcb31c]
imul ecx, ecx, 0x605d8e1d
or ecx, 0xc685b653
xor ecx, 0xc42880c9
cmp ecx, 0xd901fda9
ja 0x140086650
mov edi, 0x1000
cmp al, 0xbf
jg 0x14008671c
movzx eax, byte [r8 + 0xfff]
nop dword [rax + rax]
mov ecx, dword [0x141dcb320]
or ecx, dword [0x141dcb324]
imul ecx, ecx, 0x6e10b662
add ecx, 0x572a76ce
cmp ecx, 0x25e30e98
jb 0x140086690
mov edi, 0xfff
cmp al, 0xbf
jg 0x14008671c
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400866c0
movzx ecx, byte [r8 + 0xffe]
nop dword [rax]
mov eax, dword [0x141dcb328]
xor edx, edx
div dword [0x141dcb32c]
xor eax, 0xa8baef1
add eax, 0x9fb7a5f5
imul rdx, rax, 0xe723fdf
shr rdx, 0x3b
xor edi, edi
cmp cl, 0xc0
setge al
cmp edx, 0xa918aa5d
je 0x1400866d0
mov dil, al
cmp byte [r8 + rdi + 0xffd], 0xbf
jle 0x1400868d2
add rdi, 0xffd
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
test eax, eax
je 0x140086849
mov r12d, eax
movsxd rcx, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dcb358]
or eax, dword [0x141dcb35c]
xor eax, 0x8c9da45f
imul rax, rax, 0xb847ef
shr rax, 0x37
imul eax, eax, 0xc3bc2c14
cmp eax, 0x574a5428
jb 0x140086760
nop dword [rax]
mov eax, dword [0x141dcb360]
xor eax, dword [0x141dcb364]
imul eax, eax, 0x71dab1cf
or eax, 0x1cae7287
xor eax, 0xcbc42435
cmp eax, 0xd1d37e00
jb 0x140086790
cmp r12d, 0x1000
ja 0x140086812
mov qword [rbp], rcx
mov eax, dword [0x141dcb368]
xor eax, dword [0x141dcb36c]
and eax, 0xcb2e7da4
xor eax, 0x4b9c7da3
cmp eax, 0xab5c4491
ja 0x1400867c0
mov eax, dword [0x141dcb370]
and eax, dword [0x141dcb374]
add eax, 0xd1d4381d
mov ecx, 0xa7e03fa1
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xcfa73f30
cmp ecx, 0x9be90026
jne 0x14008691e
jmp 0x140086970
ud2
mov eax, dword [0x141dcb340]
xor edx, edx
div dword [0x141dcb344]
imul eax, eax, 0xb58a75d4
add eax, 0xa7fd84f4
or eax, 0xcce88cc8
cmp eax, 0xbcf8a639
jne 0x140086870
ud2
mov ecx, 0xa2ab9cd1
nop word cs:[rax + rax]
mov eax, dword [0x141dcb348]
xor edx, edx
div dword [0x141dcb34c]
xor eax, 0x7836ee2b
add eax, 0xa0ba664d
imul rax, rcx
shr rax, 0x3b
ud2
mov eax, dword [0x141dcb330]
sub eax, dword [0x141dcb334]
and eax, 0x1cc3f68
cmp eax, 0x349c1fcb
je 0x140086918
mov eax, dword [0x141dcb338]
sub eax, dword [0x141dcb33c]
imul eax, eax, 0x1970b997
add eax, 0x9a366293
mov ecx, 0xa15be9c3
imul rcx, rax
shr rcx, 0x3e
ud2
ud2
ud2
mov eax, dword [0x141dcb378]
xor edx, edx
div dword [0x141dcb37c]
mov r13d, eax
and r13d, 0xa309c120
add r13d, 0x4cb510d2
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r13d, 0xe289d87e
jbe 0x14008699c
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
jmp 0x14008691e
xor ecx, ecx
nop
test cl, cl
jne 0x1400869a0
test eax, eax
je 0x140086a2a
mov r15d, dword [r15]
nop
mov eax, dword [0x141dcb388]
sub eax, dword [0x141dcb38c]
add eax, 0x9bb3f737
cmp eax, 0xdbece341
ja 0x1400869b0
mov rcx, qword [rbp]
nop dword [rax]
mov eax, dword [0x141dcb390]
xor edx, edx
div dword [str.nM_]
or eax, 0x7ebdfebf
imul eax, eax, 0x2588364b
cmp eax, 0xea4ab8f4
je 0x1400869d0
cmp r15, rcx
jne 0x140086aba
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov edi, eax
shl rdi, 0x20
or rdi, 2
nop word cs:[rax + rax]
mov eax, dword [0x141dcb398]
or eax, dword [0x141dcb39c]
or eax, 0xdfdbf6df
and eax, 0xffdfffff
cmp eax, 0x3af14f0f
jbe 0x140086a50
mov eax, 1
nop word cs:[rax + rax]
jae 0x14008691c
movzx eax, word [rsi + r15*2]
add eax, 0x2312
movzx eax, ax
cmp eax, 0x312
jae 0x140086b01
lea rdi, [rsi + r15*2]
inc r15
mov eax, dword [0x141dcb3a0]
imul eax, dword [0x141dcb3a4]
and eax, 0x80428567
or eax, 0x6c3c5000
imul eax, eax, 0x4012f81d
cmp eax, 0x2a79efb9
jae 0x140086b11
jmp 0x140086b66
test r15, r15
jne 0x140086c89
xor edi, edi
jmp 0x1400869f9
mov eax, dword [0x141dcb3a8]
xor eax, dword [0x141dcb3ac]
or eax, 0x4885bd4c
imul r12d, eax, 0xdcd577fd
xor r12d, 0x8dd0ebc5
mov dword [r14], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r12d, 0x12df595d
jae 0x140086ba0
mov dword [r14], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
jmp 0x140086b11
mov ecx, dword [str._a_b_]
and ecx, dword [0x141dcb3b4]
add ecx, 0xce4e6943
and ecx, 0xa928a59f
imul ecx, ecx, 0x67398841
cmp ecx, 0x3c04d884
jb 0x140086ba0
test eax, eax
je 0x140086bfd
nop word [rax + rax]
mov eax, dword [0x141dcb3b8]
add eax, dword [0x141dcb3bc]
or eax, 0xe505e7a2
xor eax, 0xcc491037
imul rax, rax, 0x3be3d945
shr rax, 0x3b
cmp eax, 0x7d294521
je 0x140086bd0
jmp 0x140086c89
xor eax, eax
test al, al
je 0x140086c11
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov eax, dword [0x141dcb3c0]
add eax, dword [0x141dcb3c4]
or eax, 0x20540
and eax, 0xd74fb5c1
imul ebx, eax, 0xa9539ae2
sub rsp, 0x20
call rdi
add rsp, 0x20
cmp ebx, 0x4777f045
ja 0x140086c20
nop
mov eax, dword [0x141dcb3c8]
imul eax, dword [0x141dcb3cc]
imul eax, eax, 0xfd1e0400
or eax, 0xb368c07
cmp eax, 0x29e1984d
je 0x140086c50
nop
mov eax, dword [str._W_h]
and eax, dword [0x141dcb3d4]
imul eax, eax, 0x8d683d44
cmp eax, 0x5162fc6
invalid
je 0x140086c70
lea rcx, [rsi + r15*2]