Function at 0x10001303
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2814
call fcn.100010f0
mov edx, dword [ebp + 8]
push ebx
mov eax, dword [edx + 0x3c]
add eax, 0x18
add eax, edx
push eax
mov ecx, dword [eax + 0x38]
add ecx, edx
mov dword [0x10007004], ecx
call fcn.10003830
xor ebx, ebx
push ebx
push 0x6400000
push ebx
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [section..data], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x10]
push ecx
push eax
mov dword [ebp - 0x10], ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 0x10], 1
jle 0x10001382
mov eax, dword [eax + 4]
movzx ecx, word [eax]
cmp ecx, 0x2d
je 0x1000136b
cmp ecx, 0x2f
jne 0x10001382
cmp word [eax + 2], 0x73
jne 0x10001382
cmp word [eax + 4], bx
jne 0x10001382
call fcn.1000195a
jmp 0x100015a9
xor eax, eax
mov word [ebp - 0x1814], ax
push 0x400
lea eax, [ebp - 0x1814]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x100015a9
push edi
lea ecx, [ebp - 0x1814]
call fcn.10003387
push 1
push ecx
lea eax, [ebp - 0x1014]
push eax
push ecx
lea edx, [ebp - 0x2014]
lea ecx, [ebp - 0x1814]
call fcn.100032a8
lea ecx, [ebp - 0xc]
call fcn.10001a1f
push str.SHELL32
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x100015a8
push esi
push str.SHGetFolderPathW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor eax, eax
mov word [ebp - 0x814], ax
lea eax, [ebp - 0x814]
push eax
push ebx
push ebx
push 0x801a
push ebx
call esi
test eax, eax
jne 0x100015a0
push ebx
push ecx
lea eax, [ebp - 0x2814]
push eax
push ecx
lea edx, [ebp - 0x1014]
lea ecx, [ebp - 0x2014]
call fcn.100032a8
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x1014]
call fcn.10003200
test eax, eax
je 0x1000151b
mov edx, 0x100061a4
lea ecx, [ebp - 0x814]
call fcn.100031c0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
push eax
lea edx, [ebp - 0x1014]
lea ecx, [ebp - 8]
mov dword [ebp + 8], ebx
call fcn.1000254c
lea edx, [ebp - 0x1014]
lea ecx, [ebp - 0x814]
call fcn.100031c0
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
mov eax, dword [0x10007004]
push ecx
mov edx, dword [eax + 0x10]
add edx, eax
call fcn.10004b60
push dword [ebp - 4]
lea eax, [ebp - 0x814]
push dword [ebp + 8]
push dword [ebp - 0xc]
push eax
call fcn.10001e46
test eax, eax
je 0x100014ee
xor eax, eax
mov word [ebp - 0x814], ax
lea eax, [ebp - 0x814]
push eax
push ebx
push ebx
push 0x25
push ebx
call esi
test eax, eax
jne 0x100014ee
push dword [ebp - 4]
lea eax, [ebp - 0x814]
push dword [ebp + 8]
push ecx
push eax
call fcn.10001fd4
mov ecx, dword [ebp + 8]
call fcn.10003120
call fcn.100016b5
cmp eax, 1
je 0x1000150f
cmp eax, 2
je 0x1000150f
call fcn.100016f8
jmp 0x100015a0
mov ecx, eax
call fcn.100015b1
jmp 0x100015a0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [0x10007004]
push 0x70
mov ecx, dword [eax + 0x10]
add ecx, eax
call fcn.100034d0
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 8]
push eax
call fcn.10003650
push 0x10
pop ecx
call fcn.10003110
mov esi, eax
test esi, esi
je 0x10001562
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
jmp 0x10001564
mov esi, ebx
push ecx
push dword [ebp + 8]
mov ecx, esi
call fcn.100020ef
test eax, eax
je 0x10001586
push dword [ebp - 0xc]
mov edx, dword [section..data]
mov ecx, dword [0x10007004]
push ebx
call dword [esi + 0xc]
mov ecx, esi
call fcn.1000227d
test esi, esi
je 0x10001598
mov ecx, esi
call fcn.10003120
mov ecx, dword [ebp + 8]
call fcn.10003120
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
pop edi
xor eax, eax
inc eax
pop ebx
leave
ret 4