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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a7bc2
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 0x1007dc2b
xor al, al
jmp 0x1007e050
push esi
push 0x100c467c
mov edi, 0x100c4218
push edi
push esi
push ebx
call fcn.10094605
add esp, 0x14
cmp eax, esi
je 0x1007dc4c
mov al, 1
jmp 0x1007e050
push esi
push 0x100c46a4
push edi
push esi
push ebx
call fcn.10094605
add esp, 0x14
test eax, eax
jne 0x1007dc45
push esi
push 0x100c4258
push edi
push esi
push ebx
call fcn.10094605
add esp, 0x14
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x1007dc24
push esi
push 0x100c4238
push edi
push esi
push ebx
call fcn.10094605
add esp, 0x14
cmp eax, esi
je 0x1007dca3
cmp dword [eax + 0x134], 4
jne 0x1007dca3
cmp dword [ebp + 0x10], 4
je 0x1007dc45
cmp dword [ebp + 0xc], esi
jg 0x1007dc45
mov ebx, dword [ebx + 8]
cmp ebx, 2
je 0x1007dcb0
cmp ebx, 3
jne 0x1007dce2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10026b5d
mov dword [esp + 0x50], esi
call fcn.10026f45
or dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x2c]
mov bl, al
call fcn.10026eb8
test bl, bl
jne 0x1007dc45
cmp byte [ebp + 0x1c], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x1007de9e
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003abec
push dword [eax]
call ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084b37
cmp dword [esp + 0x1c], esi
je 0x1007de9e
push esi
push 0x100c4354
push edi
push esi
push dword [ebp + 8]
call fcn.10094605
mov edi, eax
add esp, 0x14
cmp edi, esi
je 0x1007de9e
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003abec
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], 1
call fcn.1003ac0b
mov byte [esp + 0x50], 2
mov eax, dword [eax]
sub eax, 0x10
call fcn.10084ad6
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x50], 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084b37
lea esi, [esp + 0x24]
mov eax, edi
call fcn.1003a764
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.1004d787
mov byte [esp + 0x50], 7
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.10084b37
mov ecx, esi
call fcn.1004d7c2
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
test eax, eax
jns 0x1007de16
mov ebx, dword [esp + 0x20]
push eax
push dword [esp + 0x18]
mov esi, edi
push ebx
push 0x10019880
push 7
call fcn.10026695
mov eax, dword [esp + 0x54]
add esp, 0x14
add eax, 0xfffffff0
call fcn.10084b37
lea eax, [ebx - 0x10]
call fcn.10084b37
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084b37
jmp 0x1007dc24
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x20], 0
je 0x1007de5e
lea ecx, [esp + 0x1c]
push ecx
call fcn.1003abec
push edi
mov byte [esp + 0x54], 8
call fcn.1004dd17
mov esi, eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084b37
cmp esi, 0xffffffff
je 0x1007de73
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1007de59
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0xc], esi
jmp 0x1007de73
push dword [esp + 0x14]
mov esi, edi
push 0x1001996c
push 4
call fcn.10026695
add esp, 0xc
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.10084b37
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084b37
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084b37
xor esi, esi
cmp dword [ebp + 0xc], esi
je 0x1007e00d
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 0x1007dee6
mov eax, esi
lea ecx, [esp + 0x14]
call fcn.1008495f
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.1008472b
push edi
lea eax, [esp + 0x24]
push eax
call fcn.1005f361
lea eax, [esp + 0x20]
mov byte [esp + 0x50], 0xa
call fcn.1005ffe4
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084ad6
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
mov byte [esp + 0x50], 0xb
call fcn.1005f4dc
lea eax, [esi - 0x10]
mov byte [esp + 0x50], 0xa
call fcn.10084b37
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003abec
mov byte [esp + 0x50], 0xc
mov eax, dword [eax]
sub eax, 0x10
call fcn.10084ad6
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.10084b37
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
call fcn.1005fa75
lea edi, [esp + 0x1c]
mov byte [esp + 0x50], 0xf
call fcn.1005f4dc
mov byte [esp + 0x50], 0xe
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084b37
mov eax, edi
push eax
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x1c]
call fcn.1005fc9d
push dword [eax]
call ebx
mov esi, eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084b37
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.10084b37
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.10084b37
test esi, esi
je 0x1007dffc
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084b37
jmp 0x1007dc45
or dword [esp + 0x50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.10084b37
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1003abec
push 0x10
pop ecx
mov dword [esp + 0x50], ecx
mov eax, dword [eax]
sub eax, ecx
call fcn.10084ad6
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.10084b37
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.10084b37
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