Function at 0x140038bc0
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 r15, r8
mov r13, rdx
mov eax, dword [0x141dc51f0]
xor eax, dword [0x141dc51f4]
mov rsi, rcx
xor eax, 0x50283425
add eax, 0x8d5e842b
cmp eax, 0xd4422d09
ja 0x140038c3b
mov ecx, dword [0x141dc51f8]
or ecx, dword [0x141dc51fc]
xor ecx, 0x88004000
and ecx, 0x8890cc24
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r10, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x8bcefd68
jbe 0x140038c57
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
jmp 0x140038bfb
test r15, r15
js 0x140039541
mov eax, dword [0x141dc5200]
xor edx, edx
div dword [0x141dc5204]
imul eax, eax, 0xfc6ef49c
add eax, 0xf0c52bc5
cmp eax, 0xd6c19535
jb 0x140038c60
test r15, r15
mov qword [rbp], r10
mov qword [rbp - 8], rsi
je 0x140038c9c
xor eax, eax
test al, al
je 0x1400394ca
jmp 0x1400394f3
mov r12d, 1
mov qword [rdi], r15
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], 0
lea r11, [r15*2]
add r11, r13
xor esi, esi
mov ebx, 0x86ec679d
mov r14d, 0xa387f8f7
xor r15d, r15d
mov qword [rbp - 0x10], r11
cmp r13, r11
je 0x140039316
nop dword [rax]
mov eax, dword [0x141dc5220]
xor edx, edx
div dword [0x141dc5224]
mov eax, dword [0x141dc5228]
sub eax, dword [0x141dc522c]
or eax, 0x64ecc5cc
xor eax, 0x5bddcbe1
cmp eax, 0x896e07fd
ja 0x140038cee
lea rax, [r13 + 2]
movzx ecx, word [r13]
mov edx, ecx
and edx, 0xf800
cmp edx, 0xd800
jne 0x140038e50
test sil, sil
jne 0x140038d28
nop dword [rax]
mov edx, dword [0x141dc5240]
sub edx, dword [0x141dc5244]
xor edx, 0xe1881645
imul edx, edx, 0x926b7c4c
add edx, 0xad39acd0
cmp edx, 0xc02eee5f
ja 0x140038d30
cmp ecx, 0xdbff
ja 0x140039357
cmp rax, r11
je 0x140039357
movzx r8d, word [rax]
nop
mov eax, dword [0x141dc5248]
xor edx, edx
div dword [0x141dc524c]
add eax, 0xf327a6bc
or eax, 0x4c6bf81d
cmp eax, 0x908f3b6f
je 0x140038d70
lea eax, [r8 + 0x2000]
movzx eax, ax
cmp eax, 0xfc00
jb 0x140039357
add r13, 4
and ecx, 0x3ff
and r8d, 0x3ff
shl rcx, 0x1a
mov r9, rcx
movabs rax, 0x100000000
add r9, rax
mov rcx, r8
shl rcx, 0x10
mov eax, dword [0x141dc5250]
xor edx, edx
div dword [0x141dc5254]
nop
mov eax, dword [0x141dc5258]
sub eax, dword [0x141dc525c]
imul rax, rbx
shr rax, 0x3f
imul eax, eax, 0x551080e5
cmp eax, 0xb66d566b
je 0x140038de0
or rcx, r9
nop word cs:[rax + rax]
mov eax, dword [0x141dc5260]
xor eax, dword [0x141dc5264]
add eax, 0x42f5c03a
imul rax, r14
shr rax, 0x3f
imul eax, eax, 0xd59cb355
cmp eax, 0x24e351d2
je 0x140038e10
mov rbx, rcx
shr rbx, 0x10
cmp ebx, 0x80
jb 0x140038ebc
jmp 0x140039000
mov edx, dword [0x141dc5230]
sub edx, dword [0x141dc5234]
imul edx, edx, 0xf2cc1388
or edx, 0x37c60a9f
cmp edx, 0x14ceda7a
je 0x140038e50
shl rcx, 0x10
nop word cs:[rax + rax]
mov edx, dword [0x141dc5238]
sub edx, dword [0x141dc523c]
imul edx, edx, 0xc8d70831
xor edx, 0x80167216
and edx, 0xa417ff9e
cmp edx, 0xaff13564
je 0x140038e80
mov r13, rax
mov rbx, rcx
shr rbx, 0x10
cmp ebx, 0x80
jae 0x140039000
mov eax, dword [0x141dc52c0]
sub eax, dword [0x141dc52c4]
add eax, 0x4f419b8e
or eax, 0x11244a5f
cmp eax, 0xdcd64ab8
je 0x140038ebc
mov eax, dword [0x141dc52c8]
or eax, dword [0x141dc52cc]
add eax, 0xc4eead77
or eax, 0x8a9b2b24
cmp eax, 0x21a723cb
je 0x140038ed9
mov rax, qword [rdi]
nop dword [rax]
mov ecx, dword [0x141dc52d0]
and ecx, dword [0x141dc52d4]
xor ecx, 0x9370c50f
imul ecx, ecx, 0xfb36d88d
imul rcx, rcx, 0x40d6e4b7
shr rcx, 0x3d
cmp ecx, 0x7255c59b
ja 0x140038f00
cmp r15, rax
jne 0x140038f44
sub rsp, 0x20
mov rcx, rdi
call fcn.140038870
mov r11, qword [rbp - 0x10]
add rsp, 0x20
mov eax, dword [0x141dc52d8]
imul eax, dword [0x141dc52dc]
or eax, 0x5c772b74
add eax, 0xeaece7f
imul rax, rax, 0x6c5b4f9
shr rax, 0x3a
cmp eax, 0xf00bc4c3
ja 0x140038f44
mov r12, qword [rdi + 8]
mov eax, dword [0x141dc52e0]
or eax, dword [0x141dc52e4]
imul eax, eax, 0x3b72dea7
xor eax, 0xf81e064a
imul eax, eax, 0xe3aba9b7
cmp eax, 0xcbdaa624
jbe 0x140038fb0
mov byte [r12 + r15], bl
lea rax, [r15 + 1]
mov qword [rdi + 0x10], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc52e8]
or eax, dword [0x141dc52ec]
imul rcx, rax, 0x2ae7f03
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul ecx, eax, 0xb9d088a1
lea rax, [r15 + 1]
mov byte [r12 + r15], bl
mov qword [rdi + 0x10], rax
cmp ecx, 0x87e03055
je 0x140038fb0
mov r15, rax
mov ebx, 0x86ec679d
jmp 0x140039260
mov dword [r10], 0
cmp ebx, 0x800
mov qword [rbp - 0x18], r13
jae 0x140039080
nop word cs:[rax + rax]
mov eax, dword [0x141dc5290]
and eax, dword [0x141dc5294]
xor eax, 0x2880ce
or eax, 0xf4435e21
cmp eax, 0x9322f243
jb 0x140039020
shr rcx, 0x16
mov eax, dword [0x141dc5298]
imul eax, dword [0x141dc529c]
or eax, 0xd1da9be2
add eax, 0xc221e055
and eax, 0x901c947f
cmp eax, 0xd397b3f1
je 0x140039041
or cl, 0xc0
mov byte [r10], cl
mov r13d, 2
mov ecx, 1
jmp 0x1400391b2
mov eax, dword [0x141dc5270]
xor edx, edx
div dword [0x141dc5274]
imul eax, eax, 0x3de916c5
or eax, 0x244b5d20
imul eax, eax, 0xdd61b6ee
cmp eax, 0xbd2fa9e2
ja 0x140039080
cmp ebx, 0x10000
jae 0x1400390d7
mov rax, rcx
shr rax, 0x1c
or al, 0xe0
mov byte [r10], al
shr ecx, 0x16
and cl, 0x3f
or cl, 0x80
mov byte [r10 + 1], cl
mov r13d, 3
mov ecx, 2
jmp 0x1400391b2
mov eax, dword [0x141dc5278]
sub eax, dword [0x141dc527c]
xor eax, 0x2d22ba91
imul eax, eax, 0x447e9035
cmp eax, 0xba5e370c
je 0x14003914b
nop word cs:[rax + rax]
mov eax, dword [0x141dc5280]
add eax, dword [0x141dc5284]
mov edx, 0xda780e25
imul rax, rdx
shr rax, 0x3f
imul eax, eax, 0xd96b0a42
add eax, 0xf443d62a
mov rdx, rcx
shr rdx, 0x22
or dl, 0xf0
mov r8, rcx
shr r8, 0x1c
and r8b, 0x3f
or r8b, 0x80
mov byte [r10], dl
mov byte [r10 + 1], r8b
cmp eax, 0x468d649c
jae 0x140039170
mov rax, rcx
shr rax, 0x22
or al, 0xf0
mov byte [r10], al
mov rax, rcx
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [r10 + 1], al
jmp 0x140039100
mov eax, dword [0x141dc5288]
xor edx, edx
div dword [0x141dc528c]
xor eax, 0xeb329988
add eax, 0x6039e840
imul rax, rax, 0x2893243f
shr rax, 0x3a
cmp eax, 0x68c29d2e
je 0x140039170
shr ecx, 0x16
and cl, 0x3f
or cl, 0x80
mov byte [r10 + 2], cl
mov r13d, 4
mov ecx, 3
mov eax, dword [0x141dc52a0]
xor edx, edx
div dword [0x141dc52a4]
add eax, 0x936c4dbc
imul rax, rax, 0x1034d1c5
shr rax, 0x38
cmp eax, 0xcc829751
je 0x14003920c
nop word [rax + rax]
mov eax, dword [0x141dc52a8]
xor edx, edx
div dword [0x141dc52ac]
imul eax, eax, 0x490f13c1
add eax, 0xf01c4cee
mov edx, ebx
and dl, 0x3f
or dl, 0x80
mov byte [r10 + rcx], dl
cmp eax, 0xed5928d8
jbe 0x140039220
mov eax, ebx
and al, 0x3f
or al, 0x80
mov byte [r10 + rcx], al
jmp 0x1400391e0
mov rax, qword [rdi]
sub rax, r15
cmp rax, r13
jb 0x140039277
mov ebx, 0x86ec679d
lea rcx, [r12 + r15]
sub rsp, 0x20
mov rdx, r10
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add r15, r13
mov qword [rdi + 0x10], r15
mov r13, qword [rbp - 0x18]
mov r11, qword [rbp - 0x10]
nop word cs:[rax + rax]
test sil, sil
jne 0x140039260
mov r10, qword [rbp]
cmp r13, r11
jne 0x140038ce0
jmp 0x140039316
mov eax, dword [0x141dc52b0]
imul eax, dword [0x141dc52b4]
imul eax, eax, 0x7982a301
add eax, 0x4ae4ba9f
xor eax, 0x633f8ad1
cmp eax, 0xa4d5f6fb
mov ebx, 0x86ec679d
ja 0x1400392fe
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
mov r8, r13
call fcn.1400f3150
add rsp, 0x20
test sil, sil
jne 0x1400392fe
mov r15, qword [rdi + 0x10]
mov r10, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc52b8]
xor edx, edx
div dword [0x141dc52bc]
imul eax, eax, 0x9c15c401
xor eax, 0x80005886
and eax, 0x882c5886
cmp eax, 0x495801c
jb 0x1400392d0
mov r12, qword [rdi + 8]
jmp 0x140039230
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
mov r8, r13
call fcn.1400f3150
add rsp, 0x20
jmp 0x1400392a0
mov rax, qword [rdi + 0x10]
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
nop dword [rax + rax]
mov eax, dword [0x141dc5268]
and eax, dword [0x141dc526c]
and eax, 0xa7617f1a
xor eax, 0x66e8481e
add eax, 0xd58cb8fb
cmp eax, 0x89a68596
ja 0x140039330
jmp 0x1400394b9
movabs rax, 0x8000000000000000
xor ecx, ecx
test cl, cl
mov rdx, qword [rbp - 8]
je 0x140039370
mov qword [rdx], rax
nop
mov ecx, dword [0x141dc52f0]
sub ecx, dword [0x141dc52f4]
imul ecx, ecx, 0x12d325f8
add ecx, 0xfe701565
and ecx, 0xd97abcac
mov qword [rdx], rax
cmp ecx, 0x4114cc87
jb 0x140039370
cmp qword [rdi], 0
je 0x140039460
mov rsi, qword [0x141ddb9a0]
mov eax, dword [0x141dc52f8]
and eax, dword [0x141dc52fc]
and eax, 0x34cde948
add eax, 0x59c4d172
and eax, 0x3799530a
cmp eax, 0xf7d2459b
jne 0x1400393e2
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141dc5300]
and eax, dword [str._jr:Y]
and eax, 0xc32fd003
imul ebx, eax, 0x77a10286
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r12
call rdi
add rsp, 0x20
cmp ebx, 0x8546be61
je 0x1400393f0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5308]
sub eax, dword [0x141dc530c]
or eax, 0x2218e0d4
and eax, 0x361dedd5
xor eax, 0x8a389700
cmp eax, 0x6d306e64
jb 0x140039430
nop word cs:[rax + rax]
mov eax, dword [0x141dc5310]
xor eax, dword [0x141dc5314]
add eax, 0xe85cb6ba
or eax, 0xf4ae80d2
imul rax, rax, 0x3b28e61
shr rax, 0x38
cmp eax, 0x7bdc965d
ja 0x140039460
nop dword [rax + rax]
mov eax, dword [0x141dc5318]
and eax, dword [0x141dc531c]
imul rax, rax, 0x68be33ad
shr rax, 0x3b
imul eax, eax, 0xb0377b7e
and eax, 0x5fc73b22
cmp eax, 0xaaa97201
ja 0x140039490
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc5208]
and eax, dword [0x141dc520c]
add eax, 0xcc0f2eff
or eax, 0x41aa2da8
xor eax, 0x934e1ba3
movzx ecx, byte [0x141ddb9b8]
cmp eax, 0x48afd342
jae 0x1400394fc
movzx eax, byte [0x141ddb9b8]
jmp 0x1400394ca
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1400bf820
add rsp, 0x20
mov r12, rax
mov r10, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5210]
or eax, dword [0x141dc5214]
and eax, 0xc29b69d0
cmp eax, 0x21371f21
je 0x140039520
test r12, r12
jne 0x140038ca2
xor eax, eax
test al, al
je 0x140039550
ud2
mov eax, dword [0x141dc5218]
or eax, dword [0x141dc521c]
xor eax, 0x130d7ee3
add eax, 0x3bc5eaba
ud2