Function at 0x14000f570
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, 0xa8
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x140076008]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov ecx, 1
mov edx, 0x40
xor r8d, r8d
call fcn.140024930
mov rdi, rax
call fcn.140024ee0
mov qword [rdi + 0x38], rax
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140024830
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x14000f636
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140024d50
mov rcx, qword [rdi + 0x38]
call fcn.140024f60
mov edx, 0x40
mov rcx, rdi
call fcn.140024d50
mov rcx, rdi
call fcn.1400249d0
xor edi, edi
test r14, r14
je 0x14000f60f
mov qword [r14], r13
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140037270
mov rax, rdi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140024c80
test rax, rax
je 0x14000f5d1
mov r12, rax
lea rdx, str._____BEGIN_OPENSSH_PRIVATE_KEY_____
mov rcx, rax
call fcn.1400479e0
test eax, eax
je 0x14000f689
lea r13, str.file_does_not_begin_with_OpenSSH_new_style_key_header
mov rcx, r12
call fcn.140048530
mov rcx, r12
mov rdx, rax
call fcn.140024d50
mov rcx, r12
call fcn.1400249d0
jmp 0x14000f6c3
mov rcx, r12
call fcn.140048530
mov rcx, r12
mov rdx, rax
call fcn.140024d50
mov rcx, r12
call fcn.1400249d0
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140024830
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x14000f6e0
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140024d50
test rdi, rdi
jne 0x14000f5e7
jmp 0x14000f605
xor ebp, ebp
lea rcx, [rsp + 0x40]
lea r13, str.unexpected_end_of_file
lea rsi, str._____END_OPENSSH_PRIVATE_KEY_____
lea r15, [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x40], xmm0
call fcn.140024c80
test rax, rax
je 0x14000f6c3
mov r12, rax
mov rcx, rax
mov rdx, rsi
call fcn.1400479e0
mov rsi, r12
test eax, eax
jne 0x14000f734
jmp 0x14000f7f9
add rsi, 1
movzx eax, byte [rsi]
mov ecx, eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x14000f763
lea ecx, [rax - 0x30]
cmp cl, 0xa
jb 0x14000f763
cmp al, 0x3d
ja 0x14000f7a7
movzx ecx, al
movabs rdx, 0x2000880000000000
bt rdx, rcx
jae 0x14000f7a7
movsxd rcx, ebp
add ebp, 1
mov byte [rsp + rcx + 0x3c], al
cmp ebp, 4
jne 0x14000f730
lea rcx, [rsp + 0x3c]
mov rdx, r15
call fcn.1400239e0
test eax, eax
jle 0x14000f7ed
mov r8d, eax
mov rcx, qword [rdi + 0x38]
add rcx, 0x18
mov rdx, r15
call fcn.1400240d0
mov edx, 3
mov rcx, r15
call fcn.140024d50
xor ebp, ebp
jmp 0x14000f730
mov rcx, r12
call fcn.140048530
mov rcx, r12
mov rdx, rax
call fcn.140024d50
mov rcx, r12
call fcn.1400249d0
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.140024830
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
lea rcx, [rsp + 0x40]
lea rsi, str._____END_OPENSSH_PRIVATE_KEY_____
je 0x14000f6fa
jmp 0x14000f6bc
lea r13, str.invalid_base64_encoding
jmp 0x14000f66c
mov rcx, r12
call fcn.1400249d0
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14000f862
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x90], r15
mov rcx, r15
call fcn.1400246b0
lea rdx, str.openssh_key_v1
mov rcx, rax
call fcn.1400479e0
test eax, eax
je 0x14000f86e
lea r13, str.new_style_OpenSSH_magic_number_missing_n
jmp 0x14000f5d8
lea r13, str.key_body_not_present
jmp 0x14000f5d8
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.140024640
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea rdx, str.none
lea rcx, [rsp + 0x40]
call fcn.140024bb0
xor ecx, ecx
test al, al
jne 0x14000f8f7
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea rdx, str.aes256_cbc
lea rcx, [rsp + 0x40]
call fcn.140024bb0
mov ecx, 1
test al, al
jne 0x14000f8f7
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea rdx, str.aes256_ctr
lea rcx, [rsp + 0x40]
call fcn.140024bb0
mov ecx, 2
test al, al
je 0x14000fab9
mov dword [rdi], ecx
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.140024640
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea rdx, str.none
lea rcx, [rsp + 0x40]
call fcn.140024bb0
test al, al
je 0x14000f944
mov rbx, rdi
add rbx, 4
mov dword [rdi + 4], 0
jmp 0x14000f971
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
lea rdx, str.bcrypt
lea rcx, [rsp + 0x40]
call fcn.140024bb0
test al, al
je 0x14000f9af
mov rbx, rdi
add rbx, 4
mov dword [rdi + 4], 1
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.140024640
mov rax, qword [rsp + 0x48]
mov ecx, dword [rbx]
cmp ecx, 1
je 0x14000f9ce
test ecx, ecx
jne 0x14000fa2d
test rax, rax
je 0x14000fa2d
lea r13, str.expected_empty_options_string_for_none_kdf
jmp 0x14000f5d8
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
lea rax, str.unrecognised_kdf_name_n
lea r13, str.no_kdf_name_found
jmp 0x14000fad3
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x28]
mov rdx, rsi
call fcn.140024640
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rdi + 0x10], xmm0
mov rcx, qword [rsp + 0x60]
call fcn.140024600
mov dword [rdi + 8], eax
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x18], 0
je 0x14000fa2d
lea r13, str.failed_to_parse_bcrypt_options_string
jmp 0x14000f5d8
mov rcx, qword [rsp + 0x90]
call fcn.140024600
mov dword [rdi + 0x20], eax
cmp eax, 1
jne 0x14000fa9d
mov dword [rdi + 0x24], 0
xor ebx, ebx
lea rsi, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.140024640
add ebx, 1
cmp ebx, dword [rdi + 0x20]
jb 0x14000fa50
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.140024640
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x28], xmm0
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
je 0x14000fadc
lea r13, str.no_private_key_container_string_found_n
jmp 0x14000f5d8
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
lea rax, str.multiple_keys_in_new_style_OpenSSH_key_file_not_supported_n
lea r13, str.no_key_count_found
jmp 0x14000fad3
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
lea rax, str.unrecognised_cipher_name_n
lea r13, str.no_cipher_name_found
cmove r13, rax
jmp 0x14000f5d8
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140024d50
test r14, r14
je 0x14000f60f
xor r13d, r13d
jmp 0x14000f60c