Function at 0x140006221
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 [section..data]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov ecx, 1
mov edx, 0x40
xor r8d, r8d
call fcn.1400073b4
mov rdi, rax
call fcn.1400249dc
mov qword [rdi + 0x38], rax
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400072d9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x1400062e7
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140026378
mov rcx, qword [rdi + 0x38]
call fcn.1400249e3
mov edx, 0x40
mov rcx, rdi
call fcn.140026378
mov rcx, rdi
call fcn.14000742e
xor edi, edi
test r14, r14
je 0x1400062c0
mov qword [r14], r13
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14002b230
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]
lea rcx, [rsp + 0x40]
movaps xmmword [rcx], xmm0
call fcn.140024cd0
test rax, rax
je 0x140006282
mov r12, rax
lea rdx, str._____BEGIN_OPENSSH_PRIVATE_KEY_____
mov rcx, rax
call fcn.14003bad0
test eax, eax
je 0x140006338
lea r13, str.file_does_not_begin_with_OpenSSH_new_style_key_header
mov rcx, r12
call fcn.14003c0a0
mov rcx, r12
mov rdx, rax
call fcn.140026378
mov rcx, r12
call fcn.14000742e
jmp 0x140006372
mov rcx, r12
call fcn.14003c0a0
mov rcx, r12
mov rdx, rax
call fcn.140026378
mov rcx, r12
call fcn.14000742e
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400072d9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x14000638f
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140026378
test rdi, rdi
jne 0x140006298
jmp 0x1400062b6
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.140024cd0
test rax, rax
je 0x140006372
mov r12, rax
mov rcx, rax
mov rdx, rsi
call fcn.14003bad0
mov rsi, r12
test eax, eax
je 0x14000649c
mov al, byte [rsi]
mov ecx, eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x140006404
lea ecx, [rax - 0x30]
cmp cl, 0xa
jb 0x140006404
cmp al, 0x3d
ja 0x14000644a
movzx ecx, al
movabs rdx, 0x2000880000000000
bt rdx, rcx
jae 0x14000644a
movsxd rcx, ebp
inc ebp
mov byte [rsp + rcx + 0x3c], al
cmp ebp, 4
jne 0x140006445
lea rcx, [rsp + 0x3c]
mov rdx, r15
call fcn.140024b2b
test eax, eax
jle 0x140006490
mov r8d, eax
mov rcx, qword [rdi + 0x38]
add rcx, 0x18
mov rdx, r15
call fcn.140006e0c
mov edx, 3
mov rcx, r15
call fcn.140026378
xor ebp, ebp
inc rsi
jmp 0x1400063d6
mov rcx, r12
call fcn.14003c0a0
mov rcx, r12
mov rdx, rax
call fcn.140026378
mov rcx, r12
call fcn.14000742e
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.1400072d9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
lea rcx, [rsp + 0x40]
lea rsi, str._____END_OPENSSH_PRIVATE_KEY_____
je 0x1400063a9
jmp 0x14000636b
lea r13, str.invalid_base64_encoding
jmp 0x14000631b
mov rcx, r12
call fcn.14000742e
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140006505
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.1400071c2
lea rdx, str.openssh_key_v1
mov rcx, rax
call fcn.14003bad0
test eax, eax
je 0x140006511
lea r13, str.new_style_OpenSSH_magic_number_missing_n
jmp 0x140006289
lea r13, str.key_body_not_present
jmp 0x140006289
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000715d
mov rbx, qword [rsi]
mov rbp, qword [rsi + 8]
mov qword [rsi], rbx
mov qword [rsi + 8], rbp
lea rdx, str.none
lea rcx, [rsp + 0x40]
call fcn.140024c71
xor ecx, ecx
test al, al
jne 0x140006591
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.aes256_cbc
call fcn.140024c71
mov ecx, 1
test al, al
jne 0x140006591
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.aes256_ctr
call fcn.140024c71
mov ecx, 2
test al, al
je 0x14000674d
mov dword [rdi], ecx
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000715d
mov rbx, qword [rsi]
mov rbp, qword [rsi + 8]
mov qword [rsi], rbx
mov qword [rsi + 8], rbp
lea rdx, str.none
lea rcx, [rsp + 0x40]
call fcn.140024c71
test al, al
je 0x1400065db
mov rbx, rdi
add rbx, 4
mov dword [rdi + 4], 0
jmp 0x140006605
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.bcrypt
call fcn.140024c71
test al, al
je 0x140006642
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.14000715d
mov rax, qword [rsi + 8]
mov ecx, dword [rbx]
cmp ecx, 1
je 0x140006661
test ecx, ecx
jne 0x1400066c1
test rax, rax
je 0x1400066c1
lea r13, str.expected_empty_options_string_for_none_kdf
jmp 0x140006289
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 0x140006767
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 rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rsi
call fcn.14000715d
movups xmm0, xmmword [rbx]
movups xmmword [rdi + 0x10], xmm0
mov rcx, qword [rsp + 0x60]
call fcn.140007129
mov dword [rdi + 8], eax
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x18], 0
je 0x1400066c1
lea r13, str.failed_to_parse_bcrypt_options_string
jmp 0x140006289
mov rcx, qword [rsp + 0x90]
call fcn.140007129
mov dword [rdi + 0x20], eax
cmp eax, 1
jne 0x140006731
mov dword [rdi + 0x24], 0
xor ebx, ebx
lea rsi, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.14000715d
inc ebx
cmp ebx, dword [rdi + 0x20]
jb 0x1400066e4
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000715d
movups xmm0, xmmword [rsi]
movups xmmword [rdi + 0x28], xmm0
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
je 0x140006770
lea r13, str.no_private_key_container_string_found_n
jmp 0x140006289
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 0x140006767
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 0x140006289
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.140026378
test r14, r14
je 0x1400062c0
xor r13d, r13d
jmp 0x1400062bd