Function at 0x140058530
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 0x140058551
mov rbx, r9
cmp dword [r9 + 0x10], 0
je 0x140058587
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.14004ba00
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 0x140058685
mov r12, r8
mov r15, rcx
mov r14, rdx
mov rcx, qword [rbx]
cmp eax, 4
jae 0x1400585ac
xor edx, edx
xor r8d, r8d
jmp 0x140058600
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 0x1400585c0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x14005860c
nop word cs:[rax + rax]
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140058600
test r8, r8
je 0x140058685
mov rdx, r14
mov rax, r15
mov r8, r12
mov rbp, qword [rsp + 0xc8]
cmp byte [rbp + 0x28], 0
jne 0x1400586bf
mov rcx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
jne 0x1400586a8
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x1400586b6
mov rax, rdi
shr rax, 0x3d
jne 0x1400586b6
lea rdx, [rdi*8]
mov rcx, qword [rbp + 8]
call fcn.140092da0
mov r8, r12
mov rdx, r14
test rax, rax
je 0x1400586b6
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rdi
mov rcx, qword [rbp + 0x10]
jmp 0x1400586ac
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 0x14005856f
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbp + 0x10]
jmp 0x1400586bc
mov word [rbp + 0x28], 0x101
mov rax, r15
test rax, rax
je 0x1400586d1
cmp rax, r8
je 0x1400586d1
mov rdi, rax
cmp rax, rbx
jne 0x1400586e2
mov rcx, rbp
call fcn.1400569e0
mov r8, r12
mov rdx, r14
mov rdi, rax
test rdx, rdx
je 0x1400586f4
cmp rdx, r8
je 0x1400586f4
mov r13, rdx
cmp rdx, rbx
jne 0x1400586ff
mov rcx, rbp
call fcn.1400569e0
mov r13, rax
mov rcx, rbp
call fcn.1400569e0
mov qword [rsp + 0x38], rax
xor esi, esi
test rdi, rdi
je 0x140058b51
test r13, r13
je 0x140058b51
cmp qword [rsp + 0x38], 0
je 0x140058b51
movsxd rdx, dword [r12 + 8]
mov rcx, rdi
call fcn.140054ae0
test eax, eax
je 0x140058b51
movsxd rdx, dword [rbx + 8]
mov rcx, r13
call fcn.140054ae0
test eax, eax
je 0x140058b51
movsxd rdx, dword [rbx + 8]
mov rcx, qword [rsp + 0x38]
call fcn.140054ae0
test eax, eax
je 0x140058b51
movsxd r8, dword [r12 + 8]
mov rbp, rdi
xor edi, edi
mov eax, 0
test r8, r8
je 0x140058793
shl r8, 3
mov rcx, qword [rbp]
xor edx, edx
call fcn.14025d290
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 0x1400587c4
shl r8, 3
mov rcx, qword [r13]
xor edx, edx
call fcn.14025d290
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 0x140058828
dec esi
shr esi, 6
cmp esi, eax
cmovge esi, eax
test esi, esi
mov rdi, qword [rsp + 0x30]
je 0x140058824
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.14025caa0
mov rcx, r12
mov eax, dword [r12 + 8]
not esi
jmp 0x140058832
mov esi, 0xffffffff
mov rdi, qword [rsp + 0x30]
add eax, esi
js 0x140058b06
mov ebp, eax
jmp 0x14005884d
lea rax, [rbp - 1]
test ebp, ebp
mov rbp, rax
jle 0x140058b06
mov r15d, 0x3f
jmp 0x14005887f
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 0x14005883e
movsxd rcx, dword [rbx + 8]
test rcx, rcx
je 0x140058930
mov rax, qword [r13]
xor r14d, r14d
cmp ecx, 4
jb 0x140058910
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 0x1400588a0
test rcx, rcx
je 0x1400589a7
test cl, 1
jne 0x140058940
mov rdx, rcx
mov r8, r14
cmp rcx, 1
jne 0x140058968
jmp 0x1400589a7
xor r14d, r14d
jmp 0x1400589a7
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 0x1400589a7
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 0x140058970
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.140055630
sub r14, rax
test rsi, rsi
je 0x140058860
mov rax, r14
mov rcx, rax
not rcx
cmp esi, 4
jb 0x140058a14
lea rdx, [rdi + rsi*8]
cmp r12, rdx
jae 0x140058a8b
lea rdx, [r12 + rsi*8]
cmp rdi, rdx
jae 0x140058a8b
xor edx, edx
mov r8, rdx
test sil, 1
je 0x140058a3b
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 0x140058860
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 0x140058a50
jmp 0x140058860
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 0x140058ab0
cmp rdx, rsi
je 0x140058860
jmp 0x140058a16
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140058b1d
mov rdx, rdi
call fcn.140055a10
test rax, rax
je 0x140058b43
mov rcx, qword [rsp + 0x40]
test rcx, rcx
mov rbp, qword [rsp + 0xc8]
je 0x140058b3c
mov rdx, r13
call fcn.140055a10
test rax, rax
je 0x140058b4f
mov esi, 1
jmp 0x140058b51
xor esi, esi
mov rbp, qword [rsp + 0xc8]
jmp 0x140058b51
xor esi, esi
cmp byte [rbp + 0x28], 0
jne 0x140058574
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 0x140058574