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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009282d
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x100ae210]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor esi, esi
cmp ebx, esi
jne 0x10072ea2
xor al, al
jmp 0x100732c2
push esi
push 0x100b6484
mov edi, 0x100b6050
push edi
push esi
push ebx
call fcn.10086c45
add esp, 0x14
cmp eax, esi
je 0x10072ec3
mov al, 1
jmp 0x100732c2
push esi
push 0x100b64ac
push edi
push esi
push ebx
call fcn.10086c45
add esp, 0x14
test eax, eax
jne 0x10072ebc
push esi
push 0x100b6090
push edi
push esi
push ebx
call fcn.10086c45
add esp, 0x14
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x10072e9b
push esi
push 0x100b6070
push edi
push esi
push ebx
call fcn.10086c45
add esp, 0x14
cmp eax, esi
je 0x10072f1a
cmp dword [eax + 0xf4], 4
jne 0x10072f1a
cmp dword [ebp + 0x10], 4
je 0x10072ebc
cmp dword [ebp + 0xc], esi
jg 0x10072ebc
mov ebx, dword [ebx + 8]
cmp ebx, 2
je 0x10072f27
cmp ebx, 3
jne 0x10072f59
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10023ed7
mov dword [esp + 0x50], esi
call fcn.1002429c
or dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x2c]
mov bl, al
call fcn.10024209
test bl, bl
jne 0x10072ebc
cmp byte [ebp + 0x18], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x10073110
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
call fcn.10036d17
push dword [eax]
call ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.1007924a
cmp dword [esp + 0x1c], esi
je 0x10073110
push esi
push 0x100b6154
push edi
push esi
push dword [ebp + 8]
call fcn.10086c45
mov edi, eax
add esp, 0x14
cmp edi, esi
je 0x10073110
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.10036d17
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], 1
call fcn.10036d38
mov byte [esp + 0x50], 2
mov eax, dword [eax]
sub eax, 0x10
call fcn.100791e7
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x50], 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.1007924a
lea esi, [esp + 0x24]
mov eax, edi
call fcn.10036883
mov byte [esp + 0x50], 5
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov edi, dword [ebp + 0x14]
push edi
push edx
push ecx
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x30]
push ecx
lea esi, [esp + 0x40]
call fcn.10047f16
mov byte [esp + 0x50], 7
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.1007924a
mov ecx, esi
call fcn.10047f53
test eax, eax
jns 0x10073088
mov ebx, dword [esp + 0x20]
push eax
push dword [esp + 0x18]
mov esi, edi
push ebx
push 0x100170b0
push 7
call fcn.10023a0d
mov eax, dword [esp + 0x54]
add esp, 0x14
add eax, 0xfffffff0
call fcn.1007924a
lea eax, [ebx - 0x10]
call fcn.1007924a
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.1007924a
jmp 0x10072e9b
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x20], 0
je 0x100730d0
lea ecx, [esp + 0x1c]
push ecx
call fcn.10036d17
push edi
mov byte [esp + 0x54], 8
call fcn.100484ab
mov esi, eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.1007924a
cmp esi, 0xffffffff
je 0x100730e5
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100730cb
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0xc], esi
jmp 0x100730e5
push dword [esp + 0x14]
mov esi, edi
push 0x1001719c
push 4
call fcn.10023a0d
add esp, 0xc
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.1007924a
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.1007924a
xor esi, esi
cmp dword [ebp + 0xc], esi
je 0x1007327f
mov eax, dword [0x100aee70]
mov ecx, 0x100aee70
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [esp + 0x14], edi
xor ecx, ecx
mov dword [esp + 0x50], 9
mov eax, dword [edi - 8]
inc ecx
sub ecx, dword [edi - 4]
mov esi, 0x104
sub eax, esi
or eax, ecx
jge 0x10073158
mov eax, esi
lea ecx, [esp + 0x14]
call fcn.10079066
mov edi, dword [esp + 0x14]
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
or eax, 0xffffffff
lea esi, [esp + 0x14]
call fcn.10078e28
push edi
lea eax, [esp + 0x24]
push eax
call fcn.100580f9
lea eax, [esp + 0x20]
mov byte [esp + 0x50], 0xa
call fcn.10058d2e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.100791e7
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
mov byte [esp + 0x50], 0xb
call fcn.10058274
lea eax, [esi - 0x10]
mov byte [esp + 0x50], 0xa
call fcn.1007924a
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
call fcn.10036d17
mov byte [esp + 0x50], 0xc
mov eax, dword [eax]
sub eax, 0x10
call fcn.100791e7
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.1007924a
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
call fcn.100587ab
lea edi, [esp + 0x1c]
mov byte [esp + 0x50], 0xf
call fcn.10058274
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, edi
push eax
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x1c]
call fcn.100589df
push dword [eax]
call ebx
mov esi, eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.1007924a
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.1007924a
test esi, esi
je 0x1007326e
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.1007924a
jmp 0x10072ebc
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.1007924a
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
call fcn.10036d17
push 0x10
pop ecx
mov dword [esp + 0x50], ecx
mov eax, dword [eax]
sub eax, ecx
call fcn.100791e7
lea esi, [eax + 0x10]
push esi
call ebx
lea ebx, [eax - 1]
neg ebx
sbb bl, bl
lea eax, [esi - 0x10]
inc bl
call fcn.1007924a
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.1007924a
mov al, bl
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14