Function at 0x1401882f0
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 0x140188469
cmp r8d, 0xc0
jb 0x140188469
test r8b, 0x20
jne 0x14018836b
mov al, byte [r10]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
add r10, 1
jmp 0x140188469
test r8b, 0x10
jne 0x14018839c
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 0x140188469
test r8b, 8
jne 0x1401883d9
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 0x140188469
test r8b, 4
jne 0x14018841f
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 0x140188469
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 0x140188480
mov r9d, 1
mov dword [r11], r9d
jmp 0x140188b8d
lea ecx, [r8 - 0x30]
cmp ecx, 0x4a
ja 0x140188b8d
mov qword [rsp + 0x30], rbx
lea rbx, [0x140000000]
movsx edx, word [rbx + rcx*2 + 0x1d4e50]
test edx, edx
je 0x1401884bc
test edx, edx
jle 0x1401884b1
mov r8d, edx
jmp 0x140188b88
mov r12d, edx
neg r12d
jmp 0x140188807
cmp ecx, 0x48
ja case.0x1401884d7.9
movzx eax, byte [rbx + rcx + 0x188bf4]
mov ecx, dword [rbx + rax*4 + 0x188bcc]
add rcx, rbx
jmp rcx
mov dword [r11], 0x25
jmp 0x140188b88
bt r13d, 0x19
jae 0x1401885c3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
movzx eax, byte [r10 + 3]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
movzx eax, byte [r10 + 4]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
mov edx, 4
mov r8d, esi
lea r9d, [rdx + 0x2c]
nop
nop
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x140188561
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 0x140188550
test edi, edi
mov edx, 0xff
mov ebx, 0x10ffff
cmovne edx, ebx
cmp r8d, edx
jbe 0x14018859d
mov dword [r11], 0x4c
jmp 0x140188b88
test edi, edi
je 0x140188b88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188b88
mov dword [r11], 0x49
jmp 0x140188b88
mov dword [r11], 0x25
jmp 0x140188b88
bt r13d, 0x19
jb 0x140188b88
mov dword [r11], 0x25
jmp 0x140188b88
cmp dword [rsp + 0x58], esi
jne 0x140188b88
movzx eax, byte [r10 + 1]
cmp al, 0x3c
je 0x140188716
cmp al, 0x27
je 0x140188716
cmp al, 0x7b
mov r9d, 1
jne 0x140188657
movzx eax, byte [r10 + 2]
lea rcx, [r10 + 2]
test al, al
je 0x140188639
nop
cmp al, 0x7d
je 0x140188641
cmp al, 0x2d
je 0x140188630
cmp al, 0x30
jb 0x140188641
cmp al, 0x39
ja 0x140188641
add rcx, r9
mov al, byte [rcx]
test al, al
jne 0x140188620
mov ebx, r9d
add r10, rbx
jmp 0x140188659
movzx eax, byte [rcx]
test al, al
je 0x140188639
cmp al, 0x7d
je 0x140188639
mov r12d, 0x1c
jmp 0x140188b88
mov ebx, esi
cmp byte [r10 + 1], 0x2d
jne 0x140188665
add r10, r9
jmp 0x140188668
mov r9d, esi
movzx ecx, byte [r10 + 1]
lea rdx, [r10 + 1]
mov eax, esi
cmp cl, 0x30
jb 0x14018869c
cmp cl, 0x39
ja 0x14018869c
cmp eax, 0xccccccb
jg 0x1401886b6
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 0x140188678
test ebx, ebx
je 0x1401886e1
add r10, 1
cmp byte [r10], 0x7d
je 0x1401886e1
mov dword [r11], 0x39
jmp 0x140188b88
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401886d5
cmp al, 0x39
ja 0x1401886d5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401886c3
mov dword [r11], 0x3d
jmp 0x140188b88
test eax, eax
jne 0x1401886f1
mov dword [r11], 0x3a
jmp 0x140188b88
test r9d, r9d
je 0x14018870b
cmp eax, ebp
jle 0x140188706
mov dword [r11], reloc.WS2_32.dll_ntohs
jmp 0x140188b88
sub ebp, eax
lea eax, [rbp + 1]
mov r12d, eax
neg r12d
jmp 0x140188807
mov r12d, 0x1b
jmp 0x140188b88
cmp dword [rsp + 0x58], esi
jne 0x14018877e
movzx ecx, byte [r10 + 1]
lea r9, [r10 + 1]
mov rbx, r10
cmp cl, 0x30
lea eax, [r8 - 0x30]
jb 0x14018876a
nop
cmp cl, 0x39
ja 0x14018876a
cmp eax, 0xccccccb
jg 0x1401887d6
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 0x140188740
cmp eax, 8
jl 0x140188801
cmp eax, ebp
jle 0x140188801
mov r10, rbx
movzx r8d, byte [r10]
cmp r8d, 0x38
jae 0x140188b88
add r8d, 0xffffffd0
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
add edx, 1
cmp al, 0x30
jb 0x1401887b4
cmp al, 0x37
ja 0x1401887b4
cmp edx, 2
movzx eax, al
mov r10, rcx
lea r8d, [rax + r8*8 - 0x30]
jl 0x140188790
test edi, edi
jne 0x140188b88
mov edx, 0xff
cmp r8d, edx
jbe 0x140188b88
mov dword [r11], gethostbyname
jmp 0x140188b88
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401887f5
cmp al, 0x39
ja 0x1401887f5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401887e3
mov dword [r11], 0x3d
jmp 0x140188b88
mov r12d, eax
neg r12d
cmp r12d, 0xc
jne 0x140188b88
cmp byte [r10 + 1], 0x7b
jne 0x140188b88
movzx ecx, byte [r10 + 2]
lea rax, [r10 + 2]
cmp cl, 0x30
jb 0x1401888b0
cmp cl, 0x39
ja 0x1401888b0
movzx ecx, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jb 0x140188855
cmp cl, 0x39
ja 0x140188855
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188844
movzx ecx, byte [rax]
cmp cl, 0x7d
je 0x140188b88
cmp cl, 0x2c
jne 0x1401888b0
movzx ecx, byte [rax + 1]
cmp cl, 0x7d
je 0x140188b88
cmp cl, 0x30
jb 0x1401888b0
cmp cl, 0x39
ja 0x1401888b0
movzx ecx, byte [rax + 2]
add rax, 2
cmp cl, 0x30
jb 0x1401888a1
nop
nop
cmp cl, 0x39
ja 0x1401888a1
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188890
cmp byte [rax], 0x7d
sete sil
test esi, esi
jne 0x140188b88
mov dword [r11], 0x25
jmp 0x140188b88
cmp byte [r10 + 1], 0x7b
je 0x1401888cf
mov dword [r11], 0x51
jmp 0x140188b88
cmp byte [r10 + 2], 0x7d
lea rax, [r10 + 2]
jne 0x1401888e6
mov dword [r11], 0x56
jmp 0x140188b88
mov r10, rax
mov al, byte [rax]
mov r8d, esi
cmp al, 0x30
jb 0x14018892d
mov edx, 0xff
mov ebx, 0x10ffff
nop
cmp al, 0x37
ja 0x14018892d
add r10, 1
test r8d, r8d
movzx ecx, al
jne 0x140188915
cmp ecx, 0x30
je 0x140188926
test edi, edi
mov eax, edx
lea r8d, [rcx + r8*8 - 0x30]
cmovne eax, ebx
cmp r8d, eax
ja 0x140188959
mov al, byte [r10]
cmp al, 0x30
jae 0x140188900
cmp byte [r10], 0x7d
jne 0x14018897c
test edi, edi
je 0x140188b88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188b88
mov dword [r11], 0x49
jmp 0x140188b88
mov al, byte [r10]
cmp al, 0x30
jb 0x140188970
cmp al, 0x37
ja 0x140188970
mov al, byte [r10 + 1]
add r10, 1
cmp al, 0x30
jae 0x140188960
mov dword [r11], 0x22
jmp 0x140188b88
mov dword [r11], 0x50
jmp 0x140188b88
bt r13d, 0x19
jae 0x1401889f3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188b88
mov edx, 2
mov r8d, esi
lea r9d, [rdx + 0x2e]
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x1401889d2
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 0x1401889c1
jmp 0x140188b88
cmp byte [r10 + 1], 0x7b
jne 0x140188aee
mov cl, byte [r10 + 2]
add r10, 2
cmp cl, 0x7d
jne 0x140188a17
mov dword [r11], 0x56
jmp 0x140188b88
movzx eax, cl
mov r8d, esi
test byte [rax + rbx + 0x1d5e50], 8
je 0x140188a89
mov edx, 0xff
mov ebx, 0x10ffff
mov r9d, gethostbyname
lea rsi, [0x140000000]
nop
add r10, 1
test r8d, r8d
movzx ecx, cl
jne 0x140188a51
cmp ecx, r9d
je 0x140188a7b
cmp ecx, 0x61
jb 0x140188a59
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 0x140188ab5
movzx ecx, byte [r10]
test byte [rcx + rsi + 0x1d5e50], 8
jne 0x140188a40
cmp byte [r10], 0x7d
jne 0x140188ae2
test edi, edi
je 0x140188b88
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188b88
mov dword [r11], 0x49
jmp 0x140188b88
movzx eax, byte [r10]
test byte [rax + rsi + 0x1d5e50], 8
je 0x140188ad6
movzx eax, byte [r10 + 1]
add r10, 1
test byte [rax + rsi + 0x1d5e50], 8
jne 0x140188ac3
mov dword [r11], 0x22
jmp 0x140188b88
mov dword [r11], 0x4f
jmp 0x140188b88
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 + 0x1d5e50], 8
je 0x140188b88
mov r10, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jb 0x140188b24
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 0x140188b00
jmp 0x140188b88
movzx r8d, byte [r10 + 1]
add r10, 1
test r8d, r8d
jne 0x140188b59
mov edx, 2
mov dword [r11], edx
jmp 0x140188b88
cmp r8d, 0x7f
jbe 0x140188b68
mov dword [r11], 0x44
jmp 0x140188b88
lea eax, [r8 - 0x61]
cmp eax, 0x19
ja 0x140188b75
add r8d, 0xffffffe0
xor r8d, 0x40
jmp 0x140188b88
test r13b, 0x40
je 0x140188b88
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 0x140188bb5
lea ecx, [r12 - 6]
cmp ecx, 5
ja 0x140188bb5
add r12d, 0x17
mov qword [r14], r10
mov eax, r12d
mov dword [r15], r8d
add rsp, 0x10
pop r15
pop r14
pop r12
ret