Function at 0x401200
Capabilities:
Accept command line arguments
Read file via mapping
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x114], 0
push ebx
push esi
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x114]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, dword [ebp - 0x114]
mov edi, eax
cmp ecx, 1
jle 0x40127b
mov ecx, dword [edi + 4]
call fcn.004016c8
mov esi, eax
push esi
call fcn.00401740
pop ecx
cmp eax, 0x32
jbe 0x401261
mov byte [esi + 0x33], 0
push esi
push 0x414ed0
call fcn.004017d0
push esi
call fcn.004018c8
mov ecx, dword [ebp - 0x114]
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov esi, 0x414fe0
cmp ecx, 2
jle 0x4012df
mov ecx, dword [edi + 8]
call fcn.004016c8
mov esi, eax
mov edi, 0x4150e8
push esi
push edi
call fcn.004017d0
push esi
call fcn.004018c8
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push edi
push 0x104
push edi
call ebx
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
neg eax
mov esi, 0x414fe0
push edi
sbb al, al
and byte [0x4150e8], al
push esi
call fcn.004017e0
pop ecx
pop ecx
jmp 0x4012e4
mov edi, 0x4150e8
cmp byte [0x4150e8], 0
jne 0x401358
push 0x105
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
push eax
push edi
push 0x104
push edi
call ebx
mov eax, dword [ebp - 0x110]
push edi
push esi
mov byte [eax], 0
call fcn.004017e0
push str.AutoIt.chm
push edi
call fcn.004017e0
push edi
call fcn.00401e8e
push str.beta_autoit.chm
push eax
call fcn.00401a10
add esp, 0x1c
test eax, eax
je 0x40134b
push 0x411538
push esi
call fcn.004017e0
pop ecx
pop ecx
push str.scite_scite4autoit3.chm
push esi
call fcn.004017e0
pop ecx
pop ecx
push 0x10
push str.autoit3wrapper_
mov esi, 0x414ed0
push esi
call fcn.00401f1d
add esp, 0xc
test eax, eax
jne 0x401378
push str.autoit3wrapper
jmp 0x4013db
push 0xd
push str.au3stripper_
push esi
call fcn.00401f1d
add esp, 0xc
test eax, eax
jne 0x401393
push str.au3stripper
jmp 0x4013db
push 6
push str.tidy_
push esi
call fcn.00401f1d
add esp, 0xc
test eax, eax
jne 0x4013ae
push str.tidy
jmp 0x4013db
push 7
push str.region
push esi
call fcn.00401f1d
add esp, 0xc
test eax, eax
je 0x4013d6
push 0xa
push str.endregion
push esi
call fcn.00401f1d
add esp, 0xc
test eax, eax
jne 0x4013ef
push str.region
push esi
call fcn.004017d0
push 0x414fe0
push edi
call fcn.004017d0
add esp, 0x10
lea eax, [ebp - 0x118]
push eax
push edi
push 0x104
push edi
call ebx
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x10c]
push eax
push 0x104
push edi
call ebx
mov eax, dword [ebp - 0x110]
xor ebx, ebx
mov byte [eax], bl
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp - 0x118]
push 0x10c
push ebx
push 4
push ebx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
push ebx
push ebx
push ebx
push 0xf001f
push eax
mov dword [0x414fd8], eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x414fdc], eax
cmp dword [0x414fd8], ebx
je 0x4014a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
mov eax, dword [0x414fdc]
jne 0x4014a0
add eax, 4
push esi
push eax
call fcn.004017d0
mov eax, dword [0x414fdc]
pop ecx
pop ecx
push dword [0x414fd8]
mov dword [eax], 1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x4015a2
mov dword [eax], ebx
add eax, 4
push esi
push eax
call fcn.004017d0
mov ebx, dword [ebp - 0x11c]
pop ecx
pop ecx
mov ecx, ebx
call fcn.004015b5
push 0
push ebx
mov dword [0x415214], ebx
mov eax, 0x80000000
xor ebx, ebx
push ebx
push ebx
push ebx
push eax
push ebx
push eax
push 0xcf0000
push 0x4115e8
push str.AutoIt3_Help
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x401499
mov eax, dword [ebp + 0x10]
push ebx
push 1
cmp byte [eax], bl
jne 0x401516
push str.::_html_introduction.htm
push edi
call fcn.004017e0
pop ecx
pop ecx
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.00401149
mov dword [0x415210], eax
jmp 0x40156a
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push edi
call esi
push eax
call fcn.00401149
push 0x4151f0
push 0xd
push edi
mov dword [0x415210], eax
mov dword [0x4151f0], 0x20
mov dword [0x4151f4], ebx
mov dword [0x4151f8], 0x414ed0
mov dword [0x4151fc], ebx
mov dword [0x415204], ebx
mov dword [0x41520c], 1
call esi
push eax
call fcn.00401149
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
jmp 0x40158c
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x138]
push eax
call esi
test eax, eax
jne 0x401572
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401724
mov esp, ebp
pop ebp
ret 0x10