Function at 0x1401883e0
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 0x140188559
cmp r8d, 0xc0
jb 0x140188559
test r8b, 0x20
jne 0x14018845b
mov al, byte [r10]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
add r10, 1
jmp 0x140188559
test r8b, 0x10
jne 0x14018848c
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 0x140188559
test r8b, 8
jne 0x1401884c9
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 0x140188559
test r8b, 4
jne 0x14018850f
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 0x140188559
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 0x140188570
mov r9d, 1
mov dword [r11], r9d
jmp 0x140188c7d
lea ecx, [r8 - 0x30]
cmp ecx, 0x4a
ja 0x140188c7d
mov qword [rsp + 0x30], rbx
lea rbx, [0x140000000]
movsx edx, word [rbx + rcx*2 + 0x1d4e80]
test edx, edx
je 0x1401885ac
test edx, edx
jle 0x1401885a1
mov r8d, edx
jmp 0x140188c78
mov r12d, edx
neg r12d
jmp 0x1401888f7
cmp ecx, 0x48
ja case.0x1401885c7.9
movzx eax, byte [rbx + rcx + 0x188ce4]
mov ecx, dword [rbx + rax*4 + 0x188cbc]
add rcx, rbx
jmp rcx
mov dword [r11], 0x25
jmp 0x140188c78
bt r13d, 0x19
jae 0x1401886b3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
movzx eax, byte [r10 + 3]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
movzx eax, byte [r10 + 4]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
mov edx, 4
mov r8d, esi
lea r9d, [rdx + 0x2c]
nop
nop
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x140188651
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 0x140188640
test edi, edi
mov edx, 0xff
mov ebx, 0x10ffff
cmovne edx, ebx
cmp r8d, edx
jbe 0x14018868d
mov dword [r11], 0x4c
jmp 0x140188c78
test edi, edi
je 0x140188c78
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c78
mov dword [r11], 0x49
jmp 0x140188c78
mov dword [r11], 0x25
jmp 0x140188c78
bt r13d, 0x19
jb 0x140188c78
mov dword [r11], 0x25
jmp 0x140188c78
cmp dword [rsp + 0x58], esi
jne 0x140188c78
movzx eax, byte [r10 + 1]
cmp al, 0x3c
je 0x140188806
cmp al, 0x27
je 0x140188806
cmp al, 0x7b
mov r9d, 1
jne 0x140188747
movzx eax, byte [r10 + 2]
lea rcx, [r10 + 2]
test al, al
je 0x140188729
nop
cmp al, 0x7d
je 0x140188731
cmp al, 0x2d
je 0x140188720
cmp al, 0x30
jb 0x140188731
cmp al, 0x39
ja 0x140188731
add rcx, r9
mov al, byte [rcx]
test al, al
jne 0x140188710
mov ebx, r9d
add r10, rbx
jmp 0x140188749
movzx eax, byte [rcx]
test al, al
je 0x140188729
cmp al, 0x7d
je 0x140188729
mov r12d, 0x1c
jmp 0x140188c78
mov ebx, esi
cmp byte [r10 + 1], 0x2d
jne 0x140188755
add r10, r9
jmp 0x140188758
mov r9d, esi
movzx ecx, byte [r10 + 1]
lea rdx, [r10 + 1]
mov eax, esi
cmp cl, 0x30
jb 0x14018878c
cmp cl, 0x39
ja 0x14018878c
cmp eax, 0xccccccb
jg 0x1401887a6
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 0x140188768
test ebx, ebx
je 0x1401887d1
add r10, 1
cmp byte [r10], 0x7d
je 0x1401887d1
mov dword [r11], 0x39
jmp 0x140188c78
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401887c5
cmp al, 0x39
ja 0x1401887c5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401887b3
mov dword [r11], 0x3d
jmp 0x140188c78
test eax, eax
jne 0x1401887e1
mov dword [r11], 0x3a
jmp 0x140188c78
test r9d, r9d
je 0x1401887fb
cmp eax, ebp
jle 0x1401887f6
mov dword [r11], reloc.WS2_32.dll_ntohs
jmp 0x140188c78
sub ebp, eax
lea eax, [rbp + 1]
mov r12d, eax
neg r12d
jmp 0x1401888f7
mov r12d, 0x1b
jmp 0x140188c78
cmp dword [rsp + 0x58], esi
jne 0x14018886e
movzx ecx, byte [r10 + 1]
lea r9, [r10 + 1]
mov rbx, r10
cmp cl, 0x30
lea eax, [r8 - 0x30]
jb 0x14018885a
nop
cmp cl, 0x39
ja 0x14018885a
cmp eax, 0xccccccb
jg 0x1401888c6
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 0x140188830
cmp eax, 8
jl 0x1401888f1
cmp eax, ebp
jle 0x1401888f1
mov r10, rbx
movzx r8d, byte [r10]
cmp r8d, 0x38
jae 0x140188c78
add r8d, 0xffffffd0
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
add edx, 1
cmp al, 0x30
jb 0x1401888a4
cmp al, 0x37
ja 0x1401888a4
cmp edx, 2
movzx eax, al
mov r10, rcx
lea r8d, [rax + r8*8 - 0x30]
jl 0x140188880
test edi, edi
jne 0x140188c78
mov edx, 0xff
cmp r8d, edx
jbe 0x140188c78
mov dword [r11], gethostbyname
jmp 0x140188c78
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
cmp al, 0x30
jb 0x1401888e5
cmp al, 0x39
ja 0x1401888e5
mov al, byte [rcx + 1]
mov r10, rcx
add rcx, 1
cmp al, 0x30
jae 0x1401888d3
mov dword [r11], 0x3d
jmp 0x140188c78
mov r12d, eax
neg r12d
cmp r12d, 0xc
jne 0x140188c78
cmp byte [r10 + 1], 0x7b
jne 0x140188c78
movzx ecx, byte [r10 + 2]
lea rax, [r10 + 2]
cmp cl, 0x30
jb 0x1401889a0
cmp cl, 0x39
ja 0x1401889a0
movzx ecx, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jb 0x140188945
cmp cl, 0x39
ja 0x140188945
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188934
movzx ecx, byte [rax]
cmp cl, 0x7d
je 0x140188c78
cmp cl, 0x2c
jne 0x1401889a0
movzx ecx, byte [rax + 1]
cmp cl, 0x7d
je 0x140188c78
cmp cl, 0x30
jb 0x1401889a0
cmp cl, 0x39
ja 0x1401889a0
movzx ecx, byte [rax + 2]
add rax, 2
cmp cl, 0x30
jb 0x140188991
nop
nop
cmp cl, 0x39
ja 0x140188991
mov cl, byte [rax + 1]
add rax, 1
cmp cl, 0x30
jae 0x140188980
cmp byte [rax], 0x7d
sete sil
test esi, esi
jne 0x140188c78
mov dword [r11], 0x25
jmp 0x140188c78
cmp byte [r10 + 1], 0x7b
je 0x1401889bf
mov dword [r11], 0x51
jmp 0x140188c78
cmp byte [r10 + 2], 0x7d
lea rax, [r10 + 2]
jne 0x1401889d6
mov dword [r11], 0x56
jmp 0x140188c78
mov r10, rax
mov al, byte [rax]
mov r8d, esi
cmp al, 0x30
jb 0x140188a1d
mov edx, 0xff
mov ebx, 0x10ffff
nop
cmp al, 0x37
ja 0x140188a1d
add r10, 1
test r8d, r8d
movzx ecx, al
jne 0x140188a05
cmp ecx, 0x30
je 0x140188a16
test edi, edi
mov eax, edx
lea r8d, [rcx + r8*8 - 0x30]
cmovne eax, ebx
cmp r8d, eax
ja 0x140188a49
mov al, byte [r10]
cmp al, 0x30
jae 0x1401889f0
cmp byte [r10], 0x7d
jne 0x140188a6c
test edi, edi
je 0x140188c78
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c78
mov dword [r11], 0x49
jmp 0x140188c78
mov al, byte [r10]
cmp al, 0x30
jb 0x140188a60
cmp al, 0x37
ja 0x140188a60
mov al, byte [r10 + 1]
add r10, 1
cmp al, 0x30
jae 0x140188a50
mov dword [r11], 0x22
jmp 0x140188c78
mov dword [r11], 0x50
jmp 0x140188c78
bt r13d, 0x19
jae 0x140188ae3
movzx eax, byte [r10 + 1]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
movzx eax, byte [r10 + 2]
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188c78
mov edx, 2
mov r8d, esi
lea r9d, [rdx + 0x2e]
movzx ecx, byte [r10 + 1]
add r10, 1
cmp ecx, 0x61
jb 0x140188ac2
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 0x140188ab1
jmp 0x140188c78
cmp byte [r10 + 1], 0x7b
jne 0x140188bde
mov cl, byte [r10 + 2]
add r10, 2
cmp cl, 0x7d
jne 0x140188b07
mov dword [r11], 0x56
jmp 0x140188c78
movzx eax, cl
mov r8d, esi
test byte [rax + rbx + 0x1d5e80], 8
je 0x140188b79
mov edx, 0xff
mov ebx, 0x10ffff
mov r9d, gethostbyname
lea rsi, [0x140000000]
nop
add r10, 1
test r8d, r8d
movzx ecx, cl
jne 0x140188b41
cmp ecx, r9d
je 0x140188b6b
cmp ecx, 0x61
jb 0x140188b49
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 0x140188ba5
movzx ecx, byte [r10]
test byte [rcx + rsi + 0x1d5e80], 8
jne 0x140188b30
cmp byte [r10], 0x7d
jne 0x140188bd2
test edi, edi
je 0x140188c78
lea eax, [r8 - 0xd800]
cmp eax, 0x7ff
ja 0x140188c78
mov dword [r11], 0x49
jmp 0x140188c78
movzx eax, byte [r10]
test byte [rax + rsi + 0x1d5e80], 8
je 0x140188bc6
movzx eax, byte [r10 + 1]
add r10, 1
test byte [rax + rsi + 0x1d5e80], 8
jne 0x140188bb3
mov dword [r11], 0x22
jmp 0x140188c78
mov dword [r11], 0x4f
jmp 0x140188c78
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 + 0x1d5e80], 8
je 0x140188c78
mov r10, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jb 0x140188c14
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 0x140188bf0
jmp 0x140188c78
movzx r8d, byte [r10 + 1]
add r10, 1
test r8d, r8d
jne 0x140188c49
mov edx, 2
mov dword [r11], edx
jmp 0x140188c78
cmp r8d, 0x7f
jbe 0x140188c58
mov dword [r11], 0x44
jmp 0x140188c78
lea eax, [r8 - 0x61]
cmp eax, 0x19
ja 0x140188c65
add r8d, 0xffffffe0
xor r8d, 0x40
jmp 0x140188c78
test r13b, 0x40
je 0x140188c78
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 0x140188ca5
lea ecx, [r12 - 6]
cmp ecx, 5
ja 0x140188ca5
add r12d, 0x17
mov qword [r14], r10
mov eax, r12d
mov dword [r15], r8d
add rsp, 0x10
pop r15
pop r14
pop r12
ret