Function at 0x1401883f0
Capabilities:
Encode data using base64

Disassembly:
push r12
push r14
push r15
sub rsp, 0x10
mov r10, qword [rcx]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
mov qword [rsp + 8], rdi
xor esi, esi
mov qword [rsp], r13
mov r13d, dword [rsp + 0x50]
mov r11, r8
movzx r8d, byte [r10 + 1]
mov edi, r13d
add r10, 2
mov ebp, r9d
shr edi, 0xb
mov r15, rdx
mov r14, rcx
and edi, 1
mov r12d, esi
je 0x140188569
cmp r8d, 0xc0
jb 0x140188569
test r8b, 0x20
jne 0x14018846b
mov al, byte [r10]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
add r10, 1
jmp 0x140188569
test r8b, 0x10
jne 0x14018849c
mov cl, byte [r10]
mov al, byte [r10 + 1]
and r8d, 0xf
and eax, 0x3f
and ecx, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0xc
mov r8d, ecx
or r8d, eax
add r10, 2
jmp 0x140188569
test r8b, 8
jne 0x1401884d9
mov al, byte [r10]
mov cl, byte [r10 + 1]
and r8d, 7
and eax, 0x3f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov al, byte [r10 + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0x12
mov r8d, ecx
or r8d, eax
add r10, 3
jmp 0x140188569
test r8b, 4
jne 0x14018851f
mov al, byte [r10]
mov cl, byte [r10 + 1]
and r8d, 3
and eax, 0x3f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov al, byte [r10 + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov al, byte [r10 + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0x18
mov r8d, ecx
or r8d, eax
add r10, 4
jmp 0x140188569
mov al, byte [r10]
mov cl, byte [r10 + 1]
and r8d, 1
and eax, 0x3f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov al, byte [r10 + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov al, byte [r10 + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov al, byte [r10 + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add r10, 5
sub r10, 1
test r8d, r8d
jne 0x140188580
mov r9d, 1
mov dword [r11], r9d
jmp 0x140188c8d
lea ecx, [r8 - 0x30]
cmp ecx, 0x4a
ja 0x140188c8d
mov qword [rsp + 0x30], rbx
lea rbx, [0x140000000]
movsx edx, word [rbx + rcx*2 + 0x1d4d10]
test edx, edx
je 0x1401885bc
test edx, edx
jle 0x1401885b1
mov r8d, edx
jmp 0x140188c88
mov r12d, edx
neg r12d
jmp 0x140188907
cmp ecx, 0x48
ja case.0x1401885d7.9
movzx eax, byte [rbx + rcx + 0x188cf4]
mov ecx, dword [rbx + rax*4 + 0x188ccc]
add rcx, rbx
jmp rcx
mov dword [r11], 0x25
jmp 0x140188c88
bt r13d, 0x19
jae 0x1401886c3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
movzx eax, byte [r10 + 3]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
movzx eax, byte [r10 + 4]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
mov edx, 4
mov r8d, esi
lea r9d, [rdx + 0x2c]
nop
nop
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x140188661
add ecx, 0xffffffe0
cmp ecx, 0x41
mov eax, 0x37
cmovb eax, r9d
shl r8d, 4
sub r8d, eax
add r8d, ecx
sub rdx, 1
jne 0x140188650
test edi, edi
mov edx, 0xff
mov ebx, 0x10ffff
cmovne edx, ebx
cmp r8d, edx
jbe 0x14018869d
mov dword [r11], 0x4c
jmp 0x140188c88
test edi, edi
je 0x140188c88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c88
mov dword [r11], 0x49
jmp 0x140188c88
mov dword [r11], 0x25
jmp 0x140188c88
bt r13d, 0x19
jb 0x140188c88
mov dword [r11], 0x25
jmp 0x140188c88
cmp dword [rsp + 0x58], esi
jne 0x140188c88
movzx eax, byte [r10 + 1]
cmp al, 0x3c
je 0x140188816
cmp al, 0x27
je 0x140188816
cmp al, 0x7b
mov r9d, 1
jne 0x140188757
movzx eax, byte [r10 + 2]
lea rcx, [r10 + 2]
test al, al
je 0x140188739
nop
cmp al, 0x7d
je 0x140188741
cmp al, 0x2d
je 0x140188730
cmp al, 0x30
jb 0x140188741
cmp al, 0x39
ja 0x140188741
add rcx, r9
mov al, byte [rcx]
test al, al
jne 0x140188720
mov ebx, r9d
add r10, rbx
jmp 0x140188759
movzx eax, byte [rcx]
test al, al
je 0x140188739
cmp al, 0x7d
je 0x140188739
mov r12d, 0x1c
jmp 0x140188c88
mov ebx, esi
cmp byte [r10 + 1], 0x2d
jne 0x140188765
add r10, r9
jmp 0x140188768
mov r9d, esi
movzx ecx, byte [r10 + 1]
lea rdx, [r10 + 1]
mov eax, esi
cmp cl, 0x30
jb 0x14018879c
cmp cl, 0x39
ja 0x14018879c
cmp eax, 0xccccccb
jg 0x1401887b6
lea ecx, [rax + rax*4]
movzx eax, byte [rdx]
mov r10, rdx
add rdx, 1
lea eax, [rax + rcx*2 - 0x30]
mov cl, byte [rdx]
cmp cl, 0x30
jae 0x140188778
test ebx, ebx
je 0x1401887e1
add r10, 1
cmp byte [r10], 0x7d
je 0x1401887e1
mov dword [r11], 0x39
jmp 0x140188c88
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401887d5
cmp al, 0x39
ja 0x1401887d5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401887c3
mov dword [r11], 0x3d
jmp 0x140188c88
test eax, eax
jne 0x1401887f1
mov dword [r11], 0x3a
jmp 0x140188c88
test r9d, r9d
je 0x14018880b
cmp eax, ebp
jle 0x140188806
mov dword [r11], reloc.WS2_32.dll_ntohs
jmp 0x140188c88
sub ebp, eax
lea eax, [rbp + 1]
mov r12d, eax
neg r12d
jmp 0x140188907
mov r12d, 0x1b
jmp 0x140188c88
cmp dword [rsp + 0x58], esi
jne 0x14018887e
movzx ecx, byte [r10 + 1]
lea r9, [r10 + 1]
mov rbx, r10
cmp cl, 0x30
lea eax, [r8 - 0x30]
jb 0x14018886a
nop
cmp cl, 0x39
ja 0x14018886a
cmp eax, 0xccccccb
jg 0x1401888d6
lea ecx, [rax + rax*4]
movzx eax, byte [r9]
mov r10, r9
add r9, 1
lea eax, [rax + rcx*2 - 0x30]
mov cl, byte [r9]
cmp cl, 0x30
jae 0x140188840
cmp eax, 8
jl 0x140188901
cmp eax, ebp
jle 0x140188901
mov r10, rbx
movzx r8d, byte [r10]
cmp r8d, 0x38
jae 0x140188c88
add r8d, 0xffffffd0
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
add edx, 1
cmp al, 0x30
jb 0x1401888b4
cmp al, 0x37
ja 0x1401888b4
cmp edx, 2
movzx eax, al
mov r10, rcx
lea r8d, [rax + r8*8 - 0x30]
jl 0x140188890
test edi, edi
jne 0x140188c88
mov edx, 0xff
cmp r8d, edx
jbe 0x140188c88
mov dword [r11], gethostbyname
jmp 0x140188c88
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401888f5
cmp al, 0x39
ja 0x1401888f5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401888e3
mov dword [r11], 0x3d
jmp 0x140188c88
mov r12d, eax
neg r12d
cmp r12d, 0xc
jne 0x140188c88
cmp byte [r10 + 1], 0x7b
jne 0x140188c88
movzx ecx, byte [r10 + 2]
lea rax, [r10 + 2]
cmp cl, 0x30
jb 0x1401889b0
cmp cl, 0x39
ja 0x1401889b0
movzx ecx, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jb 0x140188955
cmp cl, 0x39
ja 0x140188955
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188944
movzx ecx, byte [rax]
cmp cl, 0x7d
je 0x140188c88
cmp cl, 0x2c
jne 0x1401889b0
movzx ecx, byte [rax + 1]
cmp cl, 0x7d
je 0x140188c88
cmp cl, 0x30
jb 0x1401889b0
cmp cl, 0x39
ja 0x1401889b0
movzx ecx, byte [rax + 2]
add rax, 2
cmp cl, 0x30
jb 0x1401889a1
nop
nop
cmp cl, 0x39
ja 0x1401889a1
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188990
cmp byte [rax], 0x7d
sete sil
test esi, esi
jne 0x140188c88
mov dword [r11], 0x25
jmp 0x140188c88
cmp byte [r10 + 1], 0x7b
je 0x1401889cf
mov dword [r11], 0x51
jmp 0x140188c88
cmp byte [r10 + 2], 0x7d
lea rax, [r10 + 2]
jne 0x1401889e6
mov dword [r11], 0x56
jmp 0x140188c88
mov r10, rax
mov al, byte [rax]
mov r8d, esi
cmp al, 0x30
jb 0x140188a2d
mov edx, 0xff
mov ebx, 0x10ffff
nop
cmp al, 0x37
ja 0x140188a2d
add r10, 1
test r8d, r8d
movzx ecx, al
jne 0x140188a15
cmp ecx, 0x30
je 0x140188a26
test edi, edi
mov eax, edx
lea r8d, [rcx + r8*8 - 0x30]
cmovne eax, ebx
cmp r8d, eax
ja 0x140188a59
mov al, byte [r10]
cmp al, 0x30
jae 0x140188a00
cmp byte [r10], 0x7d
jne 0x140188a7c
test edi, edi
je 0x140188c88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c88
mov dword [r11], 0x49
jmp 0x140188c88
mov al, byte [r10]
cmp al, 0x30
jb 0x140188a70
cmp al, 0x37
ja 0x140188a70
mov al, byte [r10 + 1]
add r10, 1
cmp al, 0x30
jae 0x140188a60
mov dword [r11], 0x22
jmp 0x140188c88
mov dword [r11], 0x50
jmp 0x140188c88
bt r13d, 0x19
jae 0x140188af3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
mov edx, 2
mov r8d, esi
lea r9d, [rdx + 0x2e]
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x140188ad2
add ecx, 0xffffffe0
cmp ecx, 0x41
mov eax, 0x37
cmovb eax, r9d
shl r8d, 4
sub r8d, eax
add r8d, ecx
sub rdx, 1
jne 0x140188ac1
jmp 0x140188c88
cmp byte [r10 + 1], 0x7b
jne 0x140188bee
mov cl, byte [r10 + 2]
add r10, 2
cmp cl, 0x7d
jne 0x140188b17
mov dword [r11], 0x56
jmp 0x140188c88
movzx eax, cl
mov r8d, esi
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188b89
mov edx, 0xff
mov ebx, 0x10ffff
mov r9d, gethostbyname
lea rsi, [0x140000000]
nop
add r10, 1
test r8d, r8d
movzx ecx, cl
jne 0x140188b51
cmp ecx, r9d
je 0x140188b7b
cmp ecx, 0x61
jb 0x140188b59
add ecx, 0xffffffe0
cmp ecx, 0x41
mov eax, 0x37
cmovb eax, r9d
shl r8d, 4
sub r8d, eax
mov eax, edx
add r8d, ecx
test edi, edi
cmovne eax, ebx
cmp r8d, eax
ja 0x140188bb5
movzx ecx, byte [r10]
test byte [rcx + rsi + 0x1d5d10], 8
jne 0x140188b40
cmp byte [r10], 0x7d
jne 0x140188be2
test edi, edi
je 0x140188c88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c88
mov dword [r11], 0x49
jmp 0x140188c88
movzx eax, byte [r10]
test byte [rax + rsi + 0x1d5d10], 8
je 0x140188bd6
movzx eax, byte [r10 + 1]
add r10, 1
test byte [rax + rsi + 0x1d5d10], 8
jne 0x140188bc3
mov dword [r11], 0x22
jmp 0x140188c88
mov dword [r11], 0x4f
jmp 0x140188c88
mov r8d, esi
mov r9d, gethostbyname
nop
nop
nop
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
add edx, 1
test byte [rax + rbx + 0x1d5d10], 8
je 0x140188c88
mov r10, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jb 0x140188c24
add ecx, 0xffffffe0
cmp ecx, 0x41
mov eax, 0x37
cmovb eax, r9d
shl r8d, 4
sub r8d, eax
add r8d, ecx
cmp edx, 2
jl 0x140188c00
jmp 0x140188c88
movzx r8d, byte [r10 + 1]
add r10, 1
test r8d, r8d
jne 0x140188c59
mov edx, 2
mov dword [r11], edx
jmp 0x140188c88
cmp r8d, 0x7f
jbe 0x140188c68
mov dword [r11], 0x44
jmp 0x140188c88
lea eax, [r8 - 0x61]
cmp eax, 0x19
ja 0x140188c75
add r8d, 0xffffffe0
xor r8d, 0x40
jmp 0x140188c88
test r13b, 0x40
je 0x140188c88
mov dword [r11], 3
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
bt r13d, 0x1d
mov r13, qword [rsp]
jae 0x140188cb5
lea ecx, [r12 - 6]
cmp ecx, 5
ja 0x140188cb5
add r12d, 0x17
mov qword [r14], r10
mov eax, r12d
mov dword [r15], r8d
add rsp, 0x10
pop r15
pop r14
pop r12
ret