Function at 0x14000ea30
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov rbp, r9
mov rdi, r8
mov rbx, rcx
mov rax, qword [0x140076008]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
cmp edx, 7
je 0x14000d36c
cmp edx, 6
je 0x14000d33b
cmp edx, 4
jne 0x14000d3d1
mov rax, qword [rdi]
mov rax, qword [rax]
lea r15, fcn.140014ce0
cmp rax, r15
je 0x14000d3d8
lea rcx, fcn.140014ce0
cmp rax, rcx
je 0x14000d3d8
lea rcx, fcn.140014ce0
cmp rax, rcx
je 0x14000d3d8
lea rcx, fcn.1400132c0
cmp rax, rcx
je 0x14000d3d8
lea rcx, fcn.1400222f0
cmp rax, rcx
je 0x14000d3d8
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.140037270
mov rcx, rbx
mov rdx, rdi
mov r8, rbp
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14000ea30
call fcn.140024e60
mov r13, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x38]
call fcn.140024ee0
mov r14, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov qword [rsp + 0x40], rdi
mov rax, qword [rdi]
mov rdi, qword [rax]
lea r12, fcn.1400222f0
cmp rdi, r12
je 0x14000d4e8
lea rax, fcn.1400132c0
cmp rdi, rax
je 0x14000d6e9
xor esi, esi
test r14, r14
jne 0x14000e03b
jmp 0x14000e043
xor esi, esi
jmp 0x14000e5f4
call fcn.140024e60
mov r14, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x38]
call fcn.140024ee0
mov rsi, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x40]
call fcn.140024ee0
mov rdi, qword [rdi]
mov rcx, qword [rdi]
lea rdx, fcn.1400222f0
cmp rcx, rdx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x68], rax
je 0x14000daa3
lea rdx, fcn.1400132c0
cmp rcx, rdx
je 0x14000e059
cmp rcx, r15
je 0x14000d467
lea rax, fcn.140014ce0
cmp rcx, rax
je 0x14000d467
lea rax, fcn.140014ce0
cmp rcx, rax
jne 0x14000ea07
lea rdx, [rsp + 0xc0]
call fcn.140015770
mov qword [rsp + 0x20], rax
mov rax, qword [rdi - 0x18]
mov r15, qword [rax + 0x18]
add r15, 7
call fcn.140024ee0
mov r13, rax
lea rsi, [rax + 0x18]
mov rcx, qword [rax + 0x28]
mov dl, 2
call fcn.140024180
mov rcx, qword [r13 + 0x28]
mov dl, 1
call fcn.140024180
mov qword [rsp + 0x40], rsi
mov rcx, rsi
mov dl, 1
call fcn.140024180
mov rax, qword [rsp + 0x30]
mov edi, dword [rax + 0x10]
add edi, 0xfffffffc
mov rcx, qword [r13 + 0x28]
mov dl, 4
call fcn.140024180
cmp edi, 0x80
jge 0x14000e61a
mov rcx, qword [r13 + 0x28]
mov edx, edi
call fcn.140024180
jmp 0x14000e676
mov rax, qword [r13 + 8]
mov qword [rsp + 0x30], r13
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
lea rsi, [rsp + 0x180]
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0xc0]
mov rdx, rsi
call fcn.140024640
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0xc0]
mov rdx, rsi
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x90], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x18], 0
je 0x14000d670
lea rcx, str._get_err_src_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x890
call fcn.1400439b4
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x110], xmm0
mov r13d, 6
lea rsi, str.if_modnsignrsa_pkcs1_sha1_encryptrsa_pkcs1v2_oaep
jmp 0x14000d8b6
mov rax, qword [r13 + 8]
mov qword [rsp + 0x30], r13
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
lea rsi, [rsp + 0x180]
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0xc0]
mov rdx, rsi
call fcn.140024640
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x150], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rsi
lea rcx, [rsp + 0xc0]
mov rdx, rsi
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x18], 0
je 0x14000d84f
lea rcx, str._get_err_src_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x8ac
call fcn.1400439b4
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x100], xmm0
mov r13d, 5
lea rsi, str.dl_modpsigndsa_nist_sha1_dhplain
call fcn.140024ee0
mov rbx, rax
lea r14, [rax + 0x18]
mov rcx, r14
mov edx, 0x3f6ff9eb
call fcn.140024200
mov rcx, r14
xor edx, edx
call fcn.140024200
mov rcx, r14
mov rdx, rsi
call fcn.140024380
mov qword [rsp + 0x38], rbp
test rbp, rbp
lea rax, str.none
lea rdx, str.3des_cbc
cmove rdx, rax
mov rcx, r14
call fcn.140024380
mov r15, qword [rbx + 0x10]
mov rcx, r14
xor edx, edx
call fcn.140024200
mov rcx, r14
xor edx, edx
call fcn.140024200
cmp rdi, r12
je 0x14000d92d
mov rcx, r14
xor edx, edx
call fcn.140024200
xor edi, edi
jmp 0x14000d963
mov edx, eax
mov rcx, qword [rbx + 0x28]
call fcn.140024200
mov rcx, qword [rbx + 0x28]
mov rdx, rsi
mov r8, r12
call fcn.1400240d0
add rdi, 1
cmp rdi, r13
je 0x14000d9d7
mov rax, rdi
shl rax, 4
mov rsi, qword [rsp + rax + 0xc0]
mov r12, qword [rsp + rax + 0xc8]
lea eax, [r12*8]
lea ecx, [r12*8 - 1]
test ecx, ecx
jle 0x14000d940
cmp byte [rsi], 0
js 0x14000d940
mov ecx, 7
nop dword [rax + rax]
lea edx, [rax - 1]
xor ebp, ebp
test ecx, ecx
sete bpl
add rsi, rbp
sub r12, rbp
cmp edx, 1
jle 0x14000d9cd
add eax, 0xfffffffe
movzx ebp, byte [rsi]
mov ecx, eax
and ecx, 7
bt ebp, ecx
mov eax, edx
jae 0x14000d9a0
jmp 0x14000d942
mov edx, 1
jmp 0x14000d942
mov ecx, dword [rbx + 0x10]
mov rsi, r15
shl rsi, 0x20
movabs rax, 0x800000000
add rax, rsi
shr rax, 0x20
sub ecx, eax
movabs rax, 0x400000000
mov rdx, qword [rbx]
movsxd r12, r15d
bswap ecx
mov dword [rdx + r12 + 4], ecx
mov rdi, qword [rsp + 0x38]
add rsi, rax
shr rsi, 0x20
test rdi, rdi
je 0x14000da84
mov eax, dword [rbx + 0x10]
mov edi, esi
sub edi, eax
and edi, 7
lea r15, [rsp + 0x150]
mov rcx, r15
mov rdx, rdi
call fcn.14000a650
mov rcx, r14
mov rdx, r15
mov r8, rdi
call fcn.1400240d0
mov r15, qword [rbx]
mov rbp, qword [rbx + 0x10]
sub rbp, rsi
test bpl, 7
mov r13, qword [rsp + 0x30]
je 0x14000de74
lea rcx, str._passphrase__cipherlen___8__0
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x8d7
call fcn.1400439b4
mov rcx, qword [rbx]
mov rax, rbp
jmp 0x14000de7a
mov r15, qword [rbx]
mov rbp, qword [rbx + 0x10]
sub rbp, rsi
mov rax, rbp
mov rcx, r15
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
jmp 0x14000de84
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
lea rdi, [rsp + 0x180]
mov qword [rsp + 0x1a0], rdi
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140024640
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rdi
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x90], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x18], 0
je 0x14000dc26
lea rcx, str._get_err_src_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x368
call fcn.1400439b4
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0xc0]
call fcn.140017c00
mov r14, rax
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0xc0]
call fcn.140017c00
mov r15, rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0xc0]
call fcn.140017c00
mov rbx, rax
mov esi, 1
mov r8d, 1
mov rcx, r15
mov rdx, r15
call fcn.1400189c0
mov r8d, 1
mov rcx, rbx
mov rdx, rbx
call fcn.1400189c0
mov rcx, r14
mov rdx, r15
call fcn.14001b890
mov r13, rax
mov rcx, r14
mov rdx, rbx
call fcn.14001b890
mov r12, rax
mov rcx, r14
call fcn.140017960
mov rcx, r15
call fcn.140017960
mov rcx, rbx
call fcn.140017960
mov rcx, r13
call fcn.140018050
mov rbx, rax
lea r14, [rax + 8]
shr r14, 3
mov rcx, r12
call fcn.140018050
mov rbp, rax
lea r15, [rax + 8]
shr r15, 3
lea rax, [r15 + r14]
mov qword [rsp + 0x50], rax
movsxd rcx, eax
mov edx, 1
xor r8d, r8d
call fcn.140024930
mov rcx, rax
cmp rbx, 0xfffffffffffffff7
mov qword [rsp + 0x20], rax
ja 0x14000dd60
cmp r14, 2
cmovae rsi, r14
lea rbx, [r14 - 1]
xor edi, edi
nop dword [rax]
mov rcx, r13
mov rdx, rbx
call fcn.1400179a0
mov rcx, qword [rsp + 0x20]
mov byte [rcx + rdi], al
add rdi, 1
add rbx, 0xffffffffffffffff
cmp rsi, rdi
jne 0x14000dd40
mov rsi, rcx
add rsi, r14
cmp rbp, 0xfffffffffffffff7
ja 0x14000dd9b
cmp r15, 2
mov edi, 1
cmovae rdi, r15
lea rbx, [r15 - 1]
xor ebp, ebp
nop
mov rcx, r12
mov rdx, rbx
call fcn.1400179a0
mov byte [rsi + rbp], al
add rbp, 1
add rbx, 0xffffffffffffffff
cmp rdi, rbp
jne 0x14000dd80
mov rcx, r13
call fcn.140017960
mov rcx, r12
call fcn.140017960
lea rax, [rsp + 0xbf]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov byte [rsp + 0xbf], 0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], r15
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x140], xmm0
mov r12d, 9
lea rax, str._____BEGIN_RSA_PRIVATE_KEY______n
mov qword [rsp + 0x58], rax
lea rax, str._____END_RSA_PRIVATE_KEY______n
mov qword [rsp + 0x60], rax
jmp 0x14000e25a
mov rax, rbp
mov rcx, r15
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
bswap eax
mov dword [rcx + r12], eax
mov eax, dword [rbx + 0x10]
mov rcx, qword [rbx]
bswap eax
mov dword [rcx + 4], eax
test rdi, rdi
je 0x14000df00
add r15, r12
add r15, 4
mov rcx, rdi
call fcn.140048530
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa0]
lea rsi, [rsp + 0x150]
mov rdx, rsi
call fcn.140010020
mov qword [rsp + 0x170], 0
lea rdx, [rsp + 0x170]
mov rcx, rsi
mov r8, r15
mov r9d, ebp
call fcn.1400283d0
mov edx, 0x20
mov rcx, rsi
call fcn.140024d50
mov rcx, qword [r14]
lea rdx, [0x140069e14]
call fcn.140045450
mov rbp, rax
test rax, rax
mov r14, qword [rsp + 0x20]
je 0x14000e027
lea rcx, str._____BEGIN_SSH2_ENCRYPTED_PRIVATE_KEY______n
mov edx, 0x2b
mov r8d, 1
mov r9, rbp
call fcn.140045b44
lea rcx, str.Comment:__
mov edx, 0xa
mov r8d, 1
mov r9, rbp
call fcn.140045b44
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax + 8]
mov rcx, rsi
call fcn.140048530
cmp eax, 0x3d
jl 0x14000dfda
lea rdx, str._.s_n
mov rcx, rbp
mov r8d, 0x3c
mov r9, rsi
call fcn.140009850
lea rdi, [rsi + 0x3c]
mov rcx, rdi
call fcn.140048530
cmp eax, 0x47
jl 0x14000dfdd
add rsi, 0x82
lea rdi, str._.s_n
nop word cs:[rax + rax]
nop dword [rax + rax]
lea r9, [rsi - 0x46]
mov rcx, rbp
mov rdx, rdi
mov r8d, 0x46
call fcn.140009850
mov rcx, rsi
call fcn.140048530
add rsi, 0x46
cmp eax, 0x46
jg 0x14000dfb0
add rsi, 0xffffffffffffffba
mov rdi, rsi
lea rdx, str._s__n
mov rcx, rbp
mov r8, rdi
call fcn.140009850
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, rbp
mov r9d, 0x46
call fcn.140008ed0
lea rcx, str._____END_SSH2_ENCRYPTED_PRIVATE_KEY______n
mov edx, 0x29
mov r8d, 1
mov r9, rbp
call fcn.140045b44
mov rcx, rbp
call fcn.1400451f0
test rbp, rbp
setne sil
mov rcx, rbx
call fcn.140024f60
test r14, r14
je 0x14000e043
mov rcx, r14
call fcn.140024f60
test r13, r13
je 0x14000e5f4
mov rcx, r13
call fcn.140024f60
jmp 0x14000e5f4
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
lea rdi, [rsp + 0x180]
mov qword [rsp + 0x1a0], rdi
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140024640
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x150], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0xc0]
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], rdi
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140024640
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x18], 0
je 0x14000e1ba
lea rcx, str._get_err_src_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x3a0
call fcn.1400439b4
lea rax, [rsp + 0xbf]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov byte [rsp + 0xbf], 0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x110], xmm0
mov r12d, 6
lea rax, str._____BEGIN_DSA_PRIVATE_KEY______n
mov qword [rsp + 0x58], rax
lea rax, str._____END_DSA_PRIVATE_KEY______n
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x20], rax
call fcn.140024ee0
mov r14, rax
mov rdi, rax
add rdi, 0x18
xor esi, esi
mov qword [rsp + 0x40], rdi
jmp 0x14000e2bd
mov rcx, qword [r14 + 0x28]
mov edx, ebp
call fcn.140024180
lea rax, [rsp + r13]
add rax, 0xc0
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x150], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x150]
call fcn.1400240e0
add rsi, 1
cmp rsi, r12
je 0x14000e33c
mov r13, rsi
shl r13, 4
mov rbp, qword [rsp + r13 + 0xc8]
mov rcx, qword [r14 + 0x28]
mov dl, 2
call fcn.140024180
cmp ebp, 0x80
jl 0x14000e280
mov ecx, 8
xor eax, eax
xor edx, edx
nop dword [rax + rax]
mov r15d, edx
mov ebx, eax
mov edi, ebp
sar edi, cl
lea edx, [r15 + 1]
add ecx, 8
lea eax, [rbx + 8]
test edi, edi
jg 0x14000e2f0
or dl, 0x80
mov rcx, qword [r14 + 0x28]
call fcn.140024180
not r15d
mov rdi, qword [rsp + 0x40]
nop dword [rax + rax]
mov edx, ebp
mov ecx, ebx
sar edx, cl
mov rcx, qword [r14 + 0x28]
call fcn.140024180
add ebx, 0xfffffff8
inc r15d
jne 0x14000e320
jmp 0x14000e28b
mov rbp, qword [r14 + 0x10]
mov rbx, qword [rsp + 0x68]
lea r15, [rbx + 0x18]
mov rcx, qword [rbx + 0x28]
mov dl, 0x30
call fcn.140024180
cmp ebp, 0x80
jge 0x14000e373
mov rcx, qword [rbx + 0x28]
mov edx, ebp
call fcn.140024180
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
jmp 0x14000e3c6
mov edi, 0xfffffff8
xor esi, esi
mov r12, qword [rsp + 0x48]
nop
lea ecx, [rdi + 0x10]
mov eax, ebp
sar eax, cl
add edi, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e380
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [rbx + 0x28]
call fcn.140024180
mov r13, qword [rsp + 0x50]
nop word cs:[rax + rax]
mov edx, ebp
mov ecx, edi
sar edx, cl
mov rcx, qword [rbx + 0x28]
call fcn.140024180
add edi, 0xfffffff8
inc esi
jne 0x14000e3b0
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, r15
call fcn.1400240d0
mov rcx, r14
call fcn.140024f60
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x38]
test r15, r15
je 0x14000e475
mov eax, dword [rbx + 0x10]
lea edi, [rax + 8]
and edi, 0xfffffff8
mov r8d, edi
sub r8d, eax
movsxd rdx, r8d
mov rcx, rbx
add rcx, 0x18
call fcn.1400240f0
lea rsi, [rsp + 0x170]
mov edx, 8
mov rcx, rsi
call fcn.14000a650
mov rcx, r15
call fcn.140048530
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa0]
lea rbp, [rsp + 0x150]
mov rdx, rsi
mov r8, rbp
call fcn.14000f3a0
mov r8, qword [rbx + 8]
mov rcx, rbp
mov rdx, rsi
mov r9d, edi
call fcn.1400283d0
mov edx, 0x20
mov rcx, rbp
call fcn.140024d50
mov rcx, qword [r14]
lea rdx, [0x140069e14]
call fcn.140045450
mov rdi, rax
test rax, rax
je 0x14000e5ac
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.140045654
test r15, r15
je 0x14000e581
lea rcx, str.Proc_Type:_4_ENCRYPTED_nDEK_Info:_DES_EDE3_CBC_
mov edx, 0x2e
mov r8d, 1
mov r9, rdi
call fcn.140045b44
movzx r8d, byte [rsp + 0x170]
lea rsi, str._02X
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x171]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x172]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x173]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x174]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x175]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x176]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
movzx r8d, byte [rsp + 0x177]
mov rcx, rdi
mov rdx, rsi
call fcn.140009850
lea rcx, [0x14006c3a0]
mov edx, 2
mov r8d, 1
mov r9, rdi
call fcn.140045b44
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, rdi
mov r9d, 0x40
call fcn.140008ed0
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
call fcn.140045654
mov rcx, rdi
call fcn.1400451f0
mov rcx, rbx
call fcn.140024f60
mov rsi, qword [rsp + 0x20]
test rsi, rsi
je 0x14000e5d1
movsxd rdx, r13d
mov rcx, rsi
call fcn.140024d50
mov rcx, rsi
call fcn.1400249d0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14000e5e0
call fcn.140024f60
test r12, r12
je 0x14000e5ed
mov rcx, r12
call fcn.140024f60
test rdi, rdi
setne sil
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.140037270
mov eax, esi
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, 0xfffffff8
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax + rax]
lea ecx, [rbp + 0x10]
mov eax, edi
sar eax, cl
add ebp, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e630
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [r13 + 0x28]
call fcn.140024180
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edx, edi
mov ecx, ebp
sar edx, cl
mov rcx, qword [r13 + 0x28]
call fcn.140024180
add ebp, 0xfffffff8
inc esi
jne 0x14000e660
shr r15, 2
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
add r8, 0xfffffffffffffffc
add rdx, 4
mov rcx, qword [rsp + 0x40]
call fcn.1400240d0
call fcn.140024e60
mov rbp, rax
mov edi, dword [rsp + 0xc0]
mov rcx, qword [rax + 0x28]
mov r12, rax
add r12, 0x18
mov dl, 6
call fcn.140024180
cmp edi, 0x80
jge 0x14000e6ce
mov rcx, qword [rbp + 0x28]
mov edx, edi
call fcn.140024180
jmp 0x14000e728
mov r14d, 0xfffffff8
xor esi, esi
nop word cs:[rax + rax]
lea ecx, [r14 + 0x10]
mov eax, edi
sar eax, cl
add r14d, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e6e0
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [rbp + 0x28]
call fcn.140024180
nop word cs:[rax + rax]
nop dword [rax]
mov edx, edi
mov ecx, r14d
sar edx, cl
mov rcx, qword [rbp + 0x28]
call fcn.140024180
add r14d, 0xfffffff8
inc esi
jne 0x14000e710
movsxd r8, dword [rsp + 0xc0]
mov rcx, r12
mov rdx, qword [rsp + 0x20]
call fcn.1400240d0
mov rdi, qword [rbp + 0x10]
mov rcx, qword [r13 + 0x28]
mov dl, 0xa0
call fcn.140024180
cmp edi, 0x80
jge 0x14000e766
mov rcx, qword [r13 + 0x28]
mov edx, edi
call fcn.140024180
mov r12, qword [rsp + 0x48]
jmp 0x14000e7c6
mov ebx, 0xfffffff8
xor esi, esi
mov r12, qword [rsp + 0x48]
nop word cs:[rax + rax]
nop dword [rax]
lea ecx, [rbx + 0x10]
mov eax, edi
sar eax, cl
add ebx, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e780
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [r13 + 0x28]
call fcn.140024180
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edx, edi
mov ecx, ebx
sar edx, cl
mov rcx, qword [r13 + 0x28]
call fcn.140024180
add ebx, 0xfffffff8
inc esi
jne 0x14000e7b0
mov rdx, qword [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1400240d0
mov rcx, rbp
call fcn.140024f60
call fcn.140024e60
mov rbp, rax
lea edi, [r15 + 2]
and edi, 0xfffffffe
mov rcx, qword [rax + 0x28]
mov r14, rax
add r14, 0x18
mov dl, 3
call fcn.140024180
cmp edi, 0x80
jge 0x14000e816
mov rcx, qword [rbp + 0x28]
mov edx, edi
call fcn.140024180
jmp 0x14000e866
mov ebx, 0xfffffff8
xor esi, esi
nop dword [rax]
lea ecx, [rbx + 0x10]
mov eax, edi
sar eax, cl
add ebx, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e820
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [rbp + 0x28]
call fcn.140024180
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edx, edi
mov ecx, ebx
sar edx, cl
mov rcx, qword [rbp + 0x28]
call fcn.140024180
add ebx, 0xfffffff8
inc esi
jne 0x14000e850
xor esi, esi
mov rcx, r14
xor edx, edx
call fcn.140024180
movsxd r8, r15d
or r8, 1
mov rdx, qword [r12]
add rdx, 0x27
mov rcx, r14
call fcn.1400240d0
mov rdi, qword [rbp + 0x10]
mov rcx, qword [r13 + 0x28]
mov dl, 0xa1
call fcn.140024180
cmp edi, 0x80
jge 0x14000e8b7
mov rcx, qword [r13 + 0x28]
mov edx, edi
call fcn.140024180
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x38]
jmp 0x14000e916
mov ebx, 0xfffffff8
mov r14, qword [rsp + 0x28]
mov r15, qword [rsp + 0x38]
nop word cs:[rax + rax]
lea ecx, [rbx + 0x10]
mov eax, edi
sar eax, cl
add ebx, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e8d0
mov edx, esi
neg dl
or dl, 0x80
mov rcx, qword [r13 + 0x28]
call fcn.140024180
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edx, edi
mov ecx, ebx
sar edx, cl
mov rcx, qword [r13 + 0x28]
call fcn.140024180
add ebx, 0xfffffff8
inc esi
jne 0x14000e900
mov rdx, qword [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1400240d0
mov rcx, rbp
call fcn.140024f60
mov rbp, qword [r13 + 0x10]
mov r12, qword [rsp + 0x68]
lea rdi, [r12 + 0x18]
mov rcx, qword [r12 + 0x28]
mov dl, 0x30
call fcn.140024180
cmp ebp, 0x80
jge 0x14000e960
mov rcx, qword [r12 + 0x28]
mov edx, ebp
call fcn.140024180
jmp 0x14000e9b7
mov ebx, 0xfffffff8
xor esi, esi
nop word [rax + rax]
lea ecx, [rbx + 0x10]
mov eax, ebp
sar eax, cl
add ebx, 8
add esi, 0xffffffff
test eax, eax
jg 0x14000e970
mov edx, esi
neg dl
or dl, 0x80
mov r12, qword [rsp + 0x68]
mov rcx, qword [r12 + 0x28]
call fcn.140024180
nop word [rax + rax]
mov edx, ebp
mov ecx, ebx
sar edx, cl
mov rcx, qword [r12 + 0x28]
call fcn.140024180
add ebx, 0xfffffff8
inc esi
jne 0x14000e9a0
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
mov rcx, rdi
call fcn.1400240d0
mov rcx, r13
call fcn.140024f60
lea rax, str._____BEGIN_EC_PRIVATE_KEY______n
mov qword [rsp + 0x58], rax
lea rax, str._____END_EC_PRIVATE_KEY______n
mov qword [rsp + 0x60], rax
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x20], rax
mov rbx, r12
mov r12, qword [rsp + 0x48]
test r15, r15
jne 0x14000e3f0
jmp 0x14000e475
lea rcx, str.false___bad_key_alg_in_openssh_pem_write_
lea rdx, str._home_simon_mem_.build_workdirs_bob_aew3xwii_putty_import.c
mov r8d, 0x3f5
call fcn.1400439b4
call fcn.140004b40
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x30], rcx
mov rax, qword [0x140076008]
xor rax, rsp
mov qword [rsp + 0xa0], rax
call fcn.140024e60
mov r12, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x38]
call fcn.140024ee0
mov r13, rax
lea rdx, [rax + 0x18]
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 0x48]
call fcn.140024ee0
mov qword [rsp + 0x28], rax
lea r15, [rax + 0x18]
lea rdx, str.openssh_key_v1
mov rcx, r15
call fcn.140024490
test rsi, rsi
je 0x14000eb16
lea r14, [rsp + 0x90]
mov edx, 0x10
mov rcx, r14
call fcn.14000a650
lea rdx, str.aes256_ctr
mov rcx, r15
call fcn.140024380
lea rdx, str.bcrypt
mov rcx, r15
call fcn.140024380
call fcn.140024ee0
mov rbp, rax
lea rbx, [rax + 0x18]
mov r8d, 0x10
mov rcx, rbx
mov rdx, r14
call fcn.140024280
mov rcx, rbx
mov edx, 0x10
call fcn.140024200
mov rcx, r15
mov rdx, rbp
call fcn.140024400
jmp 0x14000eb4d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
lea rbx, str.none
mov rcx, r15
mov rdx, rbx
call fcn.140024380
mov rcx, r15
mov rdx, rbx
call fcn.140024380
lea rdx, [0x14006c40a]
mov rcx, r15
call fcn.140024380
mov rcx, r15
mov edx, 1
call fcn.140024200
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, r15
call fcn.140024280
call fcn.140024ee0
mov r14, rax
lea rcx, [rsp + 0x5c]
mov edx, 4
call fcn.14000a650
mov ebx, dword [rsp + 0x5c]
bswap ebx
mov rbp, r14
add rbp, 0x18
mov rcx, rbp
mov edx, ebx
call fcn.140024200
mov rcx, rbp
mov edx, ebx
call fcn.140024200
mov rax, qword [rdi]
mov rax, qword [rax]
mov rdx, qword [rax + 0x68]
mov rcx, rbp
call fcn.140024380
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
mov rcx, rbp
call fcn.1400240d0
mov rdx, qword [rdi + 8]
mov rcx, rbp
call fcn.140024380
mov bl, 1
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, rbp
mov edx, ebx
call fcn.140024180
add bl, 1
test byte [r14 + 0x10], 0xf
jne 0x14000ebe0
test rsi, rsi
je 0x14000ec9e
lea rax, [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0x10
mov rcx, rsi
call fcn.140048530
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 0x30
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x48]
lea rsi, [rsp + 0x60]
mov r8d, 0x10
mov r9, rsi
call fcn.140027ef0
lea rcx, [0x14005d340]
call qword [0x14005d340]
mov rdi, rax
mov rax, qword [rax]
mov rcx, rdi
mov rdx, rsi
call qword [rax + 0x18]
lea rdx, [rsp + 0x80]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x20]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov edx, 0x30
mov rcx, rsi
call fcn.140024d50
mov rcx, r15
mov rdx, r14
call fcn.140024400
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
lea rdx, [0x140069e14]
call fcn.140045450
mov rsi, rax
test rax, rax
je 0x14000ed1e
lea rcx, str._____BEGIN_OPENSSH_PRIVATE_KEY______n
mov edx, 0x24
mov r8d, 1
mov r9, rsi
call fcn.140045b44
mov rdi, qword [rsp + 0x28]
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, rsi
mov r9d, 0x40
call fcn.140008ed0
lea rcx, str._____END_OPENSSH_PRIVATE_KEY______n
mov edx, 0x22
mov r8d, 1
mov r9, rsi
call fcn.140045b44
mov rcx, rsi
call fcn.1400451f0
jmp 0x14000ed28
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x14000ed30
mov rcx, rdi
call fcn.140024f60
test r13, r13
je 0x14000ed3d
mov rcx, r13
call fcn.140024f60
test r12, r12
je 0x14000ed4a
mov rcx, r12
call fcn.140024f60
test rsi, rsi
setne bl
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140037270
mov eax, ebx
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret