Function at 0x464d7a
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x18], 0xffffffff
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
and dword [esi], 0
and dword [esi + 4], 0
mov ebx, dword [eax]
movsx eax, byte [ebx + edi]
push eax
call fcn.004845c3
test eax, eax
pop ecx
je 0x464dab
inc ebx
jmp 0x464d99
cmp ebx, dword [ebp + 0x10]
mov eax, ebx
jge 0x464dbe
cmp byte [eax + edi], 0xa
je 0x464dbe
inc eax
cmp eax, dword [ebp + 0x10]
jl 0x464db2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
cmp byte [ebx + eax], 0x22
lea edi, [ebx + eax]
je 0x465892
cmp ebx, dword [ebp + 0x10]
mov eax, ebx
mov dword [ebp - 0x10], eax
jge 0x464e00
jmp 0x464de0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
movsx eax, byte [eax + ecx]
push eax
call fcn.004845c3
test eax, eax
pop ecx
jne 0x464dfd
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0x10]
jl 0x464ddd
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18], eax
add eax, ecx
push str.GotoLine
push edi
mov cl, byte [eax]
and byte [eax], 0
mov ebx, dword [esi + 4]
mov byte [ebp + 0x17], cl
mov dword [esi + 8], edi
mov dword [ebp - 8], ebx
call fcn.00485250
pop ecx
test eax, eax
pop ecx
je 0x464e3b
push str.GotoPage
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464e41
mov dword [esi], 0x67
push 0x4edea4
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464e5d
mov dword [esi], 0x82
jmp 0x465715
push 0x4ede94
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
je 0x464e52
push str.HexInsert
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464e8a
mov dword [esi], 0x69
jmp 0x465715
push str.HexDelete
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
je 0x464e7f
push 0x4ec3ac
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464eb7
mov dword [esi], 0x4b
jmp 0x465715
push str.Template
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464ed3
mov dword [esi], 0x74
jmp 0x465715
push str.SortAsc
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464f0b
imul ebx, ebx, 0x2c
add ebx, esi
mov dword [esi], 0x76
push edi
mov dword [ebx + 0x34], edi
and dword [ebx + 0xc], 0
call fcn.00483b20
inc dword [ebp - 8]
mov dword [ebx + 0x30], eax
inc dword [esi + 4]
pop ecx
jmp 0x465715
push str.SortDes
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
je 0x464ee4
push 0x4ede74
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464f38
mov dword [esi], 0x46
jmp 0x465715
push 0x4ede6c
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464f54
mov dword [esi], 0x52
jmp 0x465715
push 0x4ea448
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464f70
mov dword [esi], 0x73
jmp 0x465715
push 0x4edc34
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
je 0x464f65
push 0x4ede64
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464f9d
mov dword [esi], 0x66
jmp 0x465715
push 0x4ede60
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464fb9
mov dword [esi], 0x53
jmp 0x465715
push 0x4ede58
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464fd5
mov dword [esi], 0x4f
jmp 0x465715
push 0x4ede50
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x464ff1
mov dword [esi], 0x50
jmp 0x465715
push str.StartSelect
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46500d
mov dword [esi], 0x4c
jmp 0x465715
push str.EndSelect
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465029
mov dword [esi], 0x4e
jmp 0x465715
push 0x4edbf8
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465045
mov dword [esi], 0x48
jmp 0x465715
push str.SelectToTop
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465061
mov dword [esi], 0x41
jmp 0x465715
push 0x4edbe4
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46507d
mov dword [esi], 0x45
jmp 0x465715
push 0x4edbd4
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465099
mov dword [esi], 0x5a
jmp 0x465715
push str.InsertMode
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4650b5
mov dword [esi], 0x49
jmp 0x465715
push 0x4edbb8
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4650d1
mov dword [esi], 0x56
jmp 0x465715
push 0x4edba8
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4650ed
mov dword [esi], 0x42
jmp 0x465715
push str.GotoBookMark
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465109
mov dword [esi], 0x47
jmp 0x465715
push 0x4edb84
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465125
mov dword [esi], 0x80
jmp 0x465715
push str.NextWindow
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465141
mov dword [esi], 0x6e
jmp 0x465715
push 0x4edb68
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46515d
mov dword [esi], 0x70
jmp 0x465715
push 0x4edb60
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465179
mov dword [esi], 0x68
jmp 0x465715
push 0x4edb58
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465195
mov dword [esi], 0x6f
jmp 0x465715
push str.TimeDate
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4651b1
mov dword [esi], 0x54
jmp 0x465715
push str.DeleteLine
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4651cd
mov dword [esi], 0x61
jmp 0x465715
push str.ToUpper
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4651e9
mov dword [esi], 0x57
jmp 0x465715
push str.ToLower
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465205
mov dword [esi], 0x77
jmp 0x465715
push 0x4edb28
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465221
mov dword [esi], 0x58
jmp 0x465715
push str.InvertCase
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46523d
mov dword [esi], 0x78
jmp 0x465715
push str.ColumnModeOn
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465259
mov dword [esi], 0x6c
jmp 0x465715
push str.ColumnModeOff
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465275
mov dword [esi], 0x6d
jmp 0x465715
push str.ReturnToWrap
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465291
mov dword [esi], 0x4a
jmp 0x465715
push str.DosToUnix
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4652ad
mov dword [esi], 0x64
jmp 0x465715
push str.DosToMac
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4652c9
mov dword [esi], 0x62
jmp 0x465715
push str.UnixMacToDos
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4652e5
mov dword [esi], 0x75
jmp 0x465715
push str.CloseFile
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465301
mov dword [esi], 0x63
jmp 0x465715
push str.NewFile
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46531d
mov dword [esi], 0x51
jmp 0x465715
push str.WrapToReturn
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465339
mov dword [esi], 0x44
jmp 0x465715
push str.PlayMacro
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465355
mov dword [esi], 0x4d
jmp 0x465715
push str.SelectWord
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465371
mov dword [esi], 0x6b
jmp 0x465715
push str.SelectAll
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46538d
mov dword [esi], 0x29
jmp 0x465715
push 0x4eda9c
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4653a9
mov dword [esi], 0x30
jmp 0x465715
push 0x4eda88
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4653c5
mov dword [esi], 0x31
jmp 0x465715
push 0x4eda74
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4653e1
mov dword [esi], 0x32
jmp 0x465715
push str.AnsiToOem
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4653fd
mov dword [esi], 0x33
jmp 0x465715
push str.OemToAnsi
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465419
mov dword [esi], 0x34
jmp 0x465715
push 0x4eda4c
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465435
mov dword [esi], 0x35
jmp 0x465715
push str.IfFound
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465451
mov dword [esi], 4
jmp 0x465715
push str.IfNotFound
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46546d
mov dword [esi], 5
jmp 0x465715
push 0x4eda30
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465489
mov dword [esi], 6
jmp 0x465715
push str.TabsToSpaces
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4654a5
mov dword [esi], 1
jmp 0x465715
push str.SpacesToTabs
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4654c1
mov dword [esi], 2
jmp 0x465715
push 0x4eda00
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4654dd
mov dword [esi], 3
jmp 0x465715
push str.RunTool
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4654f9
mov dword [esi], 0xb
jmp 0x465715
push str.ColumnInsert
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465515
mov dword [esi], 7
jmp 0x465715
push 0x4ede00
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465531
mov dword [esi], 8
jmp 0x465715
push str.ColumnDelete
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46554d
mov dword [esi], 9
jmp 0x465715
push str.ColumnCut
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465569
mov dword [esi], 0xa
jmp 0x465715
push str.MatchBrace
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465585
mov dword [esi], 0xc
jmp 0x465715
push 0x4ed9dc
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4655a1
mov dword [esi], 0xd
jmp 0x465715
push 0x4ed9c4
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4655bd
mov dword [esi], 0x81
jmp 0x465715
push 0x4ed94c
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4655d9
mov dword [esi], 0xe
jmp 0x465715
push 0x4ed944
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4655f5
mov dword [esi], 0xf
jmp 0x465715
push str.IfCharIs
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465611
mov dword [esi], 0x10
jmp 0x465715
push 0x4eddd0
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46562d
mov dword [esi], 0x12
jmp 0x465715
push str.EndLoop
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465649
mov dword [esi], 0x13
jmp 0x465715
push str.IfColNum
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465665
mov dword [esi], 0x14
jmp 0x465715
push str.ExitMacro
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465681
mov dword [esi], 0x15
jmp 0x465715
push str.ExitLoop
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x46569a
mov dword [esi], 0x16
jmp 0x465715
push 0x4ed8fc
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4656b3
mov dword [esi], 0x17
jmp 0x465715
push 0x4ed8e8
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4656cc
mov dword [esi], 0x18
jmp 0x465715
push str.GetString
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4656e5
mov dword [esi], 0x19
jmp 0x465715
push str.GetValue
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x4656fe
mov dword [esi], 0x21
jmp 0x465715
push 0x4edda0
push edi
call fcn.00485250
pop ecx
test eax, eax
pop ecx
jne 0x465715
mov dword [esi], 0x83
mov eax, dword [ebp - 0x10]
lea edi, [eax + 1]
cmp edi, dword [ebp - 4]
jge 0x46586e
mov eax, dword [ebp - 8]
imul eax, eax, 0x2c
add eax, esi
lea ecx, [eax + 0xc]
mov dword [ebp - 0x14], ecx
lea ecx, [eax + 0x30]
add eax, 0x34
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
lea ebx, [edi + eax]
movsx eax, byte [edi + eax]
push eax
call fcn.004845c3
test eax, eax
pop ecx
je 0x465759
inc edi
jmp 0x46585f
mov al, byte [ebx]
cmp al, 0x30
jl 0x4657af
cmp al, 0x39
jg 0x4657af
push ebx
call fcn.00484505
mov ecx, dword [ebp - 0x10]
inc dword [ebp - 8]
add dword [ebp - 0x10], 0x2c
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
add dword [ebp - 0xc], 0x2c
mov dword [eax], ebx
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x14], 0x2c
inc edi
mov dword [eax], 1
movsx eax, byte [ebx]
push eax
call fcn.004845c3
pop ecx
test eax, eax
pop ecx
jne 0x46585f
mov eax, dword [ebp + 8]
movsx eax, byte [edi + eax]
push eax
inc edi
call fcn.004845c3
jmp 0x465796
cmp al, 0x22
jne 0x465820
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
inc edi
add eax, edi
mov dword [ebp - 0x1c], edi
mov dword [ecx], eax
cmp edi, dword [ebp + 0x10]
jge 0x4657f5
mov eax, dword [ebp + 8]
mov al, byte [edi + eax]
inc edi
cmp al, 0x22
jne 0x4657c1
cmp edi, dword [ebp - 4]
mov ebx, edi
jge 0x4657f5
mov eax, dword [ebp + 8]
movsx eax, byte [ebx + eax]
push eax
call fcn.004845c3
test eax, eax
pop ecx
je 0x4657f0
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x4657d8
cmp ebx, dword [ebp - 4]
jl 0x4657c1
mov ecx, dword [ebp - 0x10]
mov eax, edi
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 4], edi
dec eax
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
cmp edi, eax
jge 0x46584a
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
cmp byte [edx + ecx], 0xa
je 0x46584a
inc dword [ebp - 4]
cmp dword [ebp - 4], eax
jl 0x46580a
jmp 0x46584a
mov eax, dword [ebp - 0xc]
mov dword [eax], ebx
mov ebx, edi
cmp edi, dword [ebp - 4]
jge 0x465841
mov eax, dword [ebp + 8]
movsx eax, byte [edi + eax]
push eax
call fcn.004845c3
test eax, eax
pop ecx
jne 0x465841
inc edi
jmp 0x465827
mov ecx, dword [ebp - 0x10]
mov eax, edi
sub eax, ebx
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
add dword [ebp - 0xc], 0x2c
add dword [ebp - 0x10], 0x2c
and dword [eax], 0
inc dword [ebp - 8]
add dword [ebp - 0x14], 0x2c
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 4]
mov dword [esi + 4], eax
jl 0x46573e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
inc eax
pop edi
pop esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
pop ebx
je 0x46588b
mov edx, dword [ebp + 8]
mov cl, byte [ebp + 0x17]
mov byte [eax + edx], cl
push 1
pop eax
leave
ret 0x10
inc edi
mov dword [esi], 0x43
mov dword [esi + 0x34], edi
lea edi, [ebx + 1]
cmp edi, dword [ebp + 0x10]
mov dword [esi + 4], 1
jge 0x46591f
lea eax, [edi + 1]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + eax - 1]
cmp dl, 0xa
mov byte [ebp + 0x17], dl
jne 0x4658dc
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 4], eax
jge 0x4658dc
mov edx, dword [ebp - 4]
cmp byte [edx + ecx], 0xa
je 0x4658dc
inc dword [ebp - 4]
mov edx, dword [ebp + 0x10]
cmp dword [ebp - 4], edx
jl 0x4658c8
cmp byte [ebp + 0x17], 0x22
jne 0x465915
cmp eax, dword [ebp - 4]
mov dword [ebp + 0x14], eax
jge 0x46591f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
movsx eax, byte [ecx + eax]
push eax
call fcn.004845c3
test eax, eax
pop ecx
je 0x46590a
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x4658ea
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x46591f
mov eax, dword [ebp - 0x14]
inc edi
inc eax
cmp edi, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
jl 0x4658b1
mov eax, edi
sub eax, ebx
dec eax
and dword [esi + 0xc], 0
mov dword [esi + 0x30], eax
lea eax, [edi + 1]
cmp eax, dword [ebp + 0x10]
jge 0x465871
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 0xa
je 0x465871
inc eax
jmp 0x46592e