Function at 0x1400a5270
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
xor ebp, ebp
mov dword [rdx], ebp
cmp dword [r8 + 0x10], ebp
je 0x1400a52c4
mov dword [rsp + 0x20], 0xad
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
mov ecx, 3
xor edx, edx
mov r8d, 0x6b
call fcn.14009b3a0
mov eax, ebp
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r9
mov rdi, r8
mov rax, rdx
mov r15d, dword [r9 + 8]
movsxd r13, r15d
mov rsi, qword [r9]
movsxd r14, dword [r8 + 8]
mov rbx, qword [r8]
mov qword [rsp + 0xc0], rcx
mov rcx, rbx
mov rdx, r14
mov r8, rsi
mov qword [rsp + 0xb0], rax
mov r9, r13
call fcn.14009f180
mov r8, qword [rsp + 0xb0]
test eax, eax
jns 0x1400a528d
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x38], r13
test r14d, r14d
je 0x1400a58da
lea rcx, [r14 - 1]
mov eax, r14d
and eax, 7
mov edx, 7
cmp rcx, rdx
jae 0x1400a5338
xor edx, edx
xor ecx, ecx
jmp 0x1400a5373
mov rbp, r14
and rbp, 0xfffffffffffffff8
xor edx, edx
xor ecx, ecx
or rcx, qword [rbx + rdx*8]
or rcx, qword [rbx + rdx*8 + 8]
or rcx, qword [rbx + rdx*8 + 0x10]
or rcx, qword [rbx + rdx*8 + 0x18]
or rcx, qword [rbx + rdx*8 + 0x20]
or rcx, qword [rbx + rdx*8 + 0x28]
or rcx, qword [rbx + rdx*8 + 0x30]
or rcx, qword [rbx + rdx*8 + 0x38]
add rdx, 8
cmp rbp, rdx
jne 0x1400a5343
test rax, rax
je 0x1400a538a
lea rdx, [rbx + rdx*8]
xor ebp, ebp
or rcx, qword [rdx + rbp*8]
inc rbp
cmp rax, rbp
jne 0x1400a537e
test rcx, rcx
je 0x1400a58da
test r14d, r14d
jle 0x1400a539d
test byte [rbx], 1
jne 0x1400a53bd
cmp dword [rsp + 0x34], 0
jle 0x1400a53a9
test byte [rsi], 1
jne 0x1400a53bd
mov dword [r8], 1
mov dword [rsp + 0x20], 0xc6
jmp 0x1400a5916
mov r13, qword [rsp + 0x140]
mov eax, dword [rsp + 0x34]
cmp r14d, eax
cmovae r14d, eax
mov qword [rsp + 0x60], r14
cmp byte [r13 + 0x28], 0
jne 0x1400a53fa
mov rcx, qword [r13 + 0x10]
mov rsi, qword [r13 + 0x20]
cmp rcx, qword [r13 + 0x18]
je 0x1400a5931
mov rax, qword [r13 + 8]
mov qword [rax + rcx*8], rsi
inc qword [r13 + 0x10]
mov rcx, r13
call fcn.14009f720
mov rbx, rax
mov rcx, r13
call fcn.14009f720
mov rsi, rax
mov rcx, r13
call fcn.14009f720
mov qword [rsp + 0x78], rax
mov rcx, r13
call fcn.14009f720
mov qword [rsp + 0x58], rax
mov rcx, r13
call fcn.14009f720
mov r15, rax
mov rcx, r13
call fcn.14009f720
mov qword [rsp + 0x88], rax
mov rcx, r13
call fcn.14009f720
mov qword [rsp + 0x40], rax
mov rcx, r13
call fcn.14009f720
xor ebp, ebp
test rbx, rbx
je 0x1400a58b1
test rsi, rsi
je 0x1400a58b1
mov r14, rbx
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1400a58b1
cmp qword [rsp + 0x58], 0
je 0x1400a58b1
test r15, r15
je 0x1400a58b1
cmp qword [rsp + 0x88], 0
je 0x1400a58b1
cmp qword [rsp + 0x40], 0
je 0x1400a58b1
test rax, rax
je 0x1400a58b1
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x48], rsi
cmp r14, rdi
je 0x1400a625d
mov rcx, r14
movsxd rdx, dword [rdi + 8]
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd r8, dword [rdi + 8]
test r8, r8
je 0x1400a6236
shl r8, 3
mov rsi, r14
mov rcx, qword [r14]
mov rdx, qword [rdi]
call fcn.1400f23d0
mov eax, dword [rdi + 8]
mov rcx, qword [rsp + 0x48]
mov dword [rsi + 8], eax
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x10], eax
cmp rcx, r12
je 0x1400a6270
movsxd rdx, dword [r12 + 8]
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd r8, dword [r12 + 8]
test r8, r8
je 0x1400a6245
shl r8, 3
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsi]
mov rdx, qword [r12]
call fcn.1400f23d0
mov rcx, rsi
mov eax, dword [r12 + 8]
mov dword [rcx + 8], eax
mov eax, dword [r12 + 0x10]
mov dword [rcx + 0x10], eax
mov edx, 1
mov rcx, rbx
call fcn.14009d600
test eax, eax
je 0x1400a58b1
mov dword [rbx + 0x10], 0
mov rax, qword [rbx]
mov qword [rax], 1
mov dword [rbx + 8], 1
mov edx, 1
mov rsi, qword [rsp + 0x88]
mov rcx, rsi
call fcn.14009d600
test eax, eax
je 0x1400a58b1
mov dword [rsi + 0x10], 0
mov rax, qword [rsi]
mov qword [rax], 1
mov dword [rsi + 8], 1
movsxd rax, dword [r14 + 8]
cmp eax, dword [rsp + 0x34]
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x80], r15
ja 0x1400a627e
mov rcx, r14
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [r14 + 8]
mov r8, rsi
sub r8, rcx
je 0x1400a562b
shl r8, 3
shl rcx, 3
add rcx, qword [r14]
xor edx, edx
call fcn.1400f27e0
mov rsi, qword [rsp + 0x38]
mov ebx, dword [rsp + 0x34]
mov dword [r14 + 8], ebx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
cmp eax, ebx
ja 0x1400a62ab
mov rdx, rsi
mov rdi, rcx
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [rdi + 8]
mov r8, rsi
sub r8, rcx
mov rdx, rsi
mov rax, rdi
je 0x1400a5685
shl r8, 3
shl rcx, 3
add rcx, qword [rax]
xor edx, edx
call fcn.1400f27e0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
mov dword [rax + 8], ebx
mov rdi, qword [rsp + 0x78]
movsxd rax, dword [rdi + 8]
cmp eax, ebx
ja 0x1400a62d3
mov rcx, rdi
mov rsi, rdx
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [rdi + 8]
mov r8, rsi
sub r8, rcx
mov rdx, rsi
je 0x1400a56d2
shl r8, 3
shl rcx, 3
add rcx, qword [rdi]
xor edx, edx
call fcn.1400f27e0
mov rdx, qword [rsp + 0x38]
mov dword [rdi + 8], ebx
movsxd rax, dword [r15 + 8]
cmp eax, ebx
ja 0x1400a62fb
mov rcx, r15
mov rsi, rdx
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [r15 + 8]
mov r8, rsi
sub r8, rcx
je 0x1400a5712
shl r8, 3
shl rcx, 3
add rcx, qword [r15]
xor edx, edx
call fcn.1400f27e0
movsxd rax, dword [rsp + 0x60]
mov dword [r15 + 8], ebx
mov r15, rax
mov rcx, qword [rsp + 0x58]
movsxd rax, dword [rcx + 8]
cmp eax, r15d
mov qword [rsp + 0x50], r15
ja 0x1400a6323
mov rdx, r15
mov rsi, rcx
call fcn.14009d600
test eax, eax
mov r14, qword [rsp + 0x68]
je 0x1400a58b1
movsxd rcx, dword [rsi + 8]
mov r8, r15
sub r8, rcx
mov rax, rsi
je 0x1400a5773
shl r8, 3
shl rcx, 3
add rcx, qword [rax]
xor edx, edx
call fcn.1400f27e0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov dword [rax + 8], ecx
mov rsi, qword [rsp + 0x88]
movsxd rax, dword [rsi + 8]
cmp eax, ecx
ja 0x1400a634b
mov rcx, rsi
mov rdx, r15
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [rsi + 8]
mov r8, r15
sub r8, rcx
je 0x1400a57c0
shl r8, 3
shl rcx, 3
add rcx, qword [rsi]
xor edx, edx
call fcn.1400f27e0
mov rax, qword [rsp + 0x60]
mov dword [rsi + 8], eax
mov rdi, qword [rsp + 0x40]
movsxd rax, dword [rdi + 8]
cmp eax, dword [rsp + 0x34]
ja 0x1400a6373
mov rcx, rdi
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [rdi + 8]
mov r8, rsi
sub r8, rcx
mov rdx, rsi
je 0x1400a5819
shl r8, 3
shl rcx, 3
add rcx, qword [rdi]
xor edx, edx
call fcn.1400f27e0
mov rdx, qword [rsp + 0x38]
mov ebx, dword [rsp + 0x34]
mov dword [rdi + 8], ebx
mov rcx, qword [rsp + 0xa0]
movsxd rax, dword [rcx + 8]
cmp eax, ebx
ja 0x1400a63a0
mov r12, rdx
mov rdi, rcx
call fcn.14009d600
test eax, eax
je 0x1400a58b1
movsxd rcx, dword [rdi + 8]
mov r8, r12
sub r8, rcx
mov rax, rdi
je 0x1400a5871
shl r8, 3
shl rcx, 3
add rcx, qword [rax]
xor edx, edx
call fcn.1400f27e0
mov rax, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov dword [rax + 8], ecx
mov r8, qword [rsp + 0x60]
mov eax, r8d
shl eax, 6
shl ecx, 6
add ecx, eax
jae 0x1400a5985
mov dword [rsp + 0x20], 0xf5
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x66
call fcn.14009b3a0
cmp byte [r13 + 0x28], 0
jne 0x1400a52ae
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
lea rdx, [rcx - 1]
mov qword [r13 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r13 + 0x20], rax
jmp 0x1400a52ae
mov rcx, r12
call fcn.14009f350
test eax, eax
je 0x1400a5900
xor eax, eax
mov rcx, qword [rsp + 0xc0]
mov dword [rcx + 0x10], eax
mov dword [rcx + 8], eax
mov ebp, 1
jmp 0x1400a52ae
mov rax, qword [rsp + 0xb0]
mov dword [rax], 1
mov dword [rsp + 0x20], 0xb6
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x70
jmp 0x1400a52a9
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebp, 0x20
cmovne rbp, rax
cmp rbp, rcx
jbe 0x1400a6251
mov rax, rbp
shr rax, 0x3d
jne 0x1400a6251
lea rdx, [rbp*8]
mov rcx, qword [r13 + 8]
call fcn.1400c6860
test rax, rax
je 0x1400a6251
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rbp
mov rcx, qword [r13 + 0x10]
jmp 0x1400a53f2
mov rbp, r14
test ecx, ecx
mov r9, qword [rsp + 0x48]
je 0x1400a618a
mov r13, r12
and r13, 0xfffffffffffffffe
and r15, 0xfffffffffffffffe
mov qword [rsp + 0xc8], r15
xor eax, eax
mov dword [rsp + 0xbc], ecx
mov qword [rsp + 0xd0], rax
mov r11, qword [rbp]
mov rax, qword [r11]
and eax, 1
neg rax
mov rbp, qword [r9]
mov r14, qword [rbp]
and r14d, 1
neg r14
and r14, rax
mov al, 1
mov dword [rsp + 0x74], eax
mov esi, dword [rsp + 0x34]
test esi, esi
je 0x1400a63c8
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rdx]
xor edi, edi
mov rcx, r12
sub r8, r8
jmp 0x1400a5a00
mov r8, qword [rbp + rdi*8]
sbb r8, qword [r11 + rdi*8]
mov qword [rbx + rdi*8], r8
lea rdi, [rdi + 1]
dec rcx
jne 0x1400a5a00
sbb r8, r8
and r8d, 1
lea r15, [r8 - 1]
and r15, r14
mov r11, r15
mov qword [rsp + 0x90], r15
not r15
mov rcx, qword [r9]
mov rdx, qword [rdx]
mov ebx, 0
cmp esi, 1
je 0x1400a5a7a
xor ebx, ebx
mov rbp, qword [rdx + rbx*8]
and rbp, r11
mov rdi, qword [rcx + rbx*8]
and rdi, r15
or rdi, rbp
mov qword [rcx + rbx*8], rdi
mov rbp, qword [rdx + rbx*8 + 8]
and rbp, r11
mov rdi, qword [rcx + rbx*8 + 8]
and rdi, r15
or rdi, rbp
mov qword [rcx + rbx*8 + 8], rdi
add rbx, 2
cmp r13, rbx
jne 0x1400a5a44
test r12b, 1
je 0x1400a5a95
mov rdx, qword [rdx + rbx*8]
and rdx, r11
mov rbp, qword [rcx + rbx*8]
and rbp, r15
or rbp, rdx
mov qword [rcx + rbx*8], rbp
neg r8
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov r10, qword [rsp + 0x68]
mov rbp, qword [r10]
mov rbx, qword [r9]
xor edi, edi
mov rcx, r12
sub rsi, rsi
jmp 0x1400a5ac0
mov rsi, qword [rbp + rdi*8]
sbb rsi, qword [rbx + rdi*8]
mov qword [rdx + rdi*8], rsi
lea rdi, [rdi + 1]
dec rcx
jne 0x1400a5ac0
sbb rsi, rsi
and r14, r8
mov r9, r14
mov r8, r14
not r8
mov rcx, qword [r10]
mov rdx, qword [rax]
mov edi, 0
cmp dword [rsp + 0x34], 1
je 0x1400a5b2f
xor edi, edi
mov rbp, qword [rdx + rdi*8]
and rbp, r9
mov rsi, qword [rcx + rdi*8]
and rsi, r8
or rsi, rbp
mov qword [rcx + rdi*8], rsi
mov rbp, qword [rdx + rdi*8 + 8]
and rbp, r9
mov rsi, qword [rcx + rdi*8 + 8]
and rsi, r8
or rsi, rbp
mov qword [rcx + rdi*8 + 8], rsi
add rdi, 2
cmp r13, rdi
jne 0x1400a5af9
test r12b, 1
je 0x1400a5b4a
mov rdx, qword [rdx + rdi*8]
and rdx, r9
mov rbp, qword [rcx + rdi*8]
and rbp, r8
or rbp, rdx
mov qword [rcx + rdi*8], rbp
mov rdx, qword [rax]
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov rax, qword [rsp + 0x80]
mov rdi, qword [rax]
xor ebp, ebp
mov rcx, r12
mov rax, r12
sub r10, r10
jmp 0x1400a5b70
mov r10, qword [rsi + rbp*8]
adc r10, qword [rdi + rbp*8]
mov qword [rdx + rbp*8], r10
lea rbp, [rbp + 1]
dec rcx
jne 0x1400a5b70
sbb r10, r10
and r10d, 1
mov rcx, qword [rsp + 0xa8]
mov r12, qword [rcx]
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rcx]
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rbx]
xor ebp, ebp
mov rcx, rax
sub rdx, rdx
jmp 0x1400a5bc0
mov rdx, qword [rsi + rbp*8]
sbb rdx, qword [r12 + rbp*8]
mov qword [rdi + rbp*8], rdx
lea rbp, [rbp + 1]
dec rcx
jne 0x1400a5bc0
sbb rdx, rdx
mov r12, qword [rsp + 0x40]
and edx, 1
sub r10, rdx
mov rcx, r10
mov rdi, r10
not rdi
mov rdx, qword [rbx]
mov rsi, qword [r12]
mov ebp, 0
cmp dword [rsp + 0x34], 1
je 0x1400a5c37
xor ebp, ebp
mov rax, qword [rsi + rbp*8]
and rax, rcx
mov rbx, qword [rdx + rbp*8]
and rbx, rdi
or rbx, rax
mov qword [rsi + rbp*8], rbx
mov rax, qword [rsi + rbp*8 + 8]
and rax, rcx
mov rbx, qword [rdx + rbp*8 + 8]
and rbx, rdi
or rbx, rax
mov qword [rsi + rbp*8 + 8], rbx
add rbp, 2
cmp r13, rbp
jne 0x1400a5c01
test byte [rsp + 0x38], 1
je 0x1400a5c4d
and rcx, qword [rsi + rbp*8]
and rdi, qword [rdx + rbp*8]
or rdi, rcx
mov qword [rsi + rbp*8], rdi
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rdx, qword [r12]
cmp dword [rsp + 0x34], 1
jne 0x1400a5c64
xor esi, esi
jmp 0x1400a5c9c
xor esi, esi
mov rax, qword [rdx + rsi*8]
and rax, r9
mov rdi, qword [rcx + rsi*8]
and rdi, r8
or rdi, rax
mov qword [rcx + rsi*8], rdi
mov rax, qword [rdx + rsi*8 + 8]
and rax, r9
mov rdi, qword [rcx + rsi*8 + 8]
and rdi, r8
or rdi, rax
mov qword [rcx + rsi*8 + 8], rdi
add rsi, 2
cmp r13, rsi
jne 0x1400a5c66
test byte [rsp + 0x38], 1
je 0x1400a5cb2
and r9, qword [rdx + rsi*8]
and r8, qword [rcx + rsi*8]
or r8, r9
mov qword [rcx + rsi*8], r8
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
cmp dword [rsp + 0x34], 1
jne 0x1400a5cda
xor edx, edx
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
jmp 0x1400a5d1c
xor edx, edx
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov rbp, qword [rcx + rdx*8]
and rbp, r11
mov rbx, qword [rax + rdx*8]
and rbx, r15
or rbx, rbp
mov qword [rax + rdx*8], rbx
mov rbp, qword [rcx + rdx*8 + 8]
and rbp, r11
mov rbx, qword [rax + rdx*8 + 8]
and rbx, r15
or rbx, rbp
mov qword [rax + rdx*8 + 8], rbx
add rdx, 2
cmp r13, rdx
jne 0x1400a5ce6
test byte [rsp + 0x38], 1
je 0x1400a5d32
and r11, qword [rcx + rdx*8]
and r15, qword [rax + rdx*8]
or r15, r11
mov qword [rax + rdx*8], r15
mov dword [rsp + 0x70], 0
mov rax, r14
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x58]
test r8d, r8d
je 0x1400a5f4a
mov r12, qword [rsp + 0x40]
mov rdx, qword [r12]
mov rbp, qword [rbx]
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rcx]
xor edi, edi
mov r11, qword [rsp + 0x50]
mov rcx, r11
sub rsi, rsi
jmp 0x1400a5d90
mov rsi, qword [rbp + rdi*8]
adc rsi, qword [rbx + rdi*8]
mov qword [rdx + rdi*8], rsi
lea rdi, [rdi + 1]
dec rcx
jne 0x1400a5d90
sbb rsi, rsi
mov rdx, qword [r15]
mov rbp, qword [r12]
mov r15, qword [rsp + 0xa0]
mov rbx, qword [r15]
xor edi, edi
mov rcx, r11
sub rsi, rsi
jmp 0x1400a5dd0
mov rsi, qword [rbp + rdi*8]
sbb rsi, qword [rdx + rdi*8]
mov qword [rbx + rdi*8], rsi
lea rdi, [rdi + 1]
dec rcx
jne 0x1400a5dd0
sbb rsi, rsi
mov rcx, r10
not r10
mov rbp, qword [r15]
mov rdx, qword [r12]
mov ebx, 0
cmp r8d, 1
mov r15, qword [rsp + 0xc8]
je 0x1400a5e42
xor ebx, ebx
mov rdi, qword [rdx + rbx*8]
and rdi, rcx
mov rsi, qword [rbp + rbx*8]
and rsi, r10
or rsi, rdi
mov qword [rdx + rbx*8], rsi
mov rdi, qword [rdx + rbx*8 + 8]
and rdi, rcx
mov rsi, qword [rbp + rbx*8 + 8]
and rsi, r10
or rsi, rdi
mov qword [rdx + rbx*8 + 8], rsi
add rbx, 2
cmp r15, rbx
jne 0x1400a5e0b
mov r11, qword [rsp + 0x50]
test r11b, 1
je 0x1400a5e5d
and rcx, qword [rdx + rbx*8]
and r10, qword [rbp + rbx*8]
or r10, rcx
mov qword [rdx + rbx*8], r10
mov rcx, rax
not rax
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx]
mov rbp, qword [rsp + 0x40]
mov rbp, qword [rbp]
xor ebx, ebx
cmp r8d, 1
je 0x1400a5eb3
mov rdi, qword [rbp + rbx*8]
and rdi, rcx
mov rsi, qword [rdx + rbx*8]
and rsi, rax
or rsi, rdi
mov qword [rdx + rbx*8], rsi
mov rdi, qword [rbp + rbx*8 + 8]
and rdi, rcx
mov rsi, qword [rdx + rbx*8 + 8]
and rsi, rax
or rsi, rdi
mov qword [rdx + rbx*8 + 8], rsi
add rbx, 2
cmp r15, rbx
jne 0x1400a5e7c
test r11b, 1
je 0x1400a5ec9
and rcx, qword [rbp + rbx*8]
and rax, qword [rdx + rbx*8]
or rax, rcx
mov qword [rdx + rbx*8], rax
mov rax, r14
not r14
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx]
xor ebp, ebp
cmp r8d, 1
je 0x1400a5f20
mov rbx, qword [rdx + rbp*8]
and rbx, rax
mov rdi, qword [rcx + rbp*8]
and rdi, r14
or rdi, rbx
mov qword [rcx + rbp*8], rdi
mov rbx, qword [rdx + rbp*8 + 8]
and rbx, rax
mov rdi, qword [rcx + rbp*8 + 8]
and rdi, r14
or rdi, rbx
mov qword [rcx + rbp*8 + 8], rdi
add rbp, 2
cmp r15, rbp
jne 0x1400a5eea
test r11b, 1
je 0x1400a5f35
and rax, qword [rdx + rbp*8]
and r14, qword [rcx + rbp*8]
or r14, rax
mov qword [rcx + rbp*8], r14
mov dword [rsp + 0x74], 0
mov r15, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rsi, qword [rcx]
and esi, 1
dec rsi
mov rax, qword [r9]
mov rax, qword [rax]
and eax, 1
mov qword [rsp + 0x90], rax
mov r12, qword [rsp + 0x40]
mov r8, qword [r12]
mov rdx, rsi
mov rbp, qword [rsp + 0x38]
mov r9, rbp
call fcn.1400a7a00
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx]
and eax, 1
neg rax
mov rdx, qword [rbx]
mov rdi, qword [rdx]
and edi, 1
neg rdi
or rdi, rax
mov r9, qword [r12]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax]
and rdi, rsi
mov qword [rsp + 0x20], rbp
mov rdx, rdi
call fcn.1400a7af0
mov rcx, r15
mov r15, rax
mov r9, qword [r12]
mov r8, qword [rcx]
mov rcx, qword [rbx]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rdx, rdi
call fcn.1400a7af0
mov r14, rax
mov r8, qword [r12]
mov rax, qword [rsp + 0x78]
mov r12, qword [rax]
mov rcx, r12
mov rdx, rsi
mov r9, rbp
call fcn.1400a7a00
cmp byte [rsp + 0x70], 0
jne 0x1400a601b
and r15d, esi
shl r15, 0x3f
mov rax, qword [rsp + 0x38]
or qword [r12 + rax*8 - 8], r15
mov rdi, qword [rsp + 0x90]
dec rdi
mov r12, qword [rsp + 0x40]
mov r8, qword [r12]
mov rax, qword [rsp + 0x58]
mov rbp, qword [rax]
mov rcx, rbp
mov rdx, rsi
mov rbx, qword [rsp + 0x50]
mov r9, rbx
call fcn.1400a7a00
cmp byte [rsp + 0x74], 0
jne 0x1400a605d
and r14d, esi
shl r14, 0x3f
or qword [rbp + rbx*8 - 8], r14
mov r8, qword [r12]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rdi
mov rbp, qword [rsp + 0x38]
mov r9, rbp
call fcn.1400a7a00
mov r14, rbx
mov qword [rsp + 0x90], rdi
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rdi]
mov rax, qword [rcx]
and eax, 1
neg rax
mov r15, qword [rsp + 0x88]
mov rdx, qword [r15]
mov rsi, qword [rdx]
and esi, 1
neg rsi
or rsi, rax
mov r9, qword [r12]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax]
and rsi, qword [rsp + 0x90]
mov qword [rsp + 0x20], rbp
mov rdx, rsi
call fcn.1400a7af0
mov rbx, rax
mov r9, qword [r12]
mov rax, qword [rsp + 0x98]
mov r8, qword [rax]
mov rcx, qword [r15]
mov qword [rsp + 0x20], r14
mov rdx, rsi
call fcn.1400a7af0
mov r14, rax
mov r8, qword [r12]
mov rdi, qword [rdi]
mov rsi, qword [rsp + 0x90]
mov rcx, rdi
mov rdx, rsi
mov r9, rbp
call fcn.1400a7a00
cmp byte [rsp + 0x70], 0
mov rbp, qword [rsp + 0x68]
jne 0x1400a6131
and ebx, esi
shl rbx, 0x3f
mov rax, qword [rsp + 0x38]
or qword [rdi + rax*8 - 8], rbx
mov rax, qword [rsp + 0x40]
mov r8, qword [rax]
mov rdi, qword [r15]
mov rcx, rdi
mov rdx, rsi
mov rbx, qword [rsp + 0x50]
mov r9, rbx
call fcn.1400a7a00
cmp byte [rsp + 0x74], 0
jne 0x1400a6162
and r14d, esi
shl r14, 0x3f
or qword [rdi + rbx*8 - 8], r14
mov rax, qword [rsp + 0xd0]
inc eax
mov ecx, dword [rsp + 0xbc]
cmp eax, ecx
mov r12, qword [rsp + 0x38]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
jne 0x1400a59b1
mov rcx, rbp
call fcn.14009f350
test eax, eax
je 0x1400a61f8
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x78]
cmp rdi, rsi
mov r13, qword [rsp + 0x140]
je 0x1400a61ea
movsxd rdx, dword [rdi + 8]
mov rcx, rsi
call fcn.14009d600
xor ecx, ecx
test eax, eax
je 0x1400a67d5
movsxd r8, dword [rdi + 8]
test r8, r8
je 0x1400a61e1
shl r8, 3
mov rcx, qword [rsi]
mov rdx, qword [rdi]
call fcn.1400f23d0
mov ecx, dword [rdi + 8]
mov dword [rsi + 8], ecx
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x10], eax
xor ebp, ebp
test rsi, rsi
setne bpl
jmp 0x1400a58b1
mov rax, qword [rsp + 0xb0]
mov dword [rax], 1
mov dword [rsp + 0x20], 0x13c
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x70
call fcn.14009b3a0
mov r13, qword [rsp + 0x140]
jmp 0x1400a58b1
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov rsi, r14
jmp 0x1400a5509
xor eax, eax
mov rcx, qword [rsp + 0x48]
jmp 0x1400a5558
mov word [r13 + 0x28], 0x101
jmp 0x1400a53fa
test rdi, rdi
mov rcx, qword [rsp + 0x48]
jne 0x1400a5512
jmp 0x1400a58b1
test r12, r12
jne 0x1400a5563
jmp 0x1400a58b1
mov rcx, qword [r14]
mov ebx, eax
sub ebx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
not rdx
add rdx, rax
and ebx, 7
cmp rdx, 7
jae 0x1400a63d8
xor edx, edx
mov rdi, qword [rsp + 0x38]
jmp 0x1400a641e
mov edi, ebx
mov rcx, qword [rcx]
mov ebx, eax
sub ebx, edi
not rsi
add rsi, rax
and ebx, 7
cmp rsi, 7
jae 0x1400a6455
xor edx, edx
mov rdi, qword [rsp + 0x38]
jmp 0x1400a649b
mov esi, ebx
mov rcx, qword [rdi]
mov ebx, eax
sub ebx, esi
not rdx
add rdx, rax
and ebx, 7
cmp rdx, 7
jae 0x1400a64d6
xor edx, edx
mov rdi, qword [rsp + 0x38]
jmp 0x1400a651c
mov edi, ebx
mov rcx, qword [r15]
mov ebx, eax
sub ebx, edi
not rdx
add rdx, rax
and ebx, 7
cmp rdx, 7
jae 0x1400a6557
xor edx, edx
mov rdi, qword [rsp + 0x38]
jmp 0x1400a659d
mov rcx, qword [rcx]
mov esi, eax
sub esi, dword [rsp + 0x60]
not r15
add r15, rax
and esi, 7
cmp r15, 7
jae 0x1400a65ce
xor edx, edx
mov rdi, qword [rsp + 0x50]
jmp 0x1400a6614
mov rcx, qword [rsi]
mov esi, eax
sub esi, dword [rsp + 0x60]
not r15
add r15, rax
and esi, 7
cmp r15, 7
jae 0x1400a6648
xor edx, edx
mov rdi, qword [rsp + 0x50]
jmp 0x1400a668e
mov rcx, qword [rdi]
mov ebx, eax
sub ebx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
not rdx
add rdx, rax
and ebx, 7
cmp rdx, 7
jae 0x1400a66c5
xor edx, edx
mov rdi, qword [rsp + 0x38]
jmp 0x1400a670b
mov rcx, qword [rcx]
mov ebp, eax
sub ebp, dword [rsp + 0x34]
not rdx
add rdx, rax
and ebp, 7
cmp rdx, 7
jae 0x1400a6744
xor edx, edx
mov rbx, qword [rsp + 0x38]
jmp 0x1400a678a
xor eax, eax
xor r10d, r10d
mov cl, 1
mov dword [rsp + 0x70], ecx
jmp 0x1400a5d45
mov rdi, qword [rsp + 0x38]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov esi, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rsi
jne 0x1400a63ee
test rbx, rbx
je 0x1400a6435
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbx, rcx
jne 0x1400a6429
test rdx, rdx
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x80]
jne 0x1400a67c1
jmp 0x1400a562b
mov rdi, qword [rsp + 0x38]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov esi, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rsi
jne 0x1400a646b
test rbx, rbx
je 0x1400a64b2
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbx, rcx
jne 0x1400a64a6
test rdx, rdx
mov ebx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x80]
jne 0x1400a67c1
jmp 0x1400a5685
mov rdi, qword [rsp + 0x38]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov esi, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rsi
jne 0x1400a64ec
test rbx, rbx
je 0x1400a6533
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbx, rcx
jne 0x1400a6527
test rdx, rdx
mov ebx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
jne 0x1400a67c1
jmp 0x1400a56d2
mov rdi, qword [rsp + 0x38]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov esi, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rsi
jne 0x1400a656d
test rbx, rbx
je 0x1400a65b4
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbx, rcx
jne 0x1400a65a8
test rdx, rdx
mov ebx, dword [rsp + 0x34]
mov r15, qword [rsp + 0x80]
jne 0x1400a67c1
jmp 0x1400a5712
mov rdi, qword [rsp + 0x50]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov ebx, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rbx
jne 0x1400a65e4
test rsi, rsi
je 0x1400a662b
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rsi, rcx
jne 0x1400a661f
test rdx, rdx
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
jne 0x1400a67c1
jmp 0x1400a5773
mov rdi, qword [rsp + 0x50]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov ebx, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rbx
jne 0x1400a665e
test rsi, rsi
je 0x1400a66a5
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rsi, rcx
jne 0x1400a6699
test rdx, rdx
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
mov r15, qword [rsp + 0x50]
jne 0x1400a67c1
jmp 0x1400a57c0
mov rdi, qword [rsp + 0x38]
sub rax, rdi
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov esi, 8
or rdx, qword [rcx + rdi*8]
or rdx, qword [rcx + rdi*8 + 8]
or rdx, qword [rcx + rdi*8 + 0x10]
or rdx, qword [rcx + rdi*8 + 0x18]
or rdx, qword [rcx + rdi*8 + 0x20]
or rdx, qword [rcx + rdi*8 + 0x28]
or rdx, qword [rcx + rdi*8 + 0x30]
or rdx, qword [rcx + rdi*8 + 0x38]
add rdi, 8
add rax, rsi
jne 0x1400a66db
test rbx, rbx
je 0x1400a6722
lea rax, [rcx + rdi*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbx, rcx
jne 0x1400a6716
test rdx, rdx
mov rdx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
jne 0x1400a67c1
jmp 0x1400a5819
mov rbx, qword [rsp + 0x38]
sub rax, rbx
and rax, 0xfffffffffffffff8
neg rax
xor edx, edx
mov edi, 8
or rdx, qword [rcx + rbx*8]
or rdx, qword [rcx + rbx*8 + 8]
or rdx, qword [rcx + rbx*8 + 0x10]
or rdx, qword [rcx + rbx*8 + 0x18]
or rdx, qword [rcx + rbx*8 + 0x20]
or rdx, qword [rcx + rbx*8 + 0x28]
or rdx, qword [rcx + rbx*8 + 0x30]
or rdx, qword [rcx + rbx*8 + 0x38]
add rbx, 8
add rax, rdi
jne 0x1400a675a
test rbp, rbp
je 0x1400a67a1
lea rax, [rcx + rbx*8]
xor ecx, ecx
or rdx, qword [rax + rcx*8]
inc rcx
cmp rbp, rcx
jne 0x1400a6795
test rdx, rdx
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x50]
je 0x1400a5871
mov dword [rsp + 0x20], 0x1a0
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
jmp 0x1400a589d
xor esi, esi
jmp 0x1400a61ea