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

Disassembly:
push 0x34
mov eax, 0x100b4a57
call fcn.100a5688
mov dword [ebp - 0x14], edx
mov edi, ecx
test edi, edi
jne 0x10089329
xor al, al
jmp 0x10089726
xor esi, esi
mov ebx, 0x100c9520
push esi
push 0x100c90d8
push ebx
push esi
push edi
call fcn.100a698d
add esp, 0x14
test eax, eax
je 0x1008934c
mov al, 1
jmp 0x10089726
push esi
push 0x100c90b4
push ebx
push esi
push edi
call fcn.100a698d
add esp, 0x14
test eax, eax
jne 0x10089345
push esi
push 0x100c9500
push ebx
push esi
push edi
call fcn.100a698d
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x10089322
push esi
push 0x100c9540
push 0x100c9520
push esi
push edi
call fcn.100a698d
add esp, 0x14
test eax, eax
je 0x100893a8
cmp dword [eax + 0x134], 5
jne 0x100893a8
cmp dword [ebp + 8], 4
je 0x10089345
cmp dword [ebp - 0x14], esi
jg 0x10089345
cmp dword [edi + 8], 2
je 0x100893b4
cmp dword [edi + 8], 3
jne 0x100893e6
call dword [sym.imp.kernel32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x40]
call fcn.1002e7ee
mov ecx, eax
mov dword [ebp - 4], esi
call fcn.1002ebec
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
mov bl, al
call fcn.1002eb70
test bl, bl
jne 0x10089345
mov ebx, dword [ebp - 0x18]
cmp byte [ebp + 0x14], 0
je 0x1008958a
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
call fcn.10091a7b
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, dword [ebp - 0x18]
mov esi, eax
add ecx, 0xfffffff0
call fcn.1008ebf5
test esi, esi
je 0x1008958a
push 0
push 0x100c9400
push 0x100c9520
push 0
push edi
call fcn.100a698d
add esp, 0x14
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1008958a
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.10091a7b
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 1
push eax
mov ecx, ebx
call fcn.10091a7b
mov byte [ebp - 4], 2
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.1008eb5d
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.1008ebf5
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.10091a7b
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.10091a7b
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [ebp - 0x40]
call fcn.10054cf4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
test eax, eax
jns 0x10089505
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push esi
push 0x1001e988
push 7
push dword [ebp + 0xc]
push eax
call fcn.1002e335
mov ecx, dword [ebp - 0x2c]
add esp, 0x1c
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [esi - 0x10]
call fcn.1008ebf5
mov eax, dword [ebp - 0x10]
lea ecx, [eax - 0x10]
call fcn.1008ebf5
jmp 0x10089322
mov al, byte [ebx + 0x20]
test al, al
lea eax, [ebp - 0x1c]
je 0x10089552
push eax
mov ecx, ebx
call fcn.10091a7b
mov edx, dword [ebp + 0xc]
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.10091a7b
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov dword [ebp - 0x18], eax
call fcn.1008ebf5
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x10089568
cmp dword [edi + 0xc], 0
je 0x1008954d
push dword [edi + 0xc]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
mov dword [edi + 0xc], eax
jmp 0x10089568
push dword [ebp - 0x10]
push 0x1001ea74
push 4
push dword [ebp + 0xc]
push eax
call fcn.1002e335
add esp, 0x14
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea ecx, [esi - 0x10]
call fcn.1008ebf5
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x100896e4
call fcn.1008e9f3
push eax
lea ecx, [ebp - 0x10]
call fcn.10091a7b
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 0x100895d2
push edx
lea ecx, [ebp - 0x10]
call fcn.10091a7b
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.10091a7b
push esi
lea ecx, [ebp - 0x18]
call fcn.1006f4e2
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.1006e86f
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1008eb5d
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.10091a7b
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0xa
call fcn.1008ebf5
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.10091a7b
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.1008eb5d
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
push edi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x14]
call fcn.10091a7b
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.10091a7b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0x20]
call fcn.1006eb5a
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, dword [ebp - 0x20]
mov esi, eax
add ecx, 0xfffffff0
call fcn.1008ebf5
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
mov ecx, dword [ebp - 0x18]
test esi, esi
je 0x100896cd
add ecx, 0xfffffff0
call fcn.1008ebf5
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.1008ebf5
jmp 0x10089345
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.1008ebf5
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.10091a7b
push 0x10
pop edx
mov dword [ebp - 4], edx
mov ecx, dword [eax]
sub ecx, edx
call fcn.1008eb5d
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.1008ebf5
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.1008ebf5
mov al, bl
call fcn.100a5651
ret 0x10