Function at 0x140058710
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
cmp dword [r8 + 0x10], 0
jne 0x140058731
mov rbx, r9
cmp dword [r9 + 0x10], 0
je 0x140058767
mov dword [rsp + 0x20], 0x1cd
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
call fcn.14004bbe0
mov eax, esi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd rax, dword [rbx + 8]
test rax, rax
je 0x140058865
mov r12, r8
mov r15, rcx
mov r14, rdx
mov rcx, qword [rbx]
cmp eax, 4
jae 0x14005878c
xor edx, edx
xor r8d, r8d
jmp 0x1400587e0
mov rdx, rax
and rdx, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r8d, r8d
pxor xmm1, xmm1
nop
movdqu xmm2, xmmword [rcx + r8*8]
por xmm0, xmm2
movdqu xmm2, xmmword [rcx + r8*8 + 0x10]
por xmm1, xmm2
add r8, 4
cmp rdx, r8
jne 0x1400587a0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x1400587ec
nop word cs:[rax + rax]
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400587e0
test r8, r8
je 0x140058865
mov rdx, r14
mov rax, r15
mov r8, r12
mov rbp, qword [rsp + 0xc8]
cmp byte [rbp + 0x28], 0
jne 0x14005889f
mov rcx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
jne 0x140058888
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x140058896
mov rax, rdi
shr rax, 0x3d
jne 0x140058896
lea rdx, [rdi*8]
mov rcx, qword [rbp + 8]
call fcn.140093160
mov r8, r12
mov rdx, r14
test rax, rax
je 0x140058896
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rdi
mov rcx, qword [rbp + 0x10]
jmp 0x14005888c
mov dword [rsp + 0x20], 0x1d1
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
jmp 0x14005874f
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbp + 0x10]
jmp 0x14005889c
mov word [rbp + 0x28], 0x101
mov rax, r15
test rax, rax
je 0x1400588b1
cmp rax, r8
je 0x1400588b1
mov rdi, rax
cmp rax, rbx
jne 0x1400588c2
mov rcx, rbp
call fcn.140056bc0
mov r8, r12
mov rdx, r14
mov rdi, rax
test rdx, rdx
je 0x1400588d4
cmp rdx, r8
je 0x1400588d4
mov r13, rdx
cmp rdx, rbx
jne 0x1400588df
mov rcx, rbp
call fcn.140056bc0
mov r13, rax
mov rcx, rbp
call fcn.140056bc0
mov qword [rsp + 0x38], rax
xor esi, esi
test rdi, rdi
je 0x140058d31
test r13, r13
je 0x140058d31
cmp qword [rsp + 0x38], 0
je 0x140058d31
movsxd rdx, dword [r12 + 8]
mov rcx, rdi
call fcn.140054cc0
test eax, eax
je 0x140058d31
movsxd rdx, dword [rbx + 8]
mov rcx, r13
call fcn.140054cc0
test eax, eax
je 0x140058d31
movsxd rdx, dword [rbx + 8]
mov rcx, qword [rsp + 0x38]
call fcn.140054cc0
test eax, eax
je 0x140058d31
movsxd r8, dword [r12 + 8]
mov rbp, rdi
xor edi, edi
mov eax, 0
test r8, r8
je 0x140058973
shl r8, 3
mov rcx, qword [rbp]
xor edx, edx
call fcn.140260660
mov eax, dword [r12 + 8]
mov esi, dword [rsp + 0xc0]
mov dword [rbp + 8], eax
mov qword [rsp + 0x30], rbp
mov dword [rbp + 0x10], 0
movsxd r8, dword [rbx + 8]
test r8, r8
je 0x1400589a4
shl r8, 3
mov rcx, qword [r13]
xor edx, edx
call fcn.140260660
mov edi, dword [rbx + 8]
mov dword [r13 + 8], edi
mov dword [r13 + 0x10], 0
mov rcx, r12
mov eax, dword [r12 + 8]
test esi, esi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r12
je 0x140058a08
dec esi
shr esi, 6
cmp esi, eax
cmovge esi, eax
test esi, esi
mov rdi, qword [rsp + 0x30]
je 0x140058a04
movsxd rdx, eax
movsxd r8, esi
shl r8, 3
mov rcx, qword [r13]
shl rdx, 3
add rdx, qword [r12]
sub rdx, r8
call fcn.14025fe70
mov rcx, r12
mov eax, dword [r12 + 8]
not esi
jmp 0x140058a12
mov esi, 0xffffffff
mov rdi, qword [rsp + 0x30]
add eax, esi
js 0x140058ce6
mov ebp, eax
jmp 0x140058a2d
lea rax, [rbp - 1]
test ebp, ebp
mov rbp, rax
jle 0x140058ce6
mov r15d, 0x3f
jmp 0x140058a5f
not r14d
and r14d, 1
mov ecx, r15d
shl r14, cl
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi]
or qword [rax + rbp*8], r14
sub r15, 1
jb 0x140058a1e
movsxd rcx, dword [rbx + 8]
test rcx, rcx
je 0x140058b10
mov rax, qword [r13]
xor r14d, r14d
cmp ecx, 4
jb 0x140058af0
nop dword [rax + rax]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov r9, rdx
shr r9, 0x3f
add rdx, rdx
mov r10, r8
shr r10, 0x3f
add r8, r8
mov r11, qword [rax + 0x10]
mov rsi, r11
shr rsi, 0x3f
add r11, r11
mov rdi, qword [rax + 0x18]
mov r12, rdi
shr r12, 0x3f
add rdi, rdi
add rdx, r14
mov qword [rax], rdx
adc r8, r9
mov qword [rax + 8], r8
adc r11, r10
adc rdi, rsi
mov qword [rax + 0x10], r11
mov r14, r12
adc r14, 0
mov qword [rax + 0x18], rdi
add rax, 0x20
add rcx, 0xfffffffffffffffc
cmp rcx, 4
jae 0x140058a80
test rcx, rcx
je 0x140058b87
test cl, 1
jne 0x140058b20
mov rdx, rcx
mov r8, r14
cmp rcx, 1
jne 0x140058b48
jmp 0x140058b87
xor r14d, r14d
jmp 0x140058b87
mov rdx, qword [rax]
xor r8d, r8d
add r14, rdx
setb r8b
add r14, rdx
adc r8, 0
mov qword [rax], r14
add rax, 8
lea rdx, [rcx - 1]
mov r14, r8
cmp rcx, 1
je 0x140058b87
xor ecx, ecx
mov r14, r8
nop dword [rax]
xor r8d, r8d
add r14, qword [rax + rcx*8]
setb r8b
add r14, qword [rax + rcx*8]
mov qword [rax + rcx*8], r14
adc r8, qword [rax + rcx*8 + 8]
setb r9b
movzx r14d, r9b
add r8, qword [rax + rcx*8 + 8]
adc r14, 0
mov qword [rax + rcx*8 + 8], r8
add rcx, 2
cmp rdx, rcx
jne 0x140058b50
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rax, qword [rax + rbp*8]
xor ecx, ecx
bt rax, r15
setb cl
mov rax, qword [r13]
or qword [rax], rcx
movsxd rsi, dword [rbx + 8]
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax]
mov r8, qword [rbx]
mov r12, qword [r13]
mov rcx, rdi
mov rdx, r12
mov r9, rsi
call fcn.140055810
sub r14, rax
test rsi, rsi
je 0x140058a40
mov rax, r14
mov rcx, rax
not rcx
cmp esi, 6
jb 0x140058bf4
lea rdx, [rdi + rsi*8]
cmp r12, rdx
jae 0x140058c6b
lea rdx, [r12 + rsi*8]
cmp rdi, rdx
jae 0x140058c6b
xor edx, edx
mov r8, rdx
test sil, 1
je 0x140058c1b
mov r8, qword [r12 + rdx*8]
and r8, rax
mov r9, qword [rdi + rdx*8]
and r9, rcx
or r9, r8
mov qword [r12 + rdx*8], r9
mov r8, rdx
or r8, 1
lea r9, [rsi - 1]
cmp rdx, r9
je 0x140058a40
nop dword [rax + rax]
mov rdx, qword [r12 + r8*8]
and rdx, rax
mov r9, qword [rdi + r8*8]
and r9, rcx
or r9, rdx
mov qword [r12 + r8*8], r9
mov rdx, qword [r12 + r8*8 + 8]
and rdx, rax
mov r9, qword [rdi + r8*8 + 8]
and r9, rcx
or r9, rdx
mov qword [r12 + r8*8 + 8], r9
add r8, 2
cmp rsi, r8
jne 0x140058c30
jmp 0x140058a40
mov rdx, rsi
and rdx, 0xfffffffffffffffc
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
xor r8d, r8d
nop dword [rax]
movdqu xmm2, xmmword [rdi + r8*8]
movdqu xmm3, xmmword [rdi + r8*8 + 0x10]
movdqu xmm4, xmmword [r12 + r8*8]
movdqu xmm5, xmmword [r12 + r8*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [r12 + r8*8], xmm2
movdqu xmmword [r12 + r8*8 + 0x10], xmm3
add r8, 4
cmp rdx, r8
jne 0x140058c90
cmp rdx, rsi
je 0x140058a40
jmp 0x140058bf6
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140058cfd
mov rdx, rdi
call fcn.140055bf0
test rax, rax
je 0x140058d23
mov rcx, qword [rsp + 0x40]
test rcx, rcx
mov rbp, qword [rsp + 0xc8]
je 0x140058d1c
mov rdx, r13
call fcn.140055bf0
test rax, rax
je 0x140058d2f
mov esi, 1
jmp 0x140058d31
xor esi, esi
mov rbp, qword [rsp + 0xc8]
jmp 0x140058d31
xor esi, esi
cmp byte [rbp + 0x28], 0
jne 0x140058754
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
lea rdx, [rcx - 1]
mov qword [rbp + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [rbp + 0x20], rax
jmp 0x140058754