Function at 0x40a3f0
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x100c
call fcn.0046c050
mov ebp, dword [esp + 0x102c]
mov esi, dword [esp + 0x1020]
mov eax, dword [0x4bf018]
xor eax, esp
mov dword [esp + 0x1008], eax
cmp byte [esi], 0x2d
jne 0x40a691
mov ebx, dword [esp + 0x1024]
push str._load
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a718
mov ebp, dword [0x495a2c]
test ebp, ebp
je 0x40a47d
lea edi, [esi + 1]
mov ebx, 0x495a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push dword [ebp + 0x44]
push edi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a749
mov ebp, dword [ebx]
add ebx, 4
test ebp, ebp
jne 0x40a460
push 0x4a4cb9
push esi
call fcn.0047fbd0
add esp, 8
xor edi, edi
test eax, eax
mov ebx, dword [esp + 0x102c]
je 0x40a7da
push 0x4a86b1
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a8b1
push str._loghost
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a904
push str._hostkey
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40aab0
push 0x4ac671
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a957
push 0x4ac266
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a957
push 0x4ae4bf
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a957
push 0x4ab69c
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40ac85
push 0x4a82d7
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40ad22
push 0x4ac318
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40adad
push 0x4a4c6a
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40ae09
push str._pwfile
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40aeda
push str._agent
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a5c4
push str._pagent
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40a5c4
push str._pageant
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
jne 0x40a5ff
mov edi, 1
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40aae7
push 1
push 0x1d
push ebx
call fcn.004124b0
add esp, 0xc
mov edi, 1
push str._noagent
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40af7d
push str._nopagent
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40af7d
push str._nopageant
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40af7d
push str._no_trivial_auth
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
jne 0x40afdc
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
mov ebx, dword [esp + 0x102c]
jne 0x40aae7
jmp 0x40afca
xor edi, edi
cmp dword [esp + 0x1028], 0
js 0x40bd8e
mov ebx, dword [0x495004]
test bl, 4
je 0x40a6b9
cmp byte [0x4bfc9e], 0
je 0x40a80b
test bl, 0x40
je 0x40bd8e
cmp byte [0x4bfc9f], 0
jne 0x40bd8e
push esi
call fcn.0041c440
add esp, 4
mov esi, eax
push ebp
push 1
push eax
push 0x4ac318
call fcn.0040a3f0
add esp, 0x10
mov edi, eax
push esi
call fcn.00413460
add esp, 4
cmp edi, 2
je 0x40aa9f
push 0x199
push str._home_simon_mem_.build_workdirs_bob_jmc5owxa_putty_cmdline.c
push str.retd__2
call fcn.0047c544
jmp 0x40aa9c
test ebx, ebx
je 0x40bd79
mov edi, 2
cmp dword [esp + 0x1028], 0
js 0x40bd8e
push ebp
push ebx
call fcn.0040f4b0
add esp, 8
mov byte [0x4bfc9d], 1
jmp 0x40bd8e
mov edi, 1
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40aae7
mov esi, dword [ebp + 0x50]
push esi
call fcn.0040bf50
add esp, 4
push esi
push 2
mov ebx, dword [esp + 0x1034]
push ebx
call fcn.00412570
add esp, 0xc
mov esi, dword [ebp + 0x54]
test esi, esi
je 0x40a7ad
push esi
call fcn.0040bf60
add esp, 4
push esi
push 1
push ebx
call fcn.00412570
add esp, 0xc
cmp dword [ebp + 0x50], 5
jne 0x40bd8e
push 0
mov esi, dword [esp + 0x1030]
push esi
call fcn.004120a0
add esp, 8
push eax
push 0x3f
push esi
call fcn.00412700
add esp, 0xc
jmp 0x40bd8e
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 0x80
jne 0x40bd80
mov byte [0x4bfc9c], 1
mov edi, 1
jmp 0x40a49c
test bl, 0x20
je 0x40a82a
cmp byte [0x4bfc9d], 1
jne 0x40a82a
push ebp
call fcn.0042f570
add esp, 4
test al, al
jne 0x40a6b9
push 7
push str.telnet:
push esi
call fcn.004802b0
add esp, 0xc
test eax, eax
je 0x40aa22
mov ebp, 0xffffffff
test bl, 0x10
je 0x40ab3d
push 0x2c
push esi
call fcn.0046eed0
add esp, 8
test eax, eax
je 0x40ab3d
mov edi, eax
sub eax, esi
push esi
push eax
push 0x4a6113
call fcn.00415500
add esp, 0xc
mov esi, eax
push eax
call fcn.0040bf70
add esp, 4
test eax, eax
je 0x40ab16
mov ebx, eax
mov ebp, dword [eax + 0x50]
push ebp
call fcn.0040bf50
add esp, 4
push ebp
push 2
push dword [esp + 0x1034]
call fcn.00412570
add esp, 0xc
mov ebp, dword [ebx + 0x54]
jmp 0x40ab29
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40aae7
push dword [esp + 0x1024]
push 0x3a
push ebx
call fcn.00412700
add esp, 0xc
mov edi, 2
jmp 0x40a4b2
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40aae7
push dword [esp + 0x1024]
push 9
push ebx
call fcn.00412700
add esp, 0xc
mov edi, 2
jmp 0x40a4c8
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
test eax, eax
jne 0x40aae7
push 0x4ae4bf
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40af2c
movsx ebx, byte [esi + 1]
push 0x3a
push dword [esp + 0x1028]
call fcn.0041f4b0
add esp, 8
test eax, eax
je 0x40af21
mov dword [esp], ebx
mov ebx, eax
mov ebp, eax
lea eax, [ebx + 1]
push 0x3a
push eax
call fcn.0041f4b0
add esp, 8
mov ecx, eax
mov eax, ebx
mov ebx, ecx
test ecx, ecx
jne 0x40a9c6
test ebp, ebp
mov ecx, dword [esp + 0x1024]
mov ebx, dword [esp]
je 0x40af21
mov eax, ebp
sub eax, ecx
push ecx
push eax
push ebx
push str._c_.s
call fcn.00415500
add esp, 0x10
add ebp, 1
push ebp
mov ebp, eax
call fcn.0041c440
add esp, 4
mov edi, eax
mov ebx, dword [esp + 0x102c]
jmp 0x40af51
lea ebx, [esi + 7]
cmp byte [esi + 7], 0x2f
jne 0x40aa35
lea eax, [esi + 9]
cmp byte [esi + 8], 0x2f
cmove ebx, eax
push 1
push 2
push ebp
call fcn.00412570
add esp, 0xc
push 0x4aff5b
push ebx
call fcn.0042f5a0
add esp, 8
mov esi, eax
push ebx
push eax
push 0x4a6113
call fcn.00415500
add esp, 0xc
mov edi, eax
push eax
push 0
push ebp
call fcn.00412700
add esp, 0xc
push edi
call fcn.00413460
add esp, 4
mov byte [0x4bfc9e], 1
cmp byte [ebx + esi], 0x3a
jne 0x40aaff
add ebx, esi
add ebx, 1
push ebx
call fcn.0047ccf5
add esp, 4
push eax
push 1
push ebp
call fcn.00412570
add esp, 0xc
mov byte [0x4bfc9f], 1
mov edi, 1
jmp 0x40bd8e
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
je 0x40ad63
mov ecx, esi
mov edx, dword [esp + 0x1024]
push 0
call fcn.0040bdb0
add esp, 4
jmp 0x40bd8e
push 0xffffffffffffffff
push 1
push ebp
call fcn.00412570
add esp, 0xc
mov edi, 1
jmp 0x40bd8e
push esi
push str.unrecognised_protocol_prefix__s
call fcn.00401000
add esp, 8
mov ebp, 0xffffffff
mov ebx, dword [0x495004]
push esi
call fcn.00413460
add esp, 4
add edi, 1
mov esi, edi
mov dword [esp], ebp
xor ebp, ebp
mov edi, ebx
test bl, 8
jne 0x40ab4d
mov eax, esi
jmp 0x40ab7a
push 0x40
push esi
call fcn.0046f000
add esp, 8
mov ebx, eax
mov eax, esi
test ebx, ebx
je 0x40ab7a
mov eax, ebx
sub eax, esi
push esi
push eax
push 0x4a6113
call fcn.00415500
add esp, 0xc
mov ebp, eax
add ebx, 1
mov eax, ebx
mov dword [esp + 4], eax
push 0x4b3308
push esi
call fcn.00480460
add esp, 8
add eax, esi
push eax
call fcn.0041c440
add esp, 4
mov esi, eax
push eax
call fcn.00480220
add esp, 4
test eax, eax
jne 0x40abba
jmp 0x40abc9
mov byte [esi + eax - 1], 0
add eax, 0xffffffff
je 0x40abc9
movzx ecx, byte [esi + eax - 1]
cmp cl, 0x20
je 0x40abb0
cmp cl, 9
je 0x40abb0
mov byte [0x4bfc9e], 1
push esi
push 0
push dword [esp + 0x1034]
call fcn.00412700
add esp, 0xc
mov eax, edi
test al, 8
je 0x40ac4c
cmp byte [0x4bfc9d], 0
jne 0x40ac4c
call fcn.00411c80
mov ebx, eax
push eax
push dword [esp + 8]
call fcn.0040f4b0
add esp, 8
test al, al
je 0x40ac43
push ebx
call fcn.0042f570
add esp, 4
test al, al
je 0x40ac43
push ebx
push dword [esp + 0x1030]
call fcn.00411d50
add esp, 8
mov byte [0x4bfc9d], 1
test ebp, ebp
je 0x40ac43
push ebp
push 0x3a
push dword [esp + 0x1034]
call fcn.00412700
add esp, 0xc
push ebx
call fcn.00411d10
add esp, 4
push esi
call fcn.00413460
add esp, 4
push ebp
call fcn.00413460
add esp, 4
mov edi, 1
mov eax, dword [esp]
test eax, eax
js 0x40bd8e
push eax
push 1
push dword [esp + 0x1034]
call fcn.00412570
add esp, 0xc
jmp 0x40bd8e
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
test eax, eax
jne 0x40aae7
push 0x3a
mov ebp, dword [esp + 0x1028]
push ebp
call fcn.0041f4b0
add esp, 8
test eax, eax
je 0x40b308
mov edi, eax
sub eax, ebp
push ebp
push eax
push 0x4a6113
call fcn.00415500
add esp, 0xc
mov ebp, eax
push eax
push 0x34
push ebx
call fcn.00412700
add esp, 0xc
add edi, 1
push edi
call fcn.0047ccf5
add esp, 4
push eax
push 0x35
push ebx
call fcn.00412570
add esp, 0xc
push ebp
call fcn.00413460
add esp, 4
mov edi, 2
jmp 0x40a536
mov ebx, dword [esp + 0x1024]
test ebx, ebx
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
test eax, eax
je 0x40b259
mov ecx, esi
mov edx, ebx
jmp 0x40aaf0
mov ebp, dword [esp + 0x1024]
push ebp
call fcn.0041c440
add esp, 4
mov ebp, eax
push eax
call fcn.0042f5d0
add esp, 4
test al, al
je 0x40aeb8
push 0x4b338a
push ebp
push 0xc5
push ebx
call fcn.004127d0
add esp, 0x10
push ebp
call fcn.00413460
add esp, 4
mov edi, 2
jmp 0x40a4de
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40af11
push dword [esp + 0x1024]
call fcn.0047ccf5
add esp, 4
push eax
push 1
push ebx
call fcn.00412570
add esp, 0xc
mov edi, 2
jmp 0x40a562
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40af11
push 2
push ebx
call fcn.00411f50
add esp, 8
cmp eax, 3
jne 0x40b3cb
mov edi, dword [0x4bfc80]
test edi, edi
je 0x40ae7f
push edi
call fcn.00480220
add esp, 4
push eax
push edi
call fcn.0042efd0
add esp, 8
push dword [0x4bfc80]
call fcn.00413460
add esp, 4
mov edi, dword [esp + 0x1024]
push edi
call fcn.0041c440
add esp, 4
mov dword [0x4bfc80], eax
push edi
call fcn.00480220
add esp, 4
push eax
push edi
call fcn.0042efd0
add esp, 8
mov edi, 2
mov ebx, dword [esp + 0x102c]
jmp 0x40a578
push dword [esp + 0x1024]
push str._s_is_not_a_valid_format_for_a_manual_host_key_specification
call fcn.00401000
add esp, 8
push ebp
call fcn.00413460
add esp, 4
jmp 0x40bd8e
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
je 0x40b325
mov ecx, esi
mov edx, dword [esp + 0x1024]
push 1
jmp 0x40aaf2
push ebx
push str.__c_expects_at_least_two_colons_in_its_argument
jmp 0x40bd86
push dword [esp + 0x1024]
push 0x4a6263
call fcn.00415500
add esp, 8
mov ebp, eax
push 0x4ae4c0
call fcn.0041c440
add esp, 4
mov edi, eax
push edi
push ebp
push 0xb1
push ebx
call fcn.004127d0
add esp, 0x10
push ebp
call fcn.00413460
add esp, 4
push edi
call fcn.00413460
add esp, 4
mov edi, 2
jmp 0x40a520
mov edi, 1
mov eax, dword [esp + 0x1028]
test eax, eax
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
test eax, eax
jne 0x40aae7
push 0
push 0x1d
push ebx
call fcn.004124b0
add esp, 0xc
push str._no_trivial_auth
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40afdc
push 1
push 0x27
push ebx
call fcn.004124b0
add esp, 0xc
mov edi, 1
push str._share
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b3e2
push str._noshare
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b452
push 0x4ae73f
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b4a0
push 0x4ab9fb
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b4fe
push 0x4abbcf
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b577
push 0x4a4c4c
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b5d8
push 0x4a589e
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b626
push 0x4abf65
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b684
push 0x4ac50f
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b6cf
push 0x4ae5b0
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b737
push 0x4afcda
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b782
push 0x4af864
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b7e0
push 0x4a8790
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b843
push 0x4a51c7
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b900
push 0x4af57f
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b8b5
push str._ipv4
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b8b5
push 0x4af346
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b972
push str._ipv6
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b972
push str._sercfg
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40b9bd
push str._sessionlog
push esi
call fcn.0047fbd0
add esp, 8
test eax, eax
je 0x40baf1
push 0x4a71d5
push ebx
call fcn.0047df58
add esp, 8
test eax, eax
je 0x40b31a
mov ebp, eax
call fcn.00413790
mov dword [esp], eax
lea ebx, [esp + 8]
push ebp
push 0x1000
push 1
push ebx
call fcn.0047e444
add esp, 0x10
test eax, eax
je 0x40b2b8
mov edi, dword [esp]
add edi, 0xc
push eax
push ebx
push edi
call fcn.00412b50
add esp, 0xc
push ebp
push 0x1000
push 1
push ebx
call fcn.0047e444
add esp, 0x10
test eax, eax
jne 0x40b298
push ebp
call fcn.0047d84d
add esp, 4
mov edi, dword [esp]
push dword [edi]
push 0x14
mov ebx, dword [esp + 0x1034]
push ebx
call fcn.00412700
add esp, 0xc
push 0x4b338a
push 0x15
push ebx
call fcn.00412700
add esp, 0xc
push 1
push 0x16
push ebx
call fcn.004124b0
add esp, 0xc
push edi
call fcn.00413850
add esp, 4
mov edi, 2
jmp 0x40a54c
push str._nc_expects_argument_of_form_host:port
call fcn.00401000
add esp, 4
jmp 0x40bd8e
push ebx
push str.unable_to_open_command_file___s_
jmp 0x40bd86
push 2
push ebx
call fcn.00411f50
add esp, 8
cmp eax, 3
jne 0x40b443
push dword [esp + 0x1024]
call fcn.0042f090
add esp, 4
mov ebp, eax
push 0x4a71d5
push dword [eax]
call fcn.0047df58
add esp, 8
test eax, eax
je 0x40b549
mov edi, eax
mov ebx, dword [0x4bfc80]
test ebx, ebx
je 0x40b38e
push ebx
call fcn.00480220
add esp, 4
push eax
push ebx
call fcn.0042efd0
add esp, 8
push dword [0x4bfc80]
call fcn.00413460
add esp, 4
push edi
call fcn.0042fa90
add esp, 4
push eax
call fcn.0042fb60
add esp, 4
mov dword [0x4bfc80], eax
test eax, eax
jne 0x40b3bd
push dword [esp + 0x1024]
push str.unable_to_read_a_password_from_file__s
call fcn.00401000
add esp, 8
push edi
call fcn.0047d84d
add esp, 4
jmp 0x40b55d
push str.the__pw_option_can_only_be_used_with_the_SSH_protocol
call fcn.00401000
add esp, 4
mov edi, 2
jmp 0x40a578
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 1
push 0xc2
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
push str._noshare
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b008
jmp 0x40b480
push str.the__pwfile_option_can_only_be_used_with_the_SSH_protocol
call fcn.00401000
jmp 0x40b563
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 0
push 0xc2
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
mov edi, 1
jmp 0x40b008
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 1
push 0x1e
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
push 0x4ab9fb
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b034
jmp 0x40b52c
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 0
push 0x1e
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
mov edi, 1
jmp 0x40b034
push dword [esp + 0x1024]
push str.unable_to_open_password_file__s
call fcn.00401000
add esp, 8
push ebp
call fcn.0042f110
add esp, 4
mov edi, 2
mov ebx, dword [esp + 0x102c]
jmp 0x40a58e
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 1
push 0xab
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
push 0x4a4c4c
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b060
jmp 0x40b606
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 0
push 0xab
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
mov edi, 1
jmp 0x40b060
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40af11
push 0
push 0x16
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
push 0x4abf65
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b08c
jmp 0x40b6b2
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40af11
push 1
push 0x16
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
mov edi, 1
jmp 0x40b08c
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
mov ebx, dword [0x495004]
test bl, 3
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 1
push 0x33
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
push 0x4ae5b0
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b0b8
test bl, 2
je 0x40b765
jmp 0x40b82b
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40b82b
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 1
push 0x17
push dword [esp + 0x1034]
call fcn.004124b0
add esp, 0xc
mov edi, 1
jmp 0x40b0b8
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 0
push 0x24
push dword [esp + 0x1034]
call fcn.00412570
add esp, 0xc
push 0x4af864
push esi
call fcn.0047fbd0
add esp, 8
mov edi, 1
test eax, eax
jne 0x40b0e4
jmp 0x40b80e
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push 3
push 0x24
push dword [esp + 0x1034]
call fcn.00412570
add esp, 0xc
mov edi, 1
jmp 0x40b0e4
push esi
push str.option___s__not_available_in_this_tool
call fcn.00401000
add esp, 8
mov edi, 1
jmp 0x40bd8e
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push dword [esp + 0x1024]
call fcn.0042f090
add esp, 4
mov edi, eax
push eax
push 0x21
push dword [esp + 0x1034]
call fcn.004129b0
add esp, 0xc
push edi
call fcn.0042f110
add esp, 4
mov edi, 2
jmp 0x40b0fa
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40af11
push 1
push 3
push dword [esp + 0x1034]
call fcn.00412570
add esp, 0xc
mov edi, 1
jmp 0x40b13c
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 2
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40aae7
push dword [esp + 0x1024]
call fcn.0042f090
add esp, 4
mov edi, eax
push eax
push 0x22
push dword [esp + 0x1034]
call fcn.004129b0
add esp, 0xc
push edi
call fcn.0042f110
add esp, 4
mov edi, 2
jmp 0x40b110
mov edi, 1
cmp dword [esp + 0x1028], 0
js 0x40bd8e
test byte [0x495004], 2
jne 0x40bd80
cmp dword [esp + 0x1028], 0
jne 0x40af11
cmp dword [esp + 0x1024], 0
je 0x40bd79
mov edi, 0xfffffffe
jmp 0x40bd8e
push esi
push str.option___s__not_available_in_this_tool
call fcn.00401000
add esp, 8
mov ecx, dword [esp + 0x1008]
xor ecx, esp
call fcn.0046c040
mov eax, edi
add esp, 0x100c
pop esi
pop edi
pop ebx
pop ebp
ret