Function at 0x1800501e0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe8
mov r13d, dword [rbp + 0x7f]
mov r15, r9
imul r14d, r13d, 0x15f
mov r9, r8
mov r8, rdx
mov r12, rcx
mov rdx, qword [rbp - 0x59]
mov esi, r13d
movabs r10, 0xaaaaaaaaaaaaaaab
mov qword [rbp - 0x71], rdx
cmp r13d, r14d
ja 0x180050701
mov rax, qword [rbp - 0x59]
mov rdi, qword [rbp - 0x11]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x59]
mov qword [rsp + 0x38], rax
nop word [rax + rax]
cmp esi, 0xf34
ja 0x1800504c0
je 0x18005043c
cmp esi, 0x97
ja 0x180050404
je 0x1800503d4
mov eax, esi
sub eax, 0x3f
je 0x180050301
sub eax, 0x1a
je 0x1800502d6
cmp eax, 0x32
jne 0x1800503a4
xor r10d, r10d
cmp dword [r8], 1
mov qword [rsp + 0x30], r10
jge 0x1800503a9
mov ecx, 0x17
xor r8d, r8d
mov eax, ecx
sub eax, 0x16
je case.0x180050774.63
cmp eax, 1
jne 0x1800502c7
mov qword [rbp - 0x69], r8
dec ecx
cmp ecx, 0x15
ja 0x1800502b3
mov r10, r8
jmp 0x1800503a9
mov rcx, qword [r15 + 0x10]
mov rax, r10
mov r10, qword [rsp + 0x30]
add rcx, 2
mul rcx
mov r11, rdx
mov rdx, qword [rbp - 0x71]
shr r11, 1
shl r11, 2
mov qword [rsp + 0x38], r11
jmp 0x1800503ae
mov rdx, qword [r15]
mov r10, qword [rdx + 0x20]
test r10, r10
jne 0x180050332
mov ecx, 0x3c
mov eax, ecx
sub eax, 0x3c
je 0x180050324
cmp eax, 1
je case.0x180050774.63
jmp 0x18005032b
mov dword [rbp - 0x69], 0xffffffff
inc ecx
cmp ecx, 0x3e
jb 0x180050312
mov r11d, dword [rdx + 0x18]
xor r9d, r9d
test r11d, r11d
jle 0x1800503a0
nop
mov r8, qword [r10]
mov rax, r12
sub r8, r12
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180050363
inc rax
test ecx, ecx
jne 0x180050350
test edx, edx
jne 0x180050394
mov eax, 0xdd
nop dword [rax]
cmp eax, 0xdd
je 0x180050384
cmp eax, 0x2f7b
je case.0x180050774.63
jmp 0x180050388
mov dword [rbp - 0x69], r9d
add eax, 0x2e9e
cmp eax, 0x5d3c
jbe 0x180050370
inc r9d
add r10, 8
cmp r9d, r11d
jl 0x180050340
mov rdx, qword [rbp - 0x71]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r9, qword [rbp + 0x6f]
mov r8, qword [rbp + 0x67]
imul eax, r13d, 0x1b
add esi, eax
cmp esi, r14d
ja 0x180050713
movabs r10, 0xaaaaaaaaaaaaaaab
jmp 0x180050260
cmp qword [r15], 0
je 0x180050691
test r12, r12
je 0x180050691
test r9, r9
je 0x180050691
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, rax
mov qword [rbp - 0x71], rax
jmp 0x1800503a4
cmp esi, 0xf0
je 0x180050427
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
cmp esi, 0x6e4
jne 0x1800503ae
mov dword [rbp - 0x69], 0xffffffff
jmp 0x1800503ae
mov rax, qword [r15]
test rax, rax
je case.0x180050774.63
mov rdi, qword [rax + 0x10]
jmp 0x1800503a4
test r15, r15
je 0x180050452
test r12, r12
je 0x180050452
mov eax, dword [r8]
cmp dword [r9], eax
jge 0x1800503a4
mov ebx, 0x8d
mov eax, ebx
sub eax, 0x8d
je 0x18005046b
cmp eax, 0x53
je case.0x180050774.63
jmp 0x1800504b0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 1
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [0x180092c27]
mov dword [rsp + 0x40], 0x16
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0
mov ecx, 0xe3
call fcn.18000a640
mov qword [rbp - 0x69], 0
add ebx, 0x53
cmp ebx, 0x133
jb 0x180050457
jmp 0x1800503a0
cmp esi, 0x2071
ja 0x1800505c9
je 0x1800505b8
cmp esi, 0x1084
je 0x1800505a7
cmp esi, 0x1a40
je 0x180050597
cmp esi, 0x1ddd
jne 0x1800503a4
movsxd rcx, dword [r8]
mov edx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x30], rax
mov r10, rax
test rax, rax
jne 0x180050688
mov ebx, 0xbe
xor r8d, r8d
nop dword [rax]
cmp ebx, 0xbe
je 0x180050544
cmp ebx, 0x894e
je 0x18005053e
cmp ebx, 0x111de
je case.0x180050774.63
jmp 0x180050584
mov qword [rbp - 0x69], r8
jmp 0x180050584
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 1
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [0x180092c27]
mov dword [rsp + 0x40], 0xc
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0
mov ecx, 0xe3
call fcn.18000a640
xor r8d, r8d
add ebx, 0x8890
cmp ebx, 0x199b0
jbe 0x180050520
jmp 0x1800503a0
mov rax, qword [r15]
mov qword [rax + 0x10], 0
jmp 0x1800503a4
test rdx, rdx
je 0x1800506f0
mov qword [rdx], r12
jmp 0x1800503a4
mov qword [rdx + 8], r9
mov qword [rdx + 0x10], 0
jmp 0x1800503a4
cmp esi, 0x3390
je 0x1800505f5
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
cmp esi, 0x4ce0
jne 0x1800503ae
mov rax, qword [r15]
mov dword [rax], 0
jmp 0x1800503ae
test rdi, rdi
je 0x18005062d
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x180050620
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop dword [rax]
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x180050600
mov rdx, qword [rbp - 0x71]
mov rax, qword [r15]
cmp qword [rax + 8], 0
je 0x1800503a4
mov ebx, StrCmpICA
mov eax, ebx
sub eax, 0x9a
je 0x18005065b
cmp eax, 0x27
jne 0x180050678
mov rax, qword [r15]
mov qword [rax + 8], 0
jmp 0x180050678
mov rax, qword [r15]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r15]
mov rcx, qword [rcx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add ebx, 0x27
cmp ebx, 0xe8
jb 0x180050640
jmp 0x1800503a0
mov rdx, qword [rbp - 0x71]
jmp 0x1800503a9
mov dword [rbp + 0x7f], 1
mov dword [rsp + 0x48], 0xe
lea rax, [rbp + 0x7f]
mov dword [rsp + 0x40], 0
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r8, [0x180092c27]
mov ecx, 0xe3
lea rdx, [rsp + 0x40]
call fcn.18000a640
mov dword [rbp - 0x69], eax
mov rax, qword [rbp - 0x69]
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rbp + 0x7f], 1
mov dword [rsp + 0x48], 0xc
jmp 0x1800506a0
mov r10, qword [rbp - 0x59]
mov r11, qword [rbp - 0x59]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], r11
lea eax, [r13 + 0x578]
mov dword [rbp - 0x35], eax
cmp r13d, eax
jae case.0x180050774.63
mov rsi, qword [rbp - 0x21]
lea rdi, [0x180000000]
mov r14, qword [rbp - 0x59]
mov ebx, dword [rbp - 0x79]
nop dword [rax]
nop dword [rax + rax]
cmp r13d, 0xfb
ja 0x180050a17
je 0x180050a0b
lea eax, [r13 - 0x3f]
cmp eax, 0xb1
ja case.0x180050774.70
movzx eax, byte [rdi + rax + 0x50cd4]
mov ecx, dword [rdi + rax*4 + 0x50cb4]
add rcx, rdi
jmp rcx
mov eax, 0xdc
nop dword [rax + rax]
cmp eax, 0xdc
je 0x180050cac
add eax, 0x3f
cmp eax, 0x11b
jb 0x180050780
cmp qword [r12 + 0x18], 0x10
mov qword [rbp - 0x61], r12
jb 0x1800507a9
mov rax, qword [r12]
mov qword [rbp - 0x61], rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul qword [r15 + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rbp - 0x11], rax
jmp case.0x180050774.70
cmp dword [r8], 0
mov dword [rsp + 0x50], 0
jle case.0x180050774.70
mov qword [rbp - 0x29], r10
mov r8, r12
mov qword [rbp - 0x31], r12
nop dword [rax]
nop dword [rax + rax]
mov ecx, 4
mov dword [rbp - 0x49], ecx
nop dword [rax + rax]
mov eax, ecx
sub eax, 3
je 0x18005092a
cmp eax, 1
jne 0x180050942
xor eax, eax
xor edx, edx
mov dword [rbp - 0x51], eax
movsxd rax, dword [r9]
mov qword [rbp - 1], rdx
test eax, eax
jle 0x180050942
mov r12, qword [r8]
mov qword [rbp - 0x19], rax
mov r13, qword [r15 + rdx*8]
xor edi, edi
mov qword [rbp - 9], r13
lea r15d, [rdi + 0xf]
nop
cmp edi, 9
ja case.0x18005085a.2
lea rdx, [0x180000000]
mov ecx, dword [rdx + rdi*4 + 0x50d88]
add rcx, rdx
jmp rcx
lea rax, [rbp - 9]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x180050867
mov r14, qword [rbp - 0x11]
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x21], rsi
jmp case.0x18005085a.2
mov ebx, dword [rbp - 0x4d]
jmp 0x1800508d1
cmp r14, rsi
lea rdx, [rbp - 9]
mov r8, rsi
mov rcx, r12
cmovb r8, r14
call sub.VCRUNTIME140.dll_memcmp
mov dword [rbp - 0x4d], eax
cmp eax, 0
jne case.0x18005085a.2
mov edx, 0x1c
mov ecx, edx
sub ecx, 0x1c
je 0x1800508b4
cmp ecx, 1
je case.0x18005085a.1
jmp 0x1800508bc
mov ebx, r14d
sub ebx, esi
mov dword [rbp - 0x79], ebx
inc edx
cmp edx, 0x1e
jb 0x1800508a6
jmp case.0x18005085a.2
test r12, r12
je 0x1800508cf
test r13, r13
jne 0x1800508f0
xor ebx, ebx
mov dword [rbp - 0x79], ebx
inc r15d
inc edi
cmp r15d, 0x15
jb 0x180050840
jmp case.0x18005085a.1
mov eax, dword [r13]
xor ebx, ebx
cmp dword [r12], eax
sete bl
mov dword [rbp - 0x79], ebx
test ebx, ebx
jne 0x180050921
mov rdx, qword [rbp - 1]
inc dword [rbp - 0x51]
inc rdx
mov qword [rbp - 1], rdx
cmp rdx, qword [rbp - 0x19]
jge 0x18005093b
mov r15, qword [rbp + 0x77]
jmp 0x180050831
mov rcx, qword [rbp - 0x29]
mov eax, dword [rbp - 0x51]
mov dword [rcx], eax
mov r13d, 0x8b
mov ecx, 3
mov dword [rbp + 0x7f], r13d
jmp 0x180050942
mov ecx, dword [rbp - 0x49]
mov r13d, dword [rbp + 0x7f]
mov r8, qword [rbp - 0x31]
dec ecx
mov r15, qword [rbp + 0x77]
mov r9, qword [rbp + 0x6f]
mov dword [rbp - 0x49], ecx
cmp ecx, 2
ja 0x180050800
mov eax, dword [rsp + 0x50]
add r8, 8
mov rcx, qword [rbp + 0x67]
inc eax
add qword [rbp - 0x29], 4
mov dword [rsp + 0x50], eax
mov qword [rbp - 0x31], r8
cmp eax, dword [rcx]
jl 0x1800507f0
mov r12, qword [rbp + 0x5f]
lea rdi, [0x180000000]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp case.0x180050774.70
xor r8d, r8d
mov rdx, r11
mov rcx, r12
call fcn.180071f30
cmp qword [r15 + 0x18], 0x10
mov qword [rbp - 0x41], r15
jb 0x1800509b9
mov rax, qword [r15]
mov qword [rbp - 0x41], rax
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp case.0x180050774.70
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp case.0x180050774.70
mov rax, qword [r15]
mov rcx, qword [rax + 0x10]
mov qword [rdx + 0x18], rcx
mov rax, qword [r15]
cmp qword [rax + 8], 0
jne 0x1800509fe
mov qword [rax + 8], rdx
jmp case.0x180050774.70
mov rax, qword [rax + 0x10]
mov qword [rax + 0x10], rdx
jmp case.0x180050774.70
mov rax, qword [r15]
mov qword [rax + 0x10], rdx
jmp case.0x180050774.70
cmp r13d, 0x1b8
ja 0x180050c6d
je case.0x180050774.63
mov eax, r13d
sub eax, 0x121
je 0x180050a58
sub eax, 0x33
je 0x180050a4c
cmp eax, 0xb
jne case.0x180050774.70
mov rax, qword [r15]
inc dword [rax]
jmp case.0x180050774.70
mov qword [r15], 0
jmp case.0x180050774.70
mov rax, qword [rbp - 0x11]
xor r9d, r9d
test rax, rax
je 0x180050b51
mov rsi, qword [rbp - 0x41]
lea rcx, [rax - 1]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
mov qword [rbp - 0x19], r9
mov r9, qword [rbp - 0x61]
nop
mov r8d, 0x10e
mov eax, r8d
sub eax, 0x10e
je 0x180050b0e
sub eax, 0x66
je 0x180050ac8
cmp eax, 0x66
jne 0x180050b26
movzx ecx, byte [rsi + 2]
mov rax, qword [0x1800a4088]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [r9], cl
inc r9
add rsi, 3
jmp 0x180050b26
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x1800a4088]
movzx ecx, byte [rcx + rax]
mov byte [r9], cl
movzx ecx, byte [rsi + 1]
movzx eax, byte [rsi + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a4088]
movzx ecx, byte [rcx + rax]
mov byte [r9 + 1], cl
add r9, 2
jmp 0x180050b26
movzx ecx, byte [rsi]
mov rax, qword [0x1800a4088]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r9], cl
inc r9
add r8d, 0x66
cmp r8d, 0x240
jb 0x180050a96
mov qword [rbp - 0x41], rsi
mov qword [rbp - 0x61], r9
sub rdx, 1
jne 0x180050a90
mov r9, qword [rbp - 0x19]
mov rsi, qword [rbp - 0x21]
cmp r9, qword [r15 + 0x10]
jae case.0x180050774.70
mov rsi, qword [rbp - 0x61]
mov edx, 0xb9
mov r14, qword [rbp - 0x41]
mov ebx, dword [rsp + 0x48]
nop dword [rax]
cmp edx, 0xb9
je 0x180050c2b
cmp edx, 0x143
je 0x180050c22
cmp edx, 0x1cd
je 0x180050c08
cmp edx, 0x257
je 0x180050baf
cmp edx, 0x2e1
jne 0x180050c46
mov byte [rsi], 0x3d
inc rsi
jmp 0x180050c46
mov ecx, dword [rsp + 0x40]
mov eax, ebx
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x1800a4088]
movzx ecx, byte [rcx + rax]
lea rax, [r9 + 1]
mov byte [rsi], cl
cmp rax, qword [r15 + 0x10]
jae 0x180050bfb
mov eax, dword [rbp - 0x39]
mov ecx, ebx
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a4088]
movzx r8d, byte [rcx + rax]
mov byte [rsi + 1], r8b
add rsi, 2
jmp 0x180050c46
mov r8b, 0x3d
mov byte [rsi + 1], r8b
add rsi, 2
jmp 0x180050c46
mov rax, qword [0x1800a4088]
mov ecx, dword [rsp + 0x40]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rsi], cl
inc rsi
jmp 0x180050c46
mov dword [rbp - 0x39], 0
jmp 0x180050c46
movzx eax, byte [r14]
mov dword [rsp + 0x40], eax
lea rax, [r9 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x180050c44
movzx ebx, byte [r14 + 1]
jmp 0x180050c46
xor ebx, ebx
add edx, 0x8a
cmp edx, 0x36b
jb 0x180050b70
mov r14, qword [rbp - 0x59]
mov dword [rsp + 0x48], ebx
mov ebx, dword [rbp - 0x79]
mov qword [rbp - 0x61], rsi
mov rsi, qword [rbp - 0x21]
jmp case.0x180050774.70
mov eax, r13d
sub eax, 0x1c3
je 0x180050c82
cmp eax, 0x64
je case.0x180050774.63
jmp case.0x180050774.70
mov dword [rbp - 0x69], 0
add r13d, 0x64
mov dword [rbp + 0x7f], r13d
cmp r13d, dword [rbp - 0x35]
jae case.0x180050774.63
mov r9, qword [rbp + 0x6f]
mov rdx, qword [rbp - 0x71]
mov r8, qword [rbp + 0x67]
jmp 0x180050740
mov rax, r10
jmp 0x1800506d3