Function at 0x18039acb0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x50
lea rcx, [0x180608307]
call fcn.180278fb0
nop
cmp qword [rsp + 0x78], 0
jne 0x18039acf7
mov r8d, 0x28
lea rdx, [0x1805945e0]
lea rcx, [0x180594630]
call fcn.1803a4020
nop
xor eax, eax
test eax, eax
jne 0x18039acd5
mov eax, dword [rsp + 0x88]
and eax, 8
test eax, eax
je 0x18039ad15
mov dword [rsp + 0x40], 0x48
jmp 0x18039ad1d
mov dword [rsp + 0x40], 0x40
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x68]
add eax, 2
xor edx, edx
mov ecx, 3
div ecx
shl eax, 2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x88]
and eax, 6
cmp eax, 2
jne 0x18039ad63
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x18039ad87
mov eax, dword [rsp + 0x88]
and eax, 6
cmp eax, 6
jne 0x18039ad87
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
inc eax
mov rcx, qword [rsp + 0x78]
cmp dword [rcx], eax
jae 0x18039adad
mov eax, dword [rsp + 0x24]
inc eax
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
mov eax, 6
jmp 0x18039b170
cmp qword [rsp + 0x60], 0
jne 0x18039adcf
mov r8d, 0x38
lea rdx, [0x180594640]
lea rcx, [0x180594690]
call fcn.1803a4020
nop
xor eax, eax
test eax, eax
jne 0x18039adad
cmp qword [rsp + 0x70], 0
jne 0x18039adf7
mov r8d, 0x39
lea rdx, str.D:_aproject_bo4project_bo4depslibtomcrypt_srcmisc_base64_base64_encode.c
lea rcx, [0x1805946f0]
call fcn.1803a4020
nop
xor eax, eax
test eax, eax
jne 0x18039add5
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x60], rax
jne 0x18039ae13
mov eax, reloc.WS2_32.dll_recv
jmp 0x18039b170
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
xor edx, edx
mov eax, dword [rsp + 0x68]
mov ecx, 3
div ecx
imul eax, eax, 3
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
jmp 0x18039ae46
mov eax, dword [rsp + 0x20]
add eax, 3
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x20], eax
jae 0x18039afe5
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
sar eax, 2
and eax, 0x3f
cdqe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
and eax, 3
shl eax, 4
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x60]
movzx ecx, byte [rdx + rcx]
sar ecx, 4
add eax, ecx
and eax, 0x3f
cdqe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
and eax, 0xf
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x60]
movzx ecx, byte [rdx + rcx]
sar ecx, 6
lea eax, [rcx + rax*4]
and eax, 0x3f
cdqe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
and eax, 0x3f
cdqe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
add rax, 3
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x2c]
cqo
idiv rcx
mov rax, rdx
test rax, rax
jne 0x18039afe0
mov eax, dword [rsp + 0x88]
and eax, 4
test eax, eax
je 0x18039afbd
mov rax, qword [rsp + 0x30]
mov byte [rax], 0xd
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
and eax, 2
test eax, eax
je 0x18039afe0
mov rax, qword [rsp + 0x30]
mov byte [rax], 0xa
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
jmp 0x18039ae3b
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x20], eax
jae 0x18039b14f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x20]
inc eax
cmp eax, dword [rsp + 0x68]
jae 0x18039b02d
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x44], eax
jmp 0x18039b035
mov dword [rsp + 0x44], 0
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x38]
shr eax, 2
and eax, 0x3f
mov eax, eax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x38]
and eax, 3
shl eax, 4
mov ecx, dword [rsp + 0x3c]
shr ecx, 4
add eax, ecx
and eax, 0x3f
mov eax, eax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
and eax, 1
test eax, eax
je 0x18039b114
mov eax, dword [rsp + 0x20]
inc eax
cmp eax, dword [rsp + 0x68]
jae 0x18039b0dc
mov eax, dword [rsp + 0x3c]
and eax, 0xf
shl eax, 2
and eax, 0x3f
mov eax, eax
mov rcx, qword [rsp + 0x80]
movsx eax, byte [rcx + rax]
mov dword [rsp + 0x48], eax
jmp 0x18039b0e4
mov dword [rsp + 0x48], 0x3d
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x48]
mov byte [rax], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov byte [rax], 0x3d
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
jmp 0x18039b14f
mov eax, dword [rsp + 0x20]
inc eax
cmp eax, dword [rsp + 0x68]
jae 0x18039b14f
mov eax, dword [rsp + 0x3c]
and eax, 0xf
shl eax, 2
and eax, 0x3f
mov eax, eax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x50
pop rdi
ret