Function at 0x140084960
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
cmp qword [rcx + 8], 0
je 0x140084984
mov rsi, rcx
cmp qword [rcx + 0x18], 0
jne 0x1400849bd
mov dword [rsp + 0x20], 0x2b6
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x90
call fcn.1400a8ab0
mov eax, ebp
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r9
mov rbp, r8
mov r15, rdx
call fcn.140066c20
test rax, rax
je 0x140084a3e
mov r14, rax
cmp byte [rax + 0x28], 0
jne 0x140084a51
mov rcx, qword [r14 + 0x10]
mov rdi, qword [r14 + 0x20]
cmp rcx, qword [r14 + 0x18]
jne 0x140084a45
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebx, 0x20
cmovne rbx, rax
cmp rbx, rcx
jbe 0x1400853d0
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x1400853d0
lea rdx, [rbx*8]
mov rcx, qword [r14 + 8]
call fcn.140090510
test rax, rax
je 0x1400853d0
mov qword [r14 + 8], rax
mov qword [r14 + 0x18], rbx
mov rcx, qword [r14 + 0x10]
jmp 0x140084a49
xor ebp, ebp
jmp 0x1400849a7
mov rax, qword [r14 + 8]
mov qword [rax + rcx*8], rdi
inc qword [r14 + 0x10]
mov rcx, r14
call fcn.140066cc0
mov r13, rax
mov rcx, r14
call fcn.140066cc0
test r13, r13
je 0x140084ac8
mov rbx, rax
test rax, rax
je 0x140084ac8
mov rcx, rbp
mov rdx, r12
mov r8, r13
call fcn.140066700
test rax, rax
je 0x140084b7a
mov rax, qword [rsi + 8]
movsxd r9, dword [rax + 8]
mov r8, qword [rax]
movsxd rdx, dword [r13 + 8]
mov rcx, qword [r13]
call fcn.140066a10
test eax, eax
js 0x140084b81
mov dword [rsp + 0x20], 0x2d3
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x73
jmp 0x140084ae6
mov dword [rsp + 0x20], 0x2c9
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x41
call fcn.1400a8ab0
xor edi, edi
xor ebx, ebx
cmp byte [r14 + 0x28], 0
jne 0x140084b0f
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
lea rdx, [rcx - 1]
mov qword [r14 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r14 + 0x20], rax
mov rcx, qword [r14]
lea rdx, [0x140087a90]
lea r8, [fcn.1400661e0]
call fcn.1400ad2a0
mov rcx, qword [r14 + 8]
call fcn.1400904c0
mov rcx, r14
call fcn.1400904c0
test rdi, rdi
je 0x1400849a7
cmp ebx, 0x400
jne 0x140084b54
mov rcx, rdi
call fcn.140080a30
jmp 0x1400849a7
lea rdi, [rsi + 0x58]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [rsi + 0xa8]
mov ecx, ebx
mov byte [rax + rcx], 0
mov rcx, rdi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x1400849a7
xor ebp, ebp
jmp 0x140084aeb
mov rcx, rsi
mov rdx, r14
call fcn.140085930
test eax, eax
je 0x140084bc4
mov edi, dword [rsi + 0x54]
cmp qword [rsi + 0x10], 0
jne 0x140084be7
mov eax, edi
and eax, 8
jne 0x140084be7
mov dword [rsp + 0x20], 0x2e3
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x82
jmp 0x140084ae6
mov dword [rsp + 0x20], 0x2d8
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x44
jmp 0x140084ae6
test dil, 8
mov dword [rsp + 0x7c], edi
jne 0x140084c37
lea rcx, [rsi + 0x58]
mov qword [rsp + 0x58], rcx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
cmp qword [rsi + 0xb0], 0
mov ebp, dword [rsi + 0x98]
je 0x140084c52
test ebp, ebp
je 0x140084c45
xor eax, eax
mov rcx, qword [rsi + 0xa0]
mov rcx, qword [rcx + rax*8]
mov dword [rcx + 0x10], 0x1f
inc rax
mov ebp, dword [rsi + 0x98]
cmp rax, rbp
jb 0x140084c15
jmp 0x140084c47
xor eax, eax
mov qword [rsp + 0x48], rax
xor edi, edi
jmp 0x140084e22
xor ebp, ebp
mov qword [rsi + 0xb0], 0
test ebp, ebp
je 0x140084cac
mov r8d, ebp
mov rcx, qword [rsi + 0xa8]
xor edx, edx
call fcn.1400dbc00
test rax, rax
je 0x140084c8d
mov byte [rax], 1
sub rax, qword [rsi + 0xa8]
mov rdx, qword [rsi + 0xa0]
mov qword [rsp + 0x48], rax
mov ecx, eax
mov rdi, qword [rdx + rcx*8]
jmp 0x140084def
cmp ebp, 0x400
jb 0x140084cac
mov eax, 0x400
mov qword [rsp + 0x48], rax
call fcn.1400808c0
mov rdi, rax
jmp 0x140084def
lea eax, [rbp + rbp]
test ebp, ebp
mov edi, 1
cmovne edi, eax
mov eax, 0x400
cmp edi, eax
cmovae edi, eax
lea rcx, [rdi*8]
call fcn.140090490
mov rbp, rax
mov qword [rsp + 0x30], rdi
mov rcx, rdi
call fcn.140090490
mov qword [rsp + 0x38], rax
mov rax, rbp
test rbp, rbp
je 0x140084f7a
cmp qword [rsp + 0x38], 0
je 0x140084f7a
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x40], rbx
mov r8d, dword [rsi + 0x98]
xor edi, edi
test r8, r8
je 0x140084d4e
shl r8, 3
mov rdx, qword [rsi + 0xa0]
mov rcx, qword [rsp + 0x60]
call fcn.1400dbd80
mov r8d, dword [rsi + 0x98]
test r8, r8
je 0x140084d4e
mov rdx, qword [rsi + 0xa8]
mov rcx, qword [rsp + 0x38]
call fcn.1400dbd80
mov edi, dword [rsi + 0x98]
cmp edi, dword [rsp + 0x30]
jae 0x140084d7e
mov ebp, edi
mov edi, dword [rsp + 0x30]
call fcn.1400808c0
mov rcx, qword [rsp + 0x60]
mov qword [rcx + rbp*8], rax
test rax, rax
je 0x140084f55
inc rbp
cmp edi, ebp
jne 0x140084d5a
mov edi, dword [rsi + 0x98]
mov eax, edi
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
add rcx, rax
mov r8, qword [rsp + 0x30]
sub r8d, edi
xor edx, edx
call fcn.1400dc190
mov eax, dword [rsi + 0x98]
mov byte [rbx + rax], 1
mov eax, dword [rsi + 0x98]
mov qword [rsp + 0x48], rax
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rbp + rax*8]
mov rcx, qword [rsi + 0xa0]
call fcn.1400904c0
mov qword [rsi + 0xa0], rbp
mov rcx, qword [rsi + 0xa8]
call fcn.1400904c0
mov qword [rsi + 0xa8], rbx
mov rax, qword [rsp + 0x30]
mov dword [rsi + 0x98], eax
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
test rdi, rdi
je 0x140084f47
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x60]
mov qword [rsp + 0x20], r14
mov rcx, r13
mov rdx, rdi
call fcn.140080ac0
test eax, eax
je 0x14008550a
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x140084e92
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140084e92
cmp qword [rsi + 0x10], 0
je 0x140084e92
cmp qword [rsi + 0x30], 0
je 0x140084e92
cmp qword [rsi + 0x38], 0
je 0x140084e92
cmp qword [rsi + 0x40], 0
je 0x140084e92
cmp dword [rcx + 0x10], 0
jne 0x140084e92
mov rdx, qword [rsi + 0x68]
movsxd rdx, dword [rdx + 0x20]
movsxd rbp, dword [rcx + 8]
cmp edx, ebp
jae 0x140084e88
mov r8, rbx
mov rbx, rdi
mov rdi, qword [rcx]
xor ecx, ecx
or rcx, qword [rdi + rdx*8]
inc rdx
cmp rdx, rbp
jb 0x140084e71
test rcx, rcx
mov rdi, rbx
mov rbx, r8
jne 0x140084e92
cmp dword [rax + 0x10], 0
je 0x140085249
mov r9, qword [rsi + 8]
mov rax, qword [rsi + 0x60]
mov r8, qword [rsi + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, r13
call fcn.140069be0
test eax, eax
je 0x14008550a
cmp qword [rsi + 0x10], 0
je 0x14008515d
mov rcx, r14
call fcn.140066cc0
test rax, rax
je 0x140085135
mov rbp, rax
mov rax, qword [rsi + 0x60]
mov r9, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, rbp
mov rdx, rbx
call fcn.1400687d0
test eax, eax
je 0x140085135
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x60], rdi
mov rbx, rbp
movsxd r9, dword [rbp + 8]
movsxd r8, dword [r13 + 8]
cmp r9d, r8d
jge 0x140084f4e
mov rbp, qword [r13]
mov ecx, r8d
sub ecx, r9d
mov rax, r9
not rax
add rax, r8
and ecx, 7
cmp rax, 7
jae 0x140084fc5
xor eax, eax
mov rdx, r9
jmp 0x140085009
mov rbx, qword [rsp + 0x48]
jmp 0x140084f9b
xor eax, eax
jmp 0x140085027
mov edi, dword [rsi + 0x98]
cmp edi, ebp
mov rax, qword [rsp + 0x60]
jae 0x140084f7a
mov rcx, qword [rax + rdi*8]
mov rbx, rax
call fcn.140080a30
mov rax, rbx
inc rdi
cmp ebp, edi
jne 0x140084f64
mov rcx, qword [rsp + 0x38]
mov rdi, rax
call fcn.1400904c0
mov rcx, rdi
call fcn.1400904c0
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
xor ebx, ebx
mov dword [rsp + 0x20], 0x2ea
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x44
call fcn.1400a8ab0
xor edi, edi
jmp 0x140084aef
mov rdi, r8
sub rdi, r9
and rdi, 0xfffffffffffffff8
neg rdi
xor eax, eax
mov rdx, r9
or rax, qword [rbp + rdx*8]
or rax, qword [rbp + rdx*8 + 8]
or rax, qword [rbp + rdx*8 + 0x10]
or rax, qword [rbp + rdx*8 + 0x18]
or rax, qword [rbp + rdx*8 + 0x20]
or rax, qword [rbp + rdx*8 + 0x28]
or rax, qword [rbp + rdx*8 + 0x30]
or rax, qword [rbp + rdx*8 + 0x38]
add rdx, 8
add rdi, 8
jne 0x140084fd7
test rcx, rcx
je 0x140085027
lea rdx, [rdx*8]
add rdx, rbp
xor ebp, ebp
or rax, qword [rdx + rbp*8]
inc rbp
cmp rcx, rbp
jne 0x14008501b
cmp r8d, r9d
jge 0x140085089
mov rcx, qword [rbx]
mov edi, r9d
sub edi, r8d
mov rdx, r8
not rdx
add rdx, r9
mov rbp, r8
and rdi, 7
je 0x140085053
or rax, qword [rcx + rbp*8]
inc rbp
dec rdi
jne 0x140085047
cmp rdx, 7
jb 0x140085089
or rax, qword [rcx + rbp*8]
or rax, qword [rcx + rbp*8 + 8]
or rax, qword [rcx + rbp*8 + 0x10]
or rax, qword [rcx + rbp*8 + 0x18]
or rax, qword [rcx + rbp*8 + 0x20]
or rax, qword [rcx + rbp*8 + 0x28]
or rax, qword [rcx + rbp*8 + 0x30]
or rax, qword [rcx + rbp*8 + 0x38]
add rbp, 8
cmp r9, rbp
jne 0x140085059
cmp r9d, r8d
cmovl r8d, r9d
test r8d, r8d
jle 0x14008511c
mov r10, qword [rbx]
mov r11, qword [r13]
mov r9d, r8d
lea rcx, [r9 - 1]
mov r8d, r9d
and r8d, 3
cmp rcx, 3
jae 0x1400850b8
xor ecx, ecx
jmp 0x1400850f9
and r9d, 0xfffffffc
xor ecx, ecx
mov rdi, qword [r11 + rcx*8]
mov rdx, qword [r11 + rcx*8 + 8]
xor rdi, qword [r10 + rcx*8]
xor rdx, qword [r10 + rcx*8 + 8]
or rdi, rax
mov rbp, qword [r11 + rcx*8 + 0x10]
xor rbp, qword [r10 + rcx*8 + 0x10]
or rbp, rdx
mov rax, qword [r11 + rcx*8 + 0x18]
xor rax, qword [r10 + rcx*8 + 0x18]
or rbp, rdi
or rax, rbp
add rcx, 4
cmp r9, rcx
jne 0x1400850be
test r8, r8
je 0x14008511c
lea rbp, [r11 + rcx*8]
lea rcx, [r10 + rcx*8]
xor edx, edx
mov rdi, qword [rbp + rdx*8]
xor rdi, qword [rcx + rdx*8]
or rax, rdi
inc rdx
cmp r8, rdx
jne 0x140085108
mov ecx, dword [r13 + 0x10]
xor ecx, dword [rbx + 0x10]
movsxd rcx, ecx
or rcx, rax
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
je 0x14008515d
mov dword [rsp + 0x20], 0x310
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
xor ebp, ebp
mov ecx, 4
xor edx, edx
mov r8d, 0x44
call fcn.1400a8ab0
jmp 0x14008550c
test byte [rsp + 0x7c], 8
jne 0x140085184
mov r9, qword [rsi + 0x60]
mov r8, qword [rdi + 8]
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
call fcn.140068f30
test eax, eax
je 0x14008550a
mov r9, qword [rbx]
movsxd r8, dword [rbx + 8]
shl r8, 3
mov rdx, r8
sub rdx, r12
ja 0x1400853dc
test r8, r8
je 0x140085229
lea rax, [r8 - 1]
mov r10d, r8d
and r10d, 3
cmp rax, 3
jae 0x1400851b9
xor ebp, ebp
jmp 0x140085201
mov rbx, rdi
lea rdi, [r9 + 3]
lea rcx, [r12 + r15]
add rcx, 0xffffffffffffffff
mov rax, r8
and rax, 0xfffffffffffffffc
neg rax
xor ebp, ebp
mov dl, byte [rdi - 3]
mov byte [rcx + rbp], dl
mov dl, byte [rdi - 2]
mov byte [rcx + rbp - 1], dl
mov dl, byte [rdi - 1]
mov byte [rcx + rbp - 2], dl
mov dl, byte [rdi]
mov byte [rcx + rbp - 3], dl
add rdi, 4
add rbp, 0xfffffffffffffffc
cmp rax, rbp
jne 0x1400851d4
neg rbp
mov rdi, rbx
test r10, r10
je 0x140085229
mov rax, r12
sub rax, rbp
add rax, r15
add rax, 0xffffffffffffffff
add r9, rbp
xor ecx, ecx
mov dl, byte [r9 + rcx]
mov byte [rax], dl
dec rax
inc rcx
cmp r10, rcx
jne 0x140085218
mov ebp, 1
sub r12, r8
je 0x14008550c
mov rcx, r15
xor edx, edx
mov r8, r12
call fcn.1400dc190
jmp 0x14008550c
mov rcx, qword [rsi + 0x70]
movsxd rcx, dword [rcx + 0x20]
movsxd rdx, dword [rax + 8]
cmp ecx, edx
jae 0x140085274
mov rbp, qword [rax]
xor eax, eax
or rax, qword [rbp + rcx*8]
inc rcx
cmp rcx, rdx
jb 0x14008525e
test rax, rax
jne 0x140084e92
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x60], rdi
cmp byte [r14 + 0x28], 0
jne 0x1400852f6
mov rcx, qword [r14 + 0x10]
mov rdi, qword [r14 + 0x20]
cmp rcx, qword [r14 + 0x18]
jne 0x1400852ea
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebp, 0x20
cmovne rbp, rax
cmp rbp, rcx
jbe 0x140085484
movabs rax, 0x1fffffffffffffff
cmp rbp, rax
ja 0x140085484
lea rdx, [rbp*8]
mov rcx, qword [r14 + 8]
call fcn.140090510
test rax, rax
je 0x140085484
mov qword [r14 + 8], rax
mov qword [r14 + 0x18], rbp
mov rcx, qword [r14 + 0x10]
jmp 0x1400852ee
mov rax, qword [r14 + 8]
mov qword [rax + rcx*8], rdi
inc qword [r14 + 0x10]
mov rcx, r14
call fcn.140066cc0
mov rdi, rax
mov rcx, r14
call fcn.140066cc0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x1400854d5
mov rbx, rax
test rax, rax
je 0x1400854d5
mov rcx, rsi
mov rdx, r14
call fcn.140085930
test eax, eax
je 0x1400854d5
mov rax, qword [rsi + 0x80]
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x88]
mov qword [rsp + 0x70], rax
mov rax, qword [rsi + 0x68]
mov qword [rsp + 0x30], rax
mov rbp, qword [rsi + 0x70]
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140085490
test rax, rax
je 0x140085490
mov edi, dword [rax + 0x10]
cmp edi, dword [rcx + 0x10]
jne 0x140085876
movsxd r9, dword [rcx + 8]
mov r8, qword [rcx]
movsxd rdx, dword [rax + 8]
mov rcx, qword [rax]
call fcn.140066a10
mov ecx, eax
neg ecx
test edi, edi
cmove ecx, eax
test ecx, ecx
js 0x140085499
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbp
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x70], rax
jmp 0x1400854a6
mov word [r14 + 0x28], 0x101
jmp 0x140084a51
mov rbx, rdi
mov rax, r12
not rax
add rax, r8
mov r8d, edx
and r8d, 7
cmp rax, 7
jae 0x1400853fc
xor ebp, ebp
mov rcx, r12
jmp 0x140085451
and rdx, 0xfffffffffffffff8
neg rdx
xor ebp, ebp
mov rcx, r12
movzx eax, byte [r9 + rcx]
or eax, ebp
movzx ebp, byte [r9 + rcx + 1]
movzx edi, byte [r9 + rcx + 2]
or edi, ebp
or edi, eax
movzx eax, byte [r9 + rcx + 3]
movzx ebp, byte [r9 + rcx + 4]
or ebp, eax
movzx eax, byte [r9 + rcx + 5]
or eax, ebp
or eax, edi
movzx edi, byte [r9 + rcx + 6]
movzx ebp, byte [r9 + rcx + 7]
or ebp, edi
or ebp, eax
add rcx, 8
add rdx, 8
jne 0x140085408
test r8, r8
je 0x140085469
add rcx, r9
xor eax, eax
movzx edx, byte [rcx + rax]
or ebp, edx
inc rax
cmp r8, rax
jne 0x14008545b
mov r8, r12
test ebp, ebp
mov rdi, rbx
je 0x14008519b
mov dword [rsp + 0x20], 0x322
jmp 0x14008513d
mov word [r14 + 0x28], 0x101
jmp 0x1400852f6
test rax, rax
je 0x1400853ad
mov rdi, rbp
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x68], rax
cmp dword [rdi + 0x28], 0
je 0x140085516
mov dword [rsp + 0x20], 0x33d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_rsa_rsa_impl.c
mov dword [rsp + 0x58], 0
mov ecx, 4
xor edx, edx
mov r8d, 0x44
call fcn.1400a8ab0
cmp byte [r14 + 0x28], 0
jne 0x1400854f5
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
lea rdx, [rcx - 1]
mov qword [r14 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r14 + 0x20], rax
cmp dword [rsp + 0x58], 0
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
jne 0x140084ebb
xor ebp, ebp
mov rbx, qword [rsp + 0x48]
jmp 0x140084aef
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x80], rax
lea rax, [rdi + 0x18]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0x20]
movsxd rcx, dword [rdi + 0x20]
cmp eax, ecx
jae 0x14008555c
mov rdx, qword [rsp + 0x50]
mov rbp, qword [rdx]
xor edx, edx
or rdx, qword [rbp + rax*8]
inc rax
cmp rax, rcx
jb 0x140085546
test rdx, rdx
jne 0x1400854ac
mov rcx, qword [rsp + 0x38]
mov rdx, r13
mov r8, qword [rsp + 0x30]
mov r9, r14
call fcn.140069150
test eax, eax
je 0x1400854d5
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
mov r8, qword [rsp + 0x30]
mov r9, r8
call fcn.140068f30
test eax, eax
je 0x1400854d5
mov rax, qword [rsp + 0x30]
lea r9, [rax + 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0x68], r9
call fcn.140069be0
test eax, eax
je 0x1400854d5
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x28], 0
jne 0x1400854ac
movsxd rax, dword [rdi + 0x20]
mov rcx, qword [rsp + 0x30]
movsxd rcx, dword [rcx + 0x20]
cmp eax, ecx
jae 0x14008560d
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdx]
xor edx, edx
or rdx, qword [rbp + rax*8]
inc rax
cmp rax, rcx
jb 0x1400855f7
test rdx, rdx
jne 0x1400854ac
mov rcx, qword [rsp + 0x38]
mov rdx, r13
mov r8, rdi
mov r9, r14
call fcn.140069150
test eax, eax
je 0x1400854d5
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
mov r8, rdi
mov r9, rdi
call fcn.140068f30
test eax, eax
je 0x1400854d5
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x50]
call fcn.140069be0
test eax, eax
je 0x1400854d5
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov r8, rbx
mov r9, qword [rsp + 0x50]
call fcn.140068110
test eax, eax
je 0x1400854d5
mov r8, qword [rsi + 0x90]
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov r9, rdi
call fcn.140068f30
test eax, eax
je 0x1400854d5
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
jne 0x1400856cf
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x28], 0
je 0x1400856f8
mov dword [rsp + 0x20], 0x211
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_mul.c
mov dword [rsp + 0x58], 0
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
jmp 0x1400854d0
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov r8, qword [rsp + 0x68]
mov r9, r14
call fcn.14006ff50
test eax, eax
je 0x1400854d5
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + 8]
cmp eax, dword [rbx + 8]
mov rax, rcx
cmovl rax, rbx
cmovl rbx, rcx
mov qword [rsp + 0x30], rax
movsxd rax, dword [rax + 8]
mov rdi, rbx
movsxd rbp, dword [rbx + 8]
mov qword [rsp + 0x38], rax
lea rdx, [rax + 1]
mov rbx, rdx
call fcn.140064cf0
test eax, eax
je 0x1400854d5
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ebx
test ebp, ebp
jne 0x140085764
xor eax, eax
jmp 0x1400857ab
mov rax, qword [rsp + 0x40]
mov r8, qword [rax]
mov rax, qword [rsp + 0x30]
mov r9, qword [rax]
mov rdi, qword [rdi]
xor edx, edx
mov rcx, rbp
sub rax, rax
jmp 0x140085790
mov rax, qword [r9 + rdx*8]
adc rax, qword [rdi + rdx*8]
mov qword [r8 + rdx*8], rax
lea rdx, [rdx + 1]
dec rcx
jne 0x140085790
sbb rax, rax
and eax, 1
cmp ebp, dword [rsp + 0x38]
jge 0x1400857c5
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
sub ecx, edx
not rdx
test cl, 1
jne 0x1400857ca
jmp 0x1400857f6
mov r9, rax
jmp 0x140085844
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
xor r9d, r9d
mov r8, rbp
add rax, qword [rcx + rbp*8]
setb r9b
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rcx]
mov qword [rbp + r8*8], rax
inc r8
mov rbp, r8
mov rax, r9
add rdx, qword [rsp + 0x38]
je 0x140085844
mov r9, rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov rdi, rbp
add r9, qword [rax + rbp*8]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx]
mov qword [rax + rbp*8], r9
mov rax, qword [rcx]
mov rax, qword [rax + rbp*8 + 8]
adc rax, 0
setb cl
movzx r9d, cl
mov rdx, qword [rdx]
mov qword [rdx + rbp*8 + 8], rax
add rdi, 2
mov rbp, rdi
cmp qword [rsp + 0x38], rdi
jne 0x140085800
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x38]
mov qword [rax + rdx*8], r9
mov rax, qword [rsp + 0x80]
movsxd rdx, dword [rax + 0x20]
call fcn.1400665f0
xor ecx, ecx
test eax, eax
setne cl
mov dword [rsp + 0x58], ecx
jmp 0x1400854d5
test edi, edi
jne 0x140085499
jmp 0x1400853ad