Function at 0x140006224
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.1400073c4
mov rdi, rax
call fcn.140024b84
mov qword [rdi + 0x38], rax
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400072e9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x1400062ea
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.14002654c
mov rcx, qword [rdi + 0x38]
call fcn.140024b8b
mov edx, 0x40
mov rcx, rdi
call fcn.14002654c
mov rcx, rdi
call fcn.14000743e
test r14, r14
je 0x1400062c1
mov qword [r14], r13
xor edi, edi
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14002b3d0
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.140024e6d
test rax, rax
je 0x140006285
mov r12, rax
lea rdx, str._____BEGIN_OPENSSH_PRIVATE_KEY_____
mov rcx, rax
call fcn.14003bc70
test eax, eax
je 0x14000633b
lea r13, str.file_does_not_begin_with_OpenSSH_new_style_key_header
mov rcx, r12
call fcn.14003c240
mov rcx, r12
mov rdx, rax
call fcn.14002654c
mov rcx, r12
call fcn.14000743e
jmp 0x140006375
mov rcx, r12
call fcn.14003c240
mov rcx, r12
mov rdx, rax
call fcn.14002654c
mov rcx, r12
call fcn.14000743e
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400072e9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
je 0x140006392
lea r13, str.unexpected_end_of_file
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.14002654c
test rdi, rdi
jne 0x14000629b
jmp 0x1400062b9
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.140024e6d
test rax, rax
je 0x140006375
mov r12, rax
mov rcx, rax
mov rdx, rsi
call fcn.14003bc70
mov rsi, r12
test eax, eax
je 0x14000649f
mov al, byte [rsi]
lea ecx, [rax - 0x30]
cmp cl, 0xa
jb 0x140006407
mov ecx, eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x140006407
cmp al, 0x3d
ja 0x14000644d
movzx ecx, al
movabs rdx, 0x2000880000000000
bt rdx, rcx
jae 0x14000644d
movsxd rcx, ebp
inc ebp
mov byte [rsp + rcx + 0x3c], al
cmp ebp, 4
jne 0x140006448
lea rcx, [rsp + 0x3c]
mov rdx, r15
call fcn.140024cd3
test eax, eax
jle 0x140006493
mov r8d, eax
mov rcx, qword [rdi + 0x38]
add rcx, 0x18
mov rdx, r15
call fcn.140006e1c
mov edx, 3
mov rcx, r15
call fcn.14002654c
xor ebp, ebp
inc rsi
jmp 0x1400063d9
mov rcx, r12
call fcn.14003c240
mov rcx, r12
mov rdx, rax
call fcn.14002654c
mov rcx, r12
call fcn.14000743e
mov rdx, qword [rbx + 0x20]
mov rcx, r15
call fcn.1400072e9
mov rax, qword [rbx + 0x20]
cmp dword [rax + 0x18], 0
lea rcx, [rsp + 0x40]
lea rsi, str._____END_OPENSSH_PRIVATE_KEY_____
je 0x1400063ac
jmp 0x14000636e
lea r13, str.invalid_base64_encoding
jmp 0x14000631e
mov rcx, r12
call fcn.14000743e
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140006508
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.1400071d2
lea rdx, str.openssh_key_v1
mov rcx, rax
call fcn.14003bc70
test eax, eax
je 0x140006514
lea r13, str.new_style_OpenSSH_magic_number_missing_n
jmp 0x14000628c
lea r13, str.key_body_not_present
jmp 0x14000628c
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000716d
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.140024e0e
xor ecx, ecx
test al, al
jne 0x140006594
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.aes256_cbc
call fcn.140024e0e
mov ecx, 1
test al, al
jne 0x140006594
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.aes256_ctr
call fcn.140024e0e
mov ecx, 2
test al, al
je 0x140006750
mov dword [rdi], ecx
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000716d
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.140024e0e
test al, al
je 0x1400065de
mov rbx, rdi
add rbx, 4
mov dword [rdi + 4], 0
jmp 0x140006608
lea rcx, [rsp + 0x40]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
lea rdx, str.bcrypt
call fcn.140024e0e
test al, al
je 0x140006645
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.14000716d
mov rax, qword [rsi + 8]
mov ecx, dword [rbx]
cmp ecx, 1
je 0x140006664
test ecx, ecx
jne 0x1400066c4
test rax, rax
je 0x1400066c4
lea r13, str.expected_empty_options_string_for_none_kdf
jmp 0x14000628c
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 0x14000676a
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.14000716d
movups xmm0, xmmword [rbx]
movups xmmword [rdi + 0x10], xmm0
mov rcx, qword [rsp + 0x60]
call fcn.140007139
mov dword [rdi + 8], eax
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x18], 0
je 0x1400066c4
lea r13, str.failed_to_parse_bcrypt_options_string
jmp 0x14000628c
mov rcx, qword [rsp + 0x90]
call fcn.140007139
mov dword [rdi + 0x20], eax
cmp eax, 1
jne 0x140006734
mov dword [rdi + 0x24], 0
xor ebx, ebx
lea rsi, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.14000716d
inc ebx
cmp ebx, dword [rdi + 0x20]
jb 0x1400066e7
mov rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14000716d
movups xmm0, xmmword [rsi]
movups xmmword [rdi + 0x28], xmm0
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x18], 0
je 0x140006773
lea r13, str.no_private_key_container_string_found_n
jmp 0x14000628c
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 0x14000676a
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 0x14000628c
lea rcx, [rsp + 0x3c]
mov edx, 4
call fcn.14002654c
test r14, r14
je 0x1400062c3
mov qword [r14], 0
jmp 0x1400062c3