Function at 0x40a110
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x101c
call fcn.004bd1b0
mov eax, dword [0x4fc040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x4febe0]
mov ecx, 3
push esi
push edi
mov edi, edx
mov dword [ebp - 0x1018], ebx
mov byte [ebp - 0x1009], 0
mov byte [ebp - 0x100a], 0
call fcn.00451dd0
call fcn.00451e50
xor ecx, ecx
call fcn.00451de0
test eax, eax
je 0x40a168
mov ecx, dword [eax + 0x54]
call fcn.00451de0
push 0
mov edx, 0x85
mov ecx, ebx
call fcn.0048dea0
add esp, 4
mov edx, ebx
xor ecx, ecx
call fcn.00455910
mov ecx, edi
call fcn.00401c90
mov esi, eax
mov edx, ebx
mov ecx, esi
call fcn.00401cf0
test al, al
je 0x40a210
mov ecx, ebx
call fcn.00490c60
test al, al
jne 0x40a1b2
mov ecx, ebx
call fcn.0041d090
test al, al
je 0x40a576
mov ecx, ebx
mov byte [ebp - 0x1009], 1
call fcn.00457840
cmp dword [0x4fec2c], 0
je 0x40a54b
mov edx, ebx
xor ecx, ecx
call fcn.004541c0
push str.demo_server.example.com
xor edx, edx
mov ecx, ebx
call fcn.0048dfa0
add esp, 4
mov edx, 4
mov ecx, ebx
push 1
call fcn.0048dea0
add esp, 4
mov ecx, ebx
call fcn.00490a70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00495b16
mov esp, ebp
pop ebp
ret
mov edx, ebx
mov ecx, esi
call fcn.00401d70
test al, al
jne 0x40a1b2
cmp byte [esi], al
je 0x40a527
push ecx
lea eax, [ebp - 0x1010]
mov ecx, edi
push eax
lea edx, [ebp - 0x1014]
call fcn.00490ca0
mov eax, dword [ebp - 0x1014]
add esp, 8
xor ebx, ebx
test eax, eax
jle 0x40a521
mov ecx, dword [ebp - 0x1010]
mov esi, dword [ecx + ebx*4]
lea edi, [ebx + 1]
cmp edi, eax
jge 0x40a263
mov edx, dword [ecx + ebx*4 + 4]
jmp 0x40a265
xor edx, edx
push dword [ebp - 0x1018]
mov ecx, esi
push 1
call fcn.00455cc0
add esp, 8
cmp eax, 0xfffffffe
je 0x40a64e
cmp eax, 2
jne 0x40a28c
mov ebx, edi
jmp 0x40a50c
cmp eax, 1
je 0x40a50c
mov ecx, str._cleanup
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a2c0
test dl, dl
je 0x40a2bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a2c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a2a0
xor eax, eax
jmp 0x40a2c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5fb
mov ecx, str._pgpfp
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a2f4
test dl, dl
je 0x40a2f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a2f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a2d4
xor eax, eax
jmp 0x40a2f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5ef
mov ecx, 0x4d6b88
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a328
test dl, dl
je 0x40a324
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a328
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a308
xor eax, eax
jmp 0x40a32d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5e1
mov ecx, 0x4d6b94
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a360
test dl, dl
je 0x40a35c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a360
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a340
xor eax, eax
jmp 0x40a365
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5e1
mov ecx, str._host_ca
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a394
test dl, dl
je 0x40a390
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a394
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a374
xor eax, eax
jmp 0x40a399
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5e1
mov ecx, str.__host_ca
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a3c8
test dl, dl
je 0x40a3c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a3c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a3a8
xor eax, eax
jmp 0x40a3cd
sbb eax, eax
or eax, 1
test eax, eax
je 0x40a5e1
mov ecx, str._demo_config_box
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a400
test dl, dl
je 0x40a3fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a400
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a3e0
xor eax, eax
jmp 0x40a405
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40a431
cmp edi, dword [ebp - 0x1014]
jge 0x40a5ac
mov ecx, dword [ebp - 0x1010]
mov ebx, edi
mov byte [ebp - 0x100a], 1
mov eax, dword [ecx + ebx*4]
mov dword [0x4fd8c8], eax
jmp 0x40a512
mov ecx, str._demo_terminal
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a458
test dl, dl
je 0x40a454
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a458
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a438
xor eax, eax
jmp 0x40a45d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40a53c
lea eax, [ebx + 2]
cmp eax, dword [ebp - 0x1014]
jge 0x40a5c2
mov eax, dword [ebp - 0x1010]
push 0x4d6c24
mov edi, dword [eax + ebx*4 + 4]
add ebx, 2
push edi
mov eax, dword [eax + ebx*4]
mov dword [0x4fec28], eax
call fcn.004a3f02
mov esi, eax
add esp, 8
test esi, esi
je 0x40a5b7
call fcn.0048fec0
push esi
push 0x1000
mov dword [0x4fec2c], eax
lea eax, [ebp - 0x1008]
push 1
push eax
call fcn.004a4254
add esp, 0x10
test eax, eax
jle 0x40a503
nop word [eax + eax]
mov ecx, dword [0x4fec2c]
lea edx, [ebp - 0x1008]
push eax
lea ecx, [ecx + 0xc]
call fcn.0048f3c0
add esp, 4
lea eax, [ebp - 0x1008]
push esi
push 0x1000
push 1
push eax
call fcn.004a4254
add esp, 0x10
test eax, eax
jg 0x40a4d0
push esi
call fcn.004a403e
add esp, 4
mov ecx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x1014]
inc ebx
cmp ebx, eax
jl 0x40a253
mov ebx, dword [ebp - 0x1018]
mov ecx, ebx
call fcn.00457840
cmp byte [ebp - 0x100a], 0
jne 0x40a57d
jmp 0x40a1c0
cmp byte [esi], 0x2d
push esi
je 0x40a5d7
jmp 0x40a5cd
cmp byte [ebp - 0x1009], 0
jne 0x40a1f8
mov ecx, ebx
call fcn.004578c0
test al, al
jne 0x40a1f8
mov ecx, ebx
call fcn.0041d090
test al, al
jne 0x40a1f8
xor ecx, ecx
call fcn.00401ec0
mov edx, ebx
mov byte [0x4fd8c1], 1
xor ecx, ecx
call fcn.004541c0
push str.demo_server.example.com
xor edx, edx
mov ecx, ebx
call fcn.0048dfa0
add esp, 4
mov ecx, ebx
call fcn.0041d090
xor ecx, ecx
call fcn.00401ec0
push esi
push str._s_expects_an_output_filename
call fcn.004022b0
push edi
push str.cant_open_input_file__s
call fcn.004022b0
push esi
push str._s_expects_input_and_output_filenames
call fcn.004022b0
push str.unexpected_argument___s_
call fcn.004022b0
push str.unknown_option___s_
call fcn.004022b0
xor ecx, ecx
call fcn.0041de70
push 0
call fcn.0049989f
call fcn.00490c40
push 1
call fcn.0049989f
push 0x4d6d90
push str.This_procedure_will_remove_ALL_Registry_entries_nassociated_with__s__and_will_also_remove_nthe_random_seed_file.__This_only_affects_the_ncurrently_logged_in_user.__n_nTHIS_PROCESS_WILL_DESTROY_YOUR_SAVED_SESSIONS._nAre_you_really_sure_you_want_to_continue_
call fcn.00490340
push 0x4d6d90
push str._s_Warning
mov esi, eax
call fcn.00490340
push 4
mov edi, eax
mov edx, esi
push 0x134
push edi
call fcn.00490bd0
add esp, 0x1c
cmp eax, 6
jne 0x40a639
call fcn.00458a50
mov ecx, esi
call fcn.00490070
mov ecx, edi
call fcn.00490070
push 0
call fcn.0049989f
push esi
push str.option___s__requires_an_argument
call fcn.004022b0
int3