Function at 0x1400be780
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], rdx
mov eax, dword [0x141dd7ff0]
sub eax, dword [0x141dd7ff4]
imul rax, rax, 0x5de175cd
shr rax, 0x3d
cmp eax, 0xe5d2bad6
jne 0x1400be7e2
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x400
call fcn.1400f1350
sub rsp, rax
mov qword [rbp - 0x18], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dd7ff8]
sub eax, dword [0x141dd7ffc]
add eax, 0xcdc9aea0
or eax, 0x547c2d27
imul rcx, rax, 0x1fdb80b9
shr rcx, 0x3c
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
mov eax, 0x400
call fcn.1400f1350
sub rsp, rax
mov rax, rsp
cmp ecx, 0xf9166951
ja 0x1400be7f0
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rdx
mov qword [rbx], 0
mov qword [rbx + 8], 2
mov qword [rbx + 0x10], 0
mov r15d, 0x200
mov eax, 2
mov qword [rbp - 0x20], rax
xor edi, edi
mov r13d, 0xecb021cf
mov esi, 0x93de387d
xor eax, eax
mov qword [rbp - 0x10], rax
xor ecx, ecx
xor r12d, r12d
nop
mov eax, dword [0x141dd8000]
imul eax, dword [0x141dd8004]
xor eax, 0x892a0060
and eax, 0xa92e0176
cmp eax, 0x3f2103af
jb 0x1400be890
cmp r15, 0x201
jae 0x1400be8d0
mov eax, 0x200
mov qword [rbp - 0x38], rax
mov qword [rbp], rcx
mov r14, qword [rbp - 0x48]
jmp 0x1400be957
mov eax, dword [0x141dd8008]
or eax, dword [0x141dd800c]
xor eax, 0x2828100
or eax, 0xad7d7eff
cmp eax, 0x23ac43ad
jb 0x1400be8d0
sub r15, r12
sub rcx, r12
nop word cs:[rax + rax]
mov eax, dword [0x141dd8010]
xor eax, dword [0x141dd8014]
imul rax, rsi
shr rax, 0x3d
or eax, 0x1dc32548
xor eax, 0x90dcc4c0
cmp eax, 0x11707591
jb 0x1400be900
cmp r15, rcx
ja 0x1400be9c4
mov rax, qword [rbp - 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
mov r12d, 0xffffffff
cmovb r12, rax
mov qword [rbx + 0x10], r12
mov qword [rbp], rax
mov qword [rbp - 0x38], r12
mov r14, qword [rbp - 0x20]
mov r15, r12
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp - 0x28]
mov edx, r15d
mov qword [rbp - 0x50], r14
mov r8, r14
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
add rsp, 0x20
mov r9d, eax
test eax, eax
jne 0x1400bebb0
mov dword [rbp - 4], r9d
mov r14, rbx
mov eax, dword [0x141dd8038]
xor edx, edx
div dword [0x141dd803c]
xor eax, 0x618c2102
and eax, 0xf3ee3956
add eax, 0xfa7d08c
cmp eax, 0x58b27026
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
jae 0x1400beaf0
jmp 0x1400beb1d
mov eax, dword [0x141dd8018]
or eax, dword [0x141dd801c]
and eax, 0x4b8c644
add eax, 0x81be2cf
and eax, 0xcd6e4cf
cmp eax, 0x81163dd8
ja 0x1400beab8
mov r14d, dword [0x141dd8020]
add r14d, dword [0x141dd8024]
xor r14d, 0x628ec210
imul rax, r14, 0x27c15671
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1f
xor r14d, 0x8b87c427
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.1400f2140
add rsp, 0x30
cmp r14d, 0xe3fc6669
ja 0x1400beab8
mov rax, qword [rbx]
mov qword [rbp - 0x10], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd8028]
xor eax, dword [0x141dd802c]
imul eax, eax, 0x3e165a47
add eax, 0xf3e4fecd
and eax, 0x19d01e7d
cmp eax, 0x989835ab
ja 0x1400bea60
mov rax, qword [rbx + 8]
mov qword [rbp - 0x20], rax
nop dword [rax + rax]
mov eax, dword [0x141dd8030]
and eax, dword [0x141dd8034]
imul eax, eax, 0x6870c3db
and eax, 0x95c9950a
add eax, 0xd0fed88
cmp eax, 0x2adb16ce
ja 0x1400bea90
jmp 0x1400be92e
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.1400f2140
add rsp, 0x30
jmp 0x1400be9ea
mov eax, dword [0x141dd8040]
xor edx, edx
div dword [0x141dd8044]
imul ebx, eax, 0x87fcb743
add ebx, 0x8a66b4e9
sub rsp, 0x20
call r13
add rsp, 0x20
cmp ebx, 0x41b1355b
jbe 0x1400beb2a
sub rsp, 0x20
call r13
add rsp, 0x20
jmp 0x1400beaf0
mov ecx, eax
mov eax, dword [0x141dd8048]
xor edx, edx
div dword [0x141dd804c]
mov eax, dword [0x141dd8050]
imul eax, dword [0x141dd8054]
and eax, 0x5baeac21
imul eax, eax, 0x19a1be6c
shr eax, 6
imul rax, rax, 0x45d064d
shr rax, 0x33
cmp eax, 0xc9214423
ja 0x1400beb3a
mov rbx, r14
mov r13d, 0xecb021cf
mov r9d, dword [rbp - 4]
nop word cs:[rax + rax]
mov eax, dword [0x141dd8058]
or eax, dword [0x141dd805c]
add eax, 0x340f3a0
or eax, 0x88df2c15
cmp eax, 0x2bf61777
je 0x1400beb80
test ecx, ecx
jne 0x1400beeee
nop word cs:[rax + rax]
mov eax, dword [0x141dd80a8]
xor eax, dword [0x141dd80ac]
or eax, 0x8b78ea74
imul eax, eax, 0x76dcbb6a
cmp eax, 0x4c471cd
je 0x1400bebb0
mov r8d, r9d
nop word cs:[rax + rax]
mov eax, dword [0x141dd80b0]
or eax, dword [str.._xS]
add eax, 0x2640a95d
and eax, 0x7472361f
add eax, 0xe6ae1eb1
cmp eax, 0xb5baf28e
ja 0x1400bebe0
cmp r15, r8
jne 0x1400bec90
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
add rsp, 0x20
mov ecx, eax
nop
mov eax, dword [0x141dd80c0]
xor edx, edx
div dword [0x141dd80c4]
imul eax, eax, 0x68d73037
add eax, 0x31a42e4a
cmp eax, 0x7fd76211
ja 0x1400bec20
cmp ecx, 0x7a
mov rcx, qword [rbp]
jne 0x1400bf584
mov eax, dword [0x141dd80c8]
or eax, dword [0x141dd80cc]
imul eax, eax, 0x71ccead4
or eax, 0xa7cbebaa
imul rax, r13
shr rax, 0x3d
cmp eax, 0x31b3a8cd
je 0x1400bec4d
cmp r15, 0x7fffffff
lea r15, [r15 + r15]
mov eax, 0xffffffff
cmova r15, rax
jmp 0x1400beca0
jae 0x1400becb0
mov r15, r8
mov rcx, qword [rbp]
nop dword [rax]
test dil, dil
jne 0x1400beca0
jmp 0x1400be890
mov eax, dword [0x141dd80d0]
and eax, dword [0x141dd80d4]
imul eax, eax, 0xdd5c804
add eax, 0x1333243f
cmp eax, 0xbe708b67
ja 0x1400becb0
cmp qword [rbp - 0x38], r8
mov r14, qword [rbp - 0x50]
jb 0x1400bef2a
nop dword [rax]
mov eax, dword [0x141dd80d8]
and eax, dword [0x141dd80dc]
add eax, 0xb49dee1e
or eax, 0x673f595e
cmp eax, 0xecbc5890
je 0x1400bece0
mov rax, qword [rbp - 0x30]
mov rsi, qword [rax]
mov r15, qword [rax + 8]
mov rdi, qword [rax + 0x10]
lea rcx, [rdi - 1]
mov eax, dword [0x141dd80e0]
xor edx, edx
div dword [0x141dd80e4]
nop
mov eax, dword [0x141dd80e8]
and eax, dword [0x141dd80ec]
xor eax, 0xc21027e
and eax, 0x8cb5237f
cmp eax, 0x15703d75
je 0x1400bed20
cmp rcx, 6
jb 0x1400bf584
mov eax, 0x8e582fe5
nop dword [rax]
mov ecx, dword [0x141dd80f0]
sub ecx, dword [0x141dd80f4]
imul rcx, rax
shr rcx, 0x3b
add ecx, 0x950107e
and ecx, 0x11010b9
cmp ecx, 0x5efaf9f9
ja 0x1400bed50
nop dword [rax + rax]
mov eax, dword [0x141dd80f8]
xor edx, edx
div dword [0x141dd80fc]
imul eax, eax, 0xc83f5686
add eax, 0xf59159d4
xor eax, 0x7b5347db
cmp eax, 0xa7e71251
ja 0x1400bed80
test rdi, rdi
je 0x1400bef5f
lea rcx, [rdi - 7]
nop word cs:[rax + rax]
mov eax, dword [0x141dd8100]
and eax, dword [0x141dd8104]
imul rdx, rax, 0x11cdb5d5
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x2acfcc23
ja 0x1400bedc0
nop word [rax + rax]
mov eax, dword [0x141dd8108]
xor edx, edx
div dword [0x141dd810c]
add eax, 0xe09af6d4
xor eax, 0xa45ec7b2
cmp eax, 0x53c30e91
ja 0x1400bedf0
nop
mov eax, dword [str._B58M]
xor edx, edx
div dword [0x141dd8114]
add eax, 0xbf53b260
or eax, 0x106a06b
and eax, 0x553ef67b
cmp eax, 0xe0ddd040
ja 0x1400bee10
cmp rcx, r8
jne 0x1400bf24f
mov qword [rbp], rbx
lea rbx, [r15 + 0xc]
nop word cs:[rax + rax]
mov eax, dword [0x141dd8118]
imul eax, dword [0x141dd811c]
and eax, 0x24ea39a2
xor eax, 0x43a73f1b
imul rax, rax, 0x5b9e6f15
shr rax, 0x3d
cmp eax, 0xb30d0924
ja 0x1400bee50
mov dword [rbp - 4], r9d
mov eax, dword [0x141dd8120]
xor edx, edx
div dword [0x141dd8124]
mov qword [rbp - 0x28], r8
lea r12, [r8 + r8]
nop word cs:[rax + rax]
mov eax, dword [0x141dd8128]
xor edx, edx
div dword [0x141dd812c]
imul eax, eax, 0x29782c73
xor eax, 0x8030e257
imul eax, eax, 0xbcf9729a
cmp eax, 0xd3329396
jb 0x1400beea0
mov eax, dword [0x141dd8130]
xor edx, edx
div dword [0x141dd8134]
and eax, 0x2661200
xor eax, 0x660e3ff9
cmp eax, 0xda6efb77
jbe 0x1400bf1f4
jmp 0x1400bf228
movabs rsi, 0x8000000000000000
mov eax, dword [0x141dd8060]
xor edx, edx
div dword [0x141dd8064]
imul eax, eax, 0x13daade1
add eax, 0x3db0f83f
and eax, 0x218e3077
cmp eax, 0xc5f5e775
mov rbx, qword [rbp - 0x18]
jbe 0x1400befb9
jmp 0x1400beffc
mov eax, dword [0x141dd81a8]
imul eax, dword [0x141dd81ac]
add eax, 0x3afbff39
xor eax, 0x56999490
shr eax, 2
imul rax, rax, 0xc8074b7
shr rax, 0x38
cmp eax, 0xc484da6d
jne 0x1400bf552
jmp 0x1400bf571
mov eax, dword [0x141dd8140]
sub eax, dword [0x141dd8144]
imul eax, eax, 0xecc8fb11
xor eax, 0xb2a9d733
add eax, 0xe50932c
cmp eax, 0x1ec48312
jae 0x1400bef84
ud2
mov ecx, 0xb101569b
nop dword [rax]
mov eax, dword [0x141dd8148]
xor edx, edx
div dword [0x141dd814c]
imul rax, rcx
shr rax, 0x3e
or eax, 0x8a3c4f46
ud2
mov eax, dword [0x141dd8068]
imul eax, dword [0x141dd806c]
imul rax, rax, 0x14e22227
shr rax, 0x3b
imul edi, eax, 0x445eface
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov qword [rbx + 8], rax
mov qword [rbx], rsi
cmp edi, 0xa1da9aa1
jbe 0x1400bf01b
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov qword [rbx + 8], rax
mov qword [rbx], rsi
jmp 0x1400befb9
cmp qword [rbp - 0x10], 0
mov rbx, qword [rbp - 0x30]
mov r14, qword [rbp - 0x20]
je 0x1400bf114
mov eax, dword [0x141dd8070]
sub eax, dword [0x141dd8074]
add eax, 0xb6819c42
and eax, 0x9d140c11
xor eax, 0xd0673154
cmp eax, 0x296c936d
jae 0x1400bf060
mov rax, qword [0x141dde6e0]
nop word [rax + rax]
mov eax, dword [0x141dd8078]
xor eax, dword [0x141dd807c]
add eax, 0xa76890d0
xor eax, 0x34d76664
imul rax, rax, 0x7f90c2c5
shr rax, 0x3d
mov rsi, qword [0x141dde6e0]
cmp eax, 0x46c8492e
je 0x1400bf060
mov eax, dword [0x141dd8080]
and eax, dword [0x141dd8084]
xor eax, 0x2450e0
and eax, 0x167dfaf0
add eax, 0xf33a2122
cmp eax, 0xc3d71e89
jb 0x1400bf0ec
mov eax, dword [0x141dd8088]
or eax, dword [0x141dd808c]
or eax, 0x57c31ef7
imul edi, eax, 0x14cd92e0
or edi, 0xb7d8cd83
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp edi, 0x6b8dbc3
jae 0x1400bf104
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1400bf0b1
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400bf110
mov rax, qword [rbx]
mov ecx, 0xb28e382f
nop dword [rax]
mov edx, dword [0x141dd8090]
xor edx, dword [0x141dd8094]
xor edx, 0x3d6794b1
add edx, 0xbea9cfa4
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x4ca5d8b1
ja 0x1400bf120
test rax, rax
je 0x1400bf1c0
mov eax, dword [0x141dd8098]
sub eax, dword [0x141dd809c]
imul eax, eax, 0xe5b2aae5
and eax, 0xa9bd16db
imul eax, eax, 0x6a2f22c5
cmp eax, 0xe2216bf8
jbe 0x1400bf180
mov rax, qword [0x141dde6e0]
nop dword [rax + rax]
mov eax, dword [0x141dd80a0]
xor edx, edx
div dword [0x141dd80a4]
imul eax, eax, 0x3dcd2648
and eax, 0x888fe240
mov r8, qword [rbx + 8]
mov rcx, qword [0x141dde6e0]
cmp eax, 0xd5587acb
je 0x1400bf180
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dd80b8]
imul eax, dword [0x141dd80bc]
and eax, 0x553f121a
add eax, 0x208092a0
xor eax, 0xf22f01ee
cmp eax, 0xe7002b03
ja 0x1400bf1c0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r13d, dword [0x141dd8138]
or r13d, dword [0x141dd813c]
add r13d, 0x7f42890b
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
cmp r13d, 0xc9f12f5d
jae 0x1400bf240
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
jmp 0x1400bf1f4
test eax, eax
mov rbx, qword [rbp]
mov eax, dword [rbp - 4]
je 0x1400bf2d3
mov eax, dword [0x141dd8168]
or eax, dword [0x141dd816c]
or eax, 0x65b72e81
add eax, 0x8bcd27d
cmp eax, 0x585c797
jae 0x1400bf273
mov word [r15 + 0xc], 0x43
mov rcx, qword [rbp - 0x18]
nop word [rax + rax]
mov eax, dword [0x141dd8170]
xor edx, edx
div dword [0x141dd8174]
imul eax, eax, 0x7642747c
and eax, 0x620ca93c
imul eax, eax, 0xf044f6fa
mov word [r15 + 0xc], 0x43
cmp eax, 0xf761dc6e
je 0x1400bf280
mov eax, dword [0x141dd8180]
add eax, dword [0x141dd8184]
and eax, 0x40080029
xor eax, 0x6507f716
cmp eax, 0xdbf700c8
jbe 0x1400bf43f
jmp 0x1400bf46d
test eax, eax
je 0x1400bf378
mov eax, dword [0x141dd8150]
sub eax, dword [0x141dd8154]
and eax, 0xd6addc16
add eax, 0x652f25f8
imul rax, rax, 0x4694584d
shr rax, 0x3d
cmp eax, 0xe7b67fc1
jbe 0x1400bf310
movzx eax, byte [0x141dde6f8]
nop word [rax + rax]
mov eax, dword [0x141dd8158]
sub eax, dword [0x141dd815c]
or eax, 0xc052004
and eax, 0xe07a005
movzx ecx, byte [0x141dde6f8]
cmp eax, 0xd4016de9
ja 0x1400bf310
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400c29b0
add rsp, 0x20
mov rbx, rax
test rax, rax
jne 0x1400bf37d
ud2
mov ebx, 2
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r14, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x28]
mov qword [r14], rdi
mov qword [r14 + 8], rbx
mov qword [r14 + 0x10], rdi
sub rsp, 0x20
mov rcx, r14
call fcn.1400dcfb0
mov rax, rdi
add rsp, 0x20
mov rdi, qword [r14 + 8]
mov word [rdi + rax*2], 0
inc rax
mov rbx, qword [r14]
test rsi, rsi
je 0x1400bf429
mov r14, rax
mov rcx, qword [0x141dde6e0]
sub rsp, 0x20
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp - 0x18]
nop word [rax + rax]
mov eax, dword [0x141dd8178]
and eax, dword [0x141dd817c]
imul eax, eax, 0xc74f7d96
and eax, 0xf74eac9e
cmp eax, 0x6d9e5bb3
je 0x1400bf400
mov rsi, rbx
mov r15, rdi
mov rdi, r14
jmp 0x1400bf436
mov rsi, rbx
mov r15, rdi
mov rdi, rax
mov rcx, qword [rbp - 0x18]
mov rbx, qword [rbp]
jmp 0x1400bf2ad
mov eax, dword [0x141dd8188]
xor eax, dword [0x141dd818c]
and eax, 0xfe1b6def
imul eax, eax, 0xdc0a2fc3
add eax, 0x58008b04
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], rdi
cmp eax, 0xdc0b3e31
jbe 0x1400bf47a
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], rdi
jmp 0x1400bf43f
cmp qword [rbp - 0x10], 0
je 0x1400bf530
mov rsi, qword [rbx + 8]
xor eax, eax
test al, al
je 0x1400bf4a9
mov rcx, qword [0x141dde6e0]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x141dd8190]
xor edx, edx
div dword [0x141dd8194]
mov edi, eax
add edi, 0xa1c0badb
or edi, 0x72b6df16
and edi, 0xf6b6ffff
mov rcx, qword [0x141dde6e0]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call rbx
add rsp, 0x20
cmp edi, 0x3d96de75
je 0x1400bf4b0
mov eax, 0x9bd26e6d
nop word cs:[rax + rax]
mov ecx, dword [0x141dd8198]
imul ecx, dword [0x141dd819c]
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xbcc60e10
imul ecx, ecx, 0xe6c3dbe
cmp ecx, 0x82f5de73
je 0x1400bf500
nop dword [rax]
mov eax, dword [0x141dd81a0]
and eax, dword [0x141dd81a4]
and eax, 0x40940050
xor eax, 0x537e1239
cmp eax, 0x4c5e347a
jb 0x1400bf530
jmp 0x1400bf1c0
mov eax, dword [0x141dd81b0]
and eax, dword [0x141dd81b4]
and eax, 0x40051408
add eax, 0x472dd9c3
ud2
ud2
ud2