Function at 0x140057110
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 0x140057131
mov rbx, r9
cmp dword [r9 + 0x10], 0
je 0x140057167
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.14004a6a0
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 0x140057256
mov r12, r8
mov r14, rdx
mov r15, rcx
mov rcx, qword [rbx]
cmp eax, 4
jae 0x14005718c
xor edx, edx
xor r8d, r8d
jmp 0x1400571e0
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 0x1400571a0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x1400571ec
nop word cs:[rax + rax]
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400571e0
test r8, r8
je 0x140057256
mov rbp, qword [rsp + 0xc8]
cmp byte [rbp + 0x28], 0
jne 0x14005728d
mov rcx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
jne 0x140057279
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x140057287
mov rax, rdi
shr rax, 0x3d
jne 0x140057287
lea rdx, [rdi*8]
mov rcx, qword [rbp + 8]
call fcn.1400936f0
test rax, rax
je 0x140057287
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rdi
mov rcx, qword [rbp + 0x10]
jmp 0x14005727d
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 0x14005714f
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbp + 0x10]
jmp 0x14005728d
mov word [rbp + 0x28], 0x101
test r15, r15
je 0x14005729f
cmp r15, r12
je 0x14005729f
mov rdi, r15
cmp r15, rbx
jne 0x1400572aa
mov rcx, rbp
call fcn.140055620
mov rdi, rax
test r14, r14
je 0x1400572bc
cmp r14, r12
je 0x1400572bc
mov r13, r14
cmp r14, rbx
jne 0x1400572c7
mov rcx, rbp
call fcn.140055620
mov r13, rax
mov rcx, rbp
call fcn.140055620
mov qword [rsp + 0x38], rax
xor esi, esi
test rdi, rdi
je 0x140057711
test r13, r13
je 0x140057711
cmp qword [rsp + 0x38], 0
je 0x140057711
movsxd rdx, dword [r12 + 8]
mov rcx, rdi
call fcn.140053780
test eax, eax
je 0x140057711
movsxd rdx, dword [rbx + 8]
mov rcx, r13
call fcn.140053780
test eax, eax
je 0x140057711
movsxd rdx, dword [rbx + 8]
mov rcx, qword [rsp + 0x38]
call fcn.140053780
test eax, eax
je 0x140057711
movsxd r8, dword [r12 + 8]
mov rbp, rdi
xor edi, edi
mov eax, 0
test r8, r8
je 0x14005735b
shl r8, 3
mov rcx, qword [rbp]
xor edx, edx
call fcn.140260830
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 0x14005738c
shl r8, 3
mov rcx, qword [r13]
xor edx, edx
call fcn.140260830
mov edi, dword [rbx + 8]
mov dword [r13 + 8], edi
mov dword [r13 + 0x10], 0
mov eax, 0xffffffff
test esi, esi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
je 0x1400573e4
dec esi
shr esi, 6
movsxd rdx, dword [r12 + 8]
cmp esi, edx
cmovge esi, edx
test esi, esi
mov rdi, qword [rsp + 0x30]
je 0x1400573e9
movsxd r8, esi
shl r8, 3
mov rcx, qword [r13]
shl rdx, 3
add rdx, qword [r12]
sub rdx, r8
call fcn.1402609f0
not esi
mov eax, esi
jmp 0x1400573e9
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x50], r12
add eax, dword [r12 + 8]
js 0x1400576c6
mov ebp, eax
jmp 0x14005740c
lea rax, [rbp - 1]
test ebp, ebp
mov rbp, rax
jle 0x1400576c6
mov r15d, 0x3f
jmp 0x14005743f
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 0x1400573fd
movsxd rcx, dword [rbx + 8]
test rcx, rcx
je 0x1400574f0
mov rax, qword [r13]
xor r14d, r14d
cmp ecx, 4
jb 0x1400574d0
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 0x140057460
test rcx, rcx
je 0x140057567
test cl, 1
jne 0x140057500
mov rdx, rcx
mov r8, r14
cmp rcx, 1
jne 0x140057528
jmp 0x140057567
xor r14d, r14d
jmp 0x140057567
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 0x140057567
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 0x140057530
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.1400542a0
sub r14, rax
test rsi, rsi
je 0x140057420
mov rax, r14
mov rcx, r14
not rcx
cmp esi, 6
jb 0x1400575d4
lea rdx, [rdi + rsi*8]
cmp r12, rdx
jae 0x14005764b
lea rdx, [r12 + rsi*8]
cmp rdi, rdx
jae 0x14005764b
xor edx, edx
mov r8, rdx
test sil, 1
je 0x1400575fb
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
not rdx
add rdx, rsi
je 0x140057420
nop word [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 0x140057610
jmp 0x140057420
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 0x140057670
cmp rdx, rsi
je 0x140057420
jmp 0x1400575d6
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400576dd
mov rdx, rdi
call fcn.1400546a0
test rax, rax
je 0x140057703
mov rcx, qword [rsp + 0x40]
test rcx, rcx
mov rbp, qword [rsp + 0xc8]
je 0x1400576fc
mov rdx, r13
call fcn.1400546a0
test rax, rax
je 0x14005770f
mov esi, 1
jmp 0x140057711
xor esi, esi
mov rbp, qword [rsp + 0xc8]
jmp 0x140057711
xor esi, esi
cmp byte [rbp + 0x28], 0
jne 0x140057154
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 0x140057154