Function at 0x1400388c0
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, 0x28
lea rbp, [rsp + 0x20]
mov rsi, r8
mov r15, rdx
mov rdi, rcx
mov eax, dword [0x141dc2188]
xor eax, dword [0x141dc218c]
xor eax, 0xc004a11
or eax, 0xf3efb546
add eax, 0x56f1a5d4
cmp eax, 0xadd3761c
ja 0x140038941
mov ecx, dword [0x141dc2190]
imul ecx, dword [0x141dc2194]
and ecx, 0xc0c737ba
add ecx, 0xdb9101c1
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r10, rsp
cmp ecx, 0x85c0ffb9
jae 0x14003895d
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
jmp 0x140038900
xor eax, eax
nop
test al, al
jne 0x140038960
test rsi, rsi
js 0x1400391d9
nop dword [rax]
mov eax, dword [0x141dc2198]
add eax, dword [0x141dc219c]
imul eax, eax, 0xfe5bb7e5
cmp eax, 0xbd409bc3
je 0x140038970
nop dword [rax]
mov eax, dword [0x141dc21a0]
add eax, dword [0x141dc21a4]
xor eax, 0xa080
and eax, 0x201b7ad
add eax, 0x86237ac4
cmp eax, 0x8b8c92cd
ja 0x140038990
test rsi, rsi
mov qword [rbp], r10
mov qword [rbp - 0x10], rdi
je 0x140038ac6
mov eax, dword [0x141dc21a8]
xor eax, dword [0x141dc21ac]
or eax, 0x2e18e52c
imul rax, rax, 0xdf5a93f
shr rax, 0x3a
or eax, 0x33349f85
cmp eax, 0xce391ed4
jne 0x140038a00
movzx eax, byte [0x141dd7ff8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc21b0]
xor edx, edx
div dword [0x141dc21b4]
xor eax, 0xe983ca2
imul eax, eax, 0xb919d410
movzx ecx, byte [0x141dd7ff8]
cmp eax, 0x7212c84c
jb 0x140038a00
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
call fcn.1400beea0
add rsp, 0x20
mov rcx, rax
mov r10, qword [rbp]
mov eax, dword [0x141dc21b8]
xor edx, edx
div dword [str.RL_W]
add eax, 0x6f4eec51
xor eax, 0xd15b970f
add eax, 0xaf8e9874
cmp eax, 0xeae6cd6a
ja 0x140038a40
test rcx, rcx
je 0x1400391d9
nop dword [rax]
mov eax, dword [0x141dc21c0]
add eax, dword [0x141dc21c4]
and eax, 0x243c5e4a
add eax, 0x696c7a98
and eax, 0x6540a002
cmp eax, 0x469761a
jb 0x140038a70
nop word cs:[rax + rax]
mov eax, dword [0x141dc21c8]
xor edx, edx
div dword [0x141dc21cc]
and eax, 0x2b48f7ae
xor eax, 0xa35f81dd
add eax, 0xc1884cd6
cmp eax, 0x3b609e3d
jb 0x140038aa0
jmp 0x140038acb
mov ecx, 1
mov qword [r10], rsi
mov qword [rbp - 8], rcx
mov qword [r10 + 8], rcx
mov qword [r10 + 0x10], 0
lea r13, [r15 + rsi*2]
xor esi, esi
mov r14d, 0xacc26893
xor r11d, r11d
mov qword [rbp - 0x18], rbx
nop word cs:[rax + rax]
mov eax, dword [0x141dc21e0]
xor edx, edx
div dword [0x141dc21e4]
nop
mov eax, dword [0x141dc21e8]
xor edx, edx
div dword [0x141dc21ec]
xor eax, 0x58ba0ca0
add eax, 0x41e6afba
cmp eax, 0x37e99afc
jb 0x140038b10
cmp r15, r13
je 0x1400390dd
mov eax, dword [0x141dc21f0]
xor eax, dword [0x141dc21f4]
xor eax, 0xc0010840
and eax, 0xcae12aec
imul rax, rax, 0x7e0df215
shr rax, 0x3e
cmp eax, 0xd8193fdd
ja 0x140038b38
lea r12, [r15 + 2]
movzx ecx, word [r15]
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
jne 0x140038da0
nop word [rax + rax]
cmp r12, r13
sete r8b
cmp ecx, 0xdc00
setae r9b
mov eax, dword [0x141dc2208]
xor edx, edx
div dword [0x141dc220c]
and eax, 0x5e8a5cba
add eax, 0xef013c48
xor eax, 0xb7eba9b0
cmp eax, 0x1c17cd7d
jb 0x140038b80
or r9b, r8b
jne 0x140039193
nop
mov eax, dword [0x141dc2210]
and eax, dword [0x141dc2214]
imul eax, eax, 0x1cc54624
add eax, 0xaf9eb2c6
cmp eax, 0xa999996c
ja 0x140038bc0
movzx eax, word [r12]
mov edx, dword [0x141dc2218]
add edx, dword [0x141dc221c]
and edx, 0xed6f91c3
mov r8d, 0x9431a54d
imul rdx, r8
shr rdx, 0x3e
cmp edx, 0x668e0aa3
je 0x140038be3
mov edx, eax
add edx, 0x2000
movzx edx, dx
cmp edx, 0xfc00
jb 0x140039193
add r15, 4
mov edx, dword [0x141dc2220]
add edx, dword [0x141dc2224]
and edx, 0x8213bc4c
imul rdx, rdx, 0x47da803
shr rdx, 0x39
add edx, 0x6f819793
cmp edx, 0x5bcabedb
jb 0x140038c26
and ecx, 0x3ff
and eax, 0x3ff
shl rcx, 0x1a
shl rax, 0x10
or rax, rcx
movabs rcx, 0x100000000
add rax, rcx
mov r12, r15
mov rcx, rax
mov rdi, rcx
shr rdi, 0x10
cmp edi, 0x80
jb 0x140038de5
mov dword [rbx], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dc2240]
sub eax, dword [0x141dc2244]
imul eax, eax, 0xf745b9a2
or eax, 0xf4f9e085
imul rax, r14
shr rax, 0x3f
cmp eax, 0xb5c871e6
je 0x140038ca0
cmp edi, 0x800
jae 0x140038d20
shr ecx, 0x16
or cl, 0xc0
mov byte [rbx], cl
nop word cs:[rax + rax]
mov eax, dword [0x141dc2278]
add eax, dword [0x141dc227c]
or eax, 0x942541d8
imul eax, eax, 0x350d30eb
imul rax, rax, 0x465243af
shr rax, 0x3d
cmp eax, 0xf68aec2c
je 0x140038ce0
mov r15d, 2
mov eax, 1
jmp 0x140038ee8
mov eax, dword [0x141dc2248]
imul eax, dword [0x141dc224c]
imul eax, eax, 0xaad019e8
add eax, 0x33f81ab0
or eax, 0xd74c51a4
cmp eax, 0x87bf974c
jb 0x140038d20
cmp edi, 0x10000
jae 0x140038e1d
mov eax, dword [0x141dc2260]
xor eax, dword [0x141dc2264]
cmp eax, 0xff1bfc92
je 0x140038d50
mov rax, rcx
shr rax, 0x1c
mov edx, dword [0x141dc2268]
and edx, dword [0x141dc226c]
or edx, 0x102002
xor edx, 0x200000c4
and edx, 0x20102cc6
cmp edx, 0xbdad2789
jbe 0x140038ea0
jmp 0x140038f30
mov eax, dword [0x141dc21f8]
xor edx, edx
div dword [0x141dc21fc]
mov eax, dword [0x141dc2200]
xor edx, edx
div dword [0x141dc2204]
imul eax, eax, 0x966dba32
add eax, 0xd151573f
cmp eax, 0xecf3b953
jae 0x140038dae
shl rcx, 0x10
mov rdi, rcx
shr rdi, 0x10
cmp edi, 0x80
jae 0x140038c8d
mov rbx, r11
cmp r11, qword [r10]
jne 0x140039050
mov eax, dword [0x141dc2290]
and eax, dword [0x141dc2294]
or eax, 0x37a2e8c5
imul eax, eax, 0x58978a10
add eax, 0xeef90b55
cmp eax, 0xa2d948f2
jae 0x140039000
jmp 0x140039039
mov rax, rcx
shr rax, 0x22
or al, 0xf0
mov byte [rbx], al
mov rax, rcx
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
mov eax, dword [0x141dc2250]
xor edx, edx
div dword [0x141dc2254]
and eax, 0xcea52462
cmp eax, 0x5298d13b
jne 0x140038e60
mov eax, ecx
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rbx + 2], al
nop dword [rax]
mov eax, dword [0x141dc2258]
xor edx, edx
div dword [0x141dc225c]
or eax, 0xb40c5558
xor eax, 0x785cb1a8
mov edx, ecx
shr edx, 0x16
and dl, 0x3f
or dl, 0x80
mov byte [rbx + 2], dl
cmp eax, 0xd60a94ff
ja 0x140038e60
mov r15d, 4
mov eax, 3
jmp 0x140038ee8
mov edx, dword [0x141dc2270]
xor edx, dword [0x141dc2274]
imul edx, edx, 0x22825891
xor edx, 0x2da641e5
mov r8d, eax
or r8b, 0xe0
mov r9d, ecx
shr r9d, 0x16
and r9b, 0x3f
or r9b, 0x80
mov byte [rbx], r8b
mov byte [rbx + 1], r9b
cmp edx, 0xdd97a4aa
jae 0x140038f30
mov r15d, 3
mov eax, 2
and dil, 0x3f
or dil, 0x80
mov byte [rbx + rax], dil
mov rax, qword [r10]
sub rax, r11
cmp rax, r15
jb 0x140038f4a
mov rax, qword [rbp - 8]
lea rcx, [rax + r11]
sub rsp, 0x20
mov rdx, rbx
mov r8, r15
mov rdi, r11
call sub.VCRUNTIME140.dll_memcpy
mov r11, rdi
add rsp, 0x20
add r11, r15
mov r10, qword [rbp]
mov qword [r10 + 0x10], r11
jmp 0x1400390d0
mov edx, eax
or dl, 0xe0
mov byte [rbx], dl
mov edx, ecx
shr edx, 0x16
and dl, 0x3f
or dl, 0x80
mov byte [rbx + 1], dl
jmp 0x140038ea0
mov eax, dword [0x141dc2280]
and eax, dword [0x141dc2284]
add eax, 0x516613cb
xor eax, 0x3d04c8c0
imul rcx, rax, 0x2531bd21
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
cmp eax, 0xa2033983
ja 0x140038fd7
mov edi, dword [0x141dc2288]
sub edi, dword [0x141dc228c]
xor edi, 0x2d11c808
mov eax, 0xa8f279cf
imul rdi, rax
shr rdi, 0x3f
sub rsp, 0x20
mov rcx, r10
mov rdx, r11
mov r8, r15
mov rbx, r11
call fcn.1400f0de0
mov r11, rbx
mov r10, qword [rbp]
add rsp, 0x20
cmp edi, 0x1cba0937
je 0x140038fd7
mov rax, qword [r10 + 8]
mov qword [rbp - 8], rax
mov r11, qword [r10 + 0x10]
mov rbx, qword [rbp - 0x18]
jmp 0x140038eff
sub rsp, 0x20
mov rcx, r10
mov rdx, r11
mov r8, r15
mov rdi, r11
call fcn.1400f0de0
mov r11, rdi
mov r10, qword [rbp]
add rsp, 0x20
jmp 0x140038f7b
mov r15d, dword [0x141dc2298]
add r15d, dword [0x141dc229c]
and r15d, 0x284c2830
xor r15d, 0x7bc1c57e
sub rsp, 0x20
mov rcx, r10
call fcn.140038630
mov r10, qword [rbp]
add rsp, 0x20
cmp r15d, 0xafa0ac1f
jbe 0x140039050
sub rsp, 0x20
mov rcx, r10
call fcn.140038630
mov r10, qword [rbp]
add rsp, 0x20
jmp 0x140039000
mov eax, dword [0x141dc22a0]
imul eax, dword [0x141dc22a4]
xor eax, 0xc4300ad7
add eax, 0xfbb3132d
cmp eax, 0x7fd77773
ja 0x140039050
mov rax, qword [r10 + 8]
mov qword [rbp - 8], rax
mov r11, rbx
mov byte [rax + rbx], dil
inc r11
mov qword [r10 + 0x10], r11
nop word cs:[rax + rax]
mov eax, dword [0x141dc22a8]
xor edx, edx
div dword [0x141dc22ac]
imul rax, rax, 0x3a11b76d
shr rax, 0x3b
add eax, 0xaf9d285d
imul rcx, rax, 0x1bee2a5f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
cmp eax, 0x3dc0d3f3
ja 0x140039090
mov rbx, qword [rbp - 0x18]
nop dword [rax]
test sil, sil
jne 0x1400390d0
mov r15, r12
jmp 0x140038b00
xor eax, eax
test al, al
mov rcx, qword [rbp - 0x10]
je 0x140039100
mov rax, qword [r10 + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r10]
movups xmmword [rcx], xmm0
nop word cs:[rax + rax]
mov rax, qword [r10 + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [0x141dc2228]
and eax, dword [0x141dc222c]
imul eax, eax, 0xd6c46673
add eax, 0xa5369a66
movups xmm0, xmmword [r10]
movups xmmword [rcx], xmm0
cmp eax, 0x65608493
ja 0x140039100
mov eax, 0xda570e1b
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2230]
xor ecx, dword [0x141dc2234]
add ecx, 0xe3e46e36
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xd60680e9
ja 0x140039140
nop word cs:[rax + rax]
mov eax, dword [0x141dc2238]
imul eax, dword [0x141dc223c]
or eax, 0xa46e8047
add eax, 0x8dac5667
cmp eax, 0x81f47e50
ja 0x140039170
jmp 0x14003924a
movabs rax, 0x8000000000000000
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
cmp qword [r10], 0
je 0x1400392d0
mov eax, dword [0x141dc22b0]
sub eax, dword [0x141dc22b4]
add eax, 0x3648472f
and eax, 0xe6d92f2
add eax, 0x33119165
cmp eax, 0x3161bd03
jae 0x14003925b
jmp 0x140039281
xor eax, eax
test al, al
je 0x1400391f0
ud2
mov eax, dword [0x141dc21d0]
and eax, dword [0x141dc21d4]
imul eax, eax, 0xf489eb20
add eax, 0x8153b2c0
or eax, 0x412dd857
ud2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc22b8]
xor edx, edx
div dword [0x141dc22bc]
add eax, 0x5863806f
and eax, 0xa5ff1f0
mov rcx, qword [0x141dd7fe0]
cmp eax, 0x7faba1d
jae 0x14003928a
mov rax, qword [0x141dd7fe0]
jmp 0x14003925b
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop
mov eax, dword [0x141dc22c0]
and eax, dword [0x141dc22c4]
or eax, 0x2535f859
add eax, 0x9b490a65
and eax, 0xd36308e8
cmp eax, 0xacde8089
je 0x1400392a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc22c8]
and eax, dword [0x141dc22cc]
and eax, 0x69000225
add eax, 0x519b0a7e
cmp eax, 0xb8c7c5d6
ja 0x1400392d0
nop dword [rax]
mov eax, dword [0x141dc22d0]
xor eax, dword [0x141dc22d4]
imul eax, eax, 0x42442b30
add eax, 0xdcb65b20
xor eax, 0xf90b93c
cmp eax, 0xba2d9946
jbe 0x1400392f0
jmp 0x14003924a