Function at 0x1400727f0
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 r15, r9
mov r12, r8
mov rbp, rdx
mov r14, rcx
mov edx, dword [r8 + 8]
test edx, edx
jle 0x1400728da
mov rcx, qword [r12]
mov rax, qword [rcx]
test al, 1
je 0x1400728e9
xor rax, 1
cmp edx, 2
jl 0x14007289b
lea rsi, [rdx - 1]
lea rdi, [rdx - 2]
mov ebx, esi
and ebx, 7
cmp rdi, 7
jae 0x14007284a
mov edi, 1
jmp 0x140072884
and rsi, 0xfffffffffffffff8
xor edi, edi
or rax, qword [rcx + rdi*8 + 8]
or rax, qword [rcx + rdi*8 + 0x10]
or rax, qword [rcx + rdi*8 + 0x18]
or rax, qword [rcx + rdi*8 + 0x20]
or rax, qword [rcx + rdi*8 + 0x28]
or rax, qword [rcx + rdi*8 + 0x30]
or rax, qword [rcx + rdi*8 + 0x38]
or rax, qword [rcx + rdi*8 + 0x40]
add rdi, 8
cmp rsi, rdi
jne 0x140072850
inc rdi
test rbx, rbx
je 0x14007289b
lea rcx, [rcx + rdi*8]
xor edi, edi
or rax, qword [rcx + rdi*8]
inc rdi
cmp rbx, rdi
jne 0x14007288f
test rax, rax
je 0x1400728da
movsxd rax, dword [rbp + 8]
test rax, rax
je 0x140072b5c
cmp rax, 1
mov ecx, 1
cmova rcx, rax
mov rsi, qword [rbp]
lea rdx, [rcx - 1]
mov ebx, ecx
and ebx, 7
cmp rdx, 7
jae 0x140072a07
xor edi, edi
xor edx, edx
jmp 0x140072a3f
test edx, edx
je 0x140072962
mov rcx, qword [r12]
mov rax, qword [rcx]
xor rax, 2
cmp edx, 2
jl 0x14007295d
lea rbx, [rdx - 1]
add rdx, 0xfffffffffffffffe
mov edi, ebx
and edi, 7
cmp rdx, 7
jae 0x14007290c
mov edx, 1
jmp 0x140072946
and rbx, 0xfffffffffffffff8
xor edx, edx
or rax, qword [rcx + rdx*8 + 8]
or rax, qword [rcx + rdx*8 + 0x10]
or rax, qword [rcx + rdx*8 + 0x18]
or rax, qword [rcx + rdx*8 + 0x20]
or rax, qword [rcx + rdx*8 + 0x28]
or rax, qword [rcx + rdx*8 + 0x30]
or rax, qword [rcx + rdx*8 + 0x38]
or rax, qword [rcx + rdx*8 + 0x40]
add rdx, 8
cmp rbx, rdx
jne 0x140072912
inc rdx
test rdi, rdi
je 0x14007295d
lea rcx, [rcx + rdx*8]
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp rdi, rdx
jne 0x140072951
test rax, rax
je 0x14007298a
mov dword [rsp + 0x20], 0x5a
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_sqrt.c
xor ebx, ebx
mov ecx, 3
xor edx, edx
mov r8d, 0x72
call fcn.1400a8ab0
jmp 0x140072b9c
mov rbx, r14
test r14, r14
jne 0x1400729bc
mov ecx, 0x18
call fcn.140090490
test rax, rax
je 0x140073cc5
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movabs rax, 0x100000000
mov qword [rbx + 0x10], rax
cmp dword [rbp + 8], 0
je 0x140072b94
mov rax, qword [rbp]
mov rsi, qword [rax]
and esi, 1
test rsi, rsi
je 0x140072b94
mov edx, 1
mov rcx, rbx
call fcn.140064cf0
test eax, eax
je 0x140072e4f
mov dword [rbx + 0x10], 0
mov rax, qword [rbx]
mov qword [rax], rsi
mov dword [rbx + 8], 1
jmp 0x140072b9c
and rcx, 0xfffffffffffffff8
xor edi, edi
xor edx, edx
or rdx, qword [rsi + rdi*8]
or rdx, qword [rsi + rdi*8 + 8]
or rdx, qword [rsi + rdi*8 + 0x10]
or rdx, qword [rsi + rdi*8 + 0x18]
or rdx, qword [rsi + rdi*8 + 0x20]
or rdx, qword [rsi + rdi*8 + 0x28]
or rdx, qword [rsi + rdi*8 + 0x30]
or rdx, qword [rsi + rdi*8 + 0x38]
add rdi, 8
cmp rcx, rdi
jne 0x140072a0f
test rbx, rbx
je 0x140072a56
lea rcx, [rsi + rdi*8]
xor edi, edi
or rdx, qword [rcx + rdi*8]
inc rdi
cmp rbx, rdi
jne 0x140072a4a
test rdx, rdx
je 0x140072b5c
cmp dword [rbp + 0x10], 0
jne 0x140072aeb
mov rdx, qword [rbp]
mov rcx, qword [rdx]
xor rcx, 1
cmp eax, 2
jl 0x140072ae6
mov edi, eax
lea rax, [rdi - 1]
add rdi, 0xfffffffffffffffe
mov ebx, eax
and ebx, 7
cmp rdi, 7
jae 0x140072a95
mov edi, 1
jmp 0x140072acf
and rax, 0xfffffffffffffff8
xor edi, edi
or rcx, qword [rdx + rdi*8 + 8]
or rcx, qword [rdx + rdi*8 + 0x10]
or rcx, qword [rdx + rdi*8 + 0x18]
or rcx, qword [rdx + rdi*8 + 0x20]
or rcx, qword [rdx + rdi*8 + 0x28]
or rcx, qword [rdx + rdi*8 + 0x30]
or rcx, qword [rdx + rdi*8 + 0x38]
or rcx, qword [rdx + rdi*8 + 0x40]
add rdi, 8
cmp rax, rdi
jne 0x140072a9b
inc rdi
test rbx, rbx
je 0x140072ae6
lea rax, [rdx + rdi*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x140072ada
test rcx, rcx
je 0x140072b5c
cmp byte [r15 + 0x28], 0
jne 0x140072bf9
mov rcx, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x20]
cmp rcx, qword [r15 + 0x18]
jne 0x140072bed
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x140073ced
mov rax, rdi
shr rax, 0x3d
jne 0x140073ced
lea rdx, [rdi*8]
mov rcx, qword [r15 + 8]
call fcn.140090510
test rax, rax
je 0x140073ced
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], rdi
mov rcx, qword [r15 + 0x10]
jmp 0x140072bf1
mov rbx, r14
test r14, r14
jne 0x140072b8e
mov ecx, 0x18
call fcn.140090490
test rax, rax
je 0x140073cc5
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movabs rax, 0x100000000
mov qword [rbx + 0x10], rax
cmp dword [rbp + 0x10], 0
je 0x140072bb0
xor eax, eax
mov dword [rbx + 0x10], eax
mov dword [rbx + 8], eax
mov rax, rbx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, dword [rbp + 8]
test rsi, rsi
je 0x140072b94
mov rdx, qword [rbp]
mov rax, qword [rdx]
xor rax, 1
cmp esi, 2
jl 0x140072e27
lea rcx, [rsi - 1]
add rsi, 0xfffffffffffffffe
mov edi, ecx
and edi, 7
cmp rsi, 7
jae 0x140072dd6
mov ebp, 1
jmp 0x140072e10
mov rax, qword [r15 + 8]
mov qword [rax + rcx*8], rsi
inc qword [r15 + 0x10]
mov rcx, r15
call fcn.140066cc0
mov rsi, rax
mov rcx, r15
call fcn.140066cc0
mov r13, rax
mov rcx, r15
call fcn.140066cc0
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.140066cc0
mov rdi, rax
mov rcx, r15
call fcn.140066cc0
mov rbx, rax
mov rcx, r15
call fcn.140066cc0
test rax, rax
je 0x1400731a6
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rdi
mov rax, r14
test r14, r14
jne 0x140072c7c
mov ecx, 0x18
call fcn.140090490
test rax, rax
je 0x140073cc5
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movabs rcx, 0x100000000
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, rsi
mov r8, rbp
mov r9, r12
call fcn.140066e50
test eax, eax
mov rdi, qword [rsp + 0x60]
je 0x140073156
cmp dword [rsi + 0x10], 0
je 0x140072cde
cmp dword [r12 + 0x10], 0
lea rax, [0x140064ab0]
lea rbp, [fcn.140065170]
cmove rbp, rax
mov rcx, rsi
mov rdx, rsi
mov r8, r12
call rbp
test eax, eax
je 0x140073156
movsxd rdx, dword [r12 + 8]
mov r13d, 1
mov rbx, qword [rsp + 0x40]
mov eax, r13d
shr eax, 6
cmp rax, rdx
jae 0x140072d07
mov rcx, qword [r12]
mov rax, qword [rcx + rax*8]
bt rax, r13
jb 0x140072d0c
inc r13d
jmp 0x140072cee
cmp r13d, 2
mov qword [rsp + 0x58], rsi
je 0x140072e7d
cmp r13d, 1
jne 0x140072f3e
mov rcx, rdi
mov rdx, r12
mov r8d, 2
call fcn.1400677e0
test eax, eax
je 0x140073156
mov dword [rdi + 0x10], 0
mov edx, 1
mov rcx, rdi
call fcn.140064dd0
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
mov r8, rdi
mov r9, r12
call fcn.1400687d0
test eax, eax
je 0x140073156
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov r8, r15
call fcn.140070470
test eax, eax
je 0x140073156
mov r8, qword [rsp + 0x38]
movsxd rbp, dword [r8 + 8]
mov ecx, ebp
sar ecx, 0x1f
and ecx, ebp
lea edx, [rbp + 1]
mov rax, rbp
test rax, rax
jle 0x1400731dd
mov rbx, qword [r8]
dec edx
cmp qword [rbx + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x140072db3
mov dword [r8 + 8], edx
jmp 0x1400731ed
and rcx, 0xfffffffffffffff8
xor ebp, ebp
or rax, qword [rdx + rbp*8 + 8]
or rax, qword [rdx + rbp*8 + 0x10]
or rax, qword [rdx + rbp*8 + 0x18]
or rax, qword [rdx + rbp*8 + 0x20]
or rax, qword [rdx + rbp*8 + 0x28]
or rax, qword [rdx + rbp*8 + 0x30]
or rax, qword [rdx + rbp*8 + 0x38]
or rax, qword [rdx + rbp*8 + 0x40]
add rbp, 8
cmp rcx, rbp
jne 0x140072ddc
inc rbp
test rdi, rdi
je 0x140072e27
lea rcx, [rdx + rbp*8]
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp rdi, rdx
jne 0x140072e1b
xor esi, esi
test rax, rax
sete dil
jne 0x140072b94
mov edx, 1
mov rcx, rbx
call fcn.140064cf0
test eax, eax
je 0x140072e4f
mov sil, dil
jmp 0x1400729ee
cmp rbx, r14
je 0x140072e76
mov eax, dword [rbx + 0x14]
test al, 2
jne 0x140072e66
mov rcx, qword [rbx]
call fcn.1400904c0
mov eax, dword [rbx + 0x14]
test al, 1
je 0x1400731d1
mov rcx, rbx
call fcn.1400904c0
xor ebx, ebx
jmp 0x140072b9c
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x30]
mov rbp, rsi
mov rdx, rsi
mov r8, rsi
mov r9, r12
call fcn.140067db0
test eax, eax
je 0x140073156
mov rcx, rdi
mov rdx, r12
mov r8d, 3
call fcn.1400677e0
test eax, eax
je 0x140073156
mov dword [rdi + 0x10], 0
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
mov r8, rdi
mov r9, r12
call fcn.1400687d0
test eax, eax
je 0x140073156
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, r15
call fcn.140070470
test eax, eax
je 0x140073156
mov r8, qword [rsp + 0x40]
movsxd rdi, dword [r8 + 8]
mov ecx, edi
sar ecx, 0x1f
and ecx, edi
lea edx, [rdi + 1]
mov rax, rdi
test rax, rax
jle 0x1400732fc
mov rbx, qword [r8]
dec edx
cmp qword [rbx + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x140072f1b
mov dword [r8 + 8], edx
jmp 0x14007330c
cmp rdi, r12
je 0x140072f86
mov rcx, rdi
call fcn.140064cf0
test eax, eax
je 0x140073156
movsxd r8, dword [r12 + 8]
test r8, r8
je 0x140073cf9
shl r8, 3
mov rcx, qword [rdi]
mov rdx, qword [r12]
call fcn.1400dbd80
mov eax, dword [r12 + 8]
mov dword [rdi + 8], eax
mov eax, dword [r12 + 0x10]
mov dword [rdi + 0x10], eax
mov rbx, qword [rsp + 0x40]
mov dword [rdi + 0x10], 0
mov ebp, 2
mov edi, 1
cmp rbp, 0x15
ja 0x140073000
mov edx, 1
mov rcx, rbx
call fcn.140064cf0
test eax, eax
je 0x140073156
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x10], 0
mov rax, qword [rcx]
mov qword [rax], rbp
mov dword [rcx + 8], 1
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
mov r8, r15
call fcn.14006ee30
cmp eax, 0xffffffff
jl 0x140073156
cmp eax, 1
jne 0x14007310a
inc rbp
cmp rbp, 0x52
mov rbx, qword [rsp + 0x40]
jne 0x140072f97
jmp 0x140073135
mov rcx, r12
call fcn.140066380
mov rcx, rbx
mov edx, eax
xor r8d, r8d
xor r9d, r9d
call fcn.140071f30
test eax, eax
je 0x140073156
movsxd r9, dword [r12 + 8]
mov r8, qword [r12]
mov rbx, qword [rsp + 0x40]
mov esi, dword [rbx + 8]
movsxd rdx, esi
mov rcx, qword [rbx]
call fcn.140066a10
mov rcx, rbx
test eax, eax
js 0x140073078
cmp dword [r12 + 0x10], 0
lea rdi, [0x140064ab0]
lea rax, [fcn.140065170]
cmove rdi, rax
mov rdx, rcx
mov r8, r12
call rdi
mov edi, 1
test eax, eax
je 0x140073156
mov rcx, qword [rsp + 0x40]
mov esi, dword [rcx + 8]
test esi, esi
je 0x140073100
movsxd rax, esi
cmp rax, 1
cmovbe rax, rdi
mov rdx, qword [rcx]
lea rbx, [rax - 1]
mov esi, eax
and esi, 7
cmp rbx, 7
jae 0x1400730a3
xor edi, edi
xor ebx, ebx
jmp 0x1400730db
and rax, 0xfffffffffffffff8
xor edi, edi
xor ebx, ebx
or rbx, qword [rdx + rdi*8]
or rbx, qword [rdx + rdi*8 + 8]
or rbx, qword [rdx + rdi*8 + 0x10]
or rbx, qword [rdx + rdi*8 + 0x18]
or rbx, qword [rdx + rdi*8 + 0x20]
or rbx, qword [rdx + rdi*8 + 0x28]
or rbx, qword [rdx + rdi*8 + 0x30]
or rbx, qword [rdx + rdi*8 + 0x38]
add rdi, 8
cmp rax, rdi
jne 0x1400730ab
test rsi, rsi
je 0x1400730f2
lea rax, [rdx + rdi*8]
xor edx, edx
or rbx, qword [rax + rdx*8]
inc rdx
cmp rsi, rdx
jne 0x1400730e6
test rbx, rbx
mov edi, 1
jne 0x140072fcb
mov edx, 1
jmp 0x140072fa5
cmp eax, 0xffffffff
je 0x140073263
test eax, eax
jne 0x140073135
mov dword [rsp + 0x20], 0x105
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_sqrt.c
mov ecx, 3
xor edx, edx
mov r8d, 0x72
jmp 0x140073151
mov dword [rsp + 0x20], 0x10f
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_sqrt.c
mov ecx, 3
xor edx, edx
mov r8d, 0x73
call fcn.1400a8ab0
xor ebx, ebx
mov rsi, qword [rsp + 0x50]
cmp rsi, r14
je 0x1400731a8
test rsi, rsi
je 0x1400731a8
mov rcx, qword [rsi]
test rcx, rcx
je 0x140073189
test byte [rsi + 0x14], 2
jne 0x14007317c
call fcn.1400904c0
jmp 0x140073189
movsxd rdx, dword [rsi + 0xc]
shl rdx, 3
call fcn.140090500
test byte [rsi + 0x14], 1
jne 0x14007319e
mov edx, 0x18
mov rcx, rsi
call fcn.140090500
jmp 0x1400731a6
mov rcx, rsi
call fcn.1400904c0
xor ebx, ebx
cmp byte [r15 + 0x28], 0
jne 0x140072b9c
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
lea rdx, [rcx - 1]
mov qword [r15 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r15 + 0x20], rax
jmp 0x140072b9c
mov qword [rbx], 0
jmp 0x140072e76
mov dword [r8 + 8], ecx
test ebp, ebp
js 0x1400731ed
mov dword [r8 + 0x10], 0
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, r8
mov r9, r12
call fcn.140066e50
test eax, eax
je 0x140073156
test rsi, rsi
mov rcx, qword [rsp + 0x38]
je 0x140073242
mov r13, rsi
mov esi, dword [rcx + 0x10]
cmp esi, dword [r13 + 0x10]
jne 0x140073242
movsxd r9, dword [r13 + 8]
mov r8, qword [r13]
movsxd rdx, dword [rcx + 8]
mov rcx, qword [rcx]
call fcn.140066a10
mov ecx, eax
neg ecx
test esi, esi
cmove ecx, eax
test ecx, ecx
je 0x140073403
mov dword [rsp + 0x20], 0x19b
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_sqrt.c
mov ecx, 3
xor edx, edx
mov r8d, 0x6e
jmp 0x140073151
mov rcx, rsi
mov rdx, rsi
mov r8d, r13d
call fcn.1400677e0
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov r8, rsi
mov r9, r12
call fcn.1400687d0
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
je 0x14007340d
movsxd rdx, dword [rsi + 8]
mov rcx, qword [rsp + 0x30]
call fcn.140064cf0
test eax, eax
je 0x140073156
movsxd r9, dword [rsi + 8]
test r9, r9
je 0x14007344d
mov rdx, qword [rsi]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov r8, r9
dec r8
je 0x1400734a1
cmp r9d, 2
jne 0x140073451
xor edi, edi
jmp 0x140073489
mov dword [r8 + 8], ecx
test edi, edi
js 0x14007330c
mov dword [r8 + 0x10], 0
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, r8
mov r9, r12
call fcn.140066e50
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
mov r8, qword [rsp + 0x40]
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov edx, 1
mov rcx, qword [rsp + 0x30]
call fcn.140064ff0
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
mov r8, qword [rsp + 0x48]
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
mov r8, qword [rsp + 0x30]
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
je 0x140073d00
movsxd rdx, dword [rax + 8]
call fcn.140064cf0
test eax, eax
je 0x140073156
mov rsi, qword [rsp + 0x38]
movsxd r8, dword [rsi + 8]
test r8, r8
je 0x140073d0e
shl r8, 3
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rdi]
mov rdx, qword [rsi]
call fcn.1400dbd80
mov eax, dword [rsi + 8]
mov dword [rdi + 8], eax
mov eax, dword [rsi + 0x10]
mov dword [rdi + 0x10], eax
mov rsi, qword [rsp + 0x58]
jmp 0x140072d83
mov rbx, qword [rsp + 0x50]
jmp 0x1400731a8
mov ebp, dword [rax + 8]
test rbp, rbp
je 0x1400732b1
mov rdx, qword [rax]
mov rax, qword [rdx]
xor rax, 1
cmp ebp, 2
jl 0x14007376f
lea rcx, [rbp - 1]
add rbp, 0xfffffffffffffffe
mov edi, ecx
and edi, 7
cmp rbp, 7
jae 0x14007371e
mov ebp, 1
jmp 0x140073758
xor eax, eax
jmp 0x1400734b6
mov rbp, r8
and rbp, 0xfffffffffffffffe
xor edi, edi
mov rsi, qword [rdx + rdi*8]
mov rax, qword [rdx + rdi*8 + 8]
shld rax, rsi, 0x3f
mov qword [rcx + rdi*8], rax
mov rax, qword [rdx + rdi*8 + 8]
mov rsi, qword [rdx + rdi*8 + 0x10]
shld rsi, rax, 0x3f
mov qword [rcx + rdi*8 + 8], rsi
add rdi, 2
cmp rbp, rdi
jne 0x14007345a
test r8b, 1
je 0x1400734a1
mov rbp, qword [rdx + rdi*8]
mov rsi, qword [rdx + rdi*8 + 8]
shld rsi, rbp, 0x3f
mov qword [rcx + rdi*8], rsi
mov rdx, qword [rdx + r9*8 - 8]
shr rdx, 1
mov qword [rcx + r9*8 - 8], rdx
mov rsi, qword [rsp + 0x60]
mov eax, dword [rsi + 8]
mov r8, qword [rsp + 0x30]
mov dword [r8 + 8], eax
mov ecx, dword [rsi + 0x10]
mov dword [r8 + 0x10], ecx
movsxd rdx, eax
mov ebp, edx
sar ebp, 0x1f
and ebp, edx
lea ecx, [rdx + 1]
test rdx, rdx
jle 0x1400734f1
mov rbx, qword [r8]
dec ecx
cmp qword [rbx + rdx*8 - 8], 0
lea rdx, [rdx - 1]
je 0x1400734d3
mov dword [r8 + 8], ecx
mov ebp, ecx
jmp 0x140073506
mov dword [r8 + 8], ebp
test eax, eax
js 0x140073506
mov dword [r8 + 0x10], 0
jmp 0x1400735fa
test ebp, ebp
je 0x1400735fa
movsxd rcx, ebp
cmp rcx, 1
mov eax, 1
cmova rax, rcx
mov rdx, qword [r8]
lea rcx, [rax - 1]
mov ebx, eax
and ebx, 7
cmp rcx, 7
jae 0x140073536
xor ebp, ebp
xor ecx, ecx
jmp 0x14007356e
and rax, 0xfffffffffffffff8
xor ebp, ebp
xor ecx, ecx
or rcx, qword [rdx + rbp*8]
or rcx, qword [rdx + rbp*8 + 8]
or rcx, qword [rdx + rbp*8 + 0x10]
or rcx, qword [rdx + rbp*8 + 0x18]
or rcx, qword [rdx + rbp*8 + 0x20]
or rcx, qword [rdx + rbp*8 + 0x28]
or rcx, qword [rdx + rbp*8 + 0x30]
or rcx, qword [rdx + rbp*8 + 0x38]
add rbp, 8
cmp rax, rbp
jne 0x14007353e
test rbx, rbx
je 0x140073585
lea rax, [rdx + rbp*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x140073579
test rcx, rcx
mov r8, qword [rsp + 0x30]
je 0x1400735fa
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
mov r9, r12
call fcn.1400687d0
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 8]
test rcx, rcx
je 0x140073833
cmp rcx, 1
mov eax, 1
cmova rax, rcx
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
lea rcx, [rax - 1]
mov ebx, eax
and ebx, 7
cmp rcx, 7
jae 0x14007378a
xor ebp, ebp
xor ecx, ecx
jmp 0x1400737c2
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, r8
mov r8, qword [rsp + 0x58]
mov r9, r12
call fcn.140066e50
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x10], 0
je 0x140073651
cmp dword [r12 + 0x10], 0
lea rbp, [fcn.140065170]
lea rax, [0x140064ab0]
cmove rbp, rax
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
mov r8, r12
call rbp
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 8]
test rcx, rcx
je 0x140073833
cmp rcx, 1
mov eax, 1
cmova rax, rcx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
lea rcx, [rax - 1]
mov ebx, eax
and ebx, 7
cmp rcx, 7
jae 0x14007368d
xor ebp, ebp
xor ecx, ecx
jmp 0x1400736c5
and rax, 0xfffffffffffffff8
xor ebp, ebp
xor ecx, ecx
or rcx, qword [rdx + rbp*8]
or rcx, qword [rdx + rbp*8 + 8]
or rcx, qword [rdx + rbp*8 + 0x10]
or rcx, qword [rdx + rbp*8 + 0x18]
or rcx, qword [rdx + rbp*8 + 0x20]
or rcx, qword [rdx + rbp*8 + 0x28]
or rcx, qword [rdx + rbp*8 + 0x30]
or rcx, qword [rdx + rbp*8 + 0x38]
add rbp, 8
cmp rax, rbp
jne 0x140073695
test rbx, rbx
je 0x1400736dc
lea rax, [rdx + rbp*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x1400736d0
test rcx, rcx
je 0x140073833
mov edx, 1
mov rcx, qword [rsp + 0x38]
call fcn.140064cf0
test eax, eax
je 0x140073156
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x10], 0
mov rax, qword [rcx]
mov qword [rax], 1
mov dword [rcx + 8], 1
jmp 0x1400737de
and rcx, 0xfffffffffffffff8
xor ebp, ebp
or rax, qword [rdx + rbp*8 + 8]
or rax, qword [rdx + rbp*8 + 0x10]
or rax, qword [rdx + rbp*8 + 0x18]
or rax, qword [rdx + rbp*8 + 0x20]
or rax, qword [rdx + rbp*8 + 0x28]
or rax, qword [rdx + rbp*8 + 0x30]
or rax, qword [rdx + rbp*8 + 0x38]
or rax, qword [rdx + rbp*8 + 0x40]
add rbp, 8
cmp rcx, rbp
jne 0x140073724
inc rbp
test rdi, rdi
je 0x14007376f
lea rcx, [rdx + rbp*8]
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp rdi, rdx
jne 0x140073763
test rax, rax
mov rsi, qword [rsp + 0x60]
jne 0x1400732b1
mov dword [rsp + 0x20], 0x11e
jmp 0x14007311f
and rax, 0xfffffffffffffff8
xor ebp, ebp
xor ecx, ecx
or rcx, qword [rdx + rbp*8]
or rcx, qword [rdx + rbp*8 + 8]
or rcx, qword [rdx + rbp*8 + 0x10]
or rcx, qword [rdx + rbp*8 + 0x18]
or rcx, qword [rdx + rbp*8 + 0x20]
or rcx, qword [rdx + rbp*8 + 0x28]
or rcx, qword [rdx + rbp*8 + 0x30]
or rcx, qword [rdx + rbp*8 + 0x38]
add rbp, 8
cmp rax, rbp
jne 0x140073792
test rbx, rbx
je 0x1400737d9
lea rax, [rdx + rbp*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x1400737cd
test rcx, rcx
je 0x140073833
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
mov r8, r15
call fcn.140070470
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x48]
movsxd rbp, dword [rax + 8]
mov ecx, ebp
sar ecx, 0x1f
and ecx, ebp
lea edx, [rbp + 1]
mov rax, rbp
test rax, rax
jle 0x140073845
mov rbx, qword [rsp + 0x48]
mov rbx, qword [rbx]
dec edx
cmp qword [rbx + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x14007380e
mov rax, qword [rsp + 0x48]
mov dword [rax + 8], edx
jmp 0x14007385d
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov dword [rbx + 0x10], eax
mov dword [rbx + 8], eax
jmp 0x1400731a8
mov rax, qword [rsp + 0x48]
mov dword [rax + 8], ecx
test ebp, ebp
js 0x14007385d
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x10], 0
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov r9, r12
call fcn.140066e50
test eax, eax
mov rsi, qword [rsp + 0x58]
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
mov r8, rsi
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
mov r8, rsi
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x10], 0
jne 0x140073967
mov rax, qword [rsp + 0x48]
mov edi, dword [rax + 8]
test rdi, rdi
je 0x140073967
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax]
mov rax, qword [rdx]
xor rax, 1
cmp edi, 2
jl 0x14007395e
lea rcx, [rdi - 1]
add rdi, 0xfffffffffffffffe
mov ebx, ecx
and ebx, 7
mov ebp, 1
cmp rdi, 7
jb 0x140073947
and rcx, 0xfffffffffffffff8
xor ebp, ebp
or rax, qword [rdx + rbp*8 + 8]
or rax, qword [rdx + rbp*8 + 0x10]
or rax, qword [rdx + rbp*8 + 0x18]
or rax, qword [rdx + rbp*8 + 0x20]
or rax, qword [rdx + rbp*8 + 0x28]
or rax, qword [rdx + rbp*8 + 0x30]
or rax, qword [rdx + rbp*8 + 0x38]
or rax, qword [rdx + rbp*8 + 0x40]
add rbp, 8
cmp rcx, rbp
jne 0x140073913
inc rbp
test rbx, rbx
je 0x14007395e
lea rcx, [rdx + rbp*8]
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x140073952
test rax, rax
je 0x140073c54
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov r8, r15
call fcn.140070470
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x30]
movsxd rbp, dword [rax + 8]
mov ecx, ebp
sar ecx, 0x1f
and ecx, ebp
lea edx, [rbp + 1]
mov rax, rbp
test rax, rax
jle 0x1400739bc
mov rbx, qword [rsp + 0x30]
mov rbx, qword [rbx]
dec edx
cmp qword [rbx + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x140073997
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], edx
jmp 0x1400739d4
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], ecx
test ebp, ebp
js 0x1400739d4
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], 0
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov r9, r12
call fcn.140066e50
test eax, eax
je 0x140073156
mov ebx, 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x10], 0
jne 0x140073a9a
mov rax, qword [rsp + 0x30]
mov esi, dword [rax + 8]
test rsi, rsi
je 0x140073a9a
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax]
mov rax, qword [rdx]
xor rax, 1
cmp esi, 2
jl 0x140073a95
lea rcx, [rsi - 1]
add rsi, 0xfffffffffffffffe
mov edi, ecx
and edi, 7
mov ebp, 1
cmp rsi, 7
jb 0x140073a7e
and rcx, 0xfffffffffffffff8
xor ebp, ebp
or rax, qword [rdx + rbp*8 + 8]
or rax, qword [rdx + rbp*8 + 0x10]
or rax, qword [rdx + rbp*8 + 0x18]
or rax, qword [rdx + rbp*8 + 0x20]
or rax, qword [rdx + rbp*8 + 0x28]
or rax, qword [rdx + rbp*8 + 0x30]
or rax, qword [rdx + rbp*8 + 0x38]
or rax, qword [rdx + rbp*8 + 0x40]
add rbp, 8
cmp rcx, rbp
jne 0x140073a4a
inc rbp
test rdi, rdi
je 0x140073a95
lea rcx, [rdx + rbp*8]
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp rdi, rdx
jne 0x140073a89
test rax, rax
je 0x140073aca
inc ebx
cmp ebx, r13d
je 0x140073c47
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
mov r8, rcx
mov r9, r12
call fcn.140068470
test eax, eax
jne 0x1400739f8
jmp 0x140073156
mov rax, qword [rsp + 0x40]
cmp rax, qword [rsp + 0x30]
je 0x140073b32
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 8]
mov rcx, qword [rsp + 0x30]
call fcn.140064cf0
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x40]
movsxd r8, dword [rax + 8]
test r8, r8
je 0x140073c40
shl r8, 3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.1400dbd80
mov eax, dword [rsi + 8]
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x10], eax
mov eax, ebx
not eax
add r13d, eax
jle 0x140073bda
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
mov r8, r15
call fcn.140070470
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x30]
movsxd rbp, dword [rax + 8]
mov ecx, ebp
sar ecx, 0x1f
and ecx, ebp
lea edx, [rbp + 1]
mov rax, rbp
test rax, rax
jle 0x140073b92
mov rdi, qword [rsp + 0x30]
mov rdi, qword [rdi]
dec edx
cmp qword [rdi + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x140073b6d
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], edx
jmp 0x140073baa
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], ecx
test ebp, ebp
js 0x140073baa
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], 0
mov qword [rsp + 0x20], r15
xor ecx, ecx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov r9, r12
call fcn.140066e50
test eax, eax
je 0x140073156
lea eax, [r13 - 1]
cmp r13d, 2
mov r13d, eax
jge 0x140073b3f
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
mov r8, qword [rsp + 0x30]
mov r9, r12
call fcn.140068470
test eax, eax
je 0x140073156
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
mov r8, qword [rsp + 0x40]
mov r9, r12
call fcn.140068470
mov r13d, ebx
jmp 0x1400738b9
xor eax, eax
jmp 0x140073b1f
mov dword [rsp + 0x20], 0x177
jmp 0x14007324a
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x50]
je 0x140073d1a
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 8]
mov rcx, qword [rsp + 0x50]
call fcn.140064cf0
test eax, eax
je 0x140073156
mov rax, qword [rsp + 0x38]
movsxd r8, dword [rax + 8]
test r8, r8
je 0x140073d30
shl r8, 3
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rsp + 0x38]
mov rdx, qword [rsi]
call fcn.1400dbd80
mov eax, dword [rsi + 8]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x10], eax
jmp 0x1400733f9
mov dword [rsp + 0x20], 0x49
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
xor ebx, ebx
mov ecx, 3
xor edx, edx
mov r8d, 0x41
call fcn.1400a8ab0
jmp 0x1400731a8
mov word [r15 + 0x28], 0x101
jmp 0x140072bf9
xor eax, eax
jmp 0x140072f76
test rax, rax
jne 0x140072d83
jmp 0x140073156
xor eax, eax
mov rdi, qword [rsp + 0x50]
jmp 0x1400733f0
cmp qword [rsp + 0x38], 0
mov rsi, qword [rsp + 0x58]
jne 0x140072d83
jmp 0x140073156
xor eax, eax
jmp 0x140073cad