Function at 0x14002a780
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 0x14002a79e
cmp dword [r9 + 0x10], 0
je 0x14002a7d4
mov dword [rsp + 0x20], 0x1ac
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c.inc
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, WSASetLastError
call fcn.1400885a0
mov eax, ebp
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd rax, dword [r9 + 8]
test rax, rax
je 0x14002a8eb
mov qword [rsp + 0x30], rcx
mov rcx, qword [r9]
cmp eax, 4
jae 0x14002a7f6
xor r10d, r10d
xor r11d, r11d
jmp 0x14002a850
mov r10, rax
and r10, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop dword [rax + rax]
movdqu xmm2, xmmword [rcx + r11*8]
por xmm0, xmm2
movdqu xmm2, xmmword [rcx + r11*8 + 0x10]
por xmm1, xmm2
add r11, 4
cmp r10, r11
jne 0x14002a810
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r11, xmm0
cmp r10, rax
je 0x14002a85c
nop word cs:[rax + rax]
or r11, qword [rcx + r10*8]
inc r10
cmp rax, r10
jne 0x14002a850
test r11, r11
mov rax, qword [rsp + 0x30]
je 0x14002a8eb
mov rbx, qword [rsp + 0xc8]
cmp byte [rbx + 0x28], 0
mov qword [rsp + 0x28], rdx
mov r13, r9
mov r12, r8
jne 0x14002a927
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rcx, qword [rbx + 0x18]
jne 0x14002a90e
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
setbe al
mov rcx, rdi
shr rcx, 0x3d
setne cl
or cl, al
jne 0x14002a91c
lea rdx, [rdi*8]
mov rcx, qword [rbx + 8]
call fcn.1400987b0
mov r8, r12
mov r9, r13
mov rdx, qword [rsp + 0x28]
test rax, rax
je 0x14002a91c
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 0x10]
jmp 0x14002a912
mov dword [rsp + 0x20], 0x1b0
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c.inc
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x69
jmp 0x14002a7bc
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbx + 0x10]
jmp 0x14002a922
mov word [rbx + 0x28], 0x101
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14002a939
cmp rax, r8
je 0x14002a939
mov r14, rax
cmp rax, r9
jne 0x14002a94f
mov rcx, rbx
call fcn.140028b10
mov r8, r12
mov r9, r13
mov rdx, qword [rsp + 0x28]
mov r14, rax
test rdx, rdx
je 0x14002a961
cmp rdx, r8
je 0x14002a961
mov r15, rdx
cmp rdx, r9
jne 0x14002a96c
mov rcx, rbx
call fcn.140028b10
mov r15, rax
mov rcx, rbx
call fcn.140028b10
test r14, r14
sete dl
test r15, r15
sete cl
or cl, dl
mov qword [rsp + 0x48], rax
test rax, rax
sete al
xor ebp, ebp
or al, cl
je 0x14002a9c4
mov r8, qword [rsp + 0xc8]
cmp byte [r8 + 0x28], 0
jne 0x14002a7c1
mov rax, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
lea rdx, [rcx - 1]
mov qword [r8 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r8 + 0x20], rax
jmp 0x14002a7c1
mov esi, dword [r12 + 8]
cmp esi, dword [r14 + 0xc]
jbe 0x14002aa47
cmp esi, 0x800000
jb 0x14002a9fc
mov dword [rsp + 0x20], 0x163
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c.inc
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x66
call fcn.1400885a0
jmp 0x14002a993
test byte [r14 + 0x14], 2
jne 0x14002ab21
movsxd rcx, esi
mov edx, 8
call fcn.1400986c0
test rax, rax
je 0x14002a993
mov rdi, rax
movsxd r8, dword [r14 + 8]
test r8, r8
je 0x14002aa38
shl r8, 3
mov rdx, qword [r14]
mov rcx, rdi
call fcn.1402a44e0
mov rcx, qword [r14]
call fcn.140098760
mov qword [r14], rdi
mov dword [r14 + 0xc], esi
movsxd rdx, dword [r13 + 8]
mov rcx, r15
call fcn.1400265b0
test eax, eax
je 0x14002a993
movsxd rdx, dword [r13 + 8]
mov rcx, qword [rsp + 0x48]
call fcn.1400265b0
test eax, eax
je 0x14002a993
mov qword [rsp + 0x38], r12
movsxd r8, dword [r12 + 8]
xor esi, esi
mov ecx, 0
test r8, r8
je 0x14002aa9a
shl r8, 3
mov rcx, qword [r14]
xor edx, edx
call fcn.1402a4b90
mov ecx, dword [r12 + 8]
mov edi, dword [rsp + 0xc0]
mov dword [r14 + 8], ecx
mov dword [r14 + 0x10], 0
mov r9, r13
movsxd r8, dword [r13 + 8]
test r8, r8
je 0x14002aace
shl r8, 3
mov rcx, qword [r15]
xor edx, edx
call fcn.1402a4b90
mov r9, r13
mov esi, dword [r13 + 8]
mov dword [r15 + 8], esi
mov dword [r15 + 0x10], 0
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 8]
test edi, edi
je 0x14002ab49
dec edi
shr edi, 6
cmp edi, ecx
cmovge edi, ecx
test edi, edi
je 0x14002ab1d
movsxd rdx, ecx
movsxd r8, edi
shl r8, 3
mov rcx, qword [r15]
shl rdx, 3
mov rax, qword [rsp + 0x38]
add rdx, qword [rax]
sub rdx, r8
call fcn.1402a44e0
mov r9, r13
mov ecx, dword [r12 + 8]
not edi
jmp 0x14002ab4e
mov dword [rsp + 0x20], 0x168
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c.inc
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
call fcn.1400885a0
jmp 0x14002a993
mov edi, 0xffffffff
add ecx, edi
js 0x14002aebd
mov r8d, ecx
mov qword [rsp + 0x40], r14
jmp 0x14002ab70
lea rcx, [r8 - 1]
test r8, r8
mov r8, rcx
jle 0x14002aebd
mov ecx, 0x3f
mov qword [rsp + 0x50], r8
jmp 0x14002aba7
mov r8, qword [rsp + 0x50]
nop word cs:[rax + rax]
not r10d
and r10d, 1
shl r10, cl
mov rax, qword [r14]
or qword [rax + r8*8], r10
sub rcx, 1
jb 0x14002ab60
movsxd rdx, dword [r9 + 8]
test rdx, rdx
je 0x14002ac50
mov r11, qword [r15]
xor r10d, r10d
cmp edx, 4
jb 0x14002ac16
nop
mov rsi, qword [r11]
mov rdi, qword [r11 + 8]
add rsi, rsi
setb bl
add rsi, r10
setb r10b
or r10b, bl
mov qword [r11], rsi
add r10b, 0xff
adc rdi, rdi
mov qword [r11 + 8], rdi
mov r10, qword [r11 + 0x10]
adc r10, r10
mov qword [r11 + 0x10], r10
mov rsi, qword [r11 + 0x18]
adc rsi, rsi
setb r10b
movzx r10d, r10b
mov qword [r11 + 0x18], rsi
add r11, 0x20
add rdx, 0xfffffffffffffffc
cmp rdx, 4
jae 0x14002abc0
test rdx, rdx
je 0x14002ac53
xor esi, esi
nop dword [rax + rax]
mov rdi, qword [r11 + rsi*8]
add rdi, rdi
setb bl
add rdi, r10
setb r10b
or r10b, bl
movzx r10d, r10b
mov qword [r11 + rsi*8], rdi
inc rsi
cmp rdx, rsi
jne 0x14002ac20
jmp 0x14002ac53
xor r10d, r10d
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov rdx, qword [rdx + r8*8]
xor r11d, r11d
bt rdx, rcx
setb r11b
mov rdx, qword [r15]
or qword [rdx], r11
movsxd r11, dword [r9 + 8]
test r11, r11
je 0x14002ab90
mov rax, qword [rsp + 0x48]
mov r12, qword [rax]
mov r8, r15
mov r13, qword [r15]
mov rdx, qword [r9]
cmp r11d, 4
jae 0x14002acb0
mov r15, r12
mov rbx, r13
mov rbp, r11
xor edi, edi
jmp 0x14002ad37
xor r15d, r15d
xor esi, esi
mov rbp, r11
xor edi, edi
nop word [rax + rax]
mov rbx, qword [r13 + r15*8]
sub rbx, qword [rdx + r15*8]
setb al
sub rbx, rdi
setb dil
or dil, al
mov qword [r12 + r15*8], rbx
mov rax, qword [r13 + r15*8 + 8]
add dil, 0xff
sbb rax, qword [rdx + r15*8 + 8]
mov qword [r12 + r15*8 + 8], rax
mov rax, qword [r13 + r15*8 + 0x10]
sbb rax, qword [rdx + r15*8 + 0x10]
mov qword [r12 + r15*8 + 0x10], rax
mov rax, qword [r13 + r15*8 + 0x18]
sbb rax, qword [rdx + r15*8 + 0x18]
setb bl
movzx edi, bl
mov qword [r12 + r15*8 + 0x18], rax
add rbp, 0xfffffffffffffffc
add rsi, 0xffffffffffffffe0
add r15, 4
cmp rbp, 4
jae 0x14002acc0
test rbp, rbp
je 0x14002ad66
mov r15, r12
sub r15, rsi
mov rbx, r13
sub rbx, rsi
sub rdx, rsi
xor esi, esi
nop dword [rax]
mov rax, qword [rbx + rsi*8]
sub rax, qword [rdx + rsi*8]
setb r14b
sub rax, rdi
setb dil
or dil, r14b
movzx edi, dil
mov qword [r15 + rsi*8], rax
inc rsi
cmp rbp, rsi
jne 0x14002ad40
sub r10, rdi
mov rbp, r10
mov rdx, rbp
not rdx
cmp r11d, 4
jae 0x14002ad90
xor edi, edi
mov r14, qword [rsp + 0x40]
mov r15, r8
jmp 0x14002ae40
lea rax, [r11*8]
add rax, r13
lea rsi, [r12 + r11*8]
cmp r13, rsi
setb bl
cmp r12, rax
setb al
test bl, al
mov r14, qword [rsp + 0x40]
mov r15, r8
je 0x14002adbe
xor edi, edi
jmp 0x14002ae40
mov rdi, r11
and rdi, 0xfffffffffffffffc
movq xmm0, rbp
pshufd xmm0, xmm0, 0x44
movq xmm1, rdx
pshufd xmm1, xmm1, 0x44
xor esi, esi
nop dword [rax + rax]
movdqu xmm2, xmmword [r12 + rsi*8]
movdqu xmm3, xmmword [r12 + rsi*8 + 0x10]
movdqu xmm4, xmmword [r13 + rsi*8]
movdqu xmm5, xmmword [r13 + rsi*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [r13 + rsi*8], xmm2
movdqu xmmword [r13 + rsi*8 + 0x10], xmm3
add rsi, 4
cmp rdi, rsi
jne 0x14002ade0
cmp rdi, r11
je 0x14002ab7c
nop word cs:[rax + rax]
mov rsi, rdi
test r11b, 1
je 0x14002ae67
mov rax, qword [r13 + rdi*8]
and rax, rbp
mov rsi, qword [r12 + rdi*8]
and rsi, rdx
or rsi, rax
mov qword [r13 + rdi*8], rsi
mov rsi, rdi
or rsi, 1
lea rax, [r11 - 1]
cmp rdi, rax
mov r8, qword [rsp + 0x50]
je 0x14002ab90
nop dword [rax]
mov rax, qword [r13 + rsi*8]
and rax, rbp
mov rdi, qword [r12 + rsi*8]
and rdi, rdx
or rdi, rax
mov qword [r13 + rsi*8], rdi
mov rax, qword [r13 + rsi*8 + 8]
and rax, rbp
mov rdi, qword [r12 + rsi*8 + 8]
and rdi, rdx
or rdi, rax
mov qword [r13 + rsi*8 + 8], rdi
add rsi, 2
cmp r11, rsi
jne 0x14002ae80
jmp 0x14002ab90
mov rcx, qword [rsp + 0x30]
test rcx, rcx
mov rdx, qword [rsp + 0x28]
je 0x14002aede
mov rdx, r14
call fcn.140027620
mov rdx, qword [rsp + 0x28]
test rax, rax
je 0x14002aefd
test rdx, rdx
je 0x14002aef3
mov rcx, rdx
mov rdx, r15
call fcn.140027620
test rax, rax
je 0x14002aefd
mov ebp, 1
jmp 0x14002a993
xor ebp, ebp
jmp 0x14002a993