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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov ebx, eax
xor eax, eax
push ebp
push 0xa059c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
cmp byte [ebx + 0x38], 1
je 0xa0581
cmp byte [ebx + 0x46], 2
jne 0x9fc81
mov edx, dword [ebx + 0x165]
cmp byte [edx + 0x2c], 1
jne 0x9fc81
mov edx, dword [ebx + 0x165]
cmp byte [edx + 0xc], 0x11
je 0x9fc81
mov eax, dword [ebx + 0x165]
mov al, byte [eax + 0xd]
test al, al
je 0x9fc52
cmp al, 6
jne 0x9fc81
mov eax, dword [ebx + 0x165]
mov eax, dword [eax + 8]
call sub.Vcl50.bpl__Sysutils_FileExists_qqrx17System_AnsiString
test al, al
je 0x9fc81
push 0x2021
push 0xa05b0
push 0xa05c0
push 0
call sub.user32.dll_MessageBoxA
dec eax
jne 0xa0581
mov eax, ebx
call fcn.0009db60
test al, al
je 0xa0581
mov eax, dword [ebx + 0x2de]
mov eax, dword [eax + 9]
mov dword [ebp - 8], eax
mov byte [ebp - 9], 1
cmp dword [ebp - 8], 0
jle 0x9fcb6
mov eax, dword [ebx + 0x2de]
cmp byte [eax + 8], 1
jne 0x9fcb6
mov byte [ebp - 9], 0
mov byte [ebp - 2], 0
test byte [ebx + 0x20], 0x10
jne 0x9fce4
mov byte [ebx + 0x38], 1
cmp word [ebx + 0x5e], 0
je 0x9fcd6
lea ecx, [ebp - 2]
mov edx, ebx
mov eax, dword [ebx + 0x60]
call dword [ebx + 0x5c]
mov byte [ebx + 0x38], 0
cmp byte [ebp - 2], 0
je 0x9fce4
mov byte [ebp - 1], 0
cmp byte [ebp - 2], 0
jne 0xa0558
cmp byte [ebp - 9], 0
je 0x9fd2a
xor edx, edx
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
mov eax, dword [ebx + 0x2de]
call fcn.000c47ec
dec eax
jne 0x9fd1a
mov eax, dword [ebx + 0x2de]
call fcn.000c4bbc
mov eax, dword [ebx + 0x2de]
call fcn.000c47ec
mov edi, eax
dec edi
jmp 0x9fd2c
xor edi, edi
cmp byte [ebx + 0x4d], 0
je 0xa0095
mov esi, edi
cmp esi, 0
jl 0xa006e
cmp byte [ebp - 9], 0
je 0x9fd54
mov edx, esi
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
test esi, esi
jne 0x9fd65
cmp byte [ebx + 0x3d], 1
jne 0x9fd65
mov eax, ebx
call fcn.000a1adc
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x18]
call fcn.000a4e60
mov al, byte [ebx + 0x33]
sub al, 1
jb 0x9fd7f
je 0x9fd90
jmp 0x9fdeb
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x20]
call fcn.000a7e08
jmp 0x9fdeb
cmp byte [ebp - 9], 0
je 0x9fdb0
test esi, esi
je 0x9fdb0
xor edx, edx
mov eax, dword [ebx + 0x2de]
call fcn.000c4874
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 1
je 0x9fdeb
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x24]
call fcn.000a85dc
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x9fdeb
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 1
jne 0x9fdeb
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x60]
call fcn.000a9880
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x68]
call fcn.000bcd70
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 8]
call fcn.000ab638
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x64]
call fcn.000af898
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0xc]
call fcn.000ac114
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x58]
call fcn.000ab1f0
mov eax, dword [ebx + 0x2d6]
cmp dword [eax + 0x14], 6
jle 0x9fe82
mov eax, ebx
call fcn.0009e824
cmp byte [eax + 0x17], 0
je 0x9fe82
mov eax, ebx
call fcn.000a13bc
test al, al
jne 0x9fe82
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x5c]
call fcn.000b4688
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x48]
call fcn.000b4fec
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x4c]
call fcn.000b5e14
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x50]
call fcn.000b6b5c
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x54]
call fcn.000b7798
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x40]
call fcn.000b3c90
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x44]
call fcn.000b40f4
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x3c]
call fcn.000bc69c
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x28]
call fcn.000bba18
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x2c]
call fcn.000b86f0
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x30]
call fcn.000b92ac
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x34]
call fcn.000b9f2c
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x38]
call fcn.000ba9e0
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x6c]
call fcn.000bddd4
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x70]
call fcn.000c27b4
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x78]
call fcn.000be6b4
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x7c]
call fcn.000bf294
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x74]
call fcn.000c19f8
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x80]
call fcn.000c0330
mov eax, ebx
call fcn.0009e824
mov eax, dword [eax + 0x1c]
call fcn.000a5224
mov eax, ebx
call fcn.000a1eac
test esi, esi
jne 0xa0064
mov eax, dword [ebx + 0x2da]
call fcn.000a54b8
mov eax, dword [ebx + 0x2f6]
call fcn.000a459c
mov eax, dword [ebx + 0x2f2]
call fcn.000a79ac
test al, al
jne 0x9fff8
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
mov eax, dword [ebx + 0x2ee]
call fcn.000a6ff0
test al, al
jne 0xa001a
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
mov eax, ebx
call fcn.000a1960
cmp byte [ebx + 0x46], 0
jne 0xa003f
mov eax, dword [ebx + 0x30a]
call fcn.000a3d2c
mov eax, dword [ebx + 0x30e]
call fcn.000a4214
jmp 0xa0046
mov eax, ebx
call fcn.000a1a28
mov eax, ebx
call fcn.0009e864
test al, al
jne 0xa0064
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
dec esi
cmp esi, 0xffffffff
jne 0x9fd41
mov esi, edi
cmp esi, 0
jl 0xa0095
cmp byte [ebp - 9], 0
je 0xa0088
mov edx, esi
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
mov eax, ebx
call fcn.000a1bbc
dec esi
cmp esi, 0xffffffff
jne 0xa0075
test byte [ebx + 0x20], 0x10
jne 0xa00d9
mov byte [ebx + 0x38], 1
cmp word [ebx + 0x66], 0
je 0xa00b1
lea ecx, [ebp - 2]
mov edx, ebx
mov eax, dword [ebx + 0x68]
call dword [ebx + 0x64]
mov byte [ebx + 0x38], 0
cmp byte [ebp - 2], 0
je 0xa00d9
cmp word [ebx + 0x28], 0
jle 0xa0581
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
jmp 0xa0581
cmp byte [ebx + 0x46], 0
jne 0xa0388
cmp byte [ebx + 0xac], 1
jne 0xa0388
mov eax, dword [ebx + 0x2d6]
cmp dword [eax + 0x14], 5
jle 0xa0388
mov word [ebp - 0x26], 0
mov word [ebp - 0x24], 0
mov word [ebp - 0x22], 0
mov word [ebp - 0x20], 0
mov word [ebp - 0x1e], 0
mov word [ebp - 0x1c], 0
mov word [ebp - 0x1a], 0
mov word [ebp - 0x18], 0
cmp word [ebx + 0xaf], 0
je 0xa0146
mov word [ebp - 0x1e], 1
mov word [ebp - 0x1c], 1
cmp word [ebx + 0xef], 0
jne 0xa015a
cmp word [ebx + 0xf7], 0
je 0xa0160
mov word [ebp - 0x1c], 1
cmp word [ebx + 0xb7], 0
jne 0xa01ce
cmp word [ebx + 0xbf], 0
jne 0xa01ce
cmp word [ebx + 0xbf], 0
jne 0xa01ce
cmp word [ebx + 0xc7], 0
jne 0xa01ce
cmp word [ebx + 0xcf], 0
jne 0xa01ce
cmp word [ebx + 0xd7], 0
jne 0xa01ce
cmp word [ebx + 0xdf], 0
jne 0xa01ce
cmp word [ebx + 0xe7], 0
jne 0xa01ce
cmp word [ebx + 0x11f], 0
jne 0xa01ce
cmp word [ebx + 0x127], 0
jne 0xa01ce
cmp word [ebx + 0x107], 0
je 0xa01da
mov word [ebp - 0x26], 1
mov word [ebp - 0x22], 1
cmp word [ebx + 0x10f], 0
jne 0xa01f8
cmp word [ebx + 0x117], 0
jne 0xa01f8
cmp word [ebx + 0xff], 0
je 0xa01fe
mov word [ebp - 0x22], 1
cmp word [ebx + 0x147], 0
jne 0xa0212
cmp word [ebx + 0x14f], 0
je 0xa021e
mov word [ebp - 0x26], 1
mov word [ebp - 0x20], 1
cmp word [ebx + 0x157], 0
je 0xa022e
mov word [ebp - 0x20], 1
cmp word [ebx + 0x12f], 0
je 0xa023e
mov word [ebp - 0x24], 1
cmp word [ebx + 0x137], 0
jne 0xa0252
cmp word [ebx + 0x13f], 0
je 0xa0258
mov word [ebp - 0x26], 1
cmp word [ebx + 0x15f], 0
je 0xa0268
mov word [ebp - 0x18], 1
mov eax, ebx
call fcn.000a0d14
lea edx, [ebp - 0x28]
mov ax, word [ebx + 0x28]
call fcn.000913d0
test eax, eax
jne 0xa02f6
push 1
push 0
push 0xa05f4
movsx edx, word [ebx + 0x28]
cmp edx, 0xffff
jbe 0xa0299
call fcn.00011080
xor ecx, ecx
mov eax, ebx
call fcn.0009e110
dec al
je 0xa02ac
dec al
je 0xa02c8
jmp 0xa02f6
cmp word [ebx + 0x28], 0
jle 0xa02c1
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
call sub.Vcl50.bpl__Sysutils_Abort_qqrv
jmp 0xa02f6
cmp word [ebx + 0x28], 0
jle 0xa02dd
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
mov eax, dword [ebx + 0x50]
push eax
movsx ecx, word [ebx + 0x4e]
mov dl, 1
mov eax, dword [0x964d4]
call fcn.000c53dc
call fcn.00011148
mov eax, ebx
call fcn.000a0d14
mov edx, 0x9ed38
mov ecx, ebx
mov ax, word [ebx + 0x28]
call fcn.000914d4
test eax, eax
jne 0xa0388
push 1
push 0
push 0xa0614
movsx edx, word [ebx + 0x28]
cmp edx, 0xffff
jbe 0xa032b
call fcn.00011080
xor ecx, ecx
mov eax, ebx
call fcn.0009e110
dec al
je 0xa033e
dec al
je 0xa035a
jmp 0xa0388
cmp word [ebx + 0x28], 0
jle 0xa0353
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
call sub.Vcl50.bpl__Sysutils_Abort_qqrv
jmp 0xa0388
cmp word [ebx + 0x28], 0
jle 0xa036f
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
mov eax, dword [ebx + 0x50]
push eax
movsx ecx, word [ebx + 0x4e]
mov dl, 1
mov eax, dword [0x964d4]
call fcn.000c53dc
call fcn.00011148
mov eax, ebx
call fcn.000a0d14
or edx, 0xffffffff
mov ax, word [ebx + 0x28]
call fcn.00088a20
test eax, eax
jne 0xa040a
mov ax, word [ebx + 0x28]
movsx esi, ax
cmp esi, 0xffff
jbe 0xa03b3
call fcn.00011080
test ax, ax
jle 0xa03c6
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
push 1
push 0
push 0xa063c
mov cl, 3
mov edx, esi
mov eax, ebx
call fcn.0009e110
sub al, 1
jb 0xa0581
je 0xa03ea
dec al
je 0xa03f1
jmp 0xa040a
call sub.Vcl50.bpl__Sysutils_Abort_qqrv
jmp 0xa040a
mov eax, dword [ebx + 0x50]
push eax
movsx ecx, word [ebx + 0x4e]
mov dl, 1
mov eax, dword [0x964d4]
call fcn.000c53dc
call fcn.00011148
mov byte [ebp - 1], 1
cmp byte [ebx + 0x4d], 0
je 0xa0425
cmp byte [ebx + 0x46], 0
jne 0xa0425
mov eax, dword [ebx + 0x31b]
call fcn.000a3898
test byte [ebx + 0x20], 0x10
jne 0xa04c3
mov byte [ebx + 0x38], 1
cmp word [ebx + 0x76], 0
je 0xa0442
mov edx, ebx
mov eax, dword [ebx + 0x78]
call dword [ebx + 0x74]
mov byte [ebx + 0x38], 0
cmp word [ebx + 0x86], 0
je 0xa0485
cmp byte [ebx + 0x46], 0
je 0xa0485
jmp 0xa0464
mov eax, dword [sym.imp.Vcl50.bpl__Forms_Application]
mov eax, dword [eax]
call sub.Vcl50.bpl__Forms_TApplication_ProcessMessages_qqrv
mov eax, ebx
call fcn.000a06a4
test al, al
je 0xa0458
mov byte [ebx + 0x38], 1
mov edx, ebx
mov eax, dword [ebx + 0x88]
call dword [ebx + 0x84]
mov byte [ebx + 0x38], 0
cmp word [ebx + 0x7e], 0
je 0xa04c3
mov eax, ebx
call fcn.000a1808
test eax, eax
jbe 0xa04c3
jmp 0xa04a5
mov eax, dword [sym.imp.Vcl50.bpl__Forms_Application]
mov eax, dword [eax]
call sub.Vcl50.bpl__Forms_TApplication_ProcessMessages_qqrv
mov eax, ebx
call fcn.000a1808
test eax, eax
ja 0xa0499
mov byte [ebx + 0x38], 1
mov edx, ebx
mov eax, dword [ebx + 0x80]
call dword [ebx + 0x7c]
mov byte [ebx + 0x38], 0
cmp byte [ebx + 0x46], 2
jne 0xa0558
mov eax, dword [ebx + 0x165]
cmp byte [eax + 0xd], 6
jne 0xa0558
mov eax, dword [ebx + 0x165]
mov eax, dword [eax + 4]
call fcn.00094628
test al, al
je 0xa04f7
mov eax, dword [ebx + 0x2d6]
cmp dword [eax + 0x14], 6
jg 0xa0558
lea edx, [ebp - 0x10]
mov eax, dword [ebx + 0x165]
mov eax, dword [eax + 4]
call sub.Vcl50.bpl__Sysutils_Trim_qqrx17System_AnsiString
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x165]
mov eax, dword [eax + 8]
call sub.Vcl50.bpl__Sysutils_Trim_qqrx17System_AnsiString
mov eax, dword [ebp - 0x10]
call fcn.000111f8
mov esi, eax
mov eax, dword [ebp - 0x14]
call fcn.000111f8
mov edi, eax
jmp 0xa053b
mov eax, dword [sym.imp.Vcl50.bpl__Forms_Application]
mov eax, dword [eax]
call sub.Vcl50.bpl__Forms_TApplication_ProcessMessages_qqrv
mov eax, ebx
call fcn.000a06a4
test al, al
je 0xa052f
push 1
push 0
push edi
push esi
push 0xa0658
push 0
call sub.shell32.dll_ShellExecuteA
cmp word [ebx + 0x28], 0
jle 0xa057d
mov eax, dword [ebx + 0x2de]
call fcn.000c47ec
cmp eax, dword [ebp - 8]
jle 0xa057d
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2de]
call fcn.000c52b4
mov byte [ebx + 0x38], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xa05a3
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00011188
ret