Function at 0x405520
Capabilities:
Create directory
Get file attributes
Get hostname
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x9c
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.msys_1.0.dll_strlen
cmp eax, 8
je 0x4044b5
cmp eax, 0xe
jne 0x40450d
mov dword [ebp - 0x6c], str._Y__m__dT_H:_M:_S
lea ecx, [esi + 0xc]
lea edx, [esi + 0xa]
mov dword [esp + 0x20], ecx
lea eax, [esi + 8]
mov ecx, str._.4s__.2s__.2sT_.2s:_.2s:_.2s
mov dword [esp + 0x1c], edx
lea edi, [esi + 6]
mov edx, 0x20
mov dword [esp + 0x18], eax
lea ebx, [esi + 4]
lea eax, [ebp - 0x68]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msys_1.0.dll_snprintf
cld
xor eax, eax
lea ebx, [ebp - 0x48]
mov ecx, 9
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x6c]
lea edi, [ebp - 0x68]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00415b70
test eax, eax
je 0x4044ed
mov dword [esp], ebx
call sub.msys_1.0.dll_mktime
test eax, eax
js 0x4044fd
add esp, 0x9c
cdq
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x6c], str._Y__m__d
lea edi, [esi + 6]
mov ecx, str._.4s__.2s__.2s
mov dword [esp + 0x14], edi
lea ebx, [esi + 4]
mov edx, 0x20
mov dword [esp + 0x10], ebx
lea eax, [ebp - 0x68]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msys_1.0.dll_snprintf
jmp 0x404474
mov dword [esp + 4], esi
mov dword [esp], str.Invalid_certificate_time__s
call fcn.00411b20
mov dword [esp + 4], esi
mov dword [esp], str.Certificate_time__s_cannot_be_represented
call fcn.00411b20
mov dword [esp + 4], esi
mov dword [esp], str.Invalid_certificate_time_format__s
call fcn.00411b20
lea esi, [esi]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
mov dword [esp], 0
call sub.msys_1.0.dll_time
mov dword [ebp - 0x18], eax
cmp byte [ebx], 0x2b
je 0x404590
mov dword [esp], ebx
mov esi, 0x3a
call fcn.0040cf00
mov dword [ebp - 0x14], eax
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msys_1.0.dll_strchr
mov ecx, eax
test eax, eax
sete al
cmp dword [ebp - 0x14], ecx
sete dl
or eax, edx
test al, 1
jne 0x404579
cmp byte [ecx + 1], 0
jne 0x404611
mov dword [esp + 4], ebx
mov dword [esp], str.Invalid_certificate_life_specification__s
call fcn.00411b20
lea esi, [esi]
mov dword [esp], ebx
mov edi, 0x3a
mov dword [esp + 4], edi
call sub.msys_1.0.dll_strchr
test eax, eax
jne 0x404540
lea edx, [ebx + 1]
mov dword [esp], edx
call fcn.0040b0f0
mov edi, eax
mov esi, eax
sar edi, 0x1f
and eax, edi
inc eax
je 0x40483a
mov eax, dword [ebp - 0x18]
mov ecx, eax
cdq
add ecx, esi
mov ebx, edx
mov esi, 0x88888889
mov dword [0x41b008], ecx
mov ecx, dword [ebp - 0x18]
adc ebx, edi
mov dword [0x41b00c], ebx
sub ecx, 0x3b
mov eax, ecx
imul esi
mov ebx, ecx
sar ebx, 0x1f
add edx, ecx
sar edx, 5
sub edx, ebx
mov eax, edx
shl eax, 4
sub eax, edx
shl eax, 2
cdq
mov dword [0x423050], eax
mov dword [0x423054], edx
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ecx], 0
inc ecx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
xor ecx, ecx
cmp dl, 0x2d
sete cl
xor ebx, ebx
cmp dl, 0x2b
sete bl
or ebx, ecx
je 0x4047d3
mov edi, ecx
mov esi, dword [ebp - 0x14]
xor ebx, ebx
neg edi
mov ecx, edi
adc ebx, 0
neg ebx
or ecx, 1
mov dword [ebp - 0x38], ecx
inc esi
mov dword [ebp - 0x34], ebx
mov dword [esp], esi
call fcn.0040b0f0
mov dword [ebp - 0x20], eax
cdq
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
and edi, eax
inc edi
je 0x404822
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
and eax, edx
inc eax
je 0x4047a0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x20]
cdq
mov ebx, eax
mov eax, dword [ebp - 0x20]
mov esi, edx
mul dword [ebp - 0x38]
imul edi, ecx
mov ecx, edx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x38]
add ecx, edi
mov eax, dword [ebp - 0x1c]
imul edx, eax
add ebx, dword [ebp - 0x48]
lea edi, [ecx + edx]
mov dword [ebp - 0x44], edi
adc esi, dword [ebp - 0x44]
mov dword [0x423050], ebx
mov dword [0x423054], esi
mov edi, dword [ebp - 0x3c]
xor ecx, ecx
movzx edx, byte [edi]
cmp dl, 0x2d
sete cl
xor ebx, ebx
cmp dl, 0x2b
sete bl
or ebx, ecx
je 0x4047ee
mov eax, dword [ebp - 0x3c]
mov edi, ecx
xor ecx, ecx
neg edi
mov ebx, dword [0x423050]
mov esi, edi
adc ecx, 0
neg ecx
inc eax
mov dword [esp], eax
mov edi, ecx
call fcn.0040b0f0
mov dword [ebp - 0x28], eax
cdq
or esi, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
and eax, ecx
inc eax
je 0x404835
mov edx, esi
and edx, edi
inc edx
jne 0x404730
mov eax, ebx
cdq
cmp edx, dword [ebp - 0x24]
jle 0x404804
mov esi, esi
lea edi, [edi]
mov dword [ebp - 0x30], ebx
mov eax, ebx
sar eax, 0x1f
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x28]
mul esi
imul ebx, edi
mov ecx, edx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x24]
add ecx, ebx
mov eax, dword [ebp - 0x48]
imul edx, esi
add dword [ebp - 0x30], eax
lea edi, [ecx + edx]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], edi
mov ebx, dword [ebp - 0x44]
adc dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x2c]
mov dword [0x41b008], eax
mov edi, dword [0x423054]
mov eax, dword [0x423050]
cmp dword [ebp - 0x2c], edi
mov dword [0x41b00c], edx
ja 0x4047c1
jb 0x40478d
cmp dword [ebp - 0x30], eax
ja 0x4047c1
mov dword [esp], str.Empty_certificate_validity_interval
call fcn.00411b20
lea esi, [esi]
mov eax, dword [ebp - 0x18]
cdq
cmp edx, dword [ebp - 0x1c]
jg 0x40467d
jl 0x4047b8
cmp eax, dword [ebp - 0x20]
jae 0x40467d
mov ebx, dword [ebp - 0x14]
mov dword [esp + 4], ebx
jmp 0x404816
mov edx, dword [ebp - 0x14]
mov dword [ebp + 8], edx
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040ced0
mov esi, dword [ebp - 0x14]
mov dword [esp], esi
call fcn.00404400
mov dword [0x423050], eax
mov dword [0x423054], edx
jmp 0x4046bc
mov esi, dword [ebp - 0x3c]
mov dword [esp], esi
call fcn.00404400
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x40476b
jl 0x40480f
cmp ebx, dword [ebp - 0x28]
jae 0x404730
mov esi, dword [ebp - 0x3c]
mov dword [esp + 4], esi
mov dword [esp], str.Certificate_time__s_cannot_be_represented
call fcn.00411b20
mov ecx, dword [ebp - 0x14]
mov dword [esp + 4], ecx
mov dword [esp], str.Invalid_relative_certificate_time__s
call fcn.00411b20
mov ecx, dword [ebp - 0x3c]
jmp 0x404825
mov dword [esp + 4], ebx
mov dword [esp], str.Invalid_relative_certificate_life__s
call fcn.00411b20
lea esi, [esi]
push ebp
cld
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
mov ecx, 6
mov dword [ebp - 4], edi
mov edi, str.clear
repe cmpsb byte [esi], byte es:[edi]
jne 0x404880
xor eax, eax
mov dword [0x41b010], eax
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov edi, str.no_x11_forwarding
mov dword [esp + 4], edi
mov edx, dword [ebp + 8]
mov dword [esp], edx
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x4048a9
and dword [0x41b010], 0xfffffffe
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov ecx, str.permit_x11_forwarding
mov dword [esp + 4], ecx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x4048ca
or dword [0x41b010], 1
jmp 0x404875
mov edx, str.no_agent_forwarding
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x4048eb
and dword [0x41b010], 0xfffffffd
jmp 0x404875
mov esi, str.permit_agent_forwarding
mov dword [esp + 4], esi
mov edi, dword [ebp + 8]
mov dword [esp], edi
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x40490f
or dword [0x41b010], 2
jmp 0x404875
mov eax, str.no_port_forwarding
mov dword [esp + 4], eax
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x404933
and dword [0x41b010], 0xfffffffb
jmp 0x404875
mov edi, str.permit_port_forwarding
mov dword [esp + 4], edi
mov edx, dword [ebp + 8]
mov dword [esp], edx
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x404957
or dword [0x41b010], 4
jmp 0x404875
mov ecx, str.no_pty
mov dword [esp + 4], ecx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x40497b
and dword [0x41b010], 0xfffffff7
jmp 0x404875
mov edx, str.permit_pty
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x40499f
or dword [0x41b010], 8
jmp 0x404875
mov esi, str.no_user_rc
mov dword [esp + 4], esi
mov edi, dword [ebp + 8]
mov dword [esp], edi
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x4049c3
and dword [0x41b010], 0xffffffef
jmp 0x404875
mov eax, str.permit_user_rc
mov dword [esp + 4], eax
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call sub.msys_1.0.dll_strcasecmp
test eax, eax
jne 0x4049e7
or dword [0x41b010], 0x10
jmp 0x404875
mov esi, 0xe
mov edi, str.force_command
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov edx, dword [ebp + 8]
mov dword [esp], edx
call sub.msys_1.0.dll_strncasecmp
test eax, eax
jne 0x404a37
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add eax, 0xe
cmp byte [ecx + 0xe], 0
je 0x404aa3
mov edx, dword [0x423058]
test edx, edx
jne 0x404a97
mov dword [esp], eax
call fcn.0040cf00
mov dword [0x423058], eax
jmp 0x404875
mov esi, 0xf
mov edi, str.source_address
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msys_1.0.dll_strncasecmp
test eax, eax
jne 0x404ac7
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add esi, 0xf
cmp byte [ecx + 0xf], 0
je 0x404abe
mov edx, dword [0x42305c]
test edx, edx
jne 0x404ab5
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.0040cba0
test eax, eax
jne 0x404aac
mov dword [esp], esi
call fcn.0040cf00
mov dword [0x42305c], eax
jmp 0x404875
mov dword [esp], str.force_command_already_specified
call fcn.00411b20
mov dword [esp], str.Empty_force_command_constraint
jmp 0x404a9e
mov dword [esp], str.Invalid_source_address_list
jmp 0x404a9e
mov dword [esp], str.source_address_already_specified
jmp 0x404a9e
mov dword [esp], str.Empty_source_address_constraint
jmp 0x404a9e
mov eax, dword [ebp + 8]
mov dword [esp], str.Unsupported_certificate_constraint___s_
mov dword [esp + 4], eax
call fcn.00411b20
lea esi, [esi]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov eax, dword [0x423030]
test eax, eax
je 0x404e5f
mov dword [esp], 0x423d7c
lea ecx, [ebp - 0x58]
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_stat
test eax, eax
js 0x404ec5
mov dword [esp], 0x423d7c
xor esi, esi
mov dword [esp + 4], esi
call fcn.0040eb10
test eax, eax
mov edi, eax
je 0x404ef2
mov dword [esp], eax
call fcn.00408cb0
test eax, eax
je 0x404edd
mov dword [esp], edi
xor ebx, ebx
mov esi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov esi, 0x423d7c
call fcn.00407190
mov dword [ebp - 0x80], eax
xor ecx, ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 0x40]
mov dword [esp], ebx
call fcn.00407190
mov dword [esp + 4], esi
mov ebx, eax
mov dword [esp], str._s:_n
call sub.msys_1.0.dll_printf
mov dword [esp], edi
call fcn.00407a40
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x80]
mov dword [esp], str._________s_certificate__s_n
mov dword [esp + 8], ecx
call sub.msys_1.0.dll_printf
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 0x40]
mov dword [esp], eax
call fcn.00407a40
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp], str.________Signed_by__s_CA__s_n
call sub.msys_1.0.dll_printf
mov esi, dword [edi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [esp], str.________Key_ID___s__n
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_printf
mov edx, dword [edi + 0x10]
mov ebx, dword [edx + 0x2c]
mov eax, dword [edx + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov esi, dword [edi + 0x10]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00403a70
mov dword [esp + 4], eax
mov dword [esp], str.________Valid:__s_n
call sub.msys_1.0.dll_printf
mov dword [esp], str.________Principals:
call sub.msys_1.0.dll_printf
mov eax, dword [edi + 0x10]
cmp dword [eax + 0x18], 0
je 0x404e78
mov ebx, 0
jbe 0x404c5f
nop
lea esi, [esi]
mov edx, dword [eax + 0x1c]
mov eax, dword [edx + ebx*4]
inc ebx
mov dword [esp], str._n_________________s
mov dword [esp + 4], eax
call sub.msys_1.0.dll_printf
mov eax, dword [edi + 0x10]
cmp dword [eax + 0x18], ebx
ja 0x404c40
mov dword [esp], 0xa
call sub.msys_1.0.dll_putchar
mov dword [esp], str.________Constraints:
call sub.msys_1.0.dll_printf
mov ecx, dword [edi + 0x10]
add ecx, 0x30
mov dword [esp], ecx
call fcn.0040d250
test eax, eax
je 0x404eb4
mov dword [esp], 0xa
call sub.msys_1.0.dll_putchar
lea ecx, [ebp - 0x68]
lea esi, [ebp - 0x68]
mov dword [esp], ecx
call fcn.0040cfb0
mov edx, dword [edi + 0x10]
add edx, 0x30
mov dword [esp], edx
call fcn.0040d250
mov ebx, eax
mov eax, dword [edi + 0x10]
lea edi, [ebp - 0x78]
add eax, 0x30
mov dword [esp], eax
call fcn.0040d420
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp], esi
call fcn.0040d060
mov dword [esp], edi
call fcn.0040cfb0
jmp 0x404db7
xor ecx, ecx
lea ebx, [ebp - 0x68]
lea esi, [ebp - 0x7c]
mov dword [esp + 4], ecx
lea edi, [ebp - 0x68]
mov dword [esp], ebx
call fcn.0040c160
mov dword [esp + 4], esi
mov ebx, eax
mov esi, ebx
mov dword [esp], edi
mov edi, str.permit_X11_forwarding
call fcn.0040c220
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.0040d060
mov dword [esp + 4], ebx
mov dword [esp], str._________________s
call sub.msys_1.0.dll_printf
cld
mov ecx, 0x16
repe cmpsb byte [esi], byte es:[edi]
je 0x404d90
mov edi, str.permit_agent_forwarding
mov esi, ebx
mov ecx, 0x18
repe cmpsb byte [esi], byte es:[edi]
je 0x404d90
mov edi, str.permit_port_forwarding
mov esi, ebx
mov ecx, 0x17
repe cmpsb byte [esi], byte es:[edi]
je 0x404d90
mov edi, str.permit_pty
mov esi, ebx
mov ecx, 0xb
repe cmpsb byte [esi], byte es:[edi]
je 0x404d90
mov edi, str.permit_user_rc
mov esi, ebx
mov ecx, 0xf
repe cmpsb byte [esi], byte es:[edi]
jne 0x404dec
jmp 0x404d90
mov dword [esp], 0xa
call sub.msys_1.0.dll_putchar
mov dword [esp], ebx
lea ebx, [ebp - 0x78]
call fcn.0040ced0
mov dword [esp], ebx
call fcn.0040d250
test eax, eax
jne 0x404e53
lea edi, [ebp - 0x68]
mov dword [esp], edi
call fcn.0040d250
test eax, eax
jne 0x404ce5
lea edx, [ebp - 0x78]
mov dword [esp], edx
call fcn.0040cff0
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.0040cff0
mov dword [esp], 0
call sub.msys_1.0.dll_exit
cld
mov edi, 0x41c2cc
mov esi, ebx
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x404e0d
mov edi, 0x41c2e4
mov esi, ebx
mov ecx, 0xf
repe cmpsb byte [esi], byte es:[edi]
jne 0x404e89
xor edx, edx
lea eax, [ebp - 0x78]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040c160
mov dword [esp + 4], eax
mov edi, eax
mov dword [esp], str.__s_n
call sub.msys_1.0.dll_printf
mov dword [esp], edi
call fcn.0040ced0
mov dword [esp], ebx
lea ebx, [ebp - 0x78]
call fcn.0040ced0
mov dword [esp], ebx
call fcn.0040d250
test eax, eax
je 0x404db7
mov dword [esp], str.Constraint_corrupt:_extra_data_at_end
call fcn.00411b20
mov edx, dword [ebp + 8]
mov edi, str.Enter_file_in_which_the_key_is
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.00401040
jmp 0x404af9
mov dword [esp], str._none_
call sub.msys_1.0.dll_puts
jmp 0x404c6b
lea ecx, [ebp - 0x78]
lea esi, [ebp - 0x78]
mov dword [esp], ecx
call fcn.0040d250
mov dword [esp + 4], eax
mov dword [esp], str._UNKNOWN_CONSTRAINT__len__u__n
call sub.msys_1.0.dll_printf
mov dword [esp], esi
call fcn.0040d040
jmp 0x404d9c
mov dword [esp], str._none_
call sub.msys_1.0.dll_puts
jmp 0x404de0
mov dword [esp], 0x423d7c
call sub.msys_1.0.dll_perror
mov dword [esp], 1
call sub.msys_1.0.dll_exit
mov dword [esp], str._s_is_not_a_certificate
mov eax, 0x423d7c
mov dword [esp + 4], eax
call fcn.00411b20
mov dword [esp], str._s_is_not_a_public_key
mov ebx, 0x423d7c
mov dword [esp + 4], ebx
call fcn.00411b20
mov esi, esi
lea edi, [edi]
push ebp
mov edx, str.usage:__s__options__n
mov ebp, esp
sub esp, 0x18
mov ecx, dword [0x42418c]
mov dword [esp + 4], edx
mov eax, dword [0x423d34]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp], ecx
call sub.msys_1.0.dll_fprintf
mov edx, dword [0x423d34]
mov ecx, 9
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.Options:_n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x3c
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___a_trials___Number_of_trials_for_screening_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x34
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___B__________Show_bubblebabble_digest_of_key_file._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x33
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___b_bits_____Number_of_bits_in_the_key_to_create._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x23
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___C_comment__Provide_new_comment._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x3e
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___c__________Change_comment_in_private_and_public_key_files._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x35
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___D_pkcs11___Download_public_key_from_pkcs11_token._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x34
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___e__________Convert_OpenSSH_to_RFC_4716_key_file._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x31
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___F_hostname_Find_hostname_in_known_hosts_file._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x28
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___f_filename_Filename_of_the_key_file._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x35
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___G_file_____Generate_candidates_for_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x36
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___g__________Use_generic_DNS_resource_record_format._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x2e
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___H__________Hash_names_in_known_hosts_file._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x47
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___h__________Generate_host_certificate_instead_of_a_user_certificate._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x38
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___I_key_id___Key_identifier_to_include_in_certificate._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x34
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___i__________Convert_RFC_4716_to_OpenSSH_key_file._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x33
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___L__________Print_the_contents_of_a_certificate._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x2c
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___l__________Show_fingerprint_of_key_file._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x49
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___M_memory___Amount_of_memory__MB__to_use_for_generating_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x42
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___n_name_..._User_host_principal_names_to_include_in_certificate_n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x26
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___N_phrase___Provide_new_passphrase._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x30
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___O_cnstr____Specify_a_certificate_constraint._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x26
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___P_phrase___Provide_old_passphrase._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x35
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___p__________Change_passphrase_of_private_key_file._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x15
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___q__________Quiet._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x31
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___R_hostname_Remove_host_from_known_hosts_file._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x29
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___r_hostname_Print_DNS_resource_record._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x28
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___s_ca_key___Certify_keys_with_CA_key._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x3e
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___S_start____Start_point__hex__for_generating_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x33
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___T_file_____Screen_candidates_for_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x2d
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___t_type_____Specify_type_of_key_to_create._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x35
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___V_from:to__Specify_certificate_validity_interval._n
call sub.msys_1.0.dll_fwrite
mov ecx, dword [0x423d34]
mov eax, 0x17
mov edx, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], str.___v__________Verbose._n
call sub.msys_1.0.dll_fwrite
mov edx, dword [0x423d34]
mov ecx, 0x3d
mov eax, dword [edx + 0xc]
mov dword [esp + 8], ecx
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.___W_gen______Generator_to_use_for_generating_DH_GEX_moduli._n
call sub.msys_1.0.dll_fwrite
mov eax, dword [0x423d34]
mov edx, 0x3a
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], edx
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
mov dword [esp], str.___y__________Read_private_key_file_and_print_public_key._n
call sub.msys_1.0.dll_fwrite
mov dword [esp], 1
call sub.msys_1.0.dll_exit
lea esi, [esi]
push ebp
mov eax, 0x10
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6dc
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
and esp, 0xfffffff0
call fcn.00418d04
call sub.msys_1.0.dll___main
xor edi, edi
xor edx, edx
xor eax, eax
mov dword [ebp - 0x694], edx
xor ecx, ecx
mov edx, 0x64
mov dword [ebp - 0x698], eax
xor eax, eax
mov dword [ebp - 0x6a4], edi
xor edi, edi
mov dword [ebp - 0x6a8], ecx
xor ecx, ecx
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6b4], edi
mov edi, 1
call fcn.0040ba20
mov edx, dword [ebx]
mov dword [esp], edx
call fcn.00415420
mov dword [0x42418c], eax
call sub.msys_crypto_1.0.0.dll_OPENSSL_add_all_algorithms_noconf
mov dword [esp + 8], edi
mov ecx, 3
mov eax, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov edx, dword [ebx]
mov dword [esp], edx
call fcn.0040a7c0
call fcn.0040a500
call fcn.0040a4e0
call sub.msys_1.0.dll_getuid
movzx eax, ax
mov dword [esp], eax
call sub.msys_1.0.dll_getpwuid
test eax, eax
mov edi, eax
je 0x406312
mov dword [esp], 0x423d3c
mov ecx, 0x40
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_gethostname
test eax, eax
js 0x406323
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 4], ebx
mov edx, str.degiqpclBHLhvxXyF:b:f:t:D:I:P:N:n:O:C:r:g:R:T:G:M:S:s:a:V:W:
mov dword [esp + 8], edx
mov dword [esp], esi
call fcn.00419490
cmp eax, 0xffffffff
je 0x40565f
sub eax, 0x42
cmp eax, 0x37
ja case.0x405632.69
jmp dword [eax*4 + 0x41d3ac]
call 0x404f10
mov dword [esp + 4], ebx
mov edx, str.degiqpclBHLhvxXyF:b:f:t:D:I:P:N:n:O:C:r:g:R:T:G:M:S:s:a:V:W:
mov dword [esp + 8], edx
mov dword [esp], esi
call fcn.00419490
cmp eax, 0xffffffff
jne 0x40562a
mov edx, dword [section..data]
mov ecx, 1
mov eax, 1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0040a7c0
mov ecx, dword [0x41b8e4]
lea ebx, [ebx + ecx*4]
mov dword [ebp - 0x6b8], ebx
mov ebx, esi
mov esi, dword [0x423040]
sub ebx, ecx
test esi, esi
je 0x405c34
test ebx, ebx
jle 0x4060e4
mov esi, dword [0x42300c]
test esi, esi
je 0x4056c6
mov edx, dword [0x423010]
test edx, edx
jne 0x405dba
mov ecx, dword [0x423028]
test ecx, ecx
je 0x4056eb
mov eax, dword [0x423020]
test eax, eax
jne 0x405da4
mov esi, dword [0x423018]
test esi, esi
jne 0x405da4
mov edx, dword [0x423040]
test edx, edx
je 0x405719
mov ecx, dword [0x423044]
test ecx, ecx
je 0x406306
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x6b8]
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00403f30
mov ebx, dword [0x423024]
test ebx, ebx
jne 0x405ca1
mov esi, dword [0x423020]
test esi, esi
jne 0x405745
mov edx, dword [0x423018]
test edx, edx
jne 0x405745
mov ecx, dword [0x42301c]
test ecx, ecx
je 0x405757
mov dword [esp], edi
mov eax, dword [ebp - 0x698]
mov dword [esp + 4], eax
call fcn.00402790
mov ebx, dword [0x423028]
test ebx, ebx
jne 0x40576b
mov esi, dword [0x42302c]
test esi, esi
je 0x405773
mov dword [esp], edi
call fcn.004020b0
mov edx, dword [0x42300c]
test edx, edx
jne 0x405d97
mov ecx, dword [0x423010]
test ecx, ecx
jne 0x405d8a
mov eax, dword [0x423060]
test eax, eax
jne 0x405d7d
mov ebx, dword [0x423064]
test ebx, ebx
jne 0x405d70
mov esi, dword [0x423068]
test esi, esi
jne 0x405cae
mov edx, dword [ebp - 0x698]
test edx, edx
je 0x405cc4
mov ecx, dword [0x423030]
test ecx, ecx
je 0x405c52
mov dword [esp], edi
mov ebx, dword [ebp - 0x698]
mov eax, 0x423d7c
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00403570
test eax, eax
jne 0x4064c5
mov dword [esp], 0x423d7c
call sub.msys_1.0.dll_perror
mov dword [esp], 1
call sub.msys_1.0.dll_exit
mov eax, 1
mov dword [0x423020], eax
mov edx, dword [0x4241ac]
mov dword [ebp - 0x698], edx
jmp 0x405610
mov eax, 1
mov dword [0x423014], eax
jmp 0x405610
mov edx, 1
mov dword [0x423068], edx
jmp 0x405610
mov ecx, 1
mov dword [0x423060], ecx
jmp 0x405610
mov edx, dword [section..data]
mov eax, 5
cmp edx, 3
je 0x405878
lea eax, [edx - 5]
cmp eax, 1
ja 0x405610
lea eax, [edx + 1]
mov dword [section..data], eax
jmp 0x405610
mov eax, dword [0x4241ac]
mov dword [0x423070], eax
jmp 0x405610
mov eax, dword [0x4241ac]
mov dword [0x423040], eax
jmp 0x405610
mov edx, 1
mov dword [0x42300c], edx
jmp 0x405610
mov ecx, dword [0x4241ac]
mov dword [0x423048], ecx
jmp 0x405610
mov edx, 1
mov dword [0x423028], edx
jmp 0x405610
mov ecx, 1
mov dword [0x423064], ecx
jmp 0x405610
mov eax, 2
xor edx, edx
mov dword [0x41b004], eax
mov dword [0x41b010], edx
jmp 0x405610
mov ecx, 1
mov dword [0x42306c], ecx
jmp 0x405610
mov dword [esp], 0x423d7c
mov ecx, dword [0x4241ac]
mov edx, 0x400
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.00416650
cmp eax, 0x3ff
ja 0x4062ba
mov eax, 1
mov dword [0x423030], eax
jmp 0x405610
mov eax, 0x41bb6e
jmp 0x405887
mov eax, 1
mov dword [0x423010], eax
jmp 0x405610
xor edx, edx
lea ecx, [ebp - 0x68c]
mov eax, 0x8000
mov dword [esp + 0x10], edx
mov edx, dword [0x4241ac]
mov dword [esp + 0x14], ecx
mov ecx, 0x300
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.004158b0
mov dword [0x423008], eax
mov eax, dword [ebp - 0x68c]
test eax, eax
je 0x405610
mov dword [esp + 8], eax
mov ebx, dword [0x4241ac]
mov dword [esp], str.Bits_has_bad_value__s___s_
mov dword [esp + 4], ebx
call fcn.00411b20
lea esi, [esi]
xor ecx, ecx
lea edx, [ebp - 0x68c]
mov eax, 0xffffffff
mov dword [esp + 0x10], ecx
mov ecx, dword [0x4241ac]
mov dword [esp + 0x14], edx
mov edx, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.004158b0
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x68c]
test eax, eax
je 0x405610
mov dword [esp + 8], eax
mov edi, dword [0x4241ac]
mov dword [esp], str.Invalid_number_of_trials:__s___s_
mov dword [esp + 4], edi
call fcn.00411b20
xor ecx, ecx
lea edx, [ebp - 0x68c]
mov eax, 0xffffffff
mov dword [esp + 0x10], ecx
mov ecx, dword [0x4241ac]
mov dword [esp + 0x14], edx
mov edx, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.004158b0
mov dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x68c]
test eax, eax
je 0x405610
mov dword [esp + 8], eax
mov esi, dword [0x4241ac]
mov dword [esp], str.Desired_generator_has_bad_value:__s___s_
mov dword [esp + 4], esi
call fcn.00411b20
mov eax, dword [0x4241ac]
mov dword [esp], eax
call 0x404520
jmp 0x405610
mov eax, 1
mov dword [ebp - 0x6b4], eax
mov ecx, dword [0x4241ac]
mov eax, 0x103
lea edx, [ebp - 0x638]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00416650
cmp eax, 0x102
jbe 0x405610
mov dword [esp], str.Output_filename_too_long
call fcn.00411b20
lea esi, [esi]
mov ecx, dword [0x4241ac]
lea edx, [ebp - 0x690]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sub.msys_crypto_1.0.0.dll_BN_hex2bn
test eax, eax
jne 0x405610
mov dword [esp], str.Invalid_start_point.
call fcn.00411b20
lea esi, [esi]
mov edx, dword [0x4241ac]
mov dword [0x423034], edx
jmp 0x405610
mov ecx, dword [0x4241ac]
mov dword [esp], ecx
call 0x404850
jmp 0x405610
mov eax, dword [0x4241ac]
mov dword [0x423038], eax
jmp 0x405610
xor ecx, ecx
lea edx, [ebp - 0x68c]
mov eax, 0xffffffff
mov dword [esp + 0x10], ecx
mov ecx, dword [0x4241ac]
mov dword [esp + 0x14], edx
mov edx, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.004158b0
mov dword [ebp - 0x6a4], eax
mov edx, dword [ebp - 0x68c]
test edx, edx
je 0x405610
mov dword [esp + 4], edx
mov ebx, dword [0x4241ac]
mov dword [esp], str.Memory_limit_is__s:__s
mov dword [esp + 8], ebx
call fcn.00411b20
mov ecx, 1
mov dword [0x423024], ecx
jmp 0x405610
mov edx, dword [0x4241ac]
mov dword [0x423044], edx
jmp 0x405610
mov ecx, 1
mov dword [0x423018], ecx
jmp 0x405610
mov ecx, 1
mov dword [ebp - 0x6b0], ecx
jmp 0x405aa5
mov edx, dword [0x4241ac]
mov eax, 1
mov dword [0x42301c], eax
mov dword [ebp - 0x698], edx
jmp 0x405610
mov ecx, dword [0x4241ac]
mov dword [ebp - 0x694], ecx
jmp 0x405610
mov edx, dword [0x4241ac]
mov dword [0x42303c], edx
jmp 0x405610
mov eax, 1
mov dword [0x42302c], eax
jmp 0x405610
test ebx, ebx
jle 0x4056ae
mov dword [esp], str.Too_many_arguments.
call sub.msys_1.0.dll_puts
call 0x404f10
jmp 0x4056ae
mov dword [esp], edi
mov ebx, dword [ebp - 0x698]
mov eax, str._etc_ssh_ssh_host_rsa_key
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00403570
mov dword [esp], edi
mov ecx, dword [ebp - 0x698]
mov edx, str._etc_ssh_ssh_host_dsa_key
mov dword [esp + 4], edx
mov esi, eax
mov dword [esp + 8], ecx
call fcn.00403570
lea edi, [esi + eax]
test edi, edi
jne 0x4064c5
mov dword [esp], str.no_keys_found.
call fcn.00411b20
mov dword [esp], edi
call 0x404ae0
jmp 0x405727
mov dword [esp], edi
call fcn.00401e10
mov edx, dword [ebp - 0x698]
test edx, edx
jne 0x4057c6
mov esi, dword [ebp - 0x694]
test esi, esi
je 0x405ce0
mov dword [esp], edi
mov edx, dword [ebp - 0x694]
mov dword [esp + 4], edx
call fcn.00401ff0
mov ecx, dword [ebp - 0x6b0]
test ecx, ecx
jne 0x406075
mov edx, dword [ebp - 0x6b4]
test edx, edx
je 0x405dd0
mov ebx, 0x41be4e
lea eax, [ebp - 0x638]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msys_1.0.dll_fopen
mov ecx, dword [0x423030]
mov ebx, eax
test ecx, ecx
jne 0x4061c6
mov edi, dword [0x423d34]
mov eax, dword [edi + 4]
test ebx, ebx
je 0x406388
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0x6ac]
mov edi, dword [ebp - 0x6a8]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
call fcn.00409e10
xor edx, edx
test eax, eax
je 0x4060da
mov dword [esp], str.modulus_screening_failed
call fcn.00411b20
lea esi, [esi]
mov dword [esp], edi
call fcn.00401a30
jmp 0x4057aa
mov dword [esp], edi
call fcn.004011b0
jmp 0x40579c
mov dword [esp], edi
call fcn.00403660
jmp 0x40578f
mov dword [esp], edi
call fcn.004032b0
jmp 0x405781
mov dword [esp], str.Cannot_use__l_with__D_or__R.
call sub.msys_1.0.dll_puts
call 0x404f10
jmp 0x4056eb
mov dword [esp], str.Can_only_have_one_of__p_and__c.
call sub.msys_1.0.dll_puts
call 0x404f10
jmp 0x4056c6
call fcn.004156a0
mov eax, dword [0x423070]
test eax, eax
je 0x4062f7
mov dword [esp], eax
call fcn.00407fc0
cmp eax, 5
mov ebx, eax
je 0x40635f
mov edx, dword [0x423008]
test edx, edx
je 0x4061a9
cmp ebx, 2
je 0x406284
mov esi, dword [0x423014]
test esi, esi
je 0x4062c6
mov dword [esp], ebx
mov edx, dword [0x423008]
mov dword [esp + 4], edx
call fcn.00407b30
mov dword [ebp - 0x69c], eax
test eax, eax
je 0x40632f
mov edx, dword [ebp - 0x69c]
mov dword [esp], edx
call fcn.00407ea0
mov dword [ebp - 0x6a0], eax
mov ecx, dword [0x423030]
test ecx, ecx
je 0x4062e1
mov edx, str..ssh
mov esi, 0x41b9ac
mov eax, 0x103
mov dword [esp + 0x10], edx
lea ebx, [ebp - 0x128]
mov ecx, dword [edi + 0x18]
mov dword [esp + 8], esi
lea esi, [ebp - 0x678]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msys_1.0.dll_snprintf
mov dword [esp + 4], ebx
mov dword [esp], 0x423d7c
call sub.msys_1.0.dll_strstr
test eax, eax
je 0x405eba
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.msys_1.0.dll_stat
test eax, eax
js 0x4064d1
mov dword [esp + 4], esi
mov dword [esp], 0x423d7c
call sub.msys_1.0.dll_stat
test eax, eax
js 0x405f49
mov dword [esp], str._s_already_exists._n
mov esi, 0x423d7c
mov dword [esp + 4], esi
mov esi, 3
call sub.msys_1.0.dll_printf
mov dword [esp], str.Overwrite__y_n__
call sub.msys_1.0.dll_printf
mov ebx, dword [0x423d34]
mov ecx, dword [ebx + 8]
lea ebx, [ebp - 0x688]
mov dword [esp], ecx
call sub.msys_1.0.dll_fflush
mov eax, dword [0x423d34]
mov edx, dword [eax + 4]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msys_1.0.dll_fgets
test eax, eax
je 0x405803
movzx ebx, byte [ebp - 0x688]
cmp bl, 0x79
setne dl
cmp bl, 0x59
setne cl
movzx eax, cl
test eax, edx
jne 0x405803
mov eax, dword [0x423034]
test eax, eax
jne 0x405f5f
mov eax, dword [0x423038]
test eax, eax
je 0x406140
mov dword [esp], eax
call fcn.0040cf00
mov esi, eax
mov eax, dword [0x42303c]
test eax, eax
je 0x406250
mov dword [esp + 4], eax
mov edi, 0x400
mov dword [esp + 8], edi
lea edi, [ebp - 0x528]
mov dword [esp], edi
call fcn.00416650
mov dword [esp + 0xc], edi
mov ebx, dword [ebp - 0x69c]
mov eax, 0x423d7c
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040df60
test eax, eax
je 0x406544
mov dword [esp], esi
xor ebx, ebx
call sub.msys_1.0.dll_strlen
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], ebx
call sub.msys_1.0.dll_memset
mov dword [esp], esi
call fcn.0040ced0
mov edx, dword [ebp - 0x69c]
mov dword [esp], edx
call fcn.004067f0
call fcn.004156a0
mov esi, dword [0x423014]
test esi, esi
je 0x4062a0
mov dword [esp], 0x423d7c
mov edx, 0x41c151
mov ebx, 0x400
mov dword [esp + 4], edx
mov esi, 0x1a4
mov dword [esp + 8], ebx
call fcn.004165c0
mov dword [esp + 8], esi
mov ecx, 0x601
mov dword [esp + 4], ecx
mov dword [esp], 0x423d7c
call fcn.00415a10
cmp eax, 0xffffffff
je 0x406509
mov dword [esp], eax
mov ecx, 0x41be4e
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_fdopen
test eax, eax
mov ebx, eax
jne 0x4063b1
mov dword [esp], str.fdopen__s_failed_n
mov eax, 0x423d7c
mov dword [esp + 4], eax
call sub.msys_1.0.dll_printf
jmp 0x405803
mov edi, 0x41be4e
lea ebx, [ebp - 0x638]
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.msys_1.0.dll_fopen
test eax, eax
mov ecx, eax
je 0x406223
mov edx, dword [0x423008]
test edx, edx
jne 0x4060b0
mov ebx, 0x800
mov edx, 0x800
mov dword [0x423008], ebx
mov dword [esp + 8], edx
mov edi, dword [ebp - 0x690]
mov esi, dword [ebp - 0x6a4]
mov dword [esp], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 4], esi
call fcn.00409700
xor edx, edx
test eax, eax
jne 0x406538
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.Too_few_arguments.
jmp 0x405c43
mov dword [esp], esi
call sub.msys_1.0.dll_strlen
mov dword [esp + 8], eax
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.msys_1.0.dll_memset
mov dword [esp], ebx
call sub.msys_1.0.dll_strlen
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msys_1.0.dll_memset
mov dword [esp], esi
call fcn.0040ced0
mov dword [esp], ebx
call fcn.0040ced0
mov dword [esp], str.Passphrases_do_not_match.__Try_again.
call sub.msys_1.0.dll_puts
mov dword [esp], str.Enter_passphrase__empty_for_no_passphrase_:
mov esi, 2
mov dword [esp + 4], esi
call fcn.00411e00
mov dword [esp], str.Enter_same_passphrase_again:
mov edx, 2
mov esi, eax
mov dword [esp + 4], edx
call fcn.00411e00
mov dword [esp + 4], eax
mov ebx, eax
mov dword [esp], esi
call sub.msys_1.0.dll_strcmp
test eax, eax
jne 0x4060f0
mov dword [esp], ebx
call sub.msys_1.0.dll_strlen
mov dword [esp + 8], eax
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.msys_1.0.dll_memset
mov dword [esp], ebx
call fcn.0040ced0
jmp 0x405f69
xor eax, eax
cmp ebx, 2
setne al
dec eax
and eax, 0xfffffc00
add eax, 0x800
mov dword [0x423008], eax
jmp 0x405e03
cld
mov ecx, 2
mov esi, 0x423d7c
mov edi, 0x41d15d
repe cmpsb byte [esi], byte es:[edi]
je 0x405d23
mov dword [esp], 0x423d7c
mov edx, 0x41bc0e
mov dword [esp + 4], edx
call sub.msys_1.0.dll_fopen
test eax, eax
jne 0x405d2c
call sub.msys_1.0.dll___errno
mov ebx, dword [eax]
mov dword [esp], ebx
call sub.msys_1.0.dll_strerror
mov dword [esp + 8], eax
mov eax, 0x423d7c
mov dword [esp + 4], eax
mov dword [esp], str.Couldnt_open_modulus_candidate_file___s_:__s
call fcn.00411b20
call sub.msys_1.0.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msys_1.0.dll_strerror
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], str.Couldnt_open_modulus_candidate_file___s_:__s
call fcn.0040a680
mov edx, 1
jmp 0x4060da
mov edx, 0x423d3c
mov ebx, 0x400
mov eax, 0x41d18e
mov dword [esp + 0x10], edx
mov ecx, dword [edi]
lea edi, [ebp - 0x528]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msys_1.0.dll_snprintf
jmp 0x405f91
cmp dword [0x423008], 0x400
je 0x405e0c
mov dword [esp], str.DSA_keys_must_be_1024_bits
call fcn.00411b20
mov dword [esp], str.Your_identification_has_been_saved_in__s._n
mov eax, 0x423d7c
mov dword [esp + 4], eax
call sub.msys_1.0.dll_printf
jmp 0x405ffb
mov dword [esp], str.Identity_filename_too_long
call fcn.00411b20
mov dword [esp], str.Generating_public_private__s_key_pair._n
mov ecx, dword [0x423070]
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_printf
jmp 0x405e1a
mov dword [esp], edi
mov ebx, str.Enter_file_in_which_to_save_the_key
mov dword [esp + 4], ebx
call fcn.00401040
jmp 0x405e5c
mov eax, 0x41bbcd
mov dword [0x423070], eax
jmp 0x405de2
mov dword [esp], str.Must_specify_key_id___I__when_certifying
call fcn.00411b20
mov dword [esp], str.You_dont_exist__go_away_
call sub.msys_1.0.dll_puts
jmp 0x405803
mov dword [esp], str.gethostname
jmp 0x4057fe
mov esi, dword [0x423d34]
mov ebx, 0x14
mov edi, 1
mov eax, dword [esi + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov dword [esp], str.key_generate_failed_n
call sub.msys_1.0.dll_fwrite
jmp 0x405803
mov ecx, dword [0x423070]
mov esi, str.unknown_key_type__s_n
mov ebx, dword [0x423d34]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sub.msys_1.0.dll_fprintf
jmp 0x405803
call sub.msys_1.0.dll___errno
mov ecx, dword [eax]
lea esi, [ebp - 0x638]
mov dword [esp], ecx
call sub.msys_1.0.dll_strerror
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], str.Couldnt_open_moduli_file___s_:__s
call fcn.00411b20
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x6a0]
mov dword [esp], esi
call fcn.00407830
test eax, eax
jne 0x4063f2
mov esi, dword [0x423d34]
mov ecx, 0x11
mov edx, 1
mov eax, dword [esi + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], str.write_key_failed_n
call sub.msys_1.0.dll_fwrite
mov dword [esp], ebx
mov edx, str.__s_n
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call sub.msys_1.0.dll_fprintf
mov dword [esp], ebx
call sub.msys_1.0.dll_fclose
mov ebx, dword [0x423014]
test ebx, ebx
jne 0x4064b7
mov esi, dword [ebp - 0x6a0]
mov ecx, 1
xor eax, eax
mov dword [esp + 4], ecx
mov ebx, 2
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00407190
mov dword [esp + 8], ebx
mov esi, eax
mov eax, dword [ebp - 0x6a0]
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00407190
mov dword [esp], str.Your_public_key_has_been_saved_in__s._n
mov ecx, 0x423d7c
mov ebx, eax
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_printf
mov dword [esp], str.The_key_fingerprint_is:
call sub.msys_1.0.dll_puts
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], str._s__s_n
call sub.msys_1.0.dll_printf
mov dword [esp], str.The_keys_randomart_image_is:
call sub.msys_1.0.dll_puts
mov dword [esp], ebx
call sub.msys_1.0.dll_puts
mov dword [esp], ebx
call fcn.0040ced0
mov dword [esp], esi
call fcn.0040ced0
mov edi, dword [ebp - 0x6a0]
mov dword [esp], edi
call fcn.004067f0
mov dword [esp], 0
call sub.msys_1.0.dll_exit
mov dword [esp], ebx
mov eax, 0x1c0
mov dword [esp + 4], eax
call sub.msys_1.0.dll_mkdir
test eax, eax
js 0x406523
mov ecx, dword [0x423014]
test ecx, ecx
jne 0x405eba
mov dword [esp + 4], ebx
mov dword [esp], str.Created_directory__s._n
call sub.msys_1.0.dll_printf
jmp 0x405eba
mov dword [esp], str.Could_not_save_your_public_key_in__s_n
mov edi, 0x423d7c
mov dword [esp + 4], edi
call sub.msys_1.0.dll_printf
jmp 0x405803
mov dword [esp + 4], ebx
mov dword [esp], str.Could_not_create_directory__s.
call fcn.0040a680
jmp 0x405eba
mov dword [esp], str.modulus_candidate_generation_failed
call fcn.00411b20
mov dword [esp], str.Saving_the_key_failed:__s._n
mov ecx, 0x423d7c
xor edi, edi
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_printf
mov dword [esp], esi
call sub.msys_1.0.dll_strlen
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msys_1.0.dll_memset
mov dword [esp], esi
call fcn.0040ced0
jmp 0x405803