Function at 0x1800a8740
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x328]
sub rsp, 0x400
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x1801f5b80]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov r12, rdx
mov qword [rbp + 0x50], rdx
mov dword [rsp + 0x40], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xor r15d, r15d
mov qword [rbp + 0x120], r15
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x18], r14
mov qword [rbp + 0x128], r14
mov byte [rbp + 0x110], r15b
movups xmmword [rdx], xmm0
mov qword [rdx], r15
mov qword [rdx + 8], r15
mov qword [rdx + 0x10], r15
mov dword [rsp + 0x40], 1
mov rax, qword [0x1805e4e10]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800a92f6
mov r14, qword [rcx + 8]
mov qword [rbp - 0x68], r14
test r14, r14
je 0x1800a92f6
mov rax, qword [0x1805e4d98]
mov rax, qword [rax]
test rax, rax
je 0x1800a92f6
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1800a92f6
mov rbx, qword [rax + 0x108]
mov qword [rbp - 8], rbx
test rbx, rbx
je 0x1800a92f6
mov r13, qword [rax + 0x100]
mov qword [rbp - 0x10], r13
movups xmmword [rbp + 0x220], xmm0
movups xmmword [rbp + 0x230], xmm0
movups xmmword [rbp + 0x240], xmm0
movups xmmword [rbp + 0x250], xmm0
lea rcx, [rbp + 0x220]
call fcn.1800a2f50
mov esi, 5
mov dword [rsp + 0x40], esi
lea r8, [rbx + 1]
mov rcx, qword [r12 + 0x10]
sub rcx, qword [r12]
movabs rax, 0x7878787878787879
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x1800a88ce
movabs rax, 0x1e1e1e1e1e1e1e1
cmp r8, rax
ja 0x1800a9364
mov rdx, r8
mov rcx, r12
call fcn.1800a9b80
mov dword [rbp - 0x70], r15d
test rbx, rbx
je 0x1800a92dc
movzx ebx, byte [rsp + 0x44]
movzx edi, byte [rsp + 0x44]
movsd xmm12, qword [0x1801ce648]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], r15
mov qword [rbp + 0x1c0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1a8], 0
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
movups xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1e8], 0
mov r13, qword [r13]
test r13, r13
jne 0x1800a8961
jmp 0x1800a9297
cmp r13, r14
jne 0x1800a896b
jmp 0x1800a9297
mov rdx, qword [0x1805e4da8]
mov rcx, qword [rdx + r13]
test rcx, rcx
jne 0x1800a8980
jmp 0x1800a9297
mov rax, qword [0x1805e4da0]
mov rax, qword [rax + r13]
test rax, rax
je 0x1800a899f
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1800a899f
mov r14d, dword [rax + 0x10]
jmp 0x1800a89a2
mov r14d, r15d
movsd xmm11, qword [r13 + 0x90]
movsd qword [rbp], xmm11
mov r15d, dword [r13 + 0x98]
mov dword [rbp - 0x40], r15d
add rcx, 0x20
jne 0x1800a89c6
xor eax, eax
jmp 0x1800a89dc
mov rax, qword [0x1805e4df0]
add rax, rcx
je 0x1800a89dc
mov eax, dword [rax]
xor eax, 0xfffffeed
movzx eax, ax
mov dword [rbp + 0x108], eax
mov rcx, qword [rdx + r13]
test rcx, rcx
jne 0x1800a89ef
xor eax, eax
jmp 0x1800a89f9
mov rax, qword [0x1805e4dc8]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x90]
subss xmm0, dword [rbp]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm12
call fcn.18018b020
movaps xmm7, xmm0
mov rax, qword [rbp - 0x68]
movss xmm1, dword [rax + 0x94]
subss xmm1, dword [rbp + 4]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm12
call fcn.18018b020
movaps xmm6, xmm0
mov rax, qword [rbp - 0x68]
movss xmm2, dword [rax + 0x98]
movd xmm1, r15d
subss xmm2, xmm1
cvtps2pd xmm0, xmm2
movaps xmm1, xmm12
call fcn.18018b020
addsd xmm6, xmm7
addsd xmm6, xmm0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1800a8a80
xorps xmm8, xmm8
sqrtss xmm8, xmm1
jmp 0x1800a8a8c
movaps xmm0, xmm1
call fcn.18018e2c4
movaps xmm8, xmm0
movss xmm9, dword [r13 + 0x280]
mov rax, qword [0x1805e4de8]
movss xmm10, dword [rax + r13]
mov edx, r14d
lea rcx, [rbp + 0x170]
call fcn.180064810
nop
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x220]
call fcn.180063c50
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x150]
call fcn.180014430
nop
mov rax, qword [0x1805e4db0]
mov rdx, qword [rax + r13]
test rdx, rdx
jne 0x1800a8bd7
movdqa xmm0, xmmword [0x1801cf990]
movdqu xmmword [rbp + 0x260], xmm0
mov dword [rbp + 0x270], 0x55586b1d
mov dword [rbp + 0x274], 0x58515e54
mov byte [rbp + 0x278], 0x3d
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xor r14d, r14d
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], r14b
bts esi, 0xd
mov dword [rsp + 0x40], esi
xor r8d, r8d
lea edx, [r14 + 0x19]
lea rcx, [rsp + 0x70]
call fcn.180014330
mov ecx, r14d
cmp rcx, 0x19
jae 0x1800a9370
movzx edx, byte [rbp + rcx + 0x260]
xor dl, 0x3d
cmp qword [rbp - 0x80], rcx
jbe 0x1800a936a
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rax, qword [rsp + 0x70]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 0x19
jl 0x1800a8b5b
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], r14b
jne 0x1800a8bb0
lea rcx, [rbp + 0x1e8]
call fcn.18001e500
btr esi, 0xd
mov dword [rsp + 0x40], esi
lea rcx, [rsp + 0x70]
jmp 0x1800a8c5e
mov rdx, qword [rdx + 0x20]
test rdx, rdx
jne 0x1800a8c02
lea rcx, [rbp + 0x150]
call fcn.180014c00
nop
lea rcx, [rbp + 0x170]
call fcn.180014c00
nop
xor r15d, r15d
jmp 0x1800a9293
add rdx, 0x298
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor r14d, r14d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r14b
jne 0x1800a8c22
lea rcx, [rbp - 0x60]
call fcn.180014fd0
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x1e8], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x1f8], xmm1
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], r14b
lea rcx, [rbp - 0x60]
call fcn.180014c00
mov r8d, r13d
mov rdx, qword [0x1805e4ca0]
mov rcx, qword [0x1805e4c98]
call fcn.1801543e0
cmp rax, qword [0x1805e4ca0]
je 0x1800a8cbe
mov dword [rsp + 0x58], 0x1a01157b
mov dword [rsp + 0x5c], 0x171d16
mov word [rsp + 0x60], 0x537a
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x58]
call fcn.1800a9a00
nop
or esi, 2
mov dword [rsp + 0x40], esi
cmp qword [rax + 0x18], 0x10
jb 0x1800a8cc5
mov rax, qword [rax]
jmp 0x1800a8cc5
lea rax, [0x1801c45a1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x148], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1800a8ce4
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.180014fd0
nop
test sil, 2
je 0x1800a8d13
and esi, 0xfffffffd
lea rcx, [rbp + 0xe8]
call fcn.180014c00
mov word [rsp + 0x48], 0x235e
mov byte [rsp + 0x4a], 3
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], 0
or esi, 8
mov dword [rsp + 0x40], esi
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp - 0x60]
call fcn.180014330
mov rcx, r14
cmp rcx, 3
jae 0x1800a935e
movzx edx, byte [rsp + rcx + 0x48]
xor dl, 3
cmp qword [rbp - 0x50], rcx
jbe 0x1800a9358
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rax, qword [rbp - 0x60]
mov byte [rax + rcx], dl
inc rcx
cmp rcx, 3
jl 0x1800a8d54
lea r15, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae r15, qword [rbp - 0x60]
mov eax, dword [rsp + 0x68]
lea r10, [rbp + 0x275]
mov r8d, eax
test eax, eax
jns 0x1800a8df0
neg r8d
nop dword [rax]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x1800a8db0
dec r10
mov byte [r10], 0x2d
jmp 0x1800a8e1a
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x1800a8df0
lea r9, [rsp + 0x44]
lea r8, [rbp + 0x275]
mov rdx, r10
lea rcx, [rbp + 0xb8]
call fcn.180024b70
or esi, 0x30
mov word [rsp + 0x4c], 0x403b
mov byte [rsp + 0x4e], 0x1b
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x38], 0
or esi, 0x40
mov dword [rsp + 0x40], esi
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp - 0x38]
call fcn.180014330
mov rcx, r14
cmp rcx, 3
jae 0x1800a9394
movzx edx, byte [rsp + rcx + 0x4c]
xor dl, 0x1b
cmp qword [rbp - 0x28], rcx
jbe 0x1800a938e
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rax, qword [rbp - 0x38]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 3
jl 0x1800a8e79
lea r14, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae r14, qword [rbp - 0x38]
mov dword [rsp + 0x50], 0x6f624646
mov byte [rsp + 0x54], 0x4f
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], 0
bts esi, 7
mov dword [rsp + 0x40], esi
xor r8d, r8d
lea edx, [r8 + 5]
lea rcx, [rsp + 0x70]
call fcn.180014330
xor ecx, ecx
cmp rcx, 5
jae 0x1800a9388
movzx edx, byte [rsp + rcx + 0x50]
xor dl, 0x4f
cmp qword [rbp - 0x80], rcx
jbe 0x1800a9382
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rax, qword [rsp + 0x70]
mov byte [rcx + rax], dl
inc rcx
cmp rcx, 5
jl 0x1800a8f02
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae r9, qword [rsp + 0x70]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r9 + rcx], 0
jne 0x1800a8f50
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x160]
sub rax, rdx
cmp rax, rcx
jb 0x1800a937c
lea rax, [rbp + 0x150]
cmp qword [rbp + 0x168], 0x10
cmovae rax, qword [rbp + 0x150]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x150]
movzx edx, bl
lea rcx, [rbp + 0x98]
call fcn.1800598e0
bts esi, 8
mov dword [rsp + 0x40], esi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r14 + r8], 0
jne 0x1800a8fc2
mov rdx, r14
lea rcx, [rbp + 0x98]
call fcn.18001e660
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x68], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
bts esi, 9
mov dword [rsp + 0x40], esi
lea r9, [rbp + 0xb8]
lea r8, [rbp + 0x58]
movzx edx, dil
lea rcx, [rbp + 0x78]
call fcn.1800596f0
bts esi, 0xa
mov dword [rsp + 0x40], esi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [r15 + r8], 0
jne 0x1800a9030
mov rdx, r15
lea rcx, [rbp + 0x78]
call fcn.18001e660
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor r15d, r15d
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r15b
bts esi, 0xb
mov dword [rsp + 0x40], esi
lea rdx, [rbp + 0x130]
cmp qword [rbp + 0x148], 0x10
cmovae rdx, qword [rbp + 0x130]
mov r8, qword [rbp + 0x140]
lea rcx, [rbp + 0x10]
call fcn.18001e660
movups xmm7, xmmword [rax]
movups xmmword [rbp + 0x30], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0x40], xmm6
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r15b
bts esi, 0xc
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800a9105
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a9100
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a9376
call fcn.180155a9c
movups xmmword [rbp + 0x110], xmm7
movups xmmword [rbp + 0x120], xmm6
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x30], 0
lea rcx, [rbp + 0x30]
call fcn.180014c00
nop
lea rcx, [rbp + 0x10]
call fcn.180014c00
nop
lea rcx, [rbp + 0x78]
call fcn.180014c00
nop
lea rcx, [rbp + 0x58]
call fcn.180014c00
nop
lea rcx, [rbp + 0x98]
call fcn.180014c00
btr esi, 7
lea rcx, [rsp + 0x70]
call fcn.180014c00
and esi, 0xffffffbf
lea rcx, [rbp - 0x38]
call fcn.180014c00
nop
lea rcx, [rbp + 0xb8]
call fcn.180014c00
and esi, 0xfffffff7
mov dword [rsp + 0x40], esi
lea rcx, [rbp - 0x60]
call fcn.180014c00
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x1a4], eax
movss dword [rbp + 0x1a0], xmm8
movss dword [rbp + 0x198], xmm10
mov qword [rbp + 0x190], r13
movss dword [rbp + 0x19c], xmm9
movsd qword [rbp + 0x208], xmm11
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x210], eax
lea rdx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdx, qword [rbp + 0x170]
mov r8, qword [rbp + 0x180]
lea rcx, [rbp + 0x1a8]
call fcn.18001e500
lea rdx, [rbp + 0x110]
movq rcx, xmm7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm6
lea rcx, [rbp + 0x1c8]
call fcn.18001e500
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x1800a9251
lea rdx, [rbp + 0x190]
mov rcx, qword [r12 + 8]
call fcn.1800a9f60
add qword [r12 + 8], 0x88
jmp 0x1800a9261
lea r8, [rbp + 0x190]
mov rcx, r12
call fcn.1800a9d70
nop
lea rcx, [rbp + 0x130]
call fcn.180014c00
nop
lea rcx, [rbp + 0x150]
call fcn.180014c00
nop
lea rcx, [rbp + 0x170]
call fcn.180014c00
nop
mov rax, qword [rbp + 0x128]
mov qword [rbp - 0x18], rax
mov r14, qword [rbp - 0x68]
lea rcx, [rbp + 0x1e8]
call fcn.180014c00
lea rcx, [rbp + 0x1c8]
call fcn.180014c00
lea rcx, [rbp + 0x1a8]
call fcn.180014c00
mov ecx, dword [rbp - 0x70]
inc ecx
mov dword [rbp - 0x70], ecx
mov r13, qword [rbp - 0x10]
add r13, 0x10
mov qword [rbp - 0x10], r13
movsxd rax, ecx
cmp rax, qword [rbp - 8]
jb 0x1800a88f0
lea rcx, [rbp + 0x220]
call fcn.180063900
nop
lea rcx, [rbp + 0x220]
call fcn.180011f30
nop
lea rcx, [rbp + 0x110]
call fcn.180014c00
mov rax, r12
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1801554d0
lea r11, [rsp + 0x400]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180014f60
nop
call fcn.180014d90
nop
call fcn.180013ab0
nop
call fcn.180014f60
int3
call fcn.180014d90
nop
call fcn.18015c514
nop
call fcn.180011df0
int3
call fcn.180014f60
int3
call fcn.180014d90
nop
call fcn.180014f60
int3
call fcn.180014d90
int3