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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r15, qword [rcx + 8]
nop dword [rax]
mov eax, dword [0x141dd0078]
xor edx, edx
div dword [0x141dd007c]
imul eax, eax, 0x3d465eed
and eax, 0x7962651e
add eax, 0x88b3a835
cmp eax, 0x7d1b34c5
jb 0x1400917b0
mov r14, qword [rsi + 0x10]
xor ebp, ebp
mov eax, 0
cmp r14, 3
jb 0x1400918ee
movzx ecx, byte [r15 + r14 - 2]
mov eax, dword [0x141dd0080]
xor edx, edx
div dword [0x141dd0084]
nop
mov eax, dword [0x141dd0088]
xor edx, edx
div dword [0x141dd008c]
imul eax, eax, 0x39ccbd83
or eax, 0x3aa4001d
and eax, 0x3ba4209f
cmp eax, 0xecd5206f
je 0x140091800
mov edx, ecx
and dl, 0xf0
xor ebp, ebp
mov eax, 0
cmp dl, 0xa0
jne 0x1400918ee
movzx edx, byte [r14 + r15 - 3]
mov eax, dword [0x141dd0090]
xor eax, dword [0x141dd0094]
and eax, 0x1399b73
imul eax, eax, 0x63cedc5c
cmp eax, 0x912cb975
je 0x140091840
mov eax, 0xb49f996f
nop word cs:[rax + rax]
mov r8d, dword [0x141dd0098]
sub r8d, dword [0x141dd009c]
or r8d, 0x7abd4c4d
imul r8, rax
shr r8, 0x3e
add r8d, 0xf0b823db
cmp r8d, 0x1b6e7b41
jb 0x140091870
xor ebp, ebp
mov eax, 0
cmp dl, 0xed
jne 0x1400918ee
mov eax, 0x9acc4875
nop
mov edx, dword [0x141dd00a0]
or edx, dword [0x141dd00a4]
imul edx, edx, 0x24e9e978
imul rdx, rax
shr rdx, 0x3d
add edx, 0x3af63d5f
cmp edx, 0xa48643d9
ja 0x1400918b0
movzx ebp, byte [r15 + r14 - 1]
and ecx, 0x1f
and ebp, 0x3f
shl ecx, 0x10
shl ebp, 0xa
or ebp, ecx
mov al, 1
cmp rdi, 3
jb 0x140091bb0
nop dword [rax + rax]
mov ecx, dword [0x141dd00a8]
and ecx, dword [0x141dd00ac]
and ecx, 0x3004a420
add ecx, 0x58990d70
cmp ecx, 0x90f9854d
ja 0x140091900
movzx ecx, byte [rbx]
nop word cs:[rax + rax]
mov edx, dword [0x141dd00b0]
imul edx, dword [0x141dd00b4]
add edx, 0x99845660
or edx, 0x40d9a8bf
imul edx, edx, 0x33e53e4e
cmp edx, 0x592e9748
je 0x140091930
cmp cl, 0xed
jne 0x140091bfb
mov ecx, dword [0x141dd00b8]
add ecx, dword [0x141dd00bc]
imul ecx, ecx, 0x84811654
and ecx, 0x75bbc070
imul rcx, rcx, 0x3627a865
shr rcx, 0x3c
cmp ecx, 0x2f4724b8
ja 0x140091960
movzx r12d, byte [rbx + 1]
mov ecx, r12d
and cl, 0xf0
nop word cs:[rax + rax]
mov edx, dword [0x141dd00c0]
imul edx, dword [0x141dd00c4]
imul edx, edx, 0xbe9a082f
add edx, 0xbcf7cd07
cmp edx, 0xd00c3153
ja 0x1400919a0
cmp cl, 0xb0
jne 0x140091bfb
nop word [rax + rax]
mov ecx, dword [0x141dd00c8]
or ecx, dword [0x141dd00cc]
cmp ecx, 0xf9b8f741
je 0x1400919d0
movzx r13d, byte [rbx + 2]
and r12d, 0x1f
shl r12d, 6
and r13d, 0x3f
nop word cs:[rax + rax]
mov ecx, dword [0x141dd00d0]
or ecx, dword [0x141dd00d4]
xor ecx, 0x146431ff
add ecx, 0x2e694a43
or ecx, 0x5d2543ce
cmp ecx, 0x21fa0389
jb 0x140091a00
test al, al
je 0x140091bfb
nop
mov eax, dword [0x141dd00d8]
imul eax, dword [0x141dd00dc]
xor eax, 0xeba94f28
imul eax, eax, 0x6df7ec87
imul rcx, rax, 0x3bb9efd1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x6f7bd3f1
je 0x140091a30
nop word cs:[rax + rax]
mov eax, dword [0x141dd00e0]
imul eax, dword [0x141dd00e4]
and eax, 0x33bd9573
imul eax, eax, 0x1f229bd
and eax, 0x3e32f727
cmp eax, 0xb0625d30
je 0x140091a70
cmp r14, 3
jb 0x140091b00
add r14, 0xfffffffffffffffd
mov eax, dword [0x141dd00e8]
or eax, dword [0x141dd00ec]
add eax, 0x8b6795b3
mov ecx, 0x9ef3970d
imul rcx, rax
shr rcx, 0x3c
imul eax, ecx, 0x939862
cmp eax, 0xe2f8fe98
jne 0x140091ad0
mov qword [rsi + 0x10], r14
nop dword [rax]
mov eax, dword [0x141dd00f0]
xor eax, dword [0x141dd00f4]
add eax, 0xabd0015a
imul rcx, rax, 0x62b0f71b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
mov qword [rsi + 0x10], r14
cmp eax, 0x1cc45120
je 0x140091ad0
lea r8, [rdi + 1]
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
cmp r8, rcx
ja 0x14009205a
add r12d, 0xfc00
and r12d, 0xffc0
or r12d, ebp
or r13d, r12d
lea r15d, [r13 + 0x10000]
mov ebp, r15d
shr ebp, 0x12
and ebp, 7
cmp rcx, 3
jbe 0x140092086
add rbx, 3
mov rcx, qword [rsi + 8]
and r13d, 0x3f
shl r13d, 0x18
shl r12d, 0xa
and r12d, 0x3f0000
or r12d, r13d
shr r15d, 4
and r15d, 0x3f00
or r15d, r12d
lea edx, [r15 + rbp]
add edx, 0x808080f0
mov dword [rcx + r14], edx
add r14, 4
mov qword [rsi + 0x10], r14
add rdi, 0xfffffffffffffffd
sub rax, r14
cmp rax, rdi
jb 0x140092109
add rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400921f9
mov eax, dword [0x141dd00f8]
add eax, dword [0x141dd00fc]
imul eax, eax, 0x9fd9d560
cmp eax, 0x1e627ebb
je 0x140091bb0
nop dword [rax]
mov eax, dword [0x141dd0100]
sub eax, dword [0x141dd0104]
add eax, 0xac854996
or eax, 0x911d422e
add eax, 0x37cc7ed3
cmp eax, 0x1f4b1931
jb 0x140091bd0
test rdi, rdi
je 0x140091efd
lea rcx, [rbx + rdi]
mov r8d, 0xc56ed1ad
mov r9d, 0xa9a940c3
mov r10, rbx
nop
mov eax, dword [0x141dd0108]
and eax, dword [0x141dd010c]
add eax, 0x6c76f80e
imul rax, rax, 0x174080c9
shr rax, 0x3c
or eax, 0x38503676
cmp eax, 0xa927e38e
ja 0x140091c10
lea r11, [r10 + 1]
movzx ebp, byte [r10]
test bpl, bpl
js 0x140091c50
mov r10, r11
jmp 0x140091ed0
mov eax, dword [0x141dd0110]
and eax, dword [0x141dd0114]
imul eax, eax, 0x6a4683b0
add eax, 0xc8065cb4
cmp eax, 0x58681d62
jb 0x140091c50
nop
mov eax, dword [0x141dd0118]
sub eax, dword [0x141dd011c]
imul rax, r8
shr rax, 0x3f
add eax, 0xf50a34db
cmp eax, 0x36a277e4
jb 0x140091c70
cmp bpl, 0xe0
jae 0x140091d2c
mov eax, dword [0x141dd0130]
or eax, dword [0x141dd0134]
and eax, 0x40aea57d
xor eax, 0x20a6d6fc
add eax, 0x38f2e1d9
cmp eax, 0xc0007b70
ja 0x140091c9a
mov eax, dword [0x141dd0138]
xor edx, edx
div dword [0x141dd013c]
mov eax, dword [0x141dd0140]
and eax, dword [0x141dd0144]
add eax, 0xa426a3ee
or eax, 0xa33e00c
imul eax, eax, 0xcf80de85
lea r12, [r10 + 2]
cmp r11, rcx
cmove r12, r11
cmp eax, 0x37c8a616
je 0x140091cca
nop dword [rax + rax]
mov eax, dword [0x141dd0148]
xor edx, edx
div dword [0x141dd014c]
and eax, 0x56aa490
add eax, 0xef3e5b8
and eax, 0xa9d2b08
cmp eax, 0xdb2c0f3d
ja 0x140091d00
mov r10, r12
jmp 0x140091ed0
mov eax, dword [0x141dd0120]
xor edx, edx
div dword [0x141dd0124]
mov eax, dword [0x141dd0128]
xor eax, dword [0x141dd012c]
add eax, 0x88d58e20
xor eax, 0xd0bf7c9
add eax, 0x8f3e1b4e
cmp eax, 0xf842ce4f
ja 0x140091d3a
cmp bpl, 0xed
jne 0x140091de9
cmp r11, rcx
je 0x140091efd
lea rax, [r10 + 2]
cmp rax, rcx
je 0x140091efd
add r10, 3
mov eax, dword [0x141dd0160]
xor eax, dword [0x141dd0164]
and eax, 0x1c2ad8c4
xor eax, 0xd7fe5ad2
imul rdx, rax, 0x18d33925
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x43e16fe3
ja 0x140091d80
movzx r11d, byte [r11]
mov eax, dword [0x141dd0168]
xor edx, edx
div dword [0x141dd016c]
or eax, 0xee0c4dc5
imul eax, eax, 0xd65a111
add eax, 0xa6fe4f57
cmp eax, 0xed45768c
ja 0x140091db5
cmp r11b, 0x9f
jbe 0x140091ed0
jmp 0x140092012
add r10, 2
cmp r11, rcx
cmove r10, r11
xor eax, eax
cmp r10, rcx
setne dl
mov r11d, dword [0x141dd0150]
sub r11d, dword [0x141dd0154]
and r11d, 0x40467fa0
add r11d, 0x8cc0afb2
xor r11d, 0xdb0ba2ba
cmp r11d, 0xc4823891
ja 0x140091df4
mov al, dl
nop word [rax + rax]
mov edx, dword [0x141dd0158]
and edx, dword [0x141dd015c]
imul rdx, rdx, 0x7e481611
shr rdx, 0x3e
imul edx, edx, 0x745cc4fd
cmp edx, 0x5be53814
je 0x140091e30
add r10, rax
cmp bpl, 0xf0
jb 0x140091ed0
xor eax, eax
cmp r10, rcx
setne al
nop word cs:[rax + rax]
mov edx, dword [0x141dd0170]
imul edx, dword [0x141dd0174]
imul rdx, r9
shr rdx, 0x3f
imul edx, edx, 0x54e71b7a
imul rdx, rdx, 0x3d88fdbb
shr rdx, 0x3c
cmp edx, 0xb6d47e62
ja 0x140091e70
add r10, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd0178]
and eax, dword [0x141dd017c]
imul eax, eax, 0x49c602f2
cmp eax, 0xb30aec0c
je 0x140091eb0
nop dword [rax]
mov eax, dword [0x141dd0180]
xor edx, edx
div dword [0x141dd0184]
and eax, 0x200c0c0c
or eax, 0xc753d2b2
xor eax, 0x6ef18535
cmp eax, 0x6767a1f4
jb 0x140091ed0
cmp r10, rcx
jne 0x140091c10
mov eax, dword [0x141dd01c8]
xor edx, edx
div dword [0x141dd01cc]
nop dword [rax + rax]
mov eax, dword [0x141dd01d0]
or eax, dword [0x141dd01d4]
shr eax, 2
imul rax, rax, 0x4523b179
shr rax, 0x3b
add eax, 0x61c71795
and eax, 0x45158f
cmp eax, 0xe167d1a9
ja 0x140091f10
mov rax, qword [rsi]
sub rax, r14
cmp rax, rdi
jae 0x140091ff0
mov eax, dword [0x141dd01d8]
xor edx, edx
div dword [0x141dd01dc]
imul eax, eax, 0x3168e508
add eax, 0x7cb78b54
or eax, 0xfa1aae53
cmp eax, 0xff0ed31c
ja 0x140092038
mov eax, dword [0x141dd01e0]
mov ecx, dword [0x141dd01e4]
lea ebp, [rax + rcx]
add ebp, 0xfdef9e41
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fd630
cmp ebp, 0x10b9fa22
jb 0x140091f73
mov eax, 0x92446edf
nop word cs:[rax + rax]
mov ecx, dword [0x141dd01e8]
xor ecx, dword [0x141dd01ec]
add ecx, 0xc7673cbb
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x86062bcd
cmp ecx, 0xa945c179
ja 0x140091fc0
mov r15, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
mov eax, dword [0x141dd01f0]
and eax, dword [0x141dd01f4]
imul eax, eax, 0x1b3aeb25
cmp eax, 0x67182c25
jne 0x1400921d3
jmp 0x1400921e8
mov eax, dword [0x141dd01b0]
xor eax, dword [0x141dd01b4]
or eax, 0x8f21a000
and eax, 0xef25a8a4
cmp eax, 0xda3e704
jae 0x14009217a
jmp 0x1400921a4
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fd630
jmp 0x140091f73
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400fd630
mov rax, qword [rsi]
mov r14, qword [rsi + 0x10]
mov rcx, rax
sub rcx, r14
jmp 0x140091b16
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400fd630
mov eax, dword [0x141dd0188]
xor edx, edx
div dword [0x141dd018c]
mov eax, dword [0x141dd0190]
sub eax, dword [0x141dd0194]
imul eax, eax, 0x8f4fa550
add eax, 0x73f159a7
cmp eax, 0x825d36d4
ja 0x1400920b4
mov rax, qword [rsi]
mov r14, qword [rsi + 0x10]
mov ecx, dword [0x141dd0198]
xor ecx, dword [0x141dd019c]
imul rcx, rcx, 0x70ed3fab
shr rcx, 0x3e
xor ecx, 0x54ce7b0f
add ecx, 0x43bfba98
cmp ecx, 0xebeea888
ja 0x1400920d9
jmp 0x140091b44
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fd630
mov eax, dword [0x141dd01a0]
and eax, dword [0x141dd01a4]
imul eax, eax, 0x9ecbe57e
add eax, 0x189863a0
and eax, 0xe77fdb40
cmp eax, 0xb32eed43
jb 0x140092126
mov rcx, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
mov eax, dword [0x141dd01a8]
mov edx, dword [0x141dd01ac]
add eax, edx
add eax, 0x9cfc2925
xor eax, 0xa1080320
or eax, 0x56f1dc50
cmp eax, 0xd4d299c2
je 0x140092151
jmp 0x140091b96
mov eax, dword [0x141dd01b8]
and eax, dword [0x141dd01bc]
add eax, 0x697a8432
mov ecx, 0x85d80d05
imul rcx, rax
shr rcx, 0x3f
mov byte [rsi + 0x18], 0
cmp ecx, 0x1c568526
jbe 0x1400921b0
mov byte [rsi + 0x18], 0
jmp 0x14009217a
mov eax, dword [0x141dd01c0]
xor eax, dword [0x141dd01c4]
and eax, 0xe3db2e1
imul eax, eax, 0x24eb2144
cmp eax, 0xd366e3f1
je 0x1400921b0
jmp 0x140091efd
lea rcx, [r15 + r14]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
test al, al
je 0x1400921f9
lea rcx, [r15 + r14]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400921d3
add r14, rdi
mov qword [rsi + 0x10], r14
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret