Function at 0x10088b0d
Capabilities:
Accept command line arguments
Check if file exists

Disassembly:
push 0x34
mov eax, 0x100b416e
call fcn.100a4ea8
mov dword [ebp - 0x14], edx
mov edi, ecx
test edi, edi
jne 0x10088b29
xor al, al
jmp 0x10088f26
xor esi, esi
mov ebx, 0x100c82c0
push esi
push 0x100c7e78
push ebx
push esi
push edi
call fcn.100a617b
add esp, 0x14
test eax, eax
je 0x10088b4c
mov al, 1
jmp 0x10088f26
push esi
push 0x100c7e54
push ebx
push esi
push edi
call fcn.100a617b
add esp, 0x14
test eax, eax
jne 0x10088b45
push esi
push 0x100c82a0
push ebx
push esi
push edi
call fcn.100a617b
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x10088b22
push esi
push 0x100c82e0
push 0x100c82c0
push esi
push edi
call fcn.100a617b
add esp, 0x14
test eax, eax
je 0x10088ba8
cmp dword [eax + 0x134], 5
jne 0x10088ba8
cmp dword [ebp + 8], 4
je 0x10088b45
cmp dword [ebp - 0x14], esi
jg 0x10088b45
cmp dword [edi + 8], 2
je 0x10088bb4
cmp dword [edi + 8], 3
jne 0x10088be6
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x40]
call fcn.1002e64e
mov ecx, eax
mov dword [ebp - 4], esi
call fcn.1002ea4c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
mov bl, al
call fcn.1002e9d0
test bl, bl
jne 0x10088b45
mov ebx, dword [ebp - 0x18]
cmp byte [ebp + 0x14], 0
je 0x10088d8a
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
call fcn.100426e0
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, dword [ebp - 0x18]
mov esi, eax
add ecx, 0xfffffff0
call fcn.1008e3f5
test esi, esi
je 0x10088d8a
push 0
push 0x100c81a0
push 0x100c82c0
push 0
push edi
call fcn.100a617b
add esp, 0x14
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10088d8a
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.100426e0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 1
push eax
mov ecx, ebx
call fcn.100426fc
mov byte [ebp - 4], 2
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.1008e35d
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.1003ea33
push dword [ebp + 0xc]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
push dword [ecx + 0x14]
push dword [ecx + 0x10]
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054b3a
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
lea ecx, [ebp - 0x40]
call fcn.10054b84
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
test eax, eax
jns 0x10088d05
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push esi
push 0x1001e7e0
push 7
push dword [ebp + 0xc]
push eax
call fcn.1002e198
mov ecx, dword [ebp - 0x2c]
add esp, 0x1c
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
lea ecx, [esi - 0x10]
call fcn.1008e3f5
mov eax, dword [ebp - 0x10]
lea ecx, [eax - 0x10]
call fcn.1008e3f5
jmp 0x10088b22
mov al, byte [ebx + 0x20]
test al, al
lea eax, [ebp - 0x1c]
je 0x10088d52
push eax
mov ecx, ebx
call fcn.100426e0
mov edx, dword [ebp + 0xc]
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.1005511a
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov dword [ebp - 0x18], eax
call fcn.1008e3f5
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x10088d68
cmp dword [edi + 0xc], 0
je 0x10088d4d
push dword [edi + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
mov dword [edi + 0xc], eax
jmp 0x10088d68
push dword [ebp - 0x10]
push 0x1001e8cc
push 4
push dword [ebp + 0xc]
push eax
call fcn.1002e198
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
lea ecx, [esi - 0x10]
call fcn.1008e3f5
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x10088ee4
call fcn.1008e1f3
push eax
lea ecx, [ebp - 0x10]
call fcn.1008df96
mov dword [ebp - 4], 9
xor ecx, ecx
mov esi, dword [ebp - 0x10]
inc ecx
mov edx, 0x104
mov eax, dword [esi - 8]
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x10088dd2
push edx
lea ecx, [ebp - 0x10]
call fcn.1008de52
mov esi, dword [ebp - 0x10]
mov edx, 0x104
push edx
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.1008db88
push esi
lea ecx, [ebp - 0x18]
call fcn.1006f372
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.1006e6ff
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1008e35d
lea esi, [eax + 0x10]
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x10]
call fcn.1006f1e0
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0xa
call fcn.1008e3f5
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.100426e0
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.1008e35d
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
push edi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x14]
call fcn.1006ec43
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.1006f1e0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x20]
call fcn.1006e9ea
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, dword [ebp - 0x20]
mov esi, eax
add ecx, 0xfffffff0
call fcn.1008e3f5
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
mov ecx, dword [ebp - 0x18]
test esi, esi
je 0x10088ecd
add ecx, 0xfffffff0
call fcn.1008e3f5
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.1008e3f5
jmp 0x10088b45
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.1008e3f5
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.100426e0
push 0x10
pop edx
mov dword [ebp - 4], edx
mov ecx, dword [eax]
sub ecx, edx
call fcn.1008e35d
lea esi, [eax + 0x10]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [esi - 0x10]
lea ebx, [eax - 1]
neg ebx
sbb bl, bl
inc bl
call fcn.1008e3f5
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.1008e3f5
mov al, bl
call fcn.100a4e71
ret 0x10