Function at 0x40198d
Capabilities:
Terminate process

Disassembly:
jmp 0x4049f0
push ebp
lea ebp, [esp - 0x100]
sub esp, 0x180
mov eax, dword [0x487180]
xor eax, ebp
mov dword [ebp + 0xfc], eax
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 0x10c]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], ebx
call fcn.00401ae6
call fcn.00401929
mov dword [0x4893fc], 0x3e8
call fcn.00401014
push ebx
push str._dev_null
call fcn.00401d98
add esp, 8
cmp eax, 0xffffffff
mov dword [ebp - 0x48], eax
jne 0x404a70
push ebx
push 0x47c430
call fcn.00401d98
add esp, 8
cmp eax, 0xffffffff
mov dword [ebp - 0x48], eax
je 0x404aab
cmp eax, 3
jl 0x404a44
push eax
call fcn.0040146a
call fcn.00401c26
mov eax, dword [edi]
push 0x2f
push eax
call fcn.0044b890
mov ecx, dword [edi]
push 0x5c
push ecx
mov esi, eax
call fcn.0044b890
add esp, 0x14
cmp eax, ebx
mov dword [ebp - 0x64], eax
je 0x404aa2
mov esi, eax
cmp esi, ebx
je 0x404ab2
add esi, 1
jmp 0x404ab4
push 1
call fcn.0044b7fd
mov esi, dword [edi]
cmp byte [esi], 0x2d
mov dword [ebp - 0x34], esi
jne 0x404ac2
add esi, 1
mov dword [ebp - 0x34], esi
cmp esi, ebx
je 0x404aca
cmp byte [esi], bl
jne 0x404acf
mov esi, 0x47bcb0
push esi
call fcn.00401073
add esp, 4
mov dword [0x4891f8], eax
mov ecx, 0x47bcb0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404b02
test dl, dl
je 0x404afe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404b02
add eax, 2
add ecx, 2
test dl, dl
jne 0x404ae2
xor eax, eax
jmp 0x404b07
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
cmp eax, ebx
sete dl
push str._bin_sh
mov dword [0x488f64], edx
call fcn.00401429
push eax
call fcn.004019f6
push str._bin_tcsh
mov dword [0x488970], eax
call fcn.00401429
push eax
call fcn.004019f6
mov dword [0x4889ec], eax
mov eax, dword [0x4894b8]
push eax
call fcn.00401550
push eax
mov dword [0x4a5150], eax
call fcn.004018d9
push str.___.__
mov dword [0x4894b8], eax
call fcn.00401429
push eax
call fcn.004019f6
add esp, 0x20
push 2
push 0x47c408
mov dword [0x488c04], eax
mov word [0x489402], 0x21
mov word [0x4889b0], 0x5e
mov word [0x488956], 0x3e
mov word [0x488f78], 0x23
mov dword [0x488b54], eax
mov dword [0x4a509c], ebx
call fcn.00401429
add esp, 4
push eax
push 0x4a7458
call fcn.0040101e
mov ecx, dword [edi]
push ecx
call fcn.00401429
push eax
call fcn.004019f6
push 0x4a7218
push eax
mov dword [0x4a5214], eax
mov dword [0x4a5218], ebx
call fcn.004014b5
add esp, 0x1c
test eax, eax
mov esi, 1
jne 0x404bed
mov dword [ebp - 0x18], esi
call fcn.00401c0d
mov dword [0x4893f0], eax
call fcn.00401b8b
mov dword [0x488b50], eax
call fcn.004014f1
mov dword [0x4891f0], eax
call fcn.00401ac8
mov dword [0x488e3c], eax
mov edx, dword [edi]
cmp byte [edx], 0x2d
je 0x404c40
cmp dword [ebp + 0x108], 2
jne 0x404c38
mov eax, dword [edi + 4]
cmp byte [eax], 0x2d
jne 0x404c38
cmp byte [eax + 1], 0x6c
jne 0x404c38
cmp byte [eax + 2], bl
je 0x404c40
mov dword [0x4a507c], ebx
jmp 0x404c95
mov dword [0x4a507c], esi
mov eax, dword [edi]
cmp byte [eax], 0x2d
je 0x404c76
mov ecx, dword [edi + 4]
mov byte [ecx], bl
mov edx, dword [edi + 4]
mov byte [edx + 1], bl
mov dword [edi + 4], ebx
mov eax, dword [edi]
push eax
push 0x47c404
call fcn.004013ca
add esp, 8
sub dword [ebp + 0x108], esi
mov dword [ebp - 0x68], eax
mov dword [edi], eax
cmp dword [0x4a507c], ebx
je 0x404c95
push 0x4888e0
call fcn.0044acca
push 0x4a75c8
call fcn.00401d07
add esp, 8
push str.NOREBIND
mov dword [0x488940], esi
call fcn.0044b20a
neg eax
sbb eax, eax
neg eax
push str.LANG
mov dword [0x496398], eax
call fcn.0044b20a
add esp, 8
test eax, eax
jne 0x404cd8
push str.LC_CTYPE
call fcn.0044b20a
add esp, 4
test eax, eax
mov dword [0x488940], esi
je 0x404cde
mov dword [0x488940], ebx
cmp dword [0x4a7124], ebx
je 0x404cf3
cmp dword [0x4a7128], ebx
jne 0x404cf3
call fcn.00401b18
call fcn.0040158c
push 0x488bd8
call fcn.0044acca
call fcn.00401bea
call fcn.004013f2
mov ecx, dword [0x4a50d0]
push ecx
call fcn.00401a14
mov esi, eax
add esp, 8
cmp esi, ebx
mov dword [ebp - 0x70], esi
je 0x404d3e
push 5
push str._dev_
push esi
call fcn.0044af96
add esp, 0xc
test eax, eax
jne 0x404d3b
add esi, 5
push esi
jmp 0x404d43
push 0x47bce9
call fcn.00401429
push eax
call fcn.004019f6
push 2
push eax
push 0x4a7224
call fcn.004019c4
add esp, 0x14
push 0x401488
push 0xa
call fcn.00401e6a
push 2
push 0x4a7250
push 0x4a7240
call fcn.0040101e
add esp, 0x14
call fcn.00401339
cmp dword [0x488f64], ebx
push 2
je 0x404d94
push 0x4a7810
jmp 0x404d99
push 0x4a77fc
push 0x4a77e4
call fcn.0040101e
add esp, 0xc
push 2
push 0x4a7810
push 0x4a77e4
call fcn.0040101e
push 1
call fcn.00401dbb
push str.HOME
call fcn.0044b20a
add esp, 0x14
cmp eax, ebx
je 0x404df9
push eax
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
mov esi, eax
add esp, 0xc
cmp esi, ebx
mov dword [ebp - 0x14], esi
jne 0x404e0a
mov dword [0x4a5200], 1
jmp 0x404e1a
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [0x4a5200], 1
jmp 0x404e1a
push 2
push esi
push 0x4a7290
call fcn.004019c4
add esp, 0xc
push esi
call fcn.004010eb
mov edx, dword [0x4893f0]
add esp, 4
push 2
push ebx
push ebx
push edx
call fcn.00401807
add esp, 0xc
push eax
push 0x4a72d0
call fcn.004019c4
mov eax, dword [0x488b50]
add esp, 0xc
push 2
push ebx
push ebx
push eax
call fcn.00401807
add esp, 0xc
push eax
push 0x4a72d8
call fcn.004019c4
push str.LOGNAME
call fcn.0044b20a
mov esi, eax
push str.USER
mov dword [ebp - 0x5c], esi
call fcn.0044b20a
mov edi, eax
add esp, 0x14
cmp edi, ebx
mov dword [ebp - 0x6c], edi
je 0x404eaa
push 2
push edi
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 0xc
push eax
push 0x4a729c
call fcn.004019c4
jmp 0x404f07
cmp esi, ebx
je 0x404ed2
push 2
push esi
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 0xc
push eax
push 0x4a729c
call fcn.004019c4
jmp 0x404f07
mov ecx, dword [0x4893f0]
push ecx
call fcn.00401b5e
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x54], eax
push 2
jne 0x404ef1
push str.unknown
jmp 0x404ef4
mov edx, dword [eax]
push edx
call fcn.00401429
add esp, 4
push eax
push 0x4a729c
call fcn.0040101e
add esp, 0xc
cmp esi, ebx
jne 0x404f2b
push 0x4a50e0
push 0x4a729c
call fcn.00401325
push eax
push 0x4a7a04
call fcn.00401a3c
add esp, 0x10
cmp edi, ebx
jne 0x404f4c
push 0x4a50e0
push 0x4a729c
call fcn.00401325
push eax
push 0x4a79f8
call fcn.00401a3c
add esp, 0x10
push str.GROUP
call fcn.0044b20a
mov esi, eax
add esp, 4
cmp esi, ebx
mov dword [ebp - 0x74], esi
je 0x404f86
push 2
push esi
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 0xc
push eax
push 0x4a72a8
call fcn.004019c4
jmp 0x404fba
mov eax, dword [0x488b50]
push eax
call fcn.004017d0
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x58], eax
push 2
jne 0x404fa4
push str.unknown
jmp 0x404fa7
mov ecx, dword [eax]
push ecx
call fcn.00401429
add esp, 4
push eax
push 0x4a72a8
call fcn.0040101e
add esp, 0xc
cmp esi, ebx
jne 0x404fde
push 0x4a50e0
push 0x4a72a8
call fcn.00401325
push eax
push 0x4a7a14
call fcn.00401a3c
add esp, 0x10
lea edx, [ebp - 4]
push 0x100
push edx
call fcn.00401ded
add esp, 8
test eax, eax
jl 0x404fff
lea eax, [ebp - 4]
mov byte [ebp + 0xfb], bl
push eax
jmp 0x405004
push str.unknown
call fcn.00401429
push eax
push 0x4a730c
call fcn.00401a3c
add esp, 0xc
push str.TERM
call fcn.0044b20a
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4050c7
push 2
push ebx
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 0xc
push eax
push 0x4a72b4
call fcn.004019c4
add esp, 0xc
mov edi, str.unknown
mov esi, ebx
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405089
mov edi, str.dumb
mov esi, ebx
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x405089
mov edi, str.network
mov esi, ebx
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40508e
mov eax, 1
mov edi, str.emacs
mov esi, ebx
mov ecx, 6
xor edx, edx
mov dword [0x4a5098], eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4050bb
mov edi, 0x47c384
mov esi, ebx
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4050bb
test eax, eax
je 0x4050fb
mov dword [0x4a5094], 0
jmp 0x405112
push str.EMACS
mov dword [0x4a5098], 0
call fcn.0044b20a
add esp, 4
test eax, eax
je 0x4050fb
mov esi, eax
mov edi, 0x47c378
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4050fb
mov dword [0x4a5094], eax
jmp 0x405112
push 0x4a7360
mov dword [0x4a5094], 1
call fcn.00401d07
add esp, 4
push 0x4a736c
call fcn.00401d07
push 0x4a7380
call fcn.00401d07
add esp, 8
push 2
push 0x47c374
call fcn.00401429
add esp, 4
push eax
push 0x4a7e1c
call fcn.0040101e
push str.PATH
call fcn.0044b20a
add esp, 0x10
test eax, eax
jne 0x405170
push 2
push 0x4a50e0
call fcn.00403be0
push eax
push 0x4a73e0
call fcn.004019a6
add esp, 0x10
jmp 0x40517f
push eax
call fcn.00401429
push eax
call fcn.0040155a
add esp, 8
xor ebx, ebx
push str.SHELL
mov dword [ebp - 0x20], ebx
call fcn.0044b20a
add esp, 4
test eax, eax
je 0x40521c
mov ecx, eax
lea esi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x4051a0
sub ecx, esi
mov ebx, ecx
cmp ebx, 5
mov dword [ebp - 0x20], ebx
jb 0x4051c9
mov edi, str._tcsh
lea esi, [ebx + eax - 5]
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4051f7
cmp dword [0x488f64], 0
jne 0x4052ab
cmp ebx, 4
jb 0x4052ab
mov edi, str._csh
lea esi, [ebx + eax - 4]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4052ab
push 2
push eax
call fcn.00401429
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 0xc
push eax
push 0x4a73a8
call fcn.004019c4
add esp, 0xc
test ebx, ebx
jne 0x405235
mov eax, dword [0x4889ec]
push 2
push eax
push 0x4a73a8
call fcn.0040101e
add esp, 0xc
push str.LS_COLORS
call fcn.0044b20a
add esp, 4
test eax, eax
je 0x405255
push eax
call fcn.00401429
push eax
call fcn.004015d2
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00401bd1
push 0x47c344
mov dword [0x488f68], eax
call fcn.0044b20a
add esp, 8
test eax, eax
mov dword [ebp - 0x50], eax
je 0x4052b7
push 0x47c340
push eax
push str._s__s
call fcn.004018c0
mov edi, eax
push edi
mov dword [ebp - 0x50], edi
call fcn.00401429
push eax
call fcn.004019f6
mov esi, eax
push edi
mov dword [ebp - 0x4c], esi
call fcn.00401348
add esp, 0x18
jmp 0x4052cf
mov dword [ebp - 0x20], 0
jmp 0x405220
push 0x47bce9
call fcn.00401429
push eax
call fcn.004019f6
mov esi, eax
add esp, 8
mov dword [ebp - 0x4c], esi
mov ecx, dword [0x488f68]
push ecx
push esi
call fcn.00401e10
push esi
mov dword [0x4a50cc], eax
call fcn.00401348
push 0x488f50
push 0
mov ebx, 1
push ebx
call fcn.004015a5
push 0x489090
push 0
push 6
call fcn.004015a5
push str.LANG
call fcn.0044b20a
mov esi, eax
add esp, 0x28
test esi, esi
je 0x405341
push 0x4a50e0
push 0x4a74f0
call fcn.00401334
add esp, 8
test eax, eax
jne 0x405341
push esi
call fcn.00401429
push eax
call fcn.00401230
add esp, 8
jmp 0x40535c
push 0x4a50e0
push 0x4a74f0
call fcn.00401334
add esp, 8
test eax, eax
jne 0x40535c
call fcn.0040130c
call fcn.00401a46
mov edi, dword [ebp + 0x108]
cmp edi, ebx
jle 0x40540c
mov edx, dword [ebp - 0x10]
mov esi, dword [edx + 4]
mov edi, str.__version
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4053a9
push 0x4a50e0
push 0x4a72c0
call fcn.00401325
push eax
push 0x47c328
call fcn.004019c9
add esp, 0x10
push 0
call fcn.00401d9d
mov edi, dword [ebp + 0x108]
cmp edi, ebx
jle 0x40540c
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 4]
mov edi, str.__help
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405406
push 0x4a50e0
push 0x4a72c0
call fcn.00401325
push eax
push str._S_n_n
call fcn.004019c9
push str._b_file_t_tbatch_mode__read_and_execute_commands_from__file__n_c_command_trun__command_from_next_argument__n_d_t_tload_directory_stack_from___.cshdirs__n_Dname_value__tdefine_environment_variable__name_to__value__DomainOS_only___n_e_t_texit_on_any_error__n_f_t_tstart_faster_by_ignoring_the_start_up_file__n_F_t_tuse_fork___instead_of_vfork___when_spawning__ConvexOS_only___n_i_t_tinteractive__even_when_input_is_not_from_a_terminal__n_l_t_tact_as_a_login_shell__must_be_the_only_option_specified__n_m_t_tload_the_start_up_file__whether_or_not_owned_by_effective_user__n_n_file_t_tno_execute_mode__just_check_syntax_of_the_following__file__n_q_t_taccept_SIGQUIT_for_running_under_a_debugger__n_s_t_tread_commands_from_standard_input__n_t_t_tread_one_line_from_standard_input__n_v_t_techo_commands_after_history_substitution__n_V_t_tlike__v_but_including_commands_read_from_the_start_up_file__n_x_t_techo_commands_immediately_before_execution__n_X_t_tlike__x_but_including_commands_read_from_the_start_up_file__n__help_t_tprint_this_message_and_exit__n__version_tprint_the_version_shell_variable_and_exit__n_nSee_the_tcsh_1__manual_page_for_detailed_information._n
push 8
push 0xb
call fcn.00401069
push eax
push 0x47bdd8
call fcn.004019c9
add esp, 0x24
push 0
call fcn.00401d9d
mov edi, dword [ebp + 0x108]
mov eax, dword [ebp - 0x10]
sub edi, ebx
add eax, 4
xor ecx, ecx
cmp edi, ecx
mov dword [ebp + 0x108], edi
mov dword [ebp - 8], eax
jle 0x4055f9
mov edx, dword [ebp - 8]
mov esi, dword [edx]
cmp byte [esi], 0x2d
jne 0x4055f9
mov al, byte [esi + ebx]
add esi, ebx
test al, al
je 0x4055f9
cmp dword [ebp - 0x1c], ecx
jne 0x4055f9
jmp 0x405450
movsx eax, al
add esi, ebx
cmp eax, 0x78
mov dword [ebp - 0x60], esi
ja case.0x405468.1
movzx eax, byte [eax + 0x405c4c]
jmp dword [eax*4 + 0x405c00]
mov dword [0x4a5208], ecx
mov dword [0x4a508c], ebx
mov dword [ebp - 0xc], ebx
jmp case.0x405468.9
mov dword [ebp - 0x1c], ebx
jmp case.0x405468.9
cmp edi, ebx
je 0x4053a2
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
add eax, 4
sub edi, ebx
push ecx
mov dword [ebp + 0x108], edi
mov dword [ebp - 8], eax
call fcn.00401429
push eax
call fcn.004019f6
add esp, 8
test eax, eax
mov dword [0x4a50c4], eax
je 0x4054e3
push 2
push eax
call fcn.004019f6
push eax
call fcn.00401de3
add esp, 8
push eax
push 0x4a75f8
call fcn.004019c4
mov eax, dword [0x4a50c4]
add esp, 0xc
push eax
call fcn.00401e1a
mov edx, dword [0x4a50c4]
xor ecx, ecx
add esp, 4
cmp eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], ecx
jbe 0x405515
mov edi, edi
sub eax, 2
cmp word [eax], 0x5c
jne 0x40550f
add ecx, ebx
cmp eax, edx
ja 0x405500
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], ecx
test bl, cl
je 0x405529
push 0x29
mov dword [0x4a5064], ebx
call fcn.0040100a
add esp, 4
mov dword [0x4a5208], 0
mov dword [ebp - 0xc], ebx
jmp case.0x405468.9
mov dword [ebp - 0x38], ebx
jmp case.0x405468.9
mov dword [0x4a5064], ebx
jmp case.0x405468.9
mov dword [0x4a5200], ebx
jmp case.0x405468.9
mov dword [0x4a5074], ebx
mov dword [ebp - 0xc], ebx
jmp case.0x405468.9
mov dword [0x4a5204], ebx
jmp case.0x405468.9
mov dword [0x4a5084], ebx
jmp case.0x405468.9
mov dword [ebp - 0x18], ebx
jmp case.0x405468.9
mov dword [0x4a50c8], 2
mov dword [0x4a5208], ecx
mov dword [ebp - 0xc], ebx
jmp case.0x405468.9
mov dword [ebp - 0x24], ebx
jmp case.0x405468.9
mov dword [ebp - 0x2c], ebx
jmp case.0x405468.9
push 0x4a73c4
call fcn.00401d07
add esp, 4
jmp case.0x405468.9
push 0x4a73d4
call fcn.00401d07
add esp, 4
jmp case.0x405468.9
mov dword [0x4a51b4], ebx
jmp case.0x405468.9
mov edx, dword [0x4891f8]
push edx
lea eax, [esi - 1]
push eax
push 0x7c
mov dword [0x4a5064], ebx
call fcn.0040100a
add esp, 0xc
mov al, byte [esi]
xor ecx, ecx
test al, al
jne 0x405450
add dword [ebp - 8], 4
sub edi, ebx
cmp edi, ecx
mov dword [ebp + 0x108], edi
jg 0x405427
cmp dword [ebp - 0x18], ecx
je 0x40560a
push 0
push 2
call fcn.0040145b
add esp, 8
cmp dword [ebp - 0xc], 0
jne 0x4056ed
test edi, edi
jle 0x4056ed
mov edi, dword [ebp - 8]
mov ecx, dword [edi]
push 0
push ecx
call fcn.00401d98
mov esi, eax
add esp, 8
test esi, esi
jge 0x405653
mov dword [0x4a5068], ebx
call fcn.0044ad41
mov edx, dword [eax]
push edx
call fcn.0044aed0
push eax
mov eax, dword [edi]
push eax
push 0x36
call fcn.0040100a
add esp, 0x10
mov ecx, dword [0x4a5214]
push ecx
call fcn.00401348
mov dword [0x4a5218], ebx
mov edx, dword [edi]
push edx
call fcn.00401429
push eax
call fcn.004019f6
push 0x10
push esi
mov dword [0x4a5214], eax
call fcn.0040139d
add esp, 0x14
test eax, eax
mov dword [0x4a50d0], eax
jge 0x4056d3
sub esi, 0
je 0x4056c9
sub esi, ebx
je 0x4056c2
sub esi, ebx
je 0x4056bb
call fcn.0044ad41
mov eax, dword [eax]
push eax
call fcn.0044aed0
mov ecx, dword [edi]
push eax
push ecx
push 0x36
call fcn.0040100a
mov eax, dword [0x4a50d0]
add esp, 0x10
jmp 0x4056d3
mov eax, 0x12
jmp 0x4056ce
mov eax, 0x11
jmp 0x4056ce
mov eax, 0x10
mov dword [0x4a50d0], eax
push ebx
push eax
call fcn.004017a8
add esp, 8
add edi, 4
mov dword [0x4a5208], 0
mov dword [ebp - 8], edi
call fcn.00401825
mov edx, dword [0x4a50d0]
push edx
call fcn.00401870
add esp, 4
test eax, eax
mov dword [0x4a5070], eax
jne 0x405737
push 0x4a50e0
push 0x4a7360
call fcn.00401334
add esp, 8
test eax, eax
je 0x40572d
push 0x4a7360
call fcn.00401497
add esp, 4
mov dword [0x4a5094], 0
mov eax, dword [0x4a5074]
or dword [0x4a5070], eax
jne 0x40575a
test eax, eax
je 0x4057ac
mov eax, dword [0x4a50d4]
push eax
call fcn.00401870
add esp, 4
test eax, eax
je 0x4057ac
cmp dword [ebp - 0x1c], 0
jne 0x4057ac
mov ecx, dword [0x4893f0]
cmp ecx, dword [0x4891f0]
jne 0x40577c
mov edx, dword [0x488b50]
cmp edx, dword [0x488e3c]
je 0x4057ac
call fcn.0044ad41
mov dword [eax], 0xd
mov dword [0x4a5068], ebx
call fcn.0044ad41
mov eax, dword [eax]
push eax
call fcn.0044aed0
mov ecx, dword [0x4891f8]
push eax
push ecx
push 0x36
call fcn.0040100a
add esp, 0x10
mov edx, dword [0x4a50d4]
push edx
call fcn.00401870
mov dword [0x4a50a4], eax
mov eax, dword [0x4a50d8]
push eax
call fcn.00401870
add esp, 8
cmp dword [0x4a507c], 0
mov dword [0x4a50a8], eax
jne 0x4057fe
cmp dword [0x4a5074], 0
jne 0x4057fe
cmp dword [0x4a5070], 0
je 0x405804
mov ecx, dword [0x4a50d4]
push ecx
call fcn.00401870
add esp, 4
test eax, eax
je 0x405804
mov dword [0x4a508c], ebx
call fcn.004019ec
mov edx, dword [ebp - 8]
push 2
push 0x4a50e0
push edx
call fcn.00401550
add esp, 4
push eax
push 0x4a75ec
call fcn.004019a6
add esp, 0x10
cmp dword [0x4a5208], 0
je 0x40587c
cmp dword [0x488f64], 0
push 2
je 0x405845
push 0x4a764c
jmp 0x40584a
push 0x4a7654
push 0x4a73ec
call fcn.0040101e
add esp, 0xc
push 2
push 0x4a7658
push 0x4a73fc
call fcn.0040101e
push 2
push 0x4a7664
push 0x4a740c
call fcn.0040101e
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
or esi, 0xffffffff
cmp dword [0x4a508c], 0
mov dword [0x488960], eax
mov dword [0x488a2c], esi
mov dword [0x48908c], esi
je 0x405960
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
test edi, edi
mov ecx, dword [eax]
mov byte [ecx], 0x2d
jne 0x4058bd
push ebx
push 2
call fcn.0040145b
add esp, 8
push 0x401546
push ebx
mov dword [0x49601c], ebx
call fcn.00401e6a
push ebx
push 6
call fcn.0040145b
lea edx, [ebp - 0x80]
push edx
push 0
push 3
call fcn.004015a5
add esp, 0x1c
cmp dword [0x4a507c], 0
jne 0x4058f4
cmp dword [ebp - 0x80], ebx
je 0x405903
push 0x401eb0
push 3
call fcn.00401e6a
add esp, 8
test edi, edi
jne 0x405957
cmp dword [0x4a50c4], edi
jne 0x405957
push ebx
push 0x12
call fcn.0040145b
push ebx
push 0x14
call fcn.0040145b
push ebx
push 0x13
call fcn.0040145b
push 0x12
call fcn.00401870
add esp, 0x1c
test eax, eax
jne 0x405951
push 0x11
call fcn.00401870
add esp, 4
test eax, eax
jne 0x405951
mov eax, dword [0x4a50dc]
push eax
call fcn.00401870
add esp, 4
mov dword [0x488a2c], esi
cmp dword [0x4a508c], 0
jne 0x40596f
cmp dword [0x488f50], 0
jne 0x40596f
mov dword [0x4a508c], ebx
push 0x401c58
push 0xf
call fcn.00401e6a
xor esi, esi
add esp, 8
cmp dword [0x4a5070], esi
je 0x40599f
cmp dword [0x4a50c4], esi
jne 0x40599f
mov ecx, dword [0x4a5094]
push ecx
call fcn.00401145
add esp, 4
mov edx, dword [0x4a508c]
mov eax, dword [0x488f50]
mov ecx, dword [0x488f54]
mov dword [ebp - 0x30], edx
mov edx, dword [0x488f58]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
call fcn.004016d1
push esi
push 0x4a51b8
call fcn.0044ae10
add esp, 8
neg eax
sbb eax, eax
add dword [0x4a5220], ebx
neg eax
cmp dword [0x4a5200], esi
mov dword [0x4a506c], esi
jne 0x405b3c
cmp eax, esi
jne 0x405b3c
add dword [0x49601c], ebx
push fcn.004012fd
push 0x49601c
call fcn.004013d9
push esi
push esi
push esi
push str._etc_csh.cshrc
mov dword [0x4a508c], esi
mov dword [0x488f50], ebx
call fcn.00401a28
add esp, 0x18
cmp dword [0x4a50c4], esi
jne 0x405a4e
cmp dword [0x4a50c8], esi
jne 0x405a4e
cmp dword [0x4a5090], esi
jne 0x405a4e
push esi
push esi
call fcn.00401221
add esp, 8
cmp dword [0x4a507c], esi
je 0x405a66
push esi
push esi
push esi
push str._etc_csh.login
call fcn.00401a28
add esp, 0x10
push 0x49601c
call fcn.00401eb5
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [0x4a508c], eax
mov eax, dword [ebp - 0x3c]
push 0x4a50e0
push 0x4a7290
mov dword [0x488f50], ecx
mov dword [0x488f54], edx
mov dword [0x488f58], eax
call fcn.00401325
mov ecx, eax
add esp, 0xc
mov eax, 0x4a7aa0
call fcn.00404670
test eax, eax
jne 0x405ad2
push 0x4a50e0
push 0x4a7290
call fcn.00401325
mov ecx, eax
add esp, 8
mov eax, 0x4a7ab4
call fcn.00404670
cmp dword [0x4a50c4], esi
jne 0x405af4
cmp dword [0x4a50c8], esi
jne 0x405af4
cmp dword [0x4a5090], esi
jne 0x405af4
push esi
push esi
call fcn.00401221
add esp, 8
push esi
push esi
call fcn.00401217
add esp, 8
cmp dword [0x4a507c], esi
je 0x405b2c
push 0x4a50e0
push 0x4a7290
call fcn.00401325
mov ecx, eax
add esp, 8
mov eax, 0x4a7ac4
call fcn.00404670
cmp dword [0x4a507c], esi
jne 0x405b33
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x405b3c
push esi
call fcn.00401415
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
sub dword [0x4a5220], ebx
cmp dword [0x4a5070], esi
mov dword [0x4a508c], edx
mov edx, dword [ebp - 0x3c]
mov dword [0x488f50], eax
mov dword [0x488f54], ecx
mov dword [0x488f58], edx
je 0x405b7a
cmp dword [0x4a50c4], esi
jne 0x405b7a
call fcn.0040128f
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x405b8e
push 0x4a73c4
call fcn.00401d07
add esp, 4
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x405ba2
push 0x4a73d4
call fcn.00401d07
add esp, 4
mov edx, dword [0x4a508c]
push edx
call fcn.00401b0e
add esp, 4
cmp dword [0x4a5070], esi
je 0x405bf3
cmp dword [0x4a507c], esi
je 0x405be6
push str.logout_n
call fcn.004019c9
mov eax, dword [0x4a50d0]
push eax
call fcn.0040146a
add esp, 8
push esi
push esi
mov dword [0x4a5068], ebx
call fcn.00401ab4
push str.exit_n
call fcn.004019c9
add esp, 4
call fcn.00403db0
jmp fcn.004011c7