Function at 0x140103860
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov eax, dword [r8 + 8]
mov ebx, dword [r9 + 8]
cmp eax, ebx
cmovg ebx, eax
test ebx, ebx
je 0x140103aef
mov r15, r9
mov rdi, r8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rdx
mov rbp, qword [rsp + 0xd0]
cmp byte [rbp + 0x28], 0
jne 0x1401038c1
mov rcx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
je 0x140103b13
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbp + 0x10]
mov rcx, rbp
call fcn.14003e7a0
mov r13, rax
mov rcx, rbp
call fcn.14003e7a0
mov rsi, rax
mov rcx, rbp
call fcn.14003e7a0
xor r12d, r12d
test r13, r13
je 0x140103ace
test rsi, rsi
je 0x140103ace
test rax, rax
je 0x140103ace
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
cmp r13, rdi
je 0x140103e2d
movsxd rdx, dword [rdi + 8]
mov rcx, r13
call fcn.14003e020
test eax, eax
je 0x140103ace
movsxd r8, dword [rdi + 8]
test r8, r8
je 0x140103e40
shl r8, 3
mov rcx, qword [r13]
mov rdx, qword [rdi]
call fcn.14009f630
mov eax, dword [rdi + 8]
mov dword [r13 + 8], eax
mov eax, dword [rdi + 0x10]
mov dword [r13 + 0x10], eax
mov rcx, qword [rsp + 0x28]
cmp rcx, r15
je 0x140103e47
movsxd rdx, dword [r15 + 8]
call fcn.14003e020
test eax, eax
je 0x140103ace
movsxd r8, dword [r15 + 8]
test r8, r8
je 0x140103e55
shl r8, 3
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsi]
mov rdx, qword [r15]
call fcn.14009f630
mov eax, dword [r15 + 8]
mov dword [rsi + 8], eax
mov eax, dword [r15 + 0x10]
mov dword [rsi + 0x10], eax
movsxd r14, ebx
movsxd rax, dword [r13 + 8]
cmp eax, ebx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
ja 0x140103e61
mov rcx, r13
mov rdx, r14
call fcn.14003e020
test eax, eax
je 0x140103ace
movsxd rcx, dword [r13 + 8]
mov r8, r14
sub r8, rcx
mov rsi, qword [rsp + 0x28]
je 0x1401039f2
shl r8, 3
shl rcx, 3
add rcx, qword [r13]
xor edx, edx
call fcn.14009fa40
mov rsi, qword [rsp + 0x28]
mov dword [r13 + 8], ebx
movsxd rax, dword [rsi + 8]
cmp eax, ebx
ja 0x140103e92
mov rcx, rsi
mov rdx, r14
call fcn.14003e020
test eax, eax
je 0x140103ace
movsxd rcx, dword [rsi + 8]
mov r8, r14
sub r8, rcx
mov rax, rsi
mov rsi, qword [rsp + 0x30]
je 0x140103a45
shl r8, 3
shl rcx, 3
add rcx, qword [rax]
xor edx, edx
call fcn.14009fa40
mov rsi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov dword [rax + 8], ebx
movsxd rax, dword [rsi + 8]
cmp eax, ebx
ja 0x140103ec7
mov rcx, rsi
mov rdx, r14
call fcn.14003e020
test eax, eax
je 0x140103ace
movsxd rcx, dword [rsi + 8]
mov r8, r14
sub r8, rcx
mov r9, qword [rsp + 0x28]
je 0x140103a90
shl r8, 3
shl rcx, 3
add rcx, qword [rsi]
xor edx, edx
call fcn.14009fa40
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
mov dword [rsi + 8], ebx
mov ecx, dword [rdi + 8]
mov eax, ecx
shl eax, 6
add ecx, dword [r15 + 8]
shl ecx, 6
cmp ecx, eax
jae 0x140103b6d
mov dword [rsp + 0x20], 0x4e
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor r12d, r12d
mov ecx, 3
xor edx, edx
mov r8d, 0x66
call fcn.14011fe20
cmp byte [rbp + 0x28], 0
jne 0x140103aff
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 0x140103aff
xor eax, eax
mov dword [rdx], eax
mov dword [rcx + 0x10], eax
mov dword [rcx + 8], eax
mov r12d, 1
mov eax, r12d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14d, ebx
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebx, 0x20
cmovne rbx, rax
cmp rbx, rcx
jbe 0x140103e1f
mov rax, rbx
shr rax, 0x3d
jne 0x140103e1f
lea rdx, [rbx*8]
mov rcx, qword [rbp + 8]
call fcn.140043310
test rax, rax
je 0x140103e1f
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rbx
mov rcx, qword [rbp + 0x10]
mov ebx, r14d
jmp 0x1401038b9
mov dword [rsp + 0x50], ebx
test ecx, ecx
je 0x140103e0d
test r14, r14
mov r12d, 1
cmovne r12, r14
lea r15, [r14 - 1]
lea r11, [r14 - 2]
xor r10d, r10d
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x54], ecx
mov r8, qword [r13]
mov rcx, qword [r8]
and ecx, 1
neg rcx
mov rdi, qword [r9]
mov r9, qword [rdi]
and r9d, 1
neg r9
and r9, rcx
mov rax, qword [rsp + 0x30]
mov rsi, qword [rax]
xor ebx, ebx
mov rcx, r14
sub rdx, rdx
jmp 0x140103bd0
mov rdx, qword [r8 + rbx*8]
sbb rdx, qword [rdi + rbx*8]
mov qword [rsi + rbx*8], rdx
lea rbx, [rbx + 1]
dec rcx
jne 0x140103bd0
sbb rdx, rdx
and edx, 1
mov r8, rdx
neg r8
mov rcx, qword [r13]
mov rsi, qword [rax]
dec rdx
and rdx, r9
mov rbx, rdx
not rdx
xor edi, edi
mov rax, qword [rsi + rdi*8]
and rax, rbx
mov rbp, qword [rcx + rdi*8]
and rbp, rdx
or rbp, rax
mov qword [rcx + rdi*8], rbp
inc rdi
cmp r12, rdi
jne 0x140103c06
mov rax, qword [r13]
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rbp]
xor edi, edi
mov rcx, qword [rsp + 0x40]
sub rbx, rbx
jmp 0x140103c50
mov rbx, qword [rsi + rdi*8]
sbb rbx, qword [rax + rdi*8]
mov qword [rdx + rdi*8], rbx
lea rdi, [rdi + 1]
dec rcx
jne 0x140103c50
sbb rbx, rbx
mov rcx, qword [rbp]
mov rdx, qword [r14]
and r9, r8
mov rdi, r9
not r9
xor ebx, ebx
mov rax, qword [rdx + rbx*8]
and rax, rdi
mov rbp, qword [rcx + rbx*8]
and rbp, r9
or rbp, rax
mov qword [rcx + rbx*8], rbp
inc rbx
cmp r12, rbx
jne 0x140103c7a
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rbx, qword [r13]
mov rsi, qword [rbx]
mov edx, esi
and edx, 1
mov r9, rdx
neg r9
mov rcx, qword [rax]
and ecx, 1
dec rdx
lea rdi, [rcx - 1]
mov r13d, edi
and r13d, edx
mov rax, qword [rsp + 0x30]
mov r8, qword [rax]
test r15, r15
mov r14, qword [rsp + 0x40]
je 0x140103cf5
xor eax, eax
mov rbp, qword [rbx + rax*8 + 8]
shld rbp, rsi, 0x3f
mov qword [r8 + rax*8], rbp
cmp r11, rax
je 0x140103cf5
mov rsi, qword [rbx + rax*8 + 8]
inc rax
jmp 0x140103cd8
neg rcx
sub dword [rsp + 0x3c], r13d
mov rax, qword [rbx + r14*8 - 8]
shr rax, 1
mov qword [r8 + r14*8 - 8], rax
xor eax, eax
mov rsi, qword [r8 + rax*8]
and rsi, rdx
mov rbp, qword [rbx + rax*8]
and rbp, r9
or rbp, rsi
mov qword [rbx + rax*8], rbp
inc rax
cmp r12, rax
jne 0x140103d0c
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax]
mov r9, qword [rsp + 0x28]
mov rbx, qword [r9]
test r15, r15
mov r13, qword [rsp + 0x48]
je 0x140103d63
xor eax, eax
mov rbp, qword [rbx + rax*8]
mov rsi, qword [rbx + rax*8 + 8]
shld rsi, rbp, 0x3f
mov qword [rdx + rax*8], rsi
lea rbp, [rax + 1]
mov rax, rbp
cmp r15, rbp
jne 0x140103d45
mov rax, qword [rbx + r14*8 - 8]
shr rax, 1
mov qword [rdx + r14*8 - 8], rax
xor eax, eax
mov rbp, qword [rdx + rax*8]
and rbp, rdi
mov rsi, qword [rbx + rax*8]
and rsi, rcx
or rsi, rbp
mov qword [rbx + rax*8], rsi
inc rax
cmp r12, rax
jne 0x140103d72
inc r10d
mov ecx, dword [rsp + 0x54]
cmp r10d, ecx
jne 0x140103b9d
xor eax, eax
mov rbp, qword [rsp + 0xd0]
mov rcx, qword [r13]
mov rcx, qword [rcx + rax*8]
mov rdx, qword [r9]
or qword [rdx + rax*8], rcx
inc rax
cmp rax, r14
jb 0x140103da9
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
mov rsi, qword [r9]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov rdx, r14
call fcn.14003e020
test eax, eax
mov ebx, dword [rsp + 0x50]
je 0x140103e17
shl r14, 3
mov rcx, qword [rdi]
mov rdx, rsi
mov r8, r14
call fcn.14009f630
mov dword [rdi + 8], ebx
mov dword [rdi + 0x10], 0
mov r12d, 1
jmp 0x140103ace
mov dword [rsp + 0x3c], 0
jmp 0x140103d9f
xor r12d, r12d
jmp 0x140103ace
mov word [rbp + 0x28], 0x101
mov ebx, r14d
jmp 0x1401038c1
test rdi, rdi
mov rcx, qword [rsp + 0x28]
jne 0x140103954
jmp 0x140103ace
xor eax, eax
jmp 0x140103944
test r15, r15
jne 0x14010399d
jmp 0x140103ace
xor eax, eax
mov rsi, qword [rsp + 0x28]
jmp 0x140103993
mov r8d, ebx
mov rdx, qword [r13]
xor ecx, ecx
or rcx, qword [rdx + r14*8]
inc r14
cmp rax, r14
jne 0x140103e6a
test rcx, rcx
mov ebx, r8d
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x40]
jne 0x140103efb
jmp 0x1401039f2
mov r8d, ebx
mov rdx, qword [rsi]
xor ecx, ecx
or rcx, qword [rdx + r14*8]
inc r14
cmp rax, r14
jne 0x140103e9a
test rcx, rcx
mov ebx, r8d
mov r13, qword [rsp + 0x48]
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
jne 0x140103efb
jmp 0x140103a45
mov r8d, ebx
mov rdx, qword [rsi]
xor ecx, ecx
or rcx, qword [rdx + r14*8]
inc r14
cmp rax, r14
jne 0x140103ecf
test rcx, rcx
mov ebx, r8d
mov r13, qword [rsp + 0x48]
mov r9, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
je 0x140103a90
mov dword [rsp + 0x20], 0x199
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
jmp 0x140103ab9