Function at 0x14036d860
Capabilities:
Encode data using base64 via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov edi, r8d
mov qword [rbp - 0x30], rdx
mov r15, rcx
mov eax, dword [0x140ae0b90]
mov ecx, dword [0x140ae0b94]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp - 1]
cmp ecx, 0xa
setl byte [rbp - 2]
mov r14d, 0x223cef4
mov rbx, qword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
lea r13, [0x1406890dc]
mov qword [rbp - 0x58], r15
jmp 0x14036d8ef
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x7bcca8bf
mov eax, 0xaff90900
nop dword [rax + rax]
cmove r14d, eax
cmp dword [0x140ae0b94], 0xa
cmovl r14d, eax
cmp r14d, 0x4413e12
jg 0x14036d950
cmp r14d, 0xbe0b2972
jg 0x14036d9c0
cmp r14d, 0xa767ebeb
jg 0x14036da90
cmp r14d, 0x8f557bae
jle 0x14036dc02
cmp r14d, 0x8f557baf
je 0x14036dd82
cmp r14d, 0x8f8bcab9
je 0x14036ddc9
cmp r14d, 0x96cfd3ef
jne 0x14036d8ef
mov r14d, 0x73a96254
jmp 0x14036d8ef
cmp r14d, 0x3e92965b
jle 0x14036da30
cmp r14d, 0x5c6239aa
jg 0x14036db1e
cmp r14d, 0x48b883fd
jle 0x14036dc27
cmp r14d, 0x48b883fe
je 0x14036ddd4
cmp r14d, 0x583b5adc
je 0x14036ddf4
cmp r14d, 0x58f1ecae
jne 0x14036d8ef
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x5c6239ab
mov eax, 0x4413e13
jmp 0x14036d8e0
cmp r14d, 0xe68f3936
jle 0x14036db8d
cmp r14d, 0xfe1bd443
jle 0x14036dc55
cmp r14d, 0xfe1bd444
je 0x14036ddff
cmp r14d, 0xbe289
je 0x14036de1e
cmp r14d, 0x223cef4
jne 0x14036d8ef
movzx eax, byte [rbp - 1]
cmp byte [rbp - 2], 0
mov r14d, 0x8acff9b5
mov ecx, 0x8f557baf
cmovne r14d, ecx
test al, al
cmovne r14d, ecx
jmp 0x14036d8ef
cmp r14d, 0x1fa0c933
jle 0x14036dbd0
cmp r14d, 0x2bd8bbfe
jle 0x14036dc8d
cmp r14d, 0x2bd8bbff
je 0x14036de69
cmp r14d, 0x33dfe08b
je 0x14036de90
cmp r14d, 0x3b06ee0c
jne 0x14036d8ef
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x13ad320e
mov eax, 0x2bd8bbff
jmp 0x14036d8e0
cmp r14d, 0xaefa6a78
jle 0x14036dcbf
cmp r14d, 0xaefa6a79
je 0x14036deaf
cmp r14d, 0xafb9af07
je 0x14036dee4
cmp r14d, 0xaff90900
jne 0x14036d8ef
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
mov rax, qword [rbp - 0x10]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp - 0x30]
mov edx, edi
mov r8d, 0x40000001
xor r9d, r9d
call rbx
add rsp, 0x30
mov dword [rbp - 0x24], eax
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x7bcca8bf
mov eax, 0xab7cb870
jmp 0x14036d8e0
cmp r14d, 0x71d759e6
jle 0x14036dce4
cmp r14d, 0x71d759e7
je 0x14036deef
cmp r14d, 0x73a96254
je 0x14036d8c1
cmp r14d, 0x7bcca8bf
jne 0x14036d8ef
mov rax, qword [rbp - 0x10]
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
mov rax, qword [rbp - 0x10]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp - 0x30]
mov edx, edi
mov r8d, 0x40000001
xor r9d, r9d
call rbx
add rsp, 0x30
mov r14d, 0xaff90900
jmp 0x14036d8ef
cmp r14d, 0xd250fd2c
jg 0x14036dd1d
cmp r14d, 0xc0c30ee5
je 0x14036df0e
cmp r14d, 0xc4eb94cf
jne 0x14036dffb
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140616028
add rsp, 0x20
mov r14d, 0x3e92965c
jmp 0x14036d8ef
cmp r14d, 0x13ad320d
jg 0x14036dd4a
cmp r14d, 0x4413e13
je 0x14036df5b
cmp r14d, 0xfbf66c8
jne 0x14036d8ef
mov r14d, 0x58f1ecae
jmp 0x14036d8ef
cmp r14d, 0x8acff9b5
je 0x14036df8b
cmp r14d, 0x8ec000f9
jne 0x14036d8ef
mov r14d, 0xa767ebec
jmp 0x14036d8ef
cmp r14d, 0x3e92965c
je 0x14036df96
cmp r14d, 0x489d47dd
jne 0x14036d8ef
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
mov dword [rbp - 0x34], eax
mov r14d, 0xc0c30ee5
jmp 0x14036d8ef
cmp r14d, 0xe68f3937
je 0x14036dfa1
cmp r14d, 0xfddc74be
jne 0x14036d8ef
sub rsp, 0x20
mov rcx, r15
mov rdx, r13
call fcn.140282cd0
add rsp, 0x20
mov r14d, 0xe68f3937
jmp 0x14036d8ef
cmp r14d, 0x1fa0c934
je 0x14036dfac
cmp r14d, 0x26d57ae7
jne 0x14036d8ef
cmp byte [rbp - 3], 0
mov r14d, 0xfddc74be
mov eax, 0x489d47dd
cmovne r14d, eax
jmp 0x14036d8ef
cmp r14d, 0xa767ebec
je 0x14036dfb7
cmp r14d, 0xab7cb870
jne 0x14036d8ef
mov r14d, 0x3b06ee0c
jmp 0x14036d8ef
cmp r14d, 0x5c6239ab
je 0x14036dfc6
cmp r14d, 0x5d1b6136
jne 0x14036d8ef
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0xd250fd2d
mov eax, 0xafb9af07
jmp 0x14036d8e0
cmp r14d, 0xd250fd2d
je 0x14036dfe2
cmp r14d, 0xdc5bec63
jne 0x14036d8ef
mov rax, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov r14d, 0xaefa6a79
jmp 0x14036d8ef
cmp r14d, 0x13ad320e
je 0x14036dfed
cmp r14d, 0x17703f2c
jne 0x14036d8ef
sub rsp, 0x20
mov rcx, r15
mov rdx, r13
call fcn.140282cd0
add rsp, 0x20
mov r14d, 0xfe1bd444
jmp 0x14036d8ef
mov eax, reloc.WS2_32.dll_recv
call fcn.140616310
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.140616310
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x8acff9b5
mov eax, 0x96cfd3ef
jmp 0x14036d8e0
mov r14d, 0xbe289
jmp 0x14036d8ef
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14024afe0
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov r14d, 0x8ec000f9
jmp 0x14036d8ef
mov r14d, 0x1fa0c934
jmp 0x14036d8ef
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0xd250fd2d
mov eax, 0x5d1b6136
jmp 0x14036d8e0
mov r12, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x20]
mov r15, rbx
mov rbx, qword [rbp - 0x60]
sub rsp, 0x20
mov rcx, r12
call fcn.1402a0f10
add rsp, 0x20
mov r14d, 0xc4eb94cf
sub rsp, 0x20
mov qword [rbp - 0x50], r12
mov rcx, r12
mov rdx, rsi
mov r8, rbx
mov rbx, r15
mov r15, qword [rbp - 0x58]
call fcn.1402a1150
add rsp, 0x20
jmp 0x14036d8ef
cmp dword [rbp - 0x24], 0
setne byte [rbp - 3]
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x13ad320e
mov eax, 0x26d57ae7
jmp 0x14036d8e0
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0xdc5bec63
mov eax, 0xaefa6a79
jmp 0x14036d8e0
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
mov qword [rbp - 0x60], rax
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0xdc5bec63
mov eax, 0x8f8bcab9
jmp 0x14036d8e0
mov r14d, 0x8ec000f9
jmp 0x14036d8ef
mov rdx, qword [rbp - 0x18]
sub rsp, 0x20
mov rcx, r15
call fcn.140349d70
add rsp, 0x20
mov r14d, 0x48b883fe
jmp 0x14036d8ef
mov ecx, dword [rbp - 0x34]
sub rsp, 0x20
call fcn.14061605c
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x10]
mov r9, qword [rbp - 0x20]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp - 0x30]
mov edx, edi
mov r8d, 0x40000001
call rbx
add rsp, 0x30
test eax, eax
mov r14d, 0x33dfe08b
mov eax, 0xfbf66c8
cmove r14d, eax
jmp 0x14036d8ef
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140616028
add rsp, 0x20
mov eax, dword [0x140ae0b90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14d, 0x5c6239ab
mov eax, 0x583b5adc
jmp 0x14036d8e0
mov r14d, 0x8f557baf
jmp 0x14036d8ef
mov r14d, 0x71d759e7
jmp 0x14036d8ef
mov r14d, 0xa767ebec
jmp 0x14036d8ef
mov r14d, 0x17703f2c
jmp 0x14036d8ef
mov rax, qword [rbp - 0x40]
mov r14d, 0xbe0b2973
jmp 0x14036d8ef
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140616028
add rsp, 0x20
mov r14d, 0x4413e13
jmp 0x14036d8ef
mov r14d, 0x5d1b6136
jmp 0x14036d8ef
mov eax, dword [rbp - 0x24]
mov r14d, 0x2bd8bbff
jmp 0x14036d8ef
cmp r14d, 0xbe0b2973
jne 0x14036d8ef
mov rax, r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret