Function at 0x469724
Capabilities:
Terminate process

Disassembly:
push 0x94
mov eax, 0x4bc452
call fcn.004b6a29
mov esi, ecx
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x90]
xor eax, eax
cmp dword [ebp + 0xc], eax
mov ebx, eax
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 0x77], al
sete byte [ebp - 0x76]
call fcn.0045cc46
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
push 0x18
pop edi
cdq
idiv edi
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edi
test eax, eax
je 0x469cb2
mov edi, ecx
mov dword [ebp - 0x94], edi
add edi, dword [ebp - 0x90]
push 0x2d
pop edx
cmp dword [edi + 0x14], 8
jb 0x469795
mov edi, dword [edi]
movzx eax, word [edi]
cmp ax, dx
je 0x469809
cmp eax, 0x2f
je 0x469809
cmp dword [ebp + 0xc], 0
je 0x469dec
cmp byte [esi + 0xb34], 0
mov byte [ebp - 0x76], 1
jne 0x4697de
mov ecx, esi
call fcn.0046bc6c
xor eax, eax
lea ecx, [esi + 0xa7c]
push eax
push str.save.recent
call fcn.00452214
test eax, eax
je 0x4697de
mov ecx, esi
call fcn.0046bf5c
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x70]
test al, al
jne 0x469b5e
push 0x18
pop eax
push eax
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0042e6e9
mov ecx, esi
call fcn.00472426
jmp 0x469b5e
add edi, 2
movzx eax, word [edi]
test ax, ax
je 0x469b47
cmp ax, dx
jne 0x469827
cmp word [edi + 2], cx
je 0x469b47
cmp eax, 0x40
jne 0x469842
cmp dword [ebp + 0xc], 1
jne 0x469b60
mov ecx, esi
call fcn.004747c7
jmp 0x469b5e
push eax
call fcn.00493e7f
pop ecx
cmp eax, 0x70
jne 0x46985f
xor ecx, ecx
cmp word [edi + 2], cx
jne 0x46985f
mov byte [ebp - 0x77], 1
jmp 0x469b60
push edi
lea ecx, [ebp - 0x44]
call fcn.0042f8f2
mov byte [ebp - 4], 1
or ebx, 1
mov edx, str.grep
mov dword [ebp - 0x7c], ebx
mov ecx, eax
call fcn.0043004c
test al, al
je 0x4698a7
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
push 0x18
cdq
pop ecx
idiv ecx
sub eax, dword [ebp - 0x84]
cmp eax, 4
jb 0x4698a7
mov byte [ebp - 0x75], 1
xor edx, edx
jmp 0x4698ac
xor edx, edx
mov byte [ebp - 0x75], dl
mov dword [ebp - 4], edx
test bl, 1
je 0x4698c4
push edx
push 1
lea ecx, [ebp - 0x44]
and ebx, 0xfffffffe
call fcn.0040f05a
xor edx, edx
cmp byte [ebp - 0x75], 0
jne 0x469b99
movzx eax, word [edi]
mov ecx, edi
jmp 0x4698f6
cmp ax, 0x2e
je 0x4698f0
cmp ax, 0x61
jb 0x4698e7
cmp ax, 0x7a
jbe 0x4698f0
add eax, 0xffffffbf
cmp ax, 0x19
ja 0x4698fb
add ecx, 2
movzx eax, word [ecx]
test ax, ax
jne 0x4698d5
cmp word [ecx], 0x3a
jne 0x469aca
xor eax, eax
mov dword [ebp - 0x48], 7
push str.open:
mov dword [ebp - 0x4c], edx
mov word [ebp - 0x5c], ax
call fcn.00495da8
pop ecx
push eax
push str.open:
lea ecx, [ebp - 0x5c]
call fcn.0042fe27
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
or ebx, 2
push edi
mov dword [ebp - 0x7c], ebx
call fcn.0042f8f2
mov dword [ebp - 4], 8
lea edx, [ebp - 0x5c]
or ebx, 4
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x7c], ebx
call fcn.00487d0c
test al, al
jne 0x4699b5
xor eax, eax
mov dword [ebp - 0x18], 7
push str.loadsession:
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c], ax
call fcn.00495da8
pop ecx
push eax
push str.loadsession:
lea ecx, [ebp - 0x2c]
call fcn.0042fe27
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x74]
or ebx, 8
push edi
mov dword [ebp - 0x7c], ebx
call fcn.0042f8f2
lea edx, [ebp - 0x2c]
or ebx, 0x10
lea ecx, [ebp - 0x74]
call fcn.00487d0c
test al, al
jne 0x4699b5
xor eax, eax
mov byte [ebp - 0x75], al
jmp 0x4699bb
mov byte [ebp - 0x75], 1
xor eax, eax
test bl, 0x10
je 0x4699ce
push eax
push 1
lea ecx, [ebp - 0x74]
and ebx, 0xffffffef
call fcn.0040f05a
test bl, 8
je 0x4699e3
xor eax, eax
lea ecx, [ebp - 0x2c]
push eax
push 1
and ebx, 0xfffffff7
call fcn.0040f05a
test bl, 4
je 0x4699f8
xor eax, eax
lea ecx, [ebp - 0x44]
push eax
push 1
and ebx, 0xfffffffb
call fcn.0040f05a
xor eax, eax
mov dword [ebp - 4], eax
test bl, 2
je 0x469a10
push eax
push 1
lea ecx, [ebp - 0x5c]
and ebx, 0xfffffffd
call fcn.0040f05a
cmp byte [ebp - 0x75], 0
je 0x469a27
cmp dword [ebp + 0xc], 0
je 0x469dec
mov al, 1
mov byte [ebp - 0x76], al
jmp 0x469a2a
mov al, byte [ebp - 0x76]
test al, al
je 0x469b5e
push edi
lea ecx, [ebp - 0x44]
call fcn.0042f8f2
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.00430d1e
xor eax, eax
mov byte [ebp - 4], 0xc
push eax
push 1
lea ecx, [ebp - 0x44]
call fcn.0040f05a
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xa0]
inc eax
push eax
call fcn.0040e5b6
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x18], 0x10
mov ecx, dword [ebp - 0x2c]
mov edx, ecx
jae 0x469a7d
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
add eax, edx
cmp dword [ebp - 0x18], 0x10
jae 0x469a8b
lea ecx, [ebp - 0x2c]
sub eax, ecx
push eax
push ecx
push dword [ebp - 0xa0]
call fcn.00490ea0
add esp, 0xc
mov ecx, esi
push dword [ebp - 0xa0]
call fcn.00468b0a
lea ecx, [ebp - 0xa0]
call fcn.004028f1
xor eax, eax
lea ecx, [ebp - 0x2c]
push eax
push 1
mov byte [ebp - 4], al
call fcn.0040177c
jmp 0x469b5e
cmp byte [ebp - 0x76], 0
je 0x469b5e
push edi
lea ecx, [ebp - 0x44]
call fcn.0042f8f2
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x7c], esp
call fcn.0042ed74
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x74]
call fcn.00430d1e
mov ecx, eax
mov byte [ebp - 4], 0x10
cmp dword [ecx + 0x14], 0x10
jb 0x469b0b
mov ecx, dword [ecx]
xor eax, eax
mov byte [ebp - 4], 0x11
push eax
push eax
lea eax, [esi + 0x410]
push eax
push 1
push ecx
lea ecx, [esi + 0xa7c]
call fcn.004524d7
xor eax, eax
lea ecx, [ebp - 0x74]
push eax
push 1
call fcn.0040177c
xor eax, eax
lea ecx, [ebp - 0x44]
push eax
push 1
mov byte [ebp - 4], al
call fcn.0040f05a
jmp 0x469b5e
cmp dword [ebp + 0xc], 1
jne 0x469b60
cmp ax, dx
mov ecx, esi
sete al
movzx eax, al
push eax
call fcn.004744bf
xor ecx, ecx
push 0x18
pop eax
add dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x90]
cdq
idiv dword [ebp - 0x80]
mov edi, dword [ebp - 0x84]
inc edi
mov dword [ebp - 0x84], edi
cmp edi, eax
jae 0x469cb2
mov edi, dword [ebp - 0x94]
jmp 0x469784
mov ebx, dword [ebp - 0x84]
push 4
pop edi
push 8
lea eax, [ebx + 1]
imul ecx, eax, 0x18
mov eax, dword [ebp - 0x90]
pop edx
add eax, ecx
cmp dword [eax + 0x14], edx
jb 0x469bbc
mov ecx, dword [eax]
jmp 0x469bbe
mov ecx, eax
cmp word [ecx], 0x77
jne 0x469bc7
push 5
pop edi
cmp dword [eax + 0x14], edx
jb 0x469bd0
mov ecx, dword [eax]
jmp 0x469bd2
mov ecx, eax
cmp word [ecx + 2], 0x63
jne 0x469bdc
or edi, 2
cmp dword [eax + 0x14], edx
jb 0x469be5
mov ecx, dword [eax]
jmp 0x469be7
mov ecx, eax
cmp word [ecx + 4], 0x64
jne 0x469bf0
or edi, edx
cmp dword [eax + 0x14], edx
jb 0x469bf7
mov eax, dword [eax]
cmp word [eax + 6], 0x62
jne 0x469c01
or edi, 0x10
lea eax, [ebx + 3]
imul eax, eax, 0x18
add eax, dword [ebp - 0x90]
cmp dword [eax + 0x14], edx
jb 0x469c14
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x44]
call fcn.0042f8f2
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5c]
call fcn.00430d1e
xor eax, eax
mov byte [ebp - 4], 4
push eax
push 1
lea ecx, [ebp - 0x44]
call fcn.0040f05a
cmp dword [ebp - 0x48], 0x10
mov edx, dword [ebp - 0x5c]
jae 0x469c49
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x2c]
call fcn.004882f0
xor eax, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x80], eax
call fcn.0042ed74
mov ecx, eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x18], 0x10
mov edx, dword [ebp - 0x2c]
jae 0x469c74
lea edx, [ebp - 0x2c]
lea eax, [ebx + 2]
imul eax, eax, 0x18
add eax, dword [ebp - 0x90]
cmp dword [eax + 0x14], 8
jb 0x469c88
mov eax, dword [eax]
cmp dword [ecx + 0x14], 8
jb 0x469c90
mov ecx, dword [ecx]
lea ebx, [ebp - 0x80]
push ebx
push edx
push eax
push ecx
push edi
mov ecx, esi
call fcn.00475068
xor ebx, ebx
lea ecx, [ebp - 0x44]
push ebx
push 1
call fcn.0040f05a
push ebx
call fcn.00494982
cmp dword [ebp + 0xc], 1
jne 0x469dec
cmp byte [esi + 0xb34], 0
jne 0x469d17
mov ecx, esi
call fcn.0046bc6c
xor ebx, ebx
lea edi, [esi + 0xa7c]
push ebx
push str.save.recent
mov ecx, edi
call fcn.00452214
test eax, eax
je 0x469cec
mov ecx, esi
call fcn.0046bf5c
push ebx
push str.buffers
mov ecx, edi
call fcn.00452214
test eax, eax
je 0x469d19
push ebx
push str.save.session
mov ecx, edi
call fcn.00452214
test eax, eax
je 0x469d19
mov ecx, esi
call fcn.0046c091
jmp 0x469d19
xor ebx, ebx
lea ecx, [esi + 0x254]
call fcn.0042e86a
test al, al
je 0x469dec
cmp dword [esi + 0xb2c], 1
jne 0x469dec
mov eax, dword [esi + 0xb24]
cmp byte [eax + 0x28], 0
jne 0x469dec
push ebx
sub esp, 0x18
mov ecx, esp
push 0x4d8a44
call fcn.0042e6e9
mov ecx, esi
call fcn.00472426
push str.NewFileEncoding
lea eax, [ebp - 0x5c]
push eax
lea ecx, [esi + 0xa7c]
call fcn.00452177
mov edx, str.UTF8
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x5c]
call fcn.0040e106
test al, al
je 0x469d91
push ebx
push 0x9a
jmp 0x469dda
mov edx, str.UTF8BOM
lea ecx, [ebp - 0x5c]
call fcn.0040e106
test al, al
je 0x469daa
push ebx
push 0x99
jmp 0x469dda
mov edx, str.UTF16LE
lea ecx, [ebp - 0x5c]
call fcn.0040e106
test al, al
je 0x469dc3
push ebx
push 0x98
jmp 0x469dda
mov edx, str.UTF16BE
lea ecx, [ebp - 0x5c]
call fcn.0040e106
test al, al
je 0x469de1
push ebx
push 0x97
mov ecx, esi
call fcn.00465514
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.0040177c
lea ecx, [ebp - 0x90]
call fcn.0045341b
mov al, byte [ebp - 0x77]
call fcn.004b69d8
ret 8