Function at 0x1400bb600
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
mov rdi, rdx
mov rsi, rcx
add rdx, 0x20
lea r8, [0x140455060]
lea rcx, [rsp + 0xb0]
call sym.spki::algorithm::AlgorithmIdentifier::assert_algorithm_oid::h76c7244c9f3e260d
mov eax, dword [rsp + 0xb0]
cmp eax, 6
jne 0x1400bb651
movzx ecx, byte [rdi + 0x60]
cmp cl, 0x17
jne 0x1400bb6ef
mov eax, 2
jmp 0x1400bb698
movzx ecx, byte [rsp + 0xb4]
movups xmm0, xmmword [rsp + 0xb5]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rsp + 0xc5]
movaps xmmword [rsp + 0x40], xmm0
mov rdx, qword [rsp + 0xd4]
mov qword [rsp + 0x4f], rdx
mov rdx, qword [rsp + 0xdc]
mov qword [rsp + 0x68], rdx
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0x70], edx
mov dword [rsi + 0x10], eax
mov byte [rsi + 0x14], cl
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x15], xmm0
movups xmmword [rsi + 0x25], xmm1
mov rax, qword [rsp + 0x4f]
mov qword [rsi + 0x34], rax
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x3c], rax
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x44], eax
mov qword [rsi + 8], 3
mov qword [rsi], 2
mov rax, rsi
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 4
cmp cl, 4
jne 0x1400bb79f
cmp dword [rdi + 0x58], 0
jne 0x1400bb79f
cmp qword [rdi + 0x50], 0
jne 0x1400bb698
movabs rbx, 0x8000000000000000
mov rdx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
lea rcx, [rsp + 0xb0]
call sym._ZN100__LT_pkcs1..private_key..RsaPrivateKey_u20_as_u20_core..convert..TryFrom_LT__RF__u5b_u8_u5d__GT__GT_8try_from17hdc8ba270
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
lea rdx, [rbx + 1]
cmp rax, rdx
jne case.default.0x1400bb794
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
movups xmm0, xmmword [rsp + 0xd0]
mov r8, qword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xe8]
lea r9, [rcx - 4]
cmp r9, 4
mov r10d, 2
cmovb r10, r9
mov r9d, 1
lea r11, [0x1404534a0]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
xor r9d, r9d
jmp case.0x1400bb794.1
jmp 0x1400bb698
cmp rax, rbx
jne 0x1400bb91a
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov r14, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x130]
lea rcx, [rsp + 0x208]
call sym.num_bigint_dig::biguint::BigUint::from_bytes_be::h6f53ba34a712524e
lea rcx, [rsp + 0x238]
mov rdx, rbp
mov r8, rdi
call sym.num_bigint_dig::biguint::BigUint::from_bytes_be::h6f53ba34a712524e
lea rcx, [rsp + 0x268]
mov rdx, r12
mov r8, r13
call sym.num_bigint_dig::biguint::BigUint::from_bytes_be::h6f53ba34a712524e
lea rcx, [rsp + 0x68]
mov rdx, r14
mov r8, r15
call sym.num_bigint_dig::biguint::BigUint::from_bytes_be::h6f53ba34a712524e
lea rcx, [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov r8, rbx
call sym.num_bigint_dig::biguint::BigUint::from_bytes_be::h6f53ba34a712524e
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov ecx, 0x60
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400bb985
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x78]
movups xmm2, xmmword [rsp + 0x88]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm1
movups xmmword [rax + 0x50], xmm2
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 2
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x208]
lea r8, [rsp + 0x238]
lea r9, [rsp + 0x268]
call sym.rsa::key::RsaPrivateKey::from_components::hd32af6f69ecad6b5
cmp dword [rsp + 0xb0], 2
jne 0x1400bb96a
mov qword [rsi + 8], 1
jmp 0x1400bb6d1
mov qword [rsi + 8], 1
mov qword [rsi], 2
test rax, rax
je 0x1400bb6d8
shl rax, 3
lea rdx, [rax + rax*8]
mov r8d, 8
call sym.__rust_dealloc
jmp 0x1400bb6d8
mov r9, rcx
mov qword [rsi + 8], r9
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rdx
movups xmmword [rsi + 0x20], xmm0
mov qword [rsi + 0x30], r8
movups xmmword [rsi + 0x38], xmm1
jmp 0x1400bb6d1
lea rdx, [rsp + 0xb0]
mov r8d, 0x158
mov rcx, rsi
call sym.memcpy
jmp 0x1400bb6d8
mov ecx, 8
mov edx, 0x60
call sym.alloc::alloc::handle_alloc_error::hac6683127b8aa11c
ud2