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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
push esi
push edi
lea ecx, [ebp - 0xc4]
call fcn.1003a3c0
lea ecx, [ebp - 0x7c]
call fcn.1003a3c0
lea ecx, [ebp - 0x4cc]
call fcn.1003a3c0
lea ecx, [ebp - 0xac]
call fcn.1003a3c0
lea ecx, [ebp - 0x94]
call fcn.1003a4b0
lea ecx, [ebp - 0x64]
call fcn.1003a4b0
lea ecx, [ebp - 0x88]
call fcn.1003a4b0
push 0x1002a2ec
lea ecx, [ebp - 0x13c]
call fcn.1003a330
mov dword [ebp - 0x18], eax
push 0x18
push 0
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.10041c40
mov dword [ebp - 0x28], eax
push 0x15
push 0
lea ecx, [ebp - 0x10c]
push ecx
lea ecx, [ebp - 0xac]
call fcn.10041c40
mov dword [ebp - 0x1c], eax
push 0x62
push 0
lea edx, [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.10041c40
mov dword [ebp - 0x20], eax
push 0x53
push 0
lea eax, [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0x20]
call fcn.10041c40
mov ecx, eax
call fcn.1003d470
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.100407b0
mov esi, eax
push 0x1002a2f4
call fcn.1005af8b
add esp, 4
sub esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor esi, eax
mov dword [ebp - 0x54], esi
lea ecx, [ebp - 0xdc]
call fcn.1003a6f0
lea ecx, [ebp - 0xf4]
call fcn.1003a6f0
lea ecx, [ebp - 0x10c]
call fcn.1003a6f0
lea ecx, [ebp - 0x124]
call fcn.1003a6f0
lea ecx, [ebp - 0x13c]
call fcn.1003a6f0
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [0x10001b10]
push eax
lea ecx, [ebp - 0x7c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x14]
push eax
push 0x100690d8
push 0x10069198
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1cc]
push edx
call sym.desktop.d_pharyngemphraxis
add esp, 0x24
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x7c]
call fcn.1003d470
mov dword [ebp - 0xc], eax
push 0x15
push 0
lea eax, [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.10041c40
mov ecx, eax
call fcn.1003d470
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dl, byte [ecx]
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0xc]
cmp dl, byte [eax]
jne 0x1004f211
cmp byte [ebp - 1], 0
je 0x1004f208
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + 1]
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0xc]
cmp dl, byte [eax + 1]
jne 0x1004f211
add dword [ebp - 8], 2
add dword [ebp - 0xc], 2
cmp byte [ebp - 2], 0
jne 0x1004f1d4
mov dword [ebp - 0x14], 0
jmp 0x1004f219
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], edx
push 0x1002a30c
lea ecx, [ebp - 0x19c]
call fcn.1003a330
mov dword [ebp - 0x38], eax
push 0x1002a318
lea ecx, [ebp - 0x184]
call fcn.1003a330
mov dword [ebp - 0x30], eax
push 0x63
push 0
lea eax, [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x30]
call fcn.10041c40
mov dword [ebp - 0x34], eax
push 0x1002a320
mov ecx, dword [ebp - 0x34]
call fcn.100407b0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, eax
push 0x13
push 0
lea ecx, [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.10041c40
mov ecx, eax
call fcn.10040720
add eax, dword [ebp - 0x3c]
add eax, edi
add eax, esi
mov dword [ebp - 0x44], eax
mov edx, dword [0x10001b14]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [0x10001b14], eax
lea ecx, [ebp - 0x154]
call fcn.1003a6f0
lea ecx, [ebp - 0x16c]
call fcn.1003a6f0
lea ecx, [ebp - 0x184]
call fcn.1003a6f0
lea ecx, [ebp - 0x19c]
call fcn.1003a6f0
lea ecx, [ebp - 0x1b4]
call fcn.1003a6f0
lea ecx, [ebp - 0x1cc]
call fcn.1003a6f0
mov ecx, dword [0x10001b40]
sub ecx, dword [ebp - 0x58]
add ecx, dword [0x10001b24]
mov dword [0x10001b24], ecx
mov ecx, 0x10069180
call fcn.1003d940
cmp eax, 0x74
jae 0x1004f37d
lea edx, [ebp - 0x7c]
push edx
push 0x100690d8
lea eax, [ebp - 0x7c]
push eax
push 0x10069150
lea ecx, [ebp - 0x214]
push ecx
call fcn.1003c340
add esp, 0xc
push eax
lea edx, [ebp - 0x1fc]
push edx
call fcn.1003d9a0
add esp, 0xc
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.1003d9a0
add esp, 0xc
push eax
mov ecx, 0x10069180
call fcn.1003e650
lea ecx, [ebp - 0x1e4]
call fcn.1003a6f0
lea ecx, [ebp - 0x1fc]
call fcn.1003a6f0
lea ecx, [ebp - 0x214]
call fcn.1003a6f0
mov ecx, 0x100010d4
call fcn.1003d490
push 0x1002a338
lea ecx, [ebp - 0x244]
call fcn.1003a330
mov dword [ebp - 0x48], eax
push 0
push 0x1002a340
mov ecx, dword [ebp - 0x48]
call fcn.100409e0
mov esi, eax
push 0x1002a334
lea ecx, [ebp - 0x22c]
call fcn.1003a330
mov ecx, eax
call fcn.1003d470
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, esi
push 0x1002a32c
mov ecx, 0x10069108
call fcn.100407b0
xor eax, edi
mov dword [0x10001b18], eax
lea ecx, [ebp - 0x22c]
call fcn.1003a6f0
lea ecx, [ebp - 0x244]
call fcn.1003a6f0
push 0x100010c8
lea ecx, [ebp - 0x64]
call fcn.1003e690
mov dword [ebp - 0x10], 0
jmp 0x1004f418
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov ecx, 0x100010bc
call fcn.10041c10
cmp dword [ebp - 0x10], eax
jae 0x1004f69d
push 0x1002a344
lea ecx, [ebp - 0x46c]
call fcn.1003a330
push 0x1002a350
lea ecx, [ebp - 0x454]
call fcn.1003a330
push 0x1002a35c
lea ecx, [ebp - 0x43c]
call fcn.1003a330
push 0x1002a36c
lea ecx, [ebp - 0x424]
call fcn.1003a330
push 0x1002a384
lea ecx, [ebp - 0x40c]
call fcn.1003a330
push 0x1002a3a4
lea ecx, [ebp - 0x3f4]
call fcn.1003a330
push 0x1002a3b0
lea ecx, [ebp - 0x3dc]
call fcn.1003a330
push 0x1002a3c8
lea ecx, [ebp - 0x3c4]
call fcn.1003a330
push 0x1002a3dc
lea ecx, [ebp - 0x3ac]
call fcn.1003a330
push 0x1002a404
lea ecx, [ebp - 0x394]
call fcn.1003a330
push 0x1002a410
lea ecx, [ebp - 0x37c]
call fcn.1003a330
push 0x1002a428
lea ecx, [ebp - 0x364]
call fcn.1003a330
push 0x1002a42c
lea ecx, [ebp - 0x34c]
call fcn.1003a330
push 0x1002a438
lea ecx, [ebp - 0x334]
call fcn.1003a330
push 0x1002a460
lea ecx, [ebp - 0x31c]
call fcn.1003a330
push 0x1002a484
lea ecx, [ebp - 0x304]
call fcn.1003a330
push 0x1002a4a8
lea ecx, [ebp - 0x2ec]
call fcn.1003a330
push 0x1002a4b8
lea ecx, [ebp - 0x2d4]
call fcn.1003a330
push 0x1002a4e0
lea ecx, [ebp - 0x2bc]
call fcn.1003a330
push 0x1002a4f4
lea ecx, [ebp - 0x2a4]
call fcn.1003a330
push 0x1002a4f8
lea ecx, [ebp - 0x28c]
call fcn.1003a330
push 0x1002a4fc
lea ecx, [ebp - 0x274]
call fcn.1003a330
push 0x1002a50c
lea ecx, [ebp - 0x25c]
call fcn.1003a330
lea ecx, [ebp - 0x25c]
call fcn.1003a6f0
lea ecx, [ebp - 0x274]
call fcn.1003a6f0
lea ecx, [ebp - 0x28c]
call fcn.1003a6f0
lea ecx, [ebp - 0x2a4]
call fcn.1003a6f0
lea ecx, [ebp - 0x2bc]
call fcn.1003a6f0
lea ecx, [ebp - 0x2d4]
call fcn.1003a6f0
lea ecx, [ebp - 0x2ec]
call fcn.1003a6f0
lea ecx, [ebp - 0x304]
call fcn.1003a6f0
lea ecx, [ebp - 0x31c]
call fcn.1003a6f0
lea ecx, [ebp - 0x334]
call fcn.1003a6f0
lea ecx, [ebp - 0x34c]
call fcn.1003a6f0
lea ecx, [ebp - 0x364]
call fcn.1003a6f0
lea ecx, [ebp - 0x37c]
call fcn.1003a6f0
lea ecx, [ebp - 0x394]
call fcn.1003a6f0
lea ecx, [ebp - 0x3ac]
call fcn.1003a6f0
lea ecx, [ebp - 0x3c4]
call fcn.1003a6f0
lea ecx, [ebp - 0x3dc]
call fcn.1003a6f0
lea ecx, [ebp - 0x3f4]
call fcn.1003a6f0
lea ecx, [ebp - 0x40c]
call fcn.1003a6f0
lea ecx, [ebp - 0x424]
call fcn.1003a6f0
lea ecx, [ebp - 0x43c]
call fcn.1003a6f0
lea ecx, [ebp - 0x454]
call fcn.1003a6f0
lea ecx, [ebp - 0x46c]
call fcn.1003a6f0
jmp 0x1004f40f
mov ecx, 0x100010d4
call fcn.1003d490
push 0
mov ecx, 0x100690d8
call fcn.10040830
push 0
mov ecx, 0x100690d8
call fcn.10040830
mov eax, 0x1f6
cdq
mov esi, eax
xor esi, edx
sub esi, edx
push 0x1002a528
mov ecx, 0x10069120
call fcn.100407b0
xor esi, eax
mov dword [ebp - 0x50], esi
mov edx, dword [0x10001b34]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x50]
mov dword [0x10001b34], eax
push 0x100010c8
mov ecx, 0x100010c8
call fcn.1003e690
mov ecx, 0x10069168
call fcn.1003d940
cmp eax, 0x27
jae 0x1004f780
push 0x10069120
push 0x10069198
push 0x100690c0
push 0x100690d8
lea ecx, [ebp - 0x4b4]
push ecx
call fcn.1003c340
add esp, 0xc
push eax
lea edx, [ebp - 0x49c]
push edx
call fcn.1003d9a0
add esp, 0xc
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.1003d9a0
add esp, 0xc
push eax
mov ecx, 0x10069168
call fcn.1003e650
lea ecx, [ebp - 0x484]
call fcn.1003a6f0
lea ecx, [ebp - 0x49c]
call fcn.1003a6f0
lea ecx, [ebp - 0x4b4]
call fcn.1003a6f0
mov ecx, 0x10069180
call fcn.1003d470
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
push 0x1002a530
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
add esi, eax
mov dword [0x10001b38], esi
mov ecx, 0x100010c8
call fcn.1003d490
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1003a220
lea ecx, [ebp - 0x88]
call fcn.1003a750
lea ecx, [ebp - 0x64]
call fcn.1003a750
lea ecx, [ebp - 0x94]
call fcn.1003a750
lea ecx, [ebp - 0xac]
call fcn.1003a6f0
lea ecx, [ebp - 0x4cc]
call fcn.1003a6f0
lea ecx, [ebp - 0x7c]
call fcn.1003a6f0
lea ecx, [ebp - 0xc4]
call fcn.1003a6f0
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret