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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a7c1b
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x100bc210]
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 0x1007dffe
xor al, al
jmp 0x1007e423
push esi
push 0x100c467c
mov edi, 0x100c4218
push edi
push esi
push ebx
call fcn.10094655
add esp, 0x14
cmp eax, esi
je 0x1007e01f
mov al, 1
jmp 0x1007e423
push esi
push 0x100c46a4
push edi
push esi
push ebx
call fcn.10094655
add esp, 0x14
test eax, eax
jne 0x1007e018
push esi
push 0x100c4258
push edi
push esi
push ebx
call fcn.10094655
add esp, 0x14
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x1007dff7
push esi
push 0x100c4238
push edi
push esi
push ebx
call fcn.10094655
add esp, 0x14
cmp eax, esi
je 0x1007e076
cmp dword [eax + 0x134], 4
jne 0x1007e076
cmp dword [ebp + 0x10], 4
je 0x1007e018
cmp dword [ebp + 0xc], esi
jg 0x1007e018
mov ebx, dword [ebx + 8]
cmp ebx, 2
je 0x1007e083
cmp ebx, 3
jne 0x1007e0b5
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10026b8b
mov dword [esp + 0x50], esi
call fcn.10026f73
or dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x2c]
mov bl, al
call fcn.10026ee6
test bl, bl
jne 0x1007e018
cmp byte [ebp + 0x1c], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x1007e271
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003ab8e
push dword [eax]
call ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084c29
cmp dword [esp + 0x1c], esi
je 0x1007e271
push esi
push 0x100c4354
push edi
push esi
push dword [ebp + 8]
call fcn.10094655
mov edi, eax
add esp, 0x14
cmp edi, esi
je 0x1007e271
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003ab8e
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], 1
call fcn.1003abad
mov byte [esp + 0x50], 2
mov eax, dword [eax]
sub eax, 0x10
call fcn.10084bc8
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x50], 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084c29
lea esi, [esp + 0x24]
mov eax, edi
call fcn.10046f00
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.1004d805
mov byte [esp + 0x50], 7
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.10084c29
mov ecx, esi
call fcn.1004d840
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
test eax, eax
jns 0x1007e1e9
mov ebx, dword [esp + 0x20]
push eax
push dword [esp + 0x18]
mov esi, edi
push ebx
push 0x100198a8
push 7
call fcn.100266c3
mov eax, dword [esp + 0x54]
add esp, 0x14
add eax, 0xfffffff0
call fcn.10084c29
lea eax, [ebx - 0x10]
call fcn.10084c29
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084c29
jmp 0x1007dff7
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x20], 0
je 0x1007e231
lea ecx, [esp + 0x1c]
push ecx
call fcn.1003ab8e
push edi
mov byte [esp + 0x54], 8
call fcn.1004dd95
mov esi, eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084c29
cmp esi, 0xffffffff
je 0x1007e246
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1007e22c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0xc], esi
jmp 0x1007e246
push dword [esp + 0x14]
mov esi, edi
push 0x10019994
push 4
call fcn.100266c3
add esp, 0xc
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.10084c29
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084c29
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084c29
xor esi, esi
cmp dword [ebp + 0xc], esi
je 0x1007e3e0
mov eax, dword [0x100bcf90]
mov ecx, 0x100bcf90
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 0x1007e2b9
mov eax, esi
lea ecx, [esp + 0x14]
call fcn.10084a51
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.1008481d
push edi
lea eax, [esp + 0x24]
push eax
call fcn.1005f448
lea eax, [esp + 0x20]
mov byte [esp + 0x50], 0xa
call fcn.100600cb
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084bc8
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
mov byte [esp + 0x50], 0xb
call fcn.1005f5c3
lea eax, [esi - 0x10]
mov byte [esp + 0x50], 0xa
call fcn.10084c29
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003ab8e
mov byte [esp + 0x50], 0xc
mov eax, dword [eax]
sub eax, 0x10
call fcn.10084bc8
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.10084c29
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
call fcn.1005fb5c
lea edi, [esp + 0x1c]
mov byte [esp + 0x50], 0xf
call fcn.1005f5c3
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084c29
mov eax, edi
push eax
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x1c]
call fcn.1005fd84
push dword [eax]
call ebx
mov esi, eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084c29
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084c29
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084c29
test esi, esi
je 0x1007e3cf
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084c29
jmp 0x1007e018
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084c29
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003ab8e
push 0x10
pop ecx
mov dword [esp + 0x50], ecx
mov eax, dword [eax]
sub eax, ecx
call fcn.10084bc8
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.10084c29
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084c29
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 0x18