Function at 0x140086d50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r14d, ecx
mov eax, dword [0x141dcd4d0]
mov ecx, dword [0x141dcd4d4]
add eax, ecx
add eax, 0xc126fad3
xor eax, 0x1e5b53d6
add eax, 0xa92d7622
cmp eax, 0x6ac7d1e0
jae 0x140086da0
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
nop dword [rax]
mov ecx, dword [0x141dcd4d8]
and ecx, dword [0x141dcd4dc]
add ecx, 0x60b0349a
and ecx, 0x84968ece
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rsi, rsp
cmp ecx, 0xa62e3fc7
ja 0x140086da0
mov eax, dword [0x141dcd4e0]
and eax, dword [0x141dcd4e4]
mov ecx, 0xbf6ef467
imul rcx, rax
shr rcx, 0x3d
add ecx, 0x230e122f
or ecx, 0x8dd68046
cmp ecx, 0x33124c38
jb 0x140086e53
mov ecx, dword [0x141dcd4e8]
sub ecx, dword [0x141dcd4ec]
or ecx, 0x7bbf5708
add ecx, 0x17134111
xor ecx, 0xf37c72ec
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r10, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
cmp ecx, 0x78249d40
jbe 0x140086e80
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x140086dfd
mov eax, dword [0x141dcd4f0]
and eax, dword [0x141dcd4f4]
imul eax, eax, 0xee51020c
imul rcx, rax, 0x3c14a4b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0x38322c80
cmp eax, 0x59f7bb79
ja 0x140086e80
test r8, r8
je 0x140086f76
mov qword [rbp - 0x10], r10
mov qword [rbp], rdx
mov qword [rbp - 8], r8
mov qword [rbp - 0x18], r9
mov eax, dword [0x141dcd4f8]
add eax, dword [0x141dcd4fc]
and eax, 0x97a64ad
cmp eax, 0x6621df0f
jne 0x140086ef4
sub rsp, 0x20
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
mov rbx, qword [sym.imp.KERNEL32.dll_GetStdHandle]
nop dword [rax + rax]
mov eax, dword [0x141dcd500]
or eax, dword [0x141dcd504]
add eax, 0xaa0e283d
and eax, 0xd09bf9a5
imul r12d, eax, 0xab52f5de
sub rsp, 0x20
mov ecx, r14d
call rbx
add rsp, 0x20
cmp r12d, 0x30126dae
je 0x140086f00
mov rdi, rax
test rax, rax
je 0x140086f7d
cmp rdi, 0xffffffffffffffff
jne 0x140086fcb
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov ecx, eax
shl rcx, 0x20
or rcx, 2
nop dword [rax]
mov eax, dword [0x141dcd508]
imul eax, dword [0x141dcd50c]
cmp eax, 0x2ed7e03f
je 0x140086f60
jmp 0x140086f87
xor ecx, ecx
xor r8d, r8d
jmp 0x140086fb4
movabs rcx, 0x600000002
mov eax, 0xc96f1bf3
nop dword [rax]
mov edx, dword [0x141dcd510]
xor edx, dword [0x141dcd514]
shr edx, 1
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0xb9924be0
je 0x140086f90
mov r8d, 1
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 [0x141dcd518]
xor eax, dword [0x141dcd51c]
imul eax, eax, 0xb0001198
and eax, 0x889c4fc0
cmp eax, 0xfcecc4c4
jbe 0x140087003
mov dword [rsi], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
mov r14, qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov r12, qword [rbp - 0x18]
nop
mov ebx, dword [0x141dcd520]
add ebx, dword [0x141dcd524]
and ebx, 0x4980209
or ebx, 0x6b63a9f6
xor ebx, 0x6efbfd17
mov dword [rsi], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call r14
add rsp, 0x20
cmp ebx, 0x6f82eafb
ja 0x140087010
nop dword [rax]
mov ecx, dword [0x141dcd528]
sub ecx, dword [0x141dcd52c]
imul ecx, ecx, 0x9e7957ae
and ecx, 0x8a5a1bba
add ecx, 0x655365b7
cmp ecx, 0x80cbebc7
ja 0x140087050
test eax, eax
je 0x140087597
nop
mov eax, dword [0x141dcd558]
mov ecx, dword [0x141dcd55c]
add eax, ecx
add eax, 0x1eb042d7
xor eax, 0xa969208b
cmp eax, 0xbef7f1a9
jb 0x140087080
movzx eax, byte [r12 + 4]
test rax, rax
je 0x140087170
cmp al, 4
jae 0x14008771e
mov rcx, qword [rbp]
movzx ecx, byte [rcx]
mov edx, ecx
and dl, 0xc0
nop word cs:[rax + rax]
mov r8d, dword [0x141dcd5d0]
or r8d, dword [0x141dcd5d4]
and r8d, 0xe6814303
imul r8, r8, 0x49690433
shr r8, 0x3d
imul r8d, r8d, 0x223e3f6a
cmp r8d, 0x399a3032
jb 0x1400870d0
cmp dl, 0x80
jne 0x1400875c6
mov byte [r12 + rax], cl
movzx eax, byte [r12 + 4]
inc al
mov byte [r12 + 4], al
movzx ecx, byte [r12]
lea rdx, [0x141db87b8]
movzx ebx, byte [rcx + rdx]
nop word [rax + rax]
mov ecx, dword [0x141dcd5f0]
xor ecx, dword [0x141dcd5f4]
or ecx, 0xe8056ecc
and ecx, 0xfc2f7eee
cmp ecx, 0x6b5fd091
jb 0x140087130
cmp al, bl
jae 0x140087300
mov ecx, 1
xor r8d, r8d
jmp 0x140086fb4
mov eax, dword [0x141dcd560]
and eax, dword [0x141dcd564]
and eax, 0x7a5acbe6
imul eax, eax, 0x49d1ea71
and eax, 0xf29056d4
cmp eax, 0xd5f6e3a6
ja 0x140087170
mov rax, qword [rbp - 8]
cmp rax, 0x1000
mov r8d, 0x1000
cmovb r8, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp]
call fcn.140054a50
add rsp, 0x20
cmp qword [r13], 0
je 0x1400873f0
nop word cs:[rax + rax]
mov eax, dword [0x141dcd578]
add eax, dword [0x141dcd57c]
imul rcx, rax, 0x1169235b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
add eax, 0xb9591eb9
or eax, 0xfccf0ca1
cmp eax, 0x5be84a6a
jb 0x1400871d0
mov r8, qword [r13 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dcd580]
sub eax, dword [0x141dcd584]
imul eax, eax, 0x80162dd1
add eax, 0xfc6f7a3e
and eax, 0xeceb30b2
cmp eax, 0x3113578
je 0x140087210
test r8, r8
je 0x140087658
mov rcx, qword [rbp - 8]
mov r9, qword [rbp]
mov rsi, qword [rbp - 0x10]
nop dword [rax + rax]
mov eax, dword [0x141dcd588]
xor edx, edx
div dword [0x141dcd58c]
or eax, 0x54da7dd6
add eax, 0x47d8bf9b
and eax, 0xc1adb2c8
cmp eax, 0xa147766d
ja 0x140087250
cmp r8, rcx
ja 0x1400877bb
sub rsp, 0x20
mov rcx, rsi
mov rdx, r9
call fcn.140054a50
add rsp, 0x20
mov rax, qword [rsi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcd5a0]
sub ecx, dword [0x141dcd5a4]
or ecx, 0x10444002
and ecx, 0x10ce6452
add ecx, 0xed2bbd77
cmp ecx, 0x707bc516
jb 0x1400872a0
test rax, rax
jne 0x140087759
nop
mov eax, dword [0x141dcd5b8]
sub eax, dword [0x141dcd5bc]
add eax, 0x13309e34
or eax, 0xbd62e927
cmp eax, 0x927e49d4
jb 0x1400872d0
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
jmp 0x14008743f
mov ecx, dword [0x141dcd5f8]
sub ecx, dword [0x141dcd5fc]
add ecx, 0x576f3db9
and ecx, 0x8144582
cmp ecx, 0xc37cfc6d
je 0x140087300
cmp al, 4
ja 0x140087748
mov ecx, dword [0x141dcd600]
imul ecx, dword [0x141dcd604]
add ecx, 0xd1b708ad
imul rdx, rcx, 0x4d23688f
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
or ecx, 0x50227e28
movzx esi, al
cmp ecx, 0x36cce469
jae 0x140087380
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.140054a50
add rsp, 0x20
mov byte [r12 + 4], 0
nop dword [rax]
mov r14d, dword [0x141dcd608]
xor r14d, dword [0x141dcd60c]
add r14d, 0xec1152e2
xor r14d, 0xf6fe71f2
add r14d, 0xc6462443
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.140054a50
add rsp, 0x20
mov byte [r12 + 4], 0
cmp r14d, 0x6b4bb57
jb 0x140087380
cmp qword [r15], 0
je 0x140087460
mov r8d, 1
lea rcx, [0x141db8908]
jmp 0x140087570
mov eax, dword [0x141dcd568]
xor eax, dword [0x141dcd56c]
xor eax, 0x3925e647
add eax, 0xe7d2e704
cmp eax, 0xe203b880
ja 0x1400873f0
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dcd570]
imul eax, dword [0x141dcd574]
imul eax, eax, 0xdd73eed6
add eax, 0x3920487a
cmp eax, 0x9db1f0f4
jb 0x140087420
sub rsp, 0x20
mov rcx, rdi
call fcn.140087cb0
add rsp, 0x20
mov r8, rax
mov rcx, rdx
jmp 0x140086fb4
mov eax, dword [0x141dcd610]
xor edx, edx
div dword [0x141dcd614]
imul eax, eax, 0xcb0b5fe0
cmp eax, 0x538af30c
je 0x140087460
cmp qword [r15 + 0x10], rbx
jne 0x14008780a
mov rdx, qword [r15 + 8]
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call fcn.140087cb0
add rsp, 0x20
mov r8, rax
mov rcx, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dcd618]
and eax, dword [0x141dcd61c]
shr eax, 3
imul rax, rax, 0x108a2eb1
shr rax, 0x38
or eax, 0x9ebebc6e
xor eax, 0x28ec868c
cmp eax, 0x8d3d93d2
jb 0x1400874b0
test r8, r8
jne 0x140087570
mov eax, dword [0x141dcd620]
or eax, dword [0x141dcd624]
add eax, 0xfdcafbbb
imul rax, rax, 0x695dc76f
shr rax, 0x38
add eax, 0x3e52ff44
cmp eax, 0x6afe3e1
jb 0x1400874e4
mov eax, 0x88edde25
mov edx, dword [0x141dcd628]
xor edx, dword [0x141dcd62c]
or edx, 0x7b3fdfff
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xee1c9e5d
ja 0x140087511
mov eax, dword [0x141dcd630]
imul eax, dword [0x141dcd634]
xor eax, 0x6704005
and eax, 0xa7f7e04d
add eax, 0xf79fe6ad
cmp eax, 0x918cbfab
ja 0x140087533
cmp rbx, rcx
jne 0x140087783
mov ecx, 1
xor r8d, r8d
nop word [rax + rax]
mov eax, dword [str.Emm]
and eax, dword [0x141dcd644]
and eax, 0x80522c02
or eax, 0x368902dd
xor eax, 0xa75ed8ae
cmp eax, 0x2311462
jb 0x140087570
jmp 0x140086fb4
mov eax, dword [0x141dcd530]
imul eax, dword [0x141dcd534]
add eax, 0x50117e96
xor eax, 0x7d50da41
cmp eax, 0x28406006
mov rbx, qword [rbp - 8]
mov r14, qword [rbp]
jb 0x14008784c
jmp 0x14008780c
mov eax, dword [0x141dcd5d8]
or eax, dword [0x141dcd5dc]
add eax, 0x50fbd56a
shr eax, 5
imul rax, rax, 0xc32881
shr rax, 0x30
cmp eax, 0x4fc3e6a2
jbe 0x140087600
mov byte [r12 + 4], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dcd5e0]
imul eax, dword [str._t__]
or eax, 0xbfff8efe
and eax, 0xffffaeff
mov byte [r12 + 4], 0
cmp eax, 0xf4b41dea
ja 0x140087600
lea rcx, [0x141db8908]
nop dword [rax + rax]
mov eax, dword [0x141dcd5e8]
imul eax, dword [0x141dcd5ec]
xor eax, 0x9841840
and eax, 0x4bb41b41
xor eax, 0x65cc2d51
cmp eax, 0xcd15b8dd
ja 0x140087630
jmp 0x140086fae
mov rax, qword [rbp]
movzx eax, byte [rax]
movzx ecx, al
lea rdx, [0x141db87b8]
xor r8d, r8d
nop dword [rax]
test r8b, r8b
jne 0x140087670
movzx edx, byte [rcx + rdx]
mov r8d, 1
lea rcx, [0x141db8908]
cmp dl, 2
jb 0x140086fb4
cmp rdx, qword [rbp - 8]
jbe 0x140086fb4
mov byte [r12], al
xor eax, eax
test al, al
je 0x1400876a9
mov byte [r12 + 4], 1
mov eax, dword [0x141dcd590]
or eax, dword [0x141dcd594]
imul eax, eax, 0x96d38c55
add eax, 0xe8587c77
imul rax, rax, 0x69093043
shr rax, 0x3e
mov byte [r12 + 4], 1
cmp eax, 0xa0187928
ja 0x1400876a9
mov eax, 0xa7ad6c15
xor r8d, r8d
mov ecx, dword [0x141dcd598]
or ecx, dword [0x141dcd59c]
or ecx, 0x67efffc8
mov rdx, rcx
imul rdx, rax
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
imul ecx, ecx, 0x8b3a6654
cmp ecx, 0x4f449f78
je 0x1400876e0
mov ecx, 1
jmp 0x140086fb4
ud2
ud2
ud2
ud2
mov eax, dword [0x141dcd5a8]
imul eax, dword [0x141dcd5ac]
xor eax, 0x8d41b2b2
imul rax, rax, 0x7ab355c3
shr rax, 0x3b
and eax, 0xfffffff9
cmp eax, 0xc29979dc
jbe 0x1400877e4
ud2
mov eax, dword [0x141dcd5b0]
xor edx, edx
div dword [0x141dcd5b4]
add eax, 0x4a209f1c
or eax, 0x95d9bc8d
xor eax, 0x6a81ee9
ud2
ud2
mov eax, dword [0x141dcd538]
or eax, dword [0x141dcd53c]
imul eax, eax, 0x8a641019
add eax, 0xc8db38e7
imul rsi, rax, 0x7ca918e5
shr rsi, 0x3e
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1400878d0
add rsp, 0x20
cmp esi, 0x3ce48d3a
jbe 0x140087864
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1400878d0
add rsp, 0x20
jmp 0x14008780c
mov r8, rax
mov rcx, rdx
mov eax, dword [0x141dcd540]
xor edx, edx
div dword [0x141dcd544]
nop dword [rax + rax]
mov eax, dword [0x141dcd548]
and eax, dword [str.K:h9f]
add eax, 0xe2d181d1
and eax, 0x415c4e4c
cmp eax, 0xbed7c97c
ja 0x140087880
nop dword [rax]
mov eax, dword [0x141dcd550]
mov edx, dword [0x141dcd554]
add eax, edx
add eax, 0x1f62e23e
and eax, 0x78d8b30a
cmp eax, 0xf1de8261
ja 0x1400878a0
jmp 0x140086fb4