Function at 0x140057a40
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 0x140057a61
mov rbx, r9
cmp dword [r9 + 0x10], 0
je 0x140057a97
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, WSASetLastError
call fcn.14004adc0
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 0x140057b95
mov r12, r8
mov r15, rcx
mov r14, rdx
mov rcx, qword [rbx]
cmp eax, 4
jae 0x140057abc
xor edx, edx
xor r8d, r8d
jmp 0x140057b10
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 0x140057ad0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x140057b1c
nop word cs:[rax + rax]
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140057b10
test r8, r8
je 0x140057b95
mov rdx, r14
mov rax, r15
mov r8, r12
mov rbp, qword [rsp + 0xc8]
cmp byte [rbp + 0x28], 0
jne 0x140057bcf
mov rcx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
jne 0x140057bb8
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x140057bc6
mov rax, rdi
shr rax, 0x3d
jne 0x140057bc6
lea rdx, [rdi*8]
mov rcx, qword [rbp + 8]
call fcn.140094100
mov r8, r12
mov rdx, r14
test rax, rax
je 0x140057bc6
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rdi
mov rcx, qword [rbp + 0x10]
jmp 0x140057bbc
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 0x140057a7f
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbp + 0x10]
jmp 0x140057bcc
mov word [rbp + 0x28], 0x101
mov rax, r15
test rax, rax
je 0x140057be1
cmp rax, r8
je 0x140057be1
mov rdi, rax
cmp rax, rbx
jne 0x140057bf2
mov rcx, rbp
call fcn.140055f00
mov r8, r12
mov rdx, r14
mov rdi, rax
test rdx, rdx
je 0x140057c04
cmp rdx, r8
je 0x140057c04
mov r13, rdx
cmp rdx, rbx
jne 0x140057c0f
mov rcx, rbp
call fcn.140055f00
mov r13, rax
mov rcx, rbp
call fcn.140055f00
mov qword [rsp + 0x38], rax
xor esi, esi
test rdi, rdi
je 0x140058061
test r13, r13
je 0x140058061
cmp qword [rsp + 0x38], 0
je 0x140058061
movsxd rdx, dword [r12 + 8]
mov rcx, rdi
call fcn.140053ff0
test eax, eax
je 0x140058061
movsxd rdx, dword [rbx + 8]
mov rcx, r13
call fcn.140053ff0
test eax, eax
je 0x140058061
movsxd rdx, dword [rbx + 8]
mov rcx, qword [rsp + 0x38]
call fcn.140053ff0
test eax, eax
je 0x140058061
movsxd r8, dword [r12 + 8]
mov rbp, rdi
xor edi, edi
mov eax, 0
test r8, r8
je 0x140057ca3
shl r8, 3
mov rcx, qword [rbp]
xor edx, edx
call fcn.140269430
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 0x140057cd4
shl r8, 3
mov rcx, qword [r13]
xor edx, edx
call fcn.140269430
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 0x140057d38
dec esi
shr esi, 6
cmp esi, eax
cmovge esi, eax
test esi, esi
mov rdi, qword [rsp + 0x30]
je 0x140057d34
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.1402695f0
mov rcx, r12
mov eax, dword [r12 + 8]
not esi
jmp 0x140057d42
mov esi, 0xffffffff
mov rdi, qword [rsp + 0x30]
add eax, esi
js 0x140058016
mov ebp, eax
jmp 0x140057d5d
lea rax, [rbp - 1]
test ebp, ebp
mov rbp, rax
jle 0x140058016
mov r15d, 0x3f
jmp 0x140057d8f
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 0x140057d4e
movsxd rcx, dword [rbx + 8]
test rcx, rcx
je 0x140057e40
mov rax, qword [r13]
xor r14d, r14d
cmp ecx, 4
jb 0x140057e20
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 0x140057db0
test rcx, rcx
je 0x140057eb7
test cl, 1
jne 0x140057e50
mov rdx, rcx
mov r8, r14
cmp rcx, 1
jne 0x140057e78
jmp 0x140057eb7
xor r14d, r14d
jmp 0x140057eb7
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 0x140057eb7
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 0x140057e80
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.140054b80
sub r14, rax
test rsi, rsi
je 0x140057d70
mov rax, r14
mov rcx, r14
not rcx
cmp esi, 6
jb 0x140057f24
lea rdx, [rdi + rsi*8]
cmp r12, rdx
jae 0x140057f9b
lea rdx, [r12 + rsi*8]
cmp rdi, rdx
jae 0x140057f9b
xor edx, edx
mov r8, rdx
test sil, 1
je 0x140057f4b
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
mov r9, rsi
neg r9
xor rdx, r9
cmp rdx, 0xffffffffffffffff
je 0x140057d70
nop
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 0x140057f60
jmp 0x140057d70
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 0x140057fc0
cmp rdx, rsi
je 0x140057d70
jmp 0x140057f26
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005802d
mov rdx, rdi
call fcn.140054f70
test rax, rax
je 0x140058053
mov rcx, qword [rsp + 0x40]
test rcx, rcx
mov rbp, qword [rsp + 0xc8]
je 0x14005804c
mov rdx, r13
call fcn.140054f70
test rax, rax
je 0x14005805f
mov esi, 1
jmp 0x140058061
xor esi, esi
mov rbp, qword [rsp + 0xc8]
jmp 0x140058061
xor esi, esi
cmp byte [rbp + 0x28], 0
jne 0x140057a84
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 0x140057a84