Function at 0x438580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov edx, 0x17
mov eax, 0x2d
push edi
push esi
push ebx
sub esp, 0xc8c
cmp dword [0x5029ac], 0x17
cmovl eax, edx
mov edx, 0x14
mov dword [esp + 4], str.re_info.txt
mov esi, dword [esp + 0xcac]
mov dword [esp + 0x60], eax
mov eax, 0x2a
cmovl eax, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xca8]
mov eax, dword [eax*4 + 0x54c560]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xca4]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov dword [esp + 0x58], eax
test eax, eax
je 0x43860e
mov eax, dword [esp + 0xca4]
mov dword [esp + 4], str.d_info.txt
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov dword [esp + 0x58], eax
test eax, eax
jne 0x43a820
mov ebp, dword [esp + 0xca8]
test ebp, ebp
je 0x43a7f2
cmp dword [esp + 0xca8], 0xa
jg 0x43a7f2
mov eax, dword [esp + 0xca8]
lea edi, [esp + 0x880]
mov dword [esp + 4], 0x400
mov dword [esp], edi
mov dword [eax*4 + 0x501320], 0xffffffff
mov eax, dword [esp + 0xca4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xca0]
mov dword [esp + 8], eax
call fcn.00404e10
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov dword [eax], 0
mov dword [esp + 4], 0x50e35f
mov dword [esp], edi
call fcn.00445e10
test eax, eax
je 0x43aadd
lea ebp, [esp + 0x19e]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xa1
mov dword [esp], ebp
mov dword [esp + 0x38], eax
call sub.msvcrt.dll_fgets
mov edx, dword [esp + 0x38]
test eax, eax
je 0x4386c9
mov eax, dword [esp + 0xca8]
mov dword [eax*4 + 0x501320], 0
mov dword [esp], edx
call fcn.00445e70
mov eax, dword [esp + 0xca8]
cmp dword [eax*4 + 0x501320], 0xffffffff
je 0x43aa5b
mov dword [esp + 4], 0x50e35f
mov dword [esp], edi
call fcn.00445e10
mov dword [esp + 0x84], 0
mov ebx, eax
mov eax, esi
test al, al
je 0x438864
mov dword [esp + 8], 2
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
test eax, eax
je 0x43877f
jmp 0x43887c
call sub.msvcrt.dll_ftell
cmp eax, 1
je 0x43a975
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfffffffe
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
cmp eax, 0xffffffff
je 0x43887c
mov dword [esp], ebx
call sub.msvcrt.dll_fgetc
mov dword [esp], ebx
cmp eax, 0xa
jne 0x438750
call sub.msvcrt.dll_ftell
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xa1
mov edi, eax
mov dword [esp], ebp
sub edi, 1
call sub.msvcrt.dll_fgets
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
mov eax, dword [esp + 0x84]
test esi, esi
je 0x438883
lea esi, [eax + 1]
mov dword [esp + 4], ebp
imul eax, eax, 0xa1
mov dword [esp + 0x84], esi
add eax, 0x54d8a0
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
cmp esi, 0x88b8
jne 0x438725
mov eax, dword [esp + 0xca4]
mov dword [esp + 8], 0x88b8
mov dword [esp], 0x512648
mov dword [esp + 4], eax
call fcn.00414150
mov eax, dword [esp + 0x84]
jmp 0x438883
mov eax, dword [esp + 0x84]
mov dword [esp + 4], ebp
lea esi, [eax + 1]
imul eax, eax, 0xa1
mov dword [esp + 0x84], esi
add eax, 0x54d8a0
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
cmp esi, 0x88b8
je 0x43a9f3
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xa1
mov dword [esp], ebp
call sub.msvcrt.dll_fgets
test eax, eax
jne 0x438830
mov eax, dword [esp + 0x84]
mov dword [esp], ebx
mov edx, dword [esp + 0xca8]
sub eax, 1
xor ebx, ebx
mov dword [edx*4 + 0x501320], eax
call fcn.00445e70
mov byte [esp + 0xae], 0
call fcn.00409a70
mov eax, dword [esp + 0xca8]
mov byte [esp + 0x57], 0
mov byte [0xdfdfd9], 1
shl eax, 2
mov dword [esp + 0x74], 0xfffffc19
mov dword [esp + 0x70], eax
add eax, dword [esp + 0xca8]
shl eax, 4
mov dword [esp + 0x44], 0
add eax, 0x54c120
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], 0xffffffff
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], 0
mov byte [esp + 0x55], 0
mov byte [esp + 0x78], 0
lea esi, [esi]
call fcn.00409190
mov esi, ebx
mov eax, dword [esp + 0xca8]
mov edi, dword [esp + 0x50]
mov edx, dword [eax*4 + 0x54c560]
mov eax, dword [eax*4 + 0x501320]
mov ecx, eax
sub ecx, edi
cmp ecx, edx
je 0x438941
mov ebx, 0xe
cmp eax, edi
jge 0x438946
mov ebx, 3
lea ecx, [eax + 1]
cmp byte [esp + 0x55], 0
mov dword [esp + 0xc], ecx
je 0x439838
sub eax, edx
mov dword [esp], str.__s___line__5d_of__5d_
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0xca4]
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov edi, dword [esp + 0x60]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x1a
call fcn.00408cb0
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 7
call fcn.00408cb0
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov eax, esi
test al, al
je 0x43a6d7
movzx eax, byte [esp + 0x79]
movzx edx, byte [esp + 0x56]
test al, al
cmovne edx, eax
mov byte [esp + 0x79], dl
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0040e0f0
movsx esi, al
cmp al, 0x89
jl 0x43a776
cmp al, 7
jle case.0x438a7c.1
sub eax, 8
cmp al, 0x77
ja case.0x438a7c.1
movzx eax, al
jmp dword [eax*4 + 0x51282c]
mov eax, dword [esp + 0xca8]
mov eax, dword [eax*4 + 0x501320]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x38], eax
sub eax, edx
mov edx, 0
add eax, 1
cmovs eax, edx
mov edx, dword [esp + 0xca8]
mov dword [edx*4 + 0x54c560], eax
movzx eax, byte [esp + 0x79]
xor ebx, ebx
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
mov eax, dword [esp + 0x44]
add eax, 0x28
cmp eax, 0x50
jle 0x438b02
movzx eax, byte [esp + 0x79]
xor ebx, ebx
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
mov edx, dword [esp + 0x44]
mov eax, 0x28
cmp edx, eax
cmovge eax, edx
sub eax, 0x28
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x79]
xor ebx, ebx
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
mov eax, dword [esp + 0xca8]
mov esi, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x501320]
mov edx, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xca8]
sub edx, esi
mov eax, dword [eax*4 + 0x54c560]
cmp edx, eax
jl case.0x43a78c.5
add eax, esi
add edx, 1
cmp eax, edx
cmovg eax, edx
test eax, eax
jns 0x438aa6
mov eax, dword [esp + 0xca8]
xor ebx, ebx
mov dword [eax*4 + 0x54c560], 0
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
mov eax, dword [esp + 0xca8]
mov esi, dword [esp + 0xca8]
mov edx, dword [eax*4 + 0x54c560]
lea eax, [edx + 1]
mov dword [esi*4 + 0x54c560], eax
mov eax, dword [esi*4 + 0x501320]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x38], eax
sub eax, esi
cmp edx, eax
jle case.0x438a7c.1
mov eax, dword [esp + 0xca8]
xor ebx, ebx
mov dword [eax*4 + 0x54c560], 0
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
mov eax, dword [esp + 0xca8]
mov edx, dword [esp + 0xca8]
mov eax, dword [eax*4 + 0x54c560]
mov dword [esp + 0x38], eax
sub eax, 1
mov dword [edx*4 + 0x54c560], eax
mov eax, edx
jns case.0x438a7c.1
jmp 0x438a8a
mov eax, dword [esp + 0xca8]
mov ecx, dword [eax*4 + 0x54c560]
mov eax, dword [eax*4 + 0x501320]
lea ebx, [ecx + 1]
cmp ebx, eax
jl 0x43a848
mov edx, 0x50ebe5
cmp ecx, eax
jl 0x43a857
mov eax, edx
mov dword [esp + 0xc], eax
imul eax, ecx, 0xa1
mov dword [esp + 0x10], edx
mov dword [esp + 4], str._s__s__s
add eax, 0x54d8a0
mov dword [esp + 8], eax
lea eax, [esp + 0x420]
mov dword [esp], eax
call fcn.00427940
movzx eax, byte [esp + 0x420]
test al, al
je 0x43ab0c
lea edx, [esp + 0x420]
cmp al, 0xa
je 0x43a938
movzx eax, byte [edx + 1]
add edx, 1
test al, al
jne 0x438c83
cmp byte [esp + 0x420], 0
je 0x43ab0c
lea edx, [esp + 0x650]
lea eax, [esp + 0x420]
mov dword [esp + 0x3c], edx
mov edi, edx
lea esi, [esi]
nop
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
lea ebx, [eax + 1]
mov byte [esp + 0x38], dl
cmp dl, 0xff
jne 0x43aa91
test cl, cl
jne 0x43a930
movzx edx, byte [ebx + 1]
add eax, 2
mov byte [edi], cl
cmp cl, 0x20
je 0x43a94f
cmp cl, 0x2d
je 0x43a962
cmp cl, 0x3d
je 0x43a9c0
add edi, 1
test dl, dl
jne 0x438cc0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0xca8]
mov byte [edi], 0
mov dword [esp + 0x10], edx
mov eax, dword [eax*4 + 0x54c560]
mov dword [esp + 4], 0x512814
mov dword [esp + 0x38], eax
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xca4]
mov dword [esp + 8], eax
lea eax, [esp + 0x420]
mov dword [esp], eax
call fcn.00427940
lea eax, [esp + 0x420]
mov byte [esp + 0x51f], 0
mov dword [esp], eax
cmp esi, 0xb
je 0x43a9e9
call fcn.00470250
jmp case.0x438a7c.1
xor eax, eax
cmp esi, 0x72
mov esi, dword [esp + 0x60]
mov dword [esp + 8], 0x50
mov dword [esp], 0
sete al
mov dword [esp + 4], esi
lea eax, [eax + eax + 1]
mov dword [esp + 0x84], eax
call fcn.00409060
mov dword [esp + 0x10], str.Enter_search_regexp:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
shl eax, 4
cmp byte [eax + 0x54c120], 0
jne 0x43a8f8
mov byte [esp + 0xae], 0
lea esi, [esp + 0xae]
mov dword [esp + 8], 0
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 4], 0x4f
mov dword [esp], esi
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
cmp byte [esp + 0xae], 0
mov byte [0xdfdfd8], bl
je 0x438f46
mov edx, dword [esp + 0x74]
lea ebx, [esp + 0x8c]
test edx, edx
je 0x43aad0
mov eax, dword [esp + 0x84]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.libgnurx_0.dll_regcomp
mov dword [esp + 0x74], eax
test eax, eax
jne 0x43aaa7
mov eax, dword [esp + 0xca8]
mov edi, dword [esp + 0x50]
mov edx, dword [eax*4 + 0x54c560]
mov dword [eax*4 + 0x54c520], edx
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x6c], edx
add edx, 1
mov dword [esp + 0x38], eax
sub eax, edi
cmp eax, edx
cmovg eax, edx
test eax, eax
js 0x43aa3d
lea edx, [eax - 1]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xca8]
mov dword [esp + 4], esi
xor ebx, ebx
mov dword [edx*4 + 0x54c560], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [esp + 0x14e]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x57], 1
mov byte [esp + 0x79], 1
mov byte [esp + 0x56], 0
jmp 0x438910
mov eax, dword [esp + 0xca8]
mov esi, dword [esp + 0x50]
mov edx, dword [eax*4 + 0x54c560]
mov eax, edx
sub eax, esi
test edx, edx
jne 0x438f1f
mov eax, dword [esp + 0xca8]
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x38], eax
sub eax, esi
add eax, 1
xor edx, edx
test eax, eax
cmovs eax, edx
jmp 0x438aa6
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
shl eax, 4
cmp byte [eax + 0x54c120], 0
jne 0x43a897
mov byte [esp + 0x79], 0
xor ebx, ebx
mov byte [esp + 0x56], 0
jmp 0x438910
mov esi, dword [esp + 0x60]
mov dword [esp + 8], 0x50
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_mark_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
shl eax, 4
cmp byte [eax + 0x54c120], 0
jne 0x43a914
mov byte [esp + 0xae], 0
lea esi, [esp + 0xae]
mov dword [esp + 8], 0
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 4], 0x4f
mov dword [esp], esi
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
cmp byte [esp + 0xae], 0
mov byte [0xdfdfd8], bl
jne 0x43aa17
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x57], 0
xor ebx, ebx
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438910
call fcn.00409190
mov dword [esp + 0x10], str._File_browsing___Navigation_Keys_
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov dword [esp + 0x10], str.At_the_bottom_of_the_file_screen_you_will_see_the_following_line:
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], 0
mov dword [esp + 0x84], 2
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x1a
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 7
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.Those_keys_can_be_used_to_navigate_the_file._Heres_a_detailed_explanation:
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._Space_n___p:_Move_down___up_by_one_page__ENTER_BACKSPACE_move_by_one_line_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._s____________:_Search_for_a_text_string__use_all_uppercase_for_strict_mode_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._r___R______:_Search_for_a_regular_expression__R__case_sensitive_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._d____________:_..after_s_r_R__this_jumps_to_the_next_match.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._D_or_f_____:_..after_s_r_R__this_jumps_to_the_previous_match.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._a___A______:_Mark_old_new_search_results_on_currently_visible_file_part.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._S____________:_..resets_screen_to_where_you_were_before_you_did_a_search.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._____________:_Jump_to_a_specific_line_number.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._CTRLK_L_______:_Copy_current_lines_to_clipboard___Chat_paste_current_line_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str._ESC____________:_The_Escape_key_will_exit_the_file_screen.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.In_addition__the_arrow_keys_and_the_number_pad_keys_can_be_used__and_the_keys
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.PgUp_PgDn_Home_End_should_work_both_on_the_main_keyboard_and_the_number_pad.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.This_might_depend_on_your_specific_OS_flavour_and_desktop_environment_though.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], str.Searching_in_all_caps_gives_emphasized_results_first_in_a_line__eg_flags_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x84], edx
call fcn.00408cb0
mov dword [esp + 0x10], str._Press_any_key_to_go_back_
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x17
mov dword [esp], 0x19
call fcn.00408cb0
call fcn.0040dac0
jmp case.0x438a7c.1
call fcn.0042d3f0
movzx eax, byte [esp + 0x79]
mov esi, 1
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], al
jmp 0x438917
lea eax, [esp + 0x88]
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.Uninscribe_what_
mov dword [esp], eax
mov dword [0xdfe128], 0
mov dword [0x54c7e4], 0x50df04
mov dword [0x54c7e0], 0x4413b0
call fcn.00443190
test al, al
je 0x4394aa
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0046fdc0
jmp 0x4394aa
call fcn.00427970
jmp 0x4394aa
mov esi, dword [esp + 0x60]
mov dword [esp + 8], 0x50
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_search_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
shl eax, 4
cmp byte [eax + 0x54c120], 0
jne 0x43a87b
mov byte [esp + 0xae], 0
lea esi, [esp + 0xae]
mov dword [esp + 8], 0
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 4], 0x4f
mov dword [esp], esi
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
cmp byte [esp + 0xae], 0
mov byte [0xdfdfd8], bl
je 0x43a9d3
mov eax, dword [esp + 0xca8]
mov edi, dword [esp + 0x50]
mov edx, dword [eax*4 + 0x54c560]
mov dword [eax*4 + 0x54c520], edx
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x6c], edx
add edx, 1
mov dword [esp + 0x38], eax
sub eax, edi
cmp eax, edx
cmovg eax, edx
test eax, eax
js 0x43aa4c
lea edx, [eax - 1]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xca8]
mov dword [esp + 4], esi
xor ebx, ebx
mov dword [edx*4 + 0x54c560], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x57], 0
mov byte [esp + 0x79], 1
mov byte [esp + 0x56], 0
jmp 0x438910
call fcn.00409b30
mov eax, dword [esp + 0x74]
test eax, eax
je 0x43a867
mov byte [0xdfdfd9], 0
add esp, 0xc8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x60]
mov dword [esp + 8], 0x50
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_line_number_to_jump_to:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [esp + 0xca8]
mov dword [esp + 4], 0x50e36a
mov dword [esp], ebp
mov eax, dword [eax*4 + 0x54c4e0]
mov dword [esp + 8], eax
call fcn.00427940
mov dword [esp], ebp
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 8], 0
mov dword [esp + 4], 7
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
mov byte [0xdfdfd8], bl
test al, al
je case.0x438a7c.1
mov dword [esp], ebp
call sub.msvcrt.dll_atoi
mov esi, dword [esp + 0x50]
mov edx, eax
mov eax, dword [esp + 0xca8]
mov dword [eax*4 + 0x54c4e0], edx
mov eax, dword [eax*4 + 0x501320]
sub edx, 1
mov dword [esp + 0x38], eax
sub eax, esi
cmp eax, edx
cmovg eax, edx
test eax, eax
jns 0x438aa6
jmp case.0x43a78c.5
mov dword [esp + 4], 0
mov dword [esp], 0x50e711
call fcn.004478c0
jmp 0x4394aa
mov eax, dword [esp + 0xca8]
mov edx, dword [esp + 0xca8]
mov byte [esp + 0x79], 0
xor ebx, ebx
mov byte [esp + 0x56], 0
mov eax, dword [eax*4 + 0x54c520]
mov dword [edx*4 + 0x54c560], eax
jmp 0x438910
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
shl eax, 4
cmp byte [eax + 0x54c120], 0
je 0x438f46
mov eax, dword [esp + 0xca8]
mov edx, dword [esp + 0xca8]
lea esi, [esp + 0xae]
xor ebx, ebx
mov dword [esp], esi
mov edi, dword [eax*4 + 0x54c560]
lea eax, [edi + 1]
mov dword [esp + 0x40], edi
mov dword [edx*4 + 0x54c560], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 0x6c], edi
mov byte [esp + 0x79], 1
mov byte [esp + 0x56], 0
jmp 0x438910
cmp byte [esp + 0x79], 0
jne 0x438f46
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0xca8]
xor ebx, ebx
mov byte [esp + 0x56], 0
shl eax, 4
cmp byte [eax + 0x54c120], 0
je 0x438910
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xae]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x56], 1
jmp 0x438910
mov eax, dword [esp + 0xca4]
add edx, 1
mov dword [esp], str.__s___line__5d_of__5d_
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov edi, dword [esp + 0x60]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x1a
call fcn.00408cb0
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 7
call fcn.00408cb0
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov eax, esi
test al, al
jne 0x438a22
mov eax, dword [esp + 0xca8]
xor ebx, ebx
cmp byte [esp + 0x78], 0
mov dword [eax*4 + 0x54c4a0], 0
jne 0x439929
mov ebx, dword [eax*4 + 0x54c560]
mov dword [eax*4 + 0x54c4a0], ebx
cmp byte [esp + 0x55], 0
mov byte [esp + 0xfe], 0
mov dword [esp + 0x3c], 0
je 0x439abf
lea esi, [esi]
test ebx, ebx
js 0x43a220
imul eax, ebx, 0xa1
mov dword [esp], ebp
sub ebx, 1
add eax, 0x54d8a0
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebp
mov eax, dword [esp + 0xca8]
mov dword [eax*4 + 0x54c4a0], ebx
call sub.msvcrt.dll_strlen
mov byte [esp + eax + 0x19d], 0
movzx edx, byte [esp + 0x19e]
test dl, dl
je 0x43a620
mov eax, 1
lea esi, [esp + 0x2df]
lea esi, [esi]
mov byte [esp + eax + 0x2de], dl
mov ecx, eax
add eax, 1
movzx edx, byte [esp + eax + 0x19d]
test dl, dl
jne 0x4399a8
add ecx, esi
cmp byte [esp + 0x56], 0
movzx eax, byte [esp + 0xae]
mov byte [ecx], 0
jne 0x439af8
test al, al
je 0x439b22
add dword [esp + 0x40], 1
cmp byte [esp + 0x78], 0
mov edx, dword [esp + 0x40]
je 0x439a04
mov eax, dword [esp + 0xca8]
cmp dword [eax*4 + 0x54c560], edx
je 0x43a7a7
cmp byte [esp + 0x57], 0
je 0x439f88
lea eax, [esp + 0x84]
mov dword [esp], esi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xfe]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14e]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x20], eax
call fcn.004056a0
test al, al
jne 0x43a570
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x50], edx
jle 0x439dd3
mov eax, dword [esp + 0xca8]
cmp byte [esp + 0x55], 0
mov ebx, dword [eax*4 + 0x54c4a0]
jne 0x439948
mov eax, dword [esp + 0xca8]
mov esi, dword [eax*4 + 0x501320]
cmp esi, ebx
jl 0x43a170
imul eax, ebx, 0xa1
mov dword [esp], ebp
add ebx, 1
add eax, 0x54d8a0
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
jmp 0x43996a
lea ebx, [esp + 0xae]
test al, al
je 0x43a62e
lea eax, [esp + 0xfe]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0xae], 0
cmp byte [esp + 0x57], 0
je 0x43a06c
cmp byte [esp + 0xfe], 0
jne 0x43a420
lea edi, [esp + 0x1a0]
mov ecx, ebp
xor eax, eax
xor edx, edx
sub ecx, edi
mov dword [ebp], 0
mov dword [ebp + 0x13d], 0
add ecx, 0x141
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, esi
movzx eax, byte [esp + 0x2df]
cmp al, 0xff
je 0x43a1e0
cmp al, 0x24
jne 0x439d04
mov dword [esp + 0x48], esi
mov esi, edx
jmp 0x439c30
cmp ebx, ecx
jb 0x439c84
cmp ecx, esi
jb 0x439e18
test al, al
jne 0x439e18
mov dword [esp + 4], 0x5126d0
lea ebx, [ecx + 1]
mov dword [esp], edi
call sub.msvcrt.dll_strstr
mov ecx, eax
test eax, eax
je 0x439cb5
mov eax, 0x72
cmp ecx, ebx
jae 0x439cb5
mov byte [ecx + 1], al
mov eax, ebx
sub eax, edi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], ebp
mov dword [esp + 0x38], ecx
call sub.msvcrt.dll_strncat
mov dword [esp + 4], 0x5126cd
mov dword [esp], edi
call sub.msvcrt.dll_strstr
mov ecx, dword [esp + 0x38]
mov esi, eax
cmp eax, ecx
jb 0x439c0d
mov edi, ebx
cmp ebx, eax
jae 0x439c27
mov dword [esp], ebp
mov esi, 0x77ff
mov edi, ebx
call sub.msvcrt.dll_strlen
add eax, ebp
mov byte [eax + 2], 0
mov word [eax], si
xor esi, esi
cmp byte [ebx], 0x24
jne 0x439d00
lea ecx, [edi + 1]
mov dword [esp + 4], 0x24
mov dword [esp], ecx
mov dword [esp + 0x38], ecx
call sub.msvcrt.dll_strchr
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], 0x21
mov ebx, eax
mov dword [esp], ecx
call sub.msvcrt.dll_strchr
mov ecx, eax
or eax, ebx
je 0x439d00
test esi, esi
sete al
test ebx, ebx
je 0x439b98
test ecx, ecx
jne 0x439b90
test ebx, ebx
je 0x439b98
cmp ebx, esi
jb 0x439df8
test al, al
jne 0x439df8
mov dword [esp + 4], 0x5126d0
add ebx, 1
mov dword [esp], edi
call sub.msvcrt.dll_strstr
mov ecx, eax
cmp eax, ebx
jae 0x439cb5
test eax, eax
jne 0x439e40
mov eax, ebx
mov dword [esp + 4], edi
sub eax, edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncat
mov dword [esp + 4], 0x5126cd
mov dword [esp], edi
call sub.msvcrt.dll_strstr
mov esi, eax
test eax, eax
je 0x439c0d
mov edi, ebx
cmp ebx, eax
jb 0x439c0d
cmp byte [ebx], 0x24
je 0x439c30
lea esi, [esi]
lea esi, [esi]
mov esi, dword [esp + 0x48]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], edi
mov dword [esp], ebp
mov ebx, eax
mov dword [esp + 0x84], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 4], ebp
mov dword [esp], esi
call sub.msvcrt.dll_strcpy
mov dword [esp], esi
call sub.msvcrt.dll_strlen
sub eax, ebx
mov ebx, dword [esp + 0x58]
lea edi, [esi + eax]
test ebx, ebx
je 0x439d4b
cmp byte [edi], 0x57
je 0x43a2a0
mov dword [esp + 4], 0x23
mov dword [esp], edi
call sub.msvcrt.dll_strchr
mov ebx, eax
test eax, eax
je 0x439d73
cmp edi, eax
je 0x439e54
cmp byte [eax - 1], 0x3a
jne 0x439e54
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x44]
cmp eax, edx
jl 0x439ece
lea ecx, [esi + edx]
test edx, edx
jne 0x43a280
mov ebx, 1
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
lea eax, [esi + 2]
mov dword [esp + 8], 0xffffffff
add esi, 1
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x50], edx
jg 0x439aa6
cmp byte [esp + 0xae], 0
jne 0x43a1a6
cmp byte [esp + 0x55], 0
je 0x438a22
jmp 0x43a250
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov ecx, 0x67ff
add eax, ebp
mov word [eax], cx
mov byte [eax + 2], 0
jmp 0x439c94
mov dword [esp], ebp
mov dword [esp + 0x38], ecx
call sub.msvcrt.dll_strlen
mov edx, 0x72ff
add eax, ebp
mov word [eax], dx
mov byte [eax + 2], 0
mov ecx, dword [esp + 0x38]
jmp 0x439ba8
mov eax, 0x67
jmp 0x439bd2
mov byte [eax + 1], 0x44
mov dword [esp + 4], 0x5126d0
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
test eax, eax
jne 0x439e50
mov edx, ebx
mov dword [esp + 4], edi
sub edx, edi
mov dword [esp], ebp
mov dword [esp + 8], edx
mov dword [esp + 0x38], edx
call sub.msvcrt.dll_strncpy
mov edx, dword [esp + 0x38]
mov byte [esp + edx + 0x19e], 0
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov ecx, 0x44ff
mov word [ebp + eax], cx
lea eax, [ebp + eax + 2]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x44]
cmp eax, edx
jge 0x439d87
mov dword [esp + 0x84], 0
mov ecx, 0x50ebe5
mov byte [esp + 0x48], 1
mov esi, dword [esp + 0x44]
mov ebx, 1
xor edi, edi
mov byte [esp + 0x4c], 1
mov dword [esp + 0x5c], ecx
jmp 0x439f4a
mov dword [esp], edx
mov dword [esp + 0x38], edx
call dword [sym.imp.msvcrt.dll_isalpha]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x439f1d
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x439f3c
mov dword [esp], edx
call fcn.00404da0
mov edi, dword [esp + 0x84]
movzx ebx, al
movzx eax, byte [esp + 0x48]
mov byte [esp + 0x48], bl
mov byte [esp + 0x4c], al
add edi, 1
mov dword [esp + 0x84], edi
cmp edi, esi
jge 0x439f78
cmp byte [esp + edi + 0x2df], 0xff
jne 0x439f3c
movsx edx, byte [esp + edi + 0x2e0]
cmp dl, 0x2e
jne 0x439f00
add edi, 1
movzx ebx, byte [esp + 0x4c]
mov dword [esp + 0x84], edi
cmp edi, esi
jl 0x439f4a
lea esi, [esi]
mov ecx, dword [esp + 0x5c]
jmp 0x439d97
lea ebx, [esp + 0xae]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00405240
test eax, eax
je 0x439a98
cmp byte [esp + 0x55], 0
je 0x439fdd
mov eax, dword [esp + 0xca8]
mov edx, dword [esp + 0x40]
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x38], eax
sub eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xca8]
add dword [eax*4 + 0x54c4a0], 2
lea eax, [esp + 0xfe]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xca8]
mov dword [esp], str.__s___line__5d_of__5d_
mov byte [esp + 0xae], 0
mov dword [eax*4 + 0x54c560], edx
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x38], eax
add eax, 1
mov dword [esp + 0xc], eax
lea eax, [edx + 1]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xca4]
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov byte [esp + 0x55], 0
mov byte [esp + 0x78], 0
cmp byte [esp + 0xfe], 0
je 0x439b3b
lea eax, [esp + 0xfe]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x48], eax
call fcn.00405240
test eax, eax
je 0x439b3b
mov dword [esp + 4], esi
mov dword [esp], ebp
call sub.msvcrt.dll_strcpy
cmp byte [esp + 0x19e], 0
je 0x43a7eb
mov dword [esp + 0x5c], esi
mov edi, esi
mov ebx, dword [esp + 0x48]
mov esi, ebp
mov byte [esp + 0x38], 0
jmp 0x43a0ed
movzx edx, byte [esi]
cmp byte [esp + 0x38], 0
lea eax, [edi + 1]
mov byte [edi], dl
jne 0x43a70a
mov edi, eax
add esi, 1
cmp byte [esi], 0
je 0x43a164
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00405240
cmp eax, esi
jne 0x43a0d0
lea eax, [edi + 2]
mov dword [esp + 0x48], 1
add edi, 3
mov dword [esp + 0x4c], eax
movzx eax, word [0x515128]
mov dword [esp + 0x68], 1
mov word [edi - 3], ax
movzx eax, byte [esi]
mov byte [edi - 1], al
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x48]
mov byte [esp + 0x38], 1
cmp eax, edx
jne 0x43a0e5
mov eax, dword [esp + 0x4c]
movzx edx, word [0x515126]
add esi, 1
mov byte [esp + 0x38], 0
cmp byte [esi], 0
mov word [eax + 1], dx
lea edi, [eax + 3]
jne 0x43a0ed
mov esi, dword [esp + 0x5c]
mov byte [edi], 0
jmp 0x439b3b
imul eax, esi, 0xa1
mov dword [esp], ebp
add esi, 1
add eax, 0x54d8a0
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [esp + 0xca8]
cmp byte [esp + 0xae], 0
mov dword [eax*4 + 0x54c4a0], esi
je 0x438a22
cmp byte [esp + 0x78], 0
je 0x43a793
mov eax, dword [esp + 0xca8]
mov byte [esp + 0xae], 0
xor ebx, ebx
mov byte [esp + 0x55], 0
mov eax, dword [eax*4 + 0x54c560]
mov byte [esp + 0x78], 0
mov dword [esp + 0x6c], eax
jmp 0x438910
cmp byte [esp + 0x2e0], 0x52
jne 0x439d04
mov dword [esp], ebp
mov ebx, 0x52ff
lea edi, [esp + 0x2e1]
call sub.msvcrt.dll_strlen
mov edx, esi
add eax, ebp
mov word [eax], bx
mov byte [eax + 2], 0
movzx eax, byte [esp + 0x2e1]
jmp 0x439b78
mov dword [esp + 4], 0x54d8a0
mov dword [esp], ebp
call sub.msvcrt.dll_strcpy
mov eax, dword [esp + 0xca8]
cmp byte [esp + 0xae], 0
mov dword [eax*4 + 0x54c4a0], 0xffffffff
jne 0x43a1a6
mov edx, dword [esp + 0xca8]
mov eax, dword [esp + 0xca8]
mov byte [esp + 0x55], 0
mov eax, dword [eax*4 + 0x501320]
sub eax, dword [edx*4 + 0x54c560]
add eax, 1
mov dword [edx*4 + 0x54c560], eax
jmp 0x438a22
mov dword [esp + 0x84], 0
jg 0x439ede
jmp 0x439d92
cmp byte [edi + 1], 0x3a
jne 0x439d4b
lea ebx, [edi + 2]
mov dword [esp + 0x38], ebx
jmp 0x43a2bc
mov byte [eax + 1], 0x42
mov dword [esp + 4], 0x5126d0
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
test eax, eax
jne 0x43a2b8
mov dword [esp + 8], 2
mov ebx, eax
mov dword [esp + 4], edi
mov dword [esp], ebp
call sub.msvcrt.dll_strncpy
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x3a
mov byte [esp + 0x1a0], 0
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp], ebp
cmp eax, 0x7f
je 0x43a7d3
call sub.msvcrt.dll_strlen
mov edx, 0x42ff
add eax, ebp
mov word [eax], dx
mov byte [eax + 2], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov dword [esp], ebp
sub eax, ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncat
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x48]
mov ecx, 0x77ff
mov word [ebp + eax], cx
lea eax, [ebp + eax + 2]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
mov eax, edi
jmp 0x43a38a
mov ebx, eax
add eax, 1
mov dword [esp + 4], 0x3a
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x43a388
test ebx, ebx
je 0x439d4b
add ebx, 1
jmp 0x43a3b2
mov byte [eax + 1], 0x79
mov dword [esp + 4], 0x5126d0
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
test eax, eax
jne 0x43a3ae
mov edx, ebx
mov dword [esp + 4], edi
sub edx, edi
mov dword [esp], ebp
mov dword [esp + 8], edx
mov dword [esp + 0x38], edx
call sub.msvcrt.dll_strncpy
mov edx, dword [esp + 0x38]
mov byte [esp + edx + 0x19e], 0
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov edx, 0x79ff
mov word [ebp + eax], dx
lea eax, [ebp + eax + 2]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
jmp 0x439d4b
lea eax, [esp + 0x84]
mov dword [esp], esi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xfe]
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14e]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x20], eax
call fcn.004056a0
test al, al
je 0x439b3b
mov dword [esp + 4], esi
mov dword [esp], ebp
mov byte [esp + 0x4c], al
movzx eax, byte [esp + 0x14e]
mov byte [esp + 0x7b], al
call sub.msvcrt.dll_strcpy
movzx edx, byte [esp + 0x19e]
test dl, dl
je 0x43a7eb
movzx ecx, byte [esp + 0x4c]
xor eax, eax
mov dword [esp + 0x7c], esi
mov edi, esi
mov byte [esp + 0x38], 0
mov esi, dword [esp + 0x68]
mov ebx, ebp
mov byte [esp + 0x7a], cl
mov ecx, eax
jmp 0x43a502
mov edi, eax
movzx edx, byte [ebx]
test dl, dl
je 0x43a55e
mov eax, ebx
add ebx, 1
cmp byte [esp + 0x38], 0
je 0x43a643
mov byte [edi], dl
lea eax, [edi + 1]
test cl, cl
je 0x43a4f9
add esi, 1
mov dword [esp + 0x5c], edi
mov edi, eax
mov edx, esi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], edx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x7a]
cmp eax, edx
jne 0x43a4fb
mov eax, dword [esp + 0x5c]
movzx edx, word [0x515126]
xor ecx, ecx
mov word [eax + 1], dx
movzx edx, byte [ebx]
lea edi, [eax + 3]
test dl, dl
jne 0x43a502
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x7c]
jmp 0x43a168
mov eax, dword [esp + 0xca8]
cmp byte [esp + 0x55], 0
mov eax, dword [eax*4 + 0x501320]
je 0x43a5a0
mov edi, dword [esp + 0x40]
mov edx, eax
sub edx, edi
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xca8]
add dword [edx*4 + 0x54c4a0], 2
mov edx, dword [esp + 0x40]
add eax, 1
mov dword [esp], str.__s___line__5d_of__5d_
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0xca8]
lea eax, [edx + 1]
mov byte [esp + 0xae], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0xca4]
mov dword [edi*4 + 0x54c560], edx
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov byte [esp + 0x55], 0
mov byte [esp + 0x78], 0
jmp 0x439b2d
lea esi, [esp + 0x2df]
mov ecx, esi
jmp 0x4399c2
mov eax, dword [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
jmp 0x439b07
lea edx, [esp + 0x84]
mov byte [esp + 0x4c], cl
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0x14e]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x20], edx
call fcn.004056a0
movzx ecx, byte [esp + 0x4c]
test al, al
jne 0x43a722
movzx edx, byte [ebx - 1]
jmp 0x43a512
mov eax, dword [esp + 0xca8]
cmp byte [esp + 0x78], 0
mov ebx, dword [eax*4 + 0x501320]
mov dword [eax*4 + 0x54c4a0], ebx
jne 0x439929
sub ebx, dword [eax*4 + 0x54c560]
mov dword [eax*4 + 0x54c4a0], ebx
jmp 0x439929
add dword [esp + 0x68], 1
mov edx, dword [esp + 0x68]
mov dword [esp + 0x4c], edi
mov edi, eax
mov dword [esp + 0x48], edx
jmp 0x43a130
mov eax, dword [esp + 0x48]
mov byte [esp + 0x4c], cl
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, dword [esp + 0x84]
movzx edx, byte [ebx - 1]
movzx ecx, byte [esp + 0x4c]
jne 0x43a512
cmp byte [esp + 0x7b], 0x5e
lea eax, [edi + 2]
mov esi, 0x52ff
mov byte [edi + 2], dl
mov word [edi], si
mov edx, 1
mov esi, 1
sete byte [esp + 0x38]
add edi, 3
mov dword [esp + 0x5c], eax
jmp 0x43a526
cmp al, 0x80
je case.0x438a7c.1
add eax, 0x7e
cmp al, 6
ja case.default.0x43a78c
movzx eax, al
jmp dword [eax*4 + 0x512a0c]
mov dword [esp + 0x40], 0xffffffff
xor ebx, ebx
mov byte [esp + 0x78], 1
jmp 0x438910
mov edx, dword [esp + 0x6c]
mov byte [esp + 0xae], 0
xor ebx, ebx
mov byte [esp + 0xfe], 0
mov dword [eax*4 + 0x54c560], edx
mov byte [esp + 0x55], 0
mov byte [esp + 0x78], 0
jmp 0x438910
call sub.msvcrt.dll_strlen
mov ecx, 0x73ff
add eax, ebp
mov word [eax], cx
mov byte [eax + 2], 0
jmp 0x43a331
mov edi, esi
jmp 0x43a168
mov dword [0x54c560], 0
mov dword [0x54c520], 0
mov dword [0x54c4e0], 0
mov dword [esp + 0xca8], 0
jmp 0x43862b
mov eax, dword [esp + 0xca4]
mov dword [esp + 4], str.st_info.txt
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x58], eax
jmp 0x43860e
lea edx, [ecx + 2]
imul edx, edx, 0xa1
add edx, 0x54d8a0
imul eax, ebx, 0xa1
add eax, 0x54d8a0
jmp 0x438c3e
lea eax, [esp + 0x8c]
mov dword [esp], eax
call sub.libgnurx_0.dll_regfree
jmp 0x439649
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xae]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
jmp 0x439589
mov eax, dword [esp + 0xca8]
lea esi, [esp + 0xae]
xor ebx, ebx
mov dword [esp], esi
mov edx, dword [eax*4 + 0x54c560]
mov eax, dword [eax*4 + 0x501320]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x38], eax
sub eax, edx
mov edx, dword [esp + 0xca8]
mov dword [esp + 0x40], eax
add eax, 1
mov dword [edx*4 + 0x54c560], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x79], 1
mov byte [esp + 0x56], 0
mov byte [esp + 0x55], 1
jmp 0x438910
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xae]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
jmp 0x438df6
mov eax, dword [esp + 0x64]
lea esi, [esp + 0xae]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
jmp 0x438fc5
add eax, 2
jmp 0x438cc0
mov byte [edx], 0x20
movzx eax, byte [edx + 1]
add edx, 1
test al, al
jne 0x438c83
jmp 0x438c96
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x20
je 0x43a951
jmp 0x438d03
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x2d
je 0x43a964
jmp 0x438d03
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xa1
mov dword [esp], ebp
call sub.msvcrt.dll_fgets
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov esi, eax
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
jmp 0x4387c3
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x3d
je 0x43a9c2
jmp 0x438d03
mov byte [esp + 0x57], 0
xor ebx, ebx
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], 0
jmp 0x438910
call fcn.0040eb50
jmp case.0x438a7c.1
mov eax, dword [esp + 0xca4]
mov dword [esp + 8], 0x88b8
mov dword [esp], 0x512648
mov dword [esp + 4], eax
call fcn.00414150
jmp 0x43887c
mov eax, dword [esp + 0x64]
mov dword [esp + 4], esi
xor ebx, ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x57], 0
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], 1
jmp 0x438910
mov dword [esp + 0x40], 0xffffffff
xor eax, eax
jmp 0x438ea7
mov dword [esp + 0x40], 0xffffffff
xor eax, eax
jmp 0x439604
call ebx
mov edi, dword [eax]
test edi, edi
jle 0x43ab1a
call ebx
mov eax, dword [eax]
mov dword [esp], 0x5125e0
mov dword [esp + 8], eax
mov eax, dword [esp + 0xca4]
mov dword [esp + 4], eax
call fcn.00414150
add esp, 0xc8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, ecx
movzx ecx, byte [esp + 0x38]
mov dword [esp + 0x38], ebx
mov ebx, eax
mov eax, dword [esp + 0x38]
jmp 0x438ce6
mov dword [esp + 4], eax
xor ebx, ebx
mov dword [esp], 0x511474
call fcn.00414150
mov byte [esp + 0xae], 0
mov byte [esp + 0x79], 0
mov byte [esp + 0x56], 0
jmp 0x438910
mov dword [esp], ebx
call sub.libgnurx_0.dll_regfree
jmp 0x438e43
call ebx
cmp dword [eax], 2
jne 0x43aa67
mov eax, dword [esp + 0xca4]
mov dword [esp], 0x512568
mov dword [esp + 4], eax
call fcn.00414150
mov dword [esp], 0x51259c
call fcn.00412f10
jmp 0x439650
lea edx, [esp + 0x650]
mov edi, edx
jmp 0x438d0e
mov eax, dword [esp + 0xca4]
mov dword [esp], 0x512624
mov dword [esp + 4], eax
call fcn.00414150
mov dword [esp], 0x51259c
call fcn.00412f10
jmp 0x439650