Function at 0x18005c170
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xa8
mov rax, qword [0x1800f6ae8]
xor rax, rsp
mov qword [rbp - 1], rax
mov eax, dword [rbp + 0x7f]
lea rbx, [0x180000000]
mov edi, dword [rbp - 0x61]
mov r11, rdx
mov qword [rbp - 0x49], rdx
mov r10, r8
xor edx, edx
mov qword [rbp - 0x39], r8
lea r12d, [rax + 0x372]
mov qword [rbp - 0x41], r9
mov qword [rbp - 0x59], rcx
mov r8, rcx
mov r13d, eax
cmp eax, r12d
jae 0x18005c3cc
mov r15d, dword [rbp - 0x61]
mov edx, 0x32
mov ebx, dword [rbp - 0x61]
movabs rsi, 0xffffffff00000000
lea ecx, [rdx + 0x3a]
nop dword [rax + rax]
cmp r13d, 0x145
ja 0x18005c4fa
je case.0x18005c40d.4
lea eax, [r13 - 0x25]
cmp eax, 0xf0
ja case.default.0x18005c22d
lea r14, [0x180000000]
movzx eax, byte [r14 + rax + 0x5c8c4]
mov ecx, dword [r14 + rax*4 + 0x5c894]
add rcx, r14
jmp rcx
mov r15d, dword [r11]
jmp case.0x18005c22d.38
mov dword [r11], r15d
jmp case.0x18005c22d.38
mov rcx, qword [r8]
mov edx, dword [rcx]
lea eax, [rdx - 0x7f2bb76d]
cmp eax, 2
ja 0x18005c264
mov rax, qword [rcx + 0x10]
mov r10, qword [rax + 0x78]
test r10, r10
jne 0x18005c530
mov r10, qword [rbp - 0x39]
lea eax, [rdx - 0x7f2bb708]
cmp eax, 2
ja 0x18005c39d
mov r14d, 0x38
nop dword [rax]
mov eax, r14d
sub eax, 0x38
je 0x18005c37f
sub eax, 1
je 0x18005c310
sub eax, 1
je 0x18005c2d7
sub eax, 1
je 0x18005c2c6
cmp eax, 1
jne 0x18005c384
mov eax, edi
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1800d1090
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test ebx, ebx
jne 0x18005c2d0
mov eax, dword [rbp - 0x29]
mov qword [r9], rax
mov edi, ebx
jmp 0x18005c384
mov eax, dword [r10]
lea r9, [rbp - 0x29]
mov dword [rbp - 0x61], eax
lea rdx, [rbp - 0x51]
mov eax, dword [r11]
lea rcx, [rbp - 0x61]
mov dword [rbp - 0x51], eax
mov rax, qword [r8]
lea r8, [rbp - 0x31]
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x20], 0x16
call fcn.180088560
mov r9, qword [rbp - 0x41]
mov rbx, rax
jmp 0x18005c384
test qword [r11], rsi
jne 0x18005c31a
test qword [r10], rsi
je 0x18005c384
mov esi, 0xeb
nop
mov eax, esi
sub eax, 0xea
je 0x18005c420
cmp eax, 1
jne 0x18005c365
mov eax, dword [r11]
lea rdx, [rbp - 0x51]
mov dword [rbp - 0x61], eax
lea rcx, [rbp - 0x31]
mov rax, qword [r8]
mov r9d, 4
lea r8, [rbp - 0x61]
mov qword [rbp - 0x31], rax
mov dword [rbp - 0x51], 2
call fcn.18000b670
mov r11, qword [rbp - 0x49]
mov r8, qword [rbp - 0x59]
dec esi
cmp esi, 0xe9
ja 0x18005c320
mov r9, qword [rbp - 0x41]
movabs rsi, 0xffffffff00000000
jmp 0x18005c384
xor eax, eax
mov dword [rbp - 0x29], eax
mov r11, qword [rbp - 0x49]
inc r14d
mov r8, qword [rbp - 0x59]
mov r10, qword [rbp - 0x39]
cmp r14d, 0x3d
jb 0x18005c280
mov edx, 0x32
mov ecx, 0x6c
mov r8, qword [rbp - 0x59]
add r13d, 0x3f
mov r9, qword [rbp - 0x41]
mov r10, qword [rbp - 0x39]
cmp r13d, r12d
jb 0x18005c1f0
mov eax, dword [rbp + 0x7f]
lea rbx, [0x180000000]
xor edx, edx
lea r13d, [rax - 0xf]
cmp eax, r13d
jbe case.0x18005c40d.4
mov r14, qword [rbp - 0x51]
lea r12d, [rax - 0x22]
mov r15, qword [rbp - 0x31]
mov esi, dword [rbp - 0x61]
nop dword [rax + rax]
cmp r12d, 0x75
ja case.0x18005c40d.15
movzx eax, byte [rbx + r12 + 0x5c9f8]
mov ecx, dword [rbx + rax*4 + 0x5c9b8]
add rcx, rbx
jmp rcx
mov rax, qword [r8]
mov ecx, dword [rax]
sub ecx, 0x7f2bb76d
cmp ecx, 2
jbe case.0x18005c22d.38
nop
mov eax, 0x16
jmp 0x18005c2a6
mov rax, qword [r8]
movzx ecx, byte [rax + 0x38]
shr qword [r11], cl
jmp case.0x18005c22d.38
mov dword [rbp - 0x13], 0x33005f
mov word [rbp - 0xf], dx
jmp case.0x18005c22d.38
mov dword [rbp - 0x17], 0x320073
jmp case.0x18005c22d.38
mov edx, dword [r8 + 0x60]
cmp r15d, edx
jae 0x18005c482
mov rax, qword [r8 + 0x138]
mov r8, qword [rax]
nop dword [rax + rax]
lea ecx, [r15 + 1]
cmp dword [r8 + rcx*4], 0
jne 0x18005c482
mov r15d, ecx
cmp ecx, edx
jb 0x18005c470
mov r13d, 0x96
jmp 0x18005c39d
mov eax, dword [r10]
lea r9, [rbp - 0x31]
mov rcx, qword [rbp - 0x41]
lea rdx, [rbp - 0x51]
mov dword [rbp - 0x61], eax
mov eax, dword [r11]
mov qword [rbp - 0x51], rax
mov rax, qword [r8]
lea r8, [rbp - 0x61]
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x20], 0x100
call fcn.1800b5d40
mov r11, qword [rbp - 0x49]
mov edi, eax
jmp 0x18005c39d
cmp qword [r8], 0
je 0x18005c420
jmp case.0x18005c22d.38
mov eax, dword [str.htonl]
mov dword [rbp - 0x21], eax
movzx eax, word [0x1800e1f98]
mov word [rbp - 0x1d], ax
mov eax, 0x77
mov word [rbp - 0x19], ax
jmp case.0x18005c22d.38
mov eax, r13d
sub eax, 0x154
je 0x18005c519
cmp eax, 0x3f
jne case.default.0x18005c22d
mov dword [rbp - 7], 0x6c
jmp case.default.0x18005c22d
mov dword [rbp - 0xd], 0x64002e
mov word [rbp - 9], cx
jmp case.default.0x18005c22d
mov rax, qword [rbp - 0x39]
mov rdx, qword [r11]
mov r8, qword [rax]
call r10
jmp 0x18005c2a6
mov ecx, 0xc03b3998
call r15
mov dword [r14], eax
mov rax, qword [rbp - 0x39]
test byte [rax], 1
je 0x18005c567
mov ecx, 3
call r15
mov dword [r14 + 4], eax
jmp case.0x18005c40d.15
mov ecx, 4
call r15
mov dword [r14 + 4], eax
jmp case.0x18005c40d.15
mov rax, qword [r8]
movzx ecx, byte [rax + 0x38]
shr qword [r10], cl
jmp case.0x18005c40d.15
mov rax, qword [r8]
mov rcx, qword [rax + 0x20]
movups xmm0, xmmword [rcx + 0x68]
movups xmmword [r14 + 0x30], xmm0
mov rax, qword [r8]
mov rcx, qword [rax + 0x20]
test byte [rcx + 0x60], 8
je case.0x18005c40d.15
mov ebx, 0x8f
nop dword [rax]
mov eax, ebx
sub eax, 0x8e
je 0x18005c5c4
cmp eax, 1
jne 0x18005c5e5
mov dword [r14 + 0x40], edx
jmp 0x18005c5e5
mov rax, qword [r8]
mov ecx, 3
cmp dword [rax + 0x28], 0x400
je 0x18005c5da
mov ecx, 2
call r15
mov r8, qword [rbp - 0x59]
mov dword [r14 + 0x14], eax
dec ebx
mov edx, 0
cmp ebx, 0x8d
ja 0x18005c5b0
jmp case.0x18005c40d.15
mov qword [r9], r14
jmp case.0x18005c40d.15
mov ecx, 1
call r15
mov dword [r14 + 0x40], eax
jmp case.0x18005c40d.15
cmp dword [r11], 0x400
jae 0x18005c642
mov ecx, 0x77
mov eax, ecx
sub eax, 0x77
je 0x18005c632
cmp eax, 0x4a
je case.0x18005c40d.4
jmp 0x18005c637
mov edi, 0x7f2bb755
add ecx, 0x4a
cmp ecx, 0x10b
jb 0x18005c620
mov rax, qword [r8]
mov edx, 0xf
lea r8, [rbp - 0x51]
mov ecx, dword [rax + 0x28]
mov dword [rbp - 0x61], ecx
lea rcx, [rbp - 0x61]
call fcn.180061970
test eax, eax
je 0x18005c68c
mov ecx, 0xa6
cmp ecx, 0xa6
je 0x18005c67c
cmp ecx, 0x4416
je case.0x18005c40d.4
jmp 0x18005c67e
mov edi, eax
add ecx, 0x4370
cmp ecx, 0x86e0
jbe 0x18005c666
mov r14, qword [rbp - 0x51]
jmp case.0x18005c40d.15
mov rax, qword [r8]
xor edx, edx
mov rcx, r14
mov r8d, dword [rax + 0x28]
call sub.VCRUNTIME140.dll_memset
jmp case.0x18005c40d.15
lea r8, [rbp - 0x19]
mov ecx, 0x7f
lea rdx, [rbp - 0x21]
call fcn.1800c3a10
mov r15, rax
jmp case.0x18005c40d.15
mov ecx, 1
call r15
mov ecx, 1
mov dword [r14 + 0x14], eax
call r15
mov dword [r14 + 0x18], eax
jmp case.0x18005c40d.15
mov eax, 0xf2
nop word [rax + rax]
cmp eax, 0xf2
je 0x18005c88a
add eax, 0x4f
cmp eax, 0x141
jb 0x18005c6f0
mov rax, qword [r8]
mov rdx, qword [r11]
cmp rdx, qword [rax + 0x20]
jb 0x18005c723
mov rcx, qword [r10]
cmp rcx, qword [rax + 0x28]
ja 0x18005c723
cmp rdx, rcx
jbe case.0x18005c40d.15
mov ebx, 0xde
nop dword [rax + rax]
mov eax, ebx
sub eax, 0xdd
je 0x18005c420
cmp eax, 1
jne 0x18005c77b
mov rax, qword [r11]
lea r9, [rbp - 0x61]
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x31]
mov rax, qword [r8]
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x31], rax
xor eax, eax
mov dword [rbp - 0x61], 2
mov qword [rsp + 0x20], rax
lea r8d, [rax + 1]
call fcn.1800ceb80
mov r11, qword [rbp - 0x49]
mov r8, qword [rbp - 0x59]
dec ebx
cmp ebx, 0xdc
ja 0x18005c730
jmp case.0x18005c40d.15
mov edi, edx
jmp case.0x18005c40d.15
mov rax, qword [r8]
mov ecx, dword [rax + 0x28]
call r15
mov dword [r14 + 0xc], eax
mov rax, qword [rbp - 0x49]
mov ecx, dword [rax]
call r15
mov dword [r14 + 0x10], eax
jmp case.0x18005c40d.15
mov rax, qword [r10]
cmp qword [r11], rax
ja case.0x18005c40d.15
nop dword [rax]
mov ebx, 0x5f
cmp ebx, 0x5f
je 0x18005c81c
cmp ebx, 0x11d
je 0x18005c7df
cmp ebx, 0x1db
jne 0x18005c82f
inc qword [r11]
jmp 0x18005c82f
test esi, esi
jne 0x18005c82f
mov edx, 0x52
nop dword [rax + rax]
mov eax, edx
sub eax, 0x51
je case.0x18005c40d.4
cmp eax, 1
jne 0x18005c813
mov rax, qword [r8]
mov ecx, dword [rax + 0x38]
mov rax, qword [r11]
shl rax, cl
mov qword [r9], rax
xor eax, eax
mov edi, eax
dec edx
cmp edx, 0x50
ja 0x18005c7f0
jmp 0x18005c82f
mov rcx, qword [r8]
mov rdx, qword [r11]
mov rax, qword [rcx + 0x10]
call qword [rax + 0x38]
mov r11, qword [rbp - 0x49]
mov esi, eax
mov r8, qword [rbp - 0x59]
add ebx, 0xbe
mov r9, qword [rbp - 0x41]
cmp ebx, 0x23a
jbe 0x18005c7c5
mov rax, qword [rbp - 0x39]
mov rcx, qword [rax]
cmp qword [r11], rcx
jbe 0x18005c7c0
mov r8d, dword [rbp + 0x7f]
dec r12d
dec r8d
mov dword [rbp + 0x7f], r8d
cmp r8d, r13d
jbe case.0x18005c40d.4
mov r11, qword [rbp - 0x49]
lea rbx, [0x180000000]
mov r8, qword [rbp - 0x59]
xor edx, edx
mov r9, qword [rbp - 0x41]
mov r10, qword [rbp - 0x39]
jmp 0x18005c3f0
mov eax, 2
jmp 0x18005c2a6