Function at 0x1002d6a
Capabilities:
Accept command line arguments
Get common file path
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x50c
mov eax, dword [0x100d0ac]
push ebx
xor ebx, ebx
push esi
push edi
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 4], eax
mov dword [ebp - 0x4ec], ebx
mov dword [ebp - 0x4f4], ebx
mov dword [ebp - 0x4f0], ebx
mov dword [ebp - 0x4e8], ebx
call fcn.0100a525
push ebx
mov dword [ebp - 0x4fc], ebx
mov dword [ebp - 0x4f8], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x4e4], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea ecx, [ebp - 0x4e0]
mov esi, eax
call fcn.0100a5b3
test eax, eax
je 0x1002e25
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
mov edi, 0x104
push edi
lea eax, [ebp - 0x214]
push eax
push 0xd2
push dword [ebp - 0x4e4]
call esi
push edi
lea eax, [ebp - 0x31c]
push eax
push 0xdb
push dword [ebp - 0x4e4]
call esi
push ebx
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x31c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1002fac
push 0x41
pop ecx
push ebx
xor eax, eax
lea edi, [ebp - 0x10c]
rep stosd dword es:[edi], eax
xor ebx, ebx
inc ebx
push ebx
push 0x100d048
push 0xc
lea ecx, [ebp - 0x50c]
stosb byte es:[edi], al
call fcn.0100a0cd
mov edi, 0x104
push edi
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x4e8]
push eax
push esi
lea ecx, [ebp - 0x50c]
call fcn.0100a3b5
test eax, eax
mov esi, 0x800
je 0x10030e6
mov eax, dword [ebp - 0x4e8]
neg al
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x4fc]
sbb eax, eax
neg eax
push eax
push 0x100124c
call fcn.010090e7
test eax, eax
je 0x10030de
push 0
push 0
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x4e8]
push eax
call fcn.01002c6b
test eax, eax
je 0x10030ec
mov eax, dword [ebp - 0x4e8]
test al, 0x10
je 0x1002ed4
mov dword [ebp - 0x4ec], ebx
jmp 0x10030c2
test al, 1
je 0x1002f4b
cmp eax, ebx
je 0x1002ee3
cmp eax, 0x801
jne 0x1002ec9
cmp byte [ebp - 0x10c], 0
je 0x1002ec9
test esi, eax
jne 0x1002f0a
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x4e4]
call fcn.0100918c
test eax, eax
je 0x10030c2
lea eax, [ebp - 0x10c]
push eax
push 0
call fcn.01002861
test eax, eax
lea eax, [ebp - 0x10c]
je 0x1002f39
push eax
push dword [ebp - 0x4e8]
push dword [ebp - 0x4e4]
call fcn.01002a12
jmp 0x10030c2
push ebx
push eax
push dword [ebp - 0x4e4]
call fcn.01009300
jmp 0x10030bc
test al, 2
je 0x1002f75
cmp eax, 2
jne 0x1002ec9
cmp byte [ebp - 0x10c], 0
jne 0x1002ec9
push dword [ebp - 0x4e4]
call fcn.01008f0d
jmp 0x10030bc
test al, 8
je 0x1002ff1
cmp eax, 8
jne 0x1002ec9
cmp byte [ebp - 0x10c], 0
jne 0x1002ec9
lea eax, [ebp - 0x424]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x1002fc8
lea ecx, [ebp - 0x50c]
call fcn.0100a16b
lea ecx, [ebp - 0x4fc]
call fcn.0100915e
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.01009b9d
leave
ret 0x10
push 0x1001410
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x424]
push eax
push dword [ebp - 0x4e4]
call fcn.01008d60
jmp 0x10030bc
test al, 4
je 0x1003074
cmp eax, 4
je 0x1003005
cmp eax, 0x804
jne 0x1002ec9
cmp byte [ebp - 0x10c], 0
je 0x1002ec9
test esi, eax
jne 0x1003029
push dword [ebp - 0x4e4]
call fcn.01009990
test eax, eax
je 0x10030c2
lea eax, [ebp - 0x10c]
push eax
push ebx
call fcn.01002861
test eax, eax
lea eax, [ebp - 0x10c]
push eax
je 0x1003067
push dword [ebp - 0x4e8]
push dword [ebp - 0x4e4]
call fcn.01002a12
test eax, eax
je 0x10030c2
push 0x10013c8
push 0x80000002
call fcn.01003c89
jmp 0x10030c2
push dword [ebp - 0x4e4]
call fcn.01009a51
jmp 0x10030bc
lea ecx, [ebp - 0x4fc]
push ecx
mov ecx, eax
and ecx, 0x2000
push ecx
mov ecx, eax
and ecx, 0x1000
push ecx
mov ecx, eax
and ecx, esi
push ecx
mov ecx, eax
and ecx, 0x200
push ecx
mov ecx, eax
and ecx, 0x100
push ecx
and eax, 0x400
push eax
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x4e4]
call fcn.010071c2
mov dword [ebp - 0x4f0], eax
push ebx
push dword [ebp - 0x4f0]
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x4e8]
push eax
call fcn.01002c6b
jmp 0x10030ec
mov dword [ebp - 0x4f4], ebx
jmp 0x10030ec
mov dword [ebp - 0x4ec], ebx
lea ecx, [ebp - 0x50c]
call fcn.0100a16b
mov ecx, dword [0x100d0b8]
test ecx, ecx
je 0x1003111
call fcn.01002823
push dword [0x100d0b8]
call fcn.0100a0a7
mov ecx, dword [0x100d0bc]
test ecx, ecx
je 0x100312b
call fcn.01002823
push dword [0x100d0bc]
call fcn.0100a0a7
mov ecx, dword [0x100d0c0]
test ecx, ecx
je 0x1003145
call fcn.01002823
push dword [0x100d0c0]
call fcn.0100a0a7
mov ecx, dword [0x100d0c4]
test ecx, ecx
je 0x100315f
call fcn.01002823
push dword [0x100d0c4]
call fcn.0100a0a7
lea ecx, [ebp - 0x4fc]
call fcn.0100915e
cmp dword [ebp - 0x4ec], 0
je 0x1003200
test dword [ebp - 0x4e8], esi
jne 0x10031d8
push 0x401
call fcn.0100a087
mov ebx, eax
test ebx, ebx
je 0x10031d5
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push edi
lea eax, [ebp - 0x214]
push eax
push 0xd2
push dword [ebp - 0x4e4]
call esi
push 0x400
push ebx
push 0xc8
push dword [ebp - 0x4e4]
call esi
push 0x40
lea eax, [ebp - 0x214]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call fcn.0100a0a7
xor ebx, ebx
inc ebx
call fcn.0100ab57
xor eax, eax
cmp dword [ebp - 0x4f0], eax
jl 0x10031f9
cmp dword [ebp - 0x4ec], eax
jne 0x10031f9
cmp dword [ebp - 0x4f4], eax
jne 0x10031f9
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp - 0x4f4], 0
je 0x10031d8
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push edi
lea eax, [ebp - 0x214]
push eax
push 0xd2
push dword [ebp - 0x4e4]
call esi
push edi
lea eax, [ebp - 0x31c]
push eax
push 0xd1
push dword [ebp - 0x4e4]
call esi
push 0
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x31c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10031d8