Function at 0x1400b1820
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 rbx, r8
mov r8, rdx
mov rdi, rcx
mov eax, dword [0x14021d800]
mov ecx, dword [0x14021d804]
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not ecx
and ecx, edx
mov eax, ecx
not eax
and ecx, 0x77e7d84b
mov edx, eax
and edx, 0x881827b4
imul edx, ecx
mov ecx, eax
and ecx, 0x77e7d84b
or eax, 0x77e7d84b
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x69f1cc5
and ecx, 0xf960e33a
imul ecx, edx
mov edx, eax
and edx, 0xf960e33a
or eax, 0xf960e33a
imul eax, edx
add eax, ecx
imul eax, eax, 0xcfc161f1
cmp eax, 0x793192cb
ja 0x1400b18eb
mov eax, dword [0x14021d808]
mov ecx, dword [0x14021d80c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea ecx, [rax + rdx*2]
or ecx, 0x10130003
and ecx, 0x56b30043
add ecx, 0xe022de81
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r14, rsp
cmp ecx, 0x9d84c38
jae 0x1400b18fa
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
jmp 0x1400b18ac
mov eax, dword [0x14021d810]
mov ecx, dword [0x14021d814]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
xor ecx, 0x10a20280
or ecx, 0xef59d55f
add ecx, 0x64b11782
cmp ecx, 0xaa810377
jbe 0x1400b1950
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x2000
call fcn.1401516e0
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x14021d818]
sub eax, dword [0x14021d81c]
imul rcx, rax, 0x12cf62e7
shr rcx, 0x38
add ecx, 0xbda65f23
xor ecx, 0x630c9386
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r15, rsp
mov eax, 0x2000
call fcn.1401516e0
sub rsp, rax
mov rsi, rsp
cmp ecx, 0xdd09bc7d
jb 0x1400b1950
nop dword [rax + rax]
mov eax, dword [0x14021d820]
xor edx, edx
div dword [0x14021d824]
not eax
or eax, 0x111f1d44
mov ecx, eax
not ecx
and eax, 0xb18b9aca
mov edx, ecx
and edx, 0x4e606031
imul edx, eax
mov eax, ecx
and eax, 0xa080828a
or ecx, 0xb18b9aca
imul ecx, eax
add ecx, edx
mov eax, ecx
xor eax, 0x20445e3a
and ecx, 0x5fbba1c4
add ecx, ecx
sub ecx, eax
cmp ecx, 0xd1a51055
je 0x1400b19a0
cmp rbx, 0x1001
jb 0x1400b1bac
nop word cs:[rax + rax]
mov eax, dword [0x14021d828]
add eax, dword [0x14021d82c]
or eax, 0x2002202
and eax, 0x9e4333c2
add eax, 0xc5eea4dd
cmp eax, 0xffe5535d
ja 0x1400b1a10
movzx eax, byte [r8 + 0x1000]
nop word [rax + rax]
mov ecx, dword [0x14021d830]
mov edx, dword [0x14021d834]
mov r9d, ecx
and r9d, edx
or ecx, edx
add ecx, r9d
add ecx, 0x2448ed34
not ecx
and ecx, 0xd113c77c
cmp ecx, 0xc6d44347
ja 0x1400b1a40
mov ebx, 0x1000
cmp al, 0xbf
jg 0x1400b1bac
mov eax, 0x94d6c32d
nop
mov ecx, dword [0x14021d838]
sub ecx, dword [0x14021d83c]
mov edx, ecx
not edx
mov r9d, ecx
and r9d, 0x589f34c
and edx, 0xfa760cb3
imul edx, r9d
mov r9d, ecx
and r9d, 0xfa760cb3
or ecx, 0xfa760cb3
imul ecx, r9d
add ecx, edx
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
mov edx, ecx
add edx, edx
neg edx
add ecx, edx
add ecx, 0xbabdf883
cmp ecx, 0x20e1eb53
jb 0x1400b1a80
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400b1ae0
mov ebx, 0xfff
cmp byte [r8 + 0xfff], 0xbf
jg 0x1400b1bac
nop word [rax + rax]
mov eax, dword [0x14021d840]
mov ecx, dword [0x14021d844]
not eax
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0xe162fb
mov edx, eax
and edx, 0x11e9d04
imul edx, ecx
mov ecx, eax
and ecx, 0xe162fb
or eax, 0xe162fb
imul eax, ecx
add eax, edx
or eax, 0xecd1a267
and eax, 0xedffee6f
xor ebx, ebx
cmp byte [r8 + 0xffe], 0xc0
setge cl
cmp eax, 0xb8c9fb08
jb 0x1400b1b00
mov bl, cl
add rbx, 0xffd
movzx eax, byte [r8 + rbx]
nop dword [rax + rax]
mov ecx, dword [0x14021d848]
mov edx, dword [0x14021d84c]
mov r9d, ecx
and r9d, edx
add r9d, r9d
add ecx, edx
sub ecx, r9d
and ecx, 0x3d98ac22
imul ecx, ecx, 0x4df37570
add ecx, 0x85aa7c0
cmp ecx, 0x9a54f16
jb 0x1400b1b70
cmp al, 0xbf
jle 0x1400b1d5c
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
test eax, eax
je 0x1400b1d97
mov r12d, eax
cdqe
mov qword [rbp], rax
nop word cs:[rax + rax]
mov eax, dword [0x14021d870]
or eax, dword [0x14021d874]
imul rcx, rax, 0xeb38c5f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
lea ecx, [rax - 0x5affebdc]
not eax
and eax, 0x10480309
imul eax, eax, 0x42974010
imul ecx, ecx, 0xf7df573d
add ecx, eax
cmp ecx, 0x4f594df1
je 0x1400b1bf0
nop word cs:[rax + rax]
mov eax, dword [0x14021d878]
sub eax, dword [0x14021d87c]
or eax, 0x32f260c6
imul eax, eax, 0xffff6ee5
mov ecx, eax
not ecx
and ecx, 0x3b033fdc
mov edx, eax
and edx, 0xc4fcc023
imul edx, ecx
mov ecx, eax
and ecx, 0x3b033fdc
or eax, 0x3b033fdc
imul eax, ecx
add eax, edx
cmp eax, 0x74bb4b16
ja 0x1400b1c40
nop word cs:[rax + rax]
mov eax, dword [0x14021d880]
and eax, dword [0x14021d884]
mov ecx, eax
not ecx
or ecx, 0x1e0d0558
and ecx, 0x1e9d07d8
and eax, 0x1006005
sub eax, ecx
cmp eax, 0x796348de
jb 0x1400b1c90
cmp r12d, 0x1000
ja 0x1400b1e53
mov eax, 0x83acc889
nop dword [rax]
mov ecx, dword [0x14021d888]
mov edx, dword [0x14021d88c]
mov r8d, ecx
not r8d
and r8d, edx
not r8d
not edx
and edx, ecx
not edx
and edx, r8d
not edx
or edx, 0xf861612b
mov ecx, edx
not ecx
or ecx, 0x7d8c1b93
add ecx, edx
inc ecx
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x732fa231
ja 0x1400b1cd0
mov eax, dword [0x14021d890]
mov ecx, dword [0x14021d894]
not eax
not ecx
and ecx, eax
not ecx
lea eax, [rcx - 0x33b58cd6]
mov edx, eax
and edx, 0xda430409
xor eax, 0x25bcfbf6
add eax, ecx
add eax, 0xcc4a732a
sub eax, edx
add eax, 0x94533278
cmp eax, 0x1f477cd
jae 0x1400b1e55
jmp 0x1400b1eae
ud2
mov eax, dword [0x14021d858]
xor edx, edx
div dword [0x14021d85c]
or eax, 0x924db2ab
imul eax, eax, 0xb442f37a
cmp eax, 0x72624d7d
jne 0x1400b1dc0
ud2
mov eax, dword [0x14021d860]
mov ecx, dword [0x14021d864]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not ecx
and ecx, eax
mov eax, ecx
xor eax, 0xc240188
or ecx, 0xe180ae11
and ecx, eax
or ecx, 0x125b5066
add ecx, 0xe2bbf8d3
ud2
ud2
mov eax, dword [0x14021d898]
mov ecx, dword [0x14021d89c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x99f536e9
shr eax, 1
imul r13, rax, 0x40522c9
shr r13, 0x36
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r13d, 0x17431cdd
jne 0x1400b1ee0
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call fcn.140150480
add rsp, 0x30
jmp 0x1400b1e55
mov ecx, dword [0x14021d8a0]
mov edx, dword [str.jL2k5]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
mov edx, ecx
and edx, 0x6614101e
or ecx, 0x6614101e
add ecx, edx
or ecx, 0x8a9e651b
xor ecx, 0x81350c4d
cmp ecx, 0xde6666b2
ja 0x1400b1ee0
test eax, eax
je 0x1400b2133
mov r15d, dword [r15]
nop word cs:[rax + rax]
mov eax, dword [0x14021d8a8]
xor edx, edx
div dword [0x14021d8ac]
and eax, 0x998c9a1c
add eax, 0x429a53bf
mov ecx, eax
xor ecx, 0x39891d0
and ecx, eax
cmp ecx, 0xa2404892
ja 0x1400b1f30
nop word [rax + rax]
mov eax, dword [0x14021d8b0]
mov ecx, dword [0x14021d8b4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
and ecx, 0x19bb2304
and eax, 0x102b2000
add eax, eax
sub ecx, eax
add ecx, 0xf46f20c8
and ecx, 0xda28c20c
cmp ecx, 0x47a4a131
jb 0x1400b1f60
mov rcx, qword [rbp]
cmp r15, rcx
jne 0x1400b2000
mov eax, dword [0x14021d8c8]
xor eax, dword [0x14021d8cc]
or eax, 0x1e8c3029
imul eax, eax, 0xa7e336a4
not eax
or eax, 0x9fe16423
cmp eax, 0xa8d6fefb
je 0x1400b2000
cmp r15, rcx
jae 0x1400b2252
lea rbx, [rsi + r15*2]
nop word cs:[rax + rax]
mov eax, dword [0x14021d8d0]
mov ecx, dword [0x14021d8d4]
add eax, ecx
add eax, 0xd19cfe25
mov ecx, eax
xor ecx, 0x44060001
and ecx, eax
and ecx, 0x6546ce81
cmp ecx, 0xa7269cb8
ja 0x1400b2040
movzx ecx, word [rbx]
add ecx, 0x2312
nop word cs:[rax + rax]
mov eax, dword [0x14021d8d8]
xor edx, edx
div dword [0x14021d8dc]
add eax, 0xe9ea57c
mov edx, eax
xor edx, 0x206408
xor eax, 0x13571bc0
or eax, 0x103076c8
or edx, 0xefcf8937
and edx, eax
cmp edx, 0x9c13ee84
je 0x1400b2080
movzx eax, cx
cmp eax, 0x312
jae 0x1400b2215
inc r15
nop word cs:[rax + rax]
mov eax, dword [0x14021d8e8]
imul eax, dword [0x14021d8ec]
add eax, 0x1ffa67ac
imul rax, rax, 0x2f28f497
shr rax, 0x3c
mov ecx, eax
and ecx, 0xfffffffe
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x441f08fa
cmp eax, 0xbf5db550
ja 0x1400b20d0
mov eax, dword [0x14021d8f0]
xor edx, edx
div dword [0x14021d8f4]
and eax, 0xcf68ac8
add eax, 0xc82be002
not eax
or eax, 0x8449a680
cmp eax, 0x1f52583d
jne 0x1400b22bb
jmp 0x1400b2334
mov eax, dword [0x14021d8b8]
and eax, dword [0x14021d8bc]
xor eax, 0x20104020
and eax, 0x37116572
imul eax, eax, 0x6925eaf2
cmp eax, 0xcc864dde
jne 0x1400b2170
sub rsp, 0x20
call fcn.14014f250
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14021d8c0]
mov ecx, dword [0x14021d8c4]
mov edx, eax
and edx, ecx
xor eax, ecx
lea esi, [rax + rdx*2]
sub rsp, 0x20
call fcn.14014f250
add rsp, 0x20
cmp esi, 0x8ef89da5
je 0x1400b2170
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov eax, 1
nop dword [rax]
mov eax, 0xa88d4f2f
nop word [rax + rax]
mov ecx, dword [0x14021d920]
sub ecx, dword [0x14021d924]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x80bc7640
cmp ecx, 0x7302c9ae
je 0x1400b2220
test r15, r15
jne 0x1400b24d5
xor ebx, ebx
jmp 0x1400b1fa2
ud2
mov eax, dword [0x14021d8f8]
or eax, dword [0x14021d8fc]
mov ecx, eax
not ecx
and ecx, 0xaa437ac7
mov edx, eax
and edx, 0x55bc8538
imul edx, ecx
mov ecx, eax
and ecx, 0xaa437ac7
or eax, 0xaa437ac7
imul eax, ecx
lea r12d, [rax + rdx]
add r12d, 0x6dea98f
xor r12d, 0x8b0061c6
mov dword [r14], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rbx
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r12d, 0x8ffdf1f4
jae 0x1400b2370
mov dword [r14], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rbx
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
jmp 0x1400b22bb
mov ecx, dword [0x14021d900]
mov edx, dword [0x14021d904]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
not edx
or edx, 0x78f893d7
or ecx, 0x87076c28
and ecx, edx
mov edx, ecx
not edx
and edx, 0xfe5589cd
mov r8d, ecx
and r8d, 0x1aa7632
imul r8d, edx
mov edx, ecx
and edx, 0xfe5589cd
or ecx, 0xfe5589cd
imul ecx, edx
add ecx, r8d
mov edx, ecx
not edx
and edx, 0xa5219c4c
mov r8d, ecx
and r8d, 0x5ade63b3
imul r8d, edx
mov edx, ecx
and edx, 0xa5219c4c
or ecx, 0xa5219c4c
imul ecx, edx
add ecx, r8d
cmp ecx, 0x384d8cc4
jb 0x1400b2370
test eax, eax
je 0x1400b249d
nop
mov eax, dword [0x14021d908]
add eax, dword [0x14021d90c]
imul eax, eax, 0x88568b0e
add eax, 0x73c6d1ee
not eax
or eax, 0xf4fea803
cmp eax, 0x73fe9837
jb 0x1400b2420
nop word cs:[rax + rax]
mov eax, dword [0x14021d910]
sub eax, dword [0x14021d914]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x2fb90892
and ecx, 0xd046f76d
imul ecx, edx
mov edx, eax
and edx, 0xd046f76d
or eax, 0xd046f76d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x223a5100
and ecx, eax
or ecx, 0xd1452cb0
cmp ecx, 0x63a7fdc0
jb 0x1400b2450
jmp 0x1400b24d5
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x14021d918]
xor edx, edx
div dword [0x14021d91c]
imul rax, rax, 0x103230f9
shr rax, 0x3b
or eax, 0xda94ae98
cmp eax, 0x6830cc97
jb 0x1400b24b0
lea rcx, [rsi + r15*2]
xor ebx, ebx