Function at 0x417660
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4078
call fcn.00429210
mov eax, dword [0x4935ec]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [str.SSH_PRIVATE_KEY_FILE_FORMAT_1.1_n]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4074], ecx
neg ecx
push esi
movups xmmword [ebp - 0x4014], xmm0
sbb cl, cl
mov dword [ebp - 0x4078], eax
movups xmm0, xmmword [0x483e40]
mov al, byte [0x483e50]
and cl, 3
push edi
push dword [ebx + 8]
movups xmmword [ebp - 0x4004], xmm0
mov byte [ebp - 0x3ff4], al
mov byte [ebp - 0x3ff3], cl
mov dword [ebp - 0x3ff2], 0
call fcn.0040b240
push dword [ebx + 8]
sar eax, 0x18
mov byte [ebp - 0x3fee], al
call fcn.0040b240
push dword [ebx + 8]
sar eax, 0x10
mov byte [ebp - 0x3fed], al
call fcn.0040b240
push dword [ebx + 8]
sar eax, 8
mov byte [ebp - 0x3fec], al
call fcn.0040b240
push dword [ebx + 8]
mov byte [ebp - 0x3feb], al
lea eax, [ebp - 0x3fea]
push eax
call fcn.0040d1a0
push dword [ebx + 0xc]
lea edi, [ebp - 0x3fea]
add edi, eax
push edi
call fcn.0040d1a0
mov ecx, dword [ebx + 0x20]
add edi, eax
add esp, 0x20
lea esi, [edi + 4]
test ecx, ecx
je 0x4177cd
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417744
sub ecx, edx
shr ecx, 0x18
mov byte [edi], cl
mov ecx, dword [ebx + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417758
sub ecx, edx
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, dword [ebx + 0x20]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417770
sub ecx, edx
shr ecx, 8
mov byte [edi + 2], cl
mov ecx, dword [ebx + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417785
sub ecx, edx
mov byte [edi + 3], cl
mov edx, dword [ebx + 0x20]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4177a0
sub ecx, edi
push ecx
push edx
push esi
call fcn.0042a350
mov ecx, dword [ebx + 0x20]
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4177c0
sub ecx, edx
add esi, ecx
jmp 0x4177d3
mov dword [edi], 0
mov edi, esi
call fcn.00419850
mov byte [esi], al
call fcn.00419850
mov byte [esi + 1], al
movzx eax, byte [esi]
mov byte [esi + 2], al
movzx eax, byte [esi + 1]
mov byte [esi + 3], al
add esi, 4
push dword [ebx + 0x10]
push esi
call fcn.0040d1a0
push dword [ebx + 0x1c]
add esi, eax
push esi
call fcn.0040d1a0
push dword [ebx + 0x18]
add esi, eax
push esi
call fcn.0040d1a0
push dword [ebx + 0x14]
add esi, eax
push esi
call fcn.0040d1a0
add esi, eax
add esp, 0x20
mov ecx, esi
sub ecx, edi
mov eax, ecx
and eax, 0x80000007
jns 0x417837
dec eax
or eax, 0xfffffff8
add eax, 1
je 0x417857
nop dword [eax]
inc ecx
mov byte [esi], 0
mov eax, ecx
inc esi
and eax, 0x80000007
jns 0x417855
dec eax
or eax, 0xfffffff8
add eax, 1
jne 0x417840
mov ebx, dword [ebp - 0x4074]
test ebx, ebx
je 0x4178b9
lea eax, [ebp - 0x4070]
push eax
call fcn.00414b10
mov ecx, ebx
add esp, 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417875
sub ecx, edx
lea eax, [ebp - 0x4070]
push ecx
push ebx
push eax
call fcn.00414ba0
lea eax, [ebp - 0x4070]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004149e0
mov eax, esi
sub eax, edi
push eax
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.0040d880
lea eax, [ebp - 0x14]
push 0x10
push eax
call fcn.00424070
add esp, 0x28
mov eax, dword [ebp - 0x4078]
push 0x47b7a8
push dword [eax]
call fcn.00433c5e
mov edi, eax
add esp, 8
test edi, edi
je 0x417910
lea eax, [ebp - 0x4014]
push edi
sub esi, eax
push esi
push 1
push eax
call fcn.004562dd
xor ebx, ebx
cmp eax, esi
push edi
sete bl
call fcn.0043393a
add esp, 0x14
xor ecx, ecx
test eax, eax
cmovne ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004291ff
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004291ff
mov esp, ebp
pop ebp
ret