Function at 0x4017cd
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x74
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x44], 1
jmp 0x401e8b
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__help
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x401840
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e210c
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40184f
call fcn.004015c8
mov eax, 1
jmp 0x40202b
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e210f
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401923
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x4018bb
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to__i_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
mov eax, dword [0x4f7020]
test eax, eax
je 0x4018fc
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x18
mov dword [esp + 4], 1
mov dword [esp], str.Duplicate_values_for__i_n
call sub.msvcrt.dll_fwrite
mov eax, 0xffffffff
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004d0524
mov dword [0x4f7020], eax
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e213e
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4019f7
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x40198f
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to__s_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
mov eax, dword [0x4f7024]
test eax, eax
je 0x4019d0
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x18
mov dword [esp + 4], 1
mov dword [esp], str.Duplicate_values_for__s_n
call sub.msvcrt.dll_fwrite
mov eax, 0xffffffff
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004d0524
mov dword [0x4f7024], eax
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e216d
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401acb
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x401a63
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to__c_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
mov eax, dword [0x4f7028]
test eax, eax
je 0x401aa4
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x18
mov dword [esp + 4], 1
mov dword [esp], str.Duplicate_values_for__c_n
call sub.msvcrt.dll_fwrite
mov eax, 0xffffffff
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004d0524
mov dword [0x4f7028], eax
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e219c
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401ba8
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x401b37
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to__m_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [0x4da004], eax
mov eax, dword [0x4da004]
cmp eax, 0x18
jg 0x401b70
mov eax, dword [0x4da004]
test eax, eax
jns 0x401e87
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x27
mov dword [esp + 4], 1
mov dword [esp], str.Lifetime__in_months__was_out_of_range._n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e21dc
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x401bf2
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__reuse
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401c01
mov dword [0x4f702c], 1
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e21e7
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401c35
mov dword [0x4f7030], 1
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x4e21ea
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401d8a
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x401ca1
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to__a_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x46]
mov dword [esp + 8], eax
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004c6b06
test eax, eax
jns 0x401d05
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], str.Cant_resolve_address_port_for__s
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, 1
jmp 0x40202b
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.0040159a
cmp ax, 2
je 0x401d45
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], str._s_must_resolve_to_an_IPv4_address
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, 1
jmp 0x40202b
mov dword [ebp - 0x3c], 0x4f7038
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x3c]
mov dword [eax], 0
movzx eax, word [ebp - 0x46]
movzx eax, ax
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.004c3e55
mov dword [esp], eax
call fcn.004d0524
mov dword [0x4f7038], eax
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__create_identity_key
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401dbe
mov dword [0x4f7034], 1
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__passphrase_fd
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x401e4a
mov eax, dword [ebp - 0x44]
add eax, 1
cmp dword [ebp - 0x4c], eax
jg 0x401e26
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1f
mov dword [esp + 4], 1
mov dword [esp], str.No_argument_to___passphrase_fd_n
call sub.msvcrt.dll_fwrite
mov eax, 1
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [0x4da008], eax
jmp 0x401e87
mov eax, dword [ebp - 0x44]
lea edx, [eax*4]
mov eax, dword [ebp - 0x50]
add eax, edx
mov ebx, dword [eax]
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Unrecognized_option__s_n
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, 1
jmp 0x40202b
add dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x4c]
jl 0x4017f6
mov dword [esp + 8], 0x28
mov dword [esp + 4], 0
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.00406bc0
mov eax, dword [0x4f7030]
test eax, eax
je 0x401ed8
lea eax, [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], 7
call fcn.004ca979
jmp 0x401ef3
lea eax, [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], 4
call fcn.004ca979
mov dword [esp], 2
mov eax, dword [fcn.004d8fb0]
call eax
mov dword [esp], eax
call sub.msvcrt.dll__fileno
mov dword [esp + 8], eax
mov dword [esp + 4], str._stderr_
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.004cab28
mov eax, dword [0x4f7020]
test eax, eax
jne 0x401f6f
mov dword [esp], str.._authority_identity_key
call fcn.004d0524
mov dword [0x4f7020], eax
mov eax, dword [0x4f7020]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.No_identity_key_file_given__defaulting_to__s
mov dword [esp + 0xc], str.parse_commandline
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp], 6
call fcn.004ca3d6
mov eax, dword [0x4f7024]
test eax, eax
jne 0x401fbe
mov dword [esp], str.._authority_signing_key
call fcn.004d0524
mov dword [0x4f7024], eax
mov eax, dword [0x4f7024]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.No_signing_key_file_given__defaulting_to__s
mov dword [esp + 0xc], str.parse_commandline
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp], 6
call fcn.004ca3d6
mov eax, dword [0x4f7028]
test eax, eax
jne 0x40200d
mov dword [esp], str.._authority_certificate
call fcn.004d0524
mov dword [0x4f7028], eax
mov eax, dword [0x4f7028]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.No_signing_key_file_given__defaulting_to__s
mov dword [esp + 0xc], str.parse_commandline
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp], 6
call fcn.004ca3d6
mov eax, dword [0x4da008]
test eax, eax
js 0x402026
call fcn.00401619
test eax, eax
jns 0x402026
mov eax, 1
jmp 0x40202b
mov eax, 0
mov ecx, dword [ebp - 0xc]
xor ecx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x40203b
call sub.libssp_0.dll___stack_chk_fail
add esp, 0x74
pop ebx
pop ebp
ret