Function at 0x40a8a0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x118
push ebx
push ebp
push esi
push edi
mov ebx, eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x388
call fcn.004114b1
mov esi, eax
xor ebp, ebp
add esp, 4
cmp esi, ebp
je 0x40a8ee
xor eax, eax
mov ecx, 0xdc
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [0x41e34c], esi
call fcn.00404e60
mov dword [esi + 8], ebp
mov dword [esi + 0x374], ebp
mov dword [esi + 0x370], ebp
jmp 0x40a8f0
xor esi, esi
cmp ebx, ebp
mov eax, dword [esp + 0x12c]
mov edi, esi
mov dword [0x41e5f4], edi
mov dword [esi + 0x320], eax
je 0x40a917
mov cl, byte [ebx]
neg cl
sbb ecx, ecx
and ecx, ebx
mov dword [esi + 0x370], ecx
mov cl, byte [0x41da40]
mov bl, byte [0x41da38]
xor edx, edx
sub cl, 0x30
xor esi, esi
xor eax, eax
cmp cl, bl
mov dword [0x41e53c], 0x280
mov dword [0x41e538], 0x1e0
mov dword [0x41e534], edx
mov dword [0x41e52c], ebp
jne 0x40a955
mov eax, 1
mov cl, byte [0x41da41]
mov bl, byte [0x41da39]
sub cl, 0x30
cmp cl, bl
jne 0x40a969
inc eax
mov cl, byte [0x41da42]
mov bl, byte [0x41da3a]
sub cl, 0x30
cmp cl, bl
jne 0x40a97d
inc eax
mov cl, byte [0x41da43]
mov bl, byte [0x41da3b]
sub cl, 0x30
cmp cl, bl
jne 0x40a991
inc eax
mov bl, byte [0x41da44]
mov ecx, dword [0x41da3c]
sub bl, 0x30
cmp bl, cl
jne 0x40a9a5
inc eax
mov bl, byte [0x41da45]
sub bl, 0x30
cmp bl, ch
jne 0x40a9b3
inc eax
mov bl, byte [0x41da46]
mov cx, word [0x41da3e]
sub bl, 0x30
cmp bl, cl
jne 0x40a9c8
inc eax
mov bl, byte [0x41da47]
sub bl, 0x30
cmp bl, ch
jne 0x40a9d6
inc eax
cmp eax, ebp
jne 0x40aa46
push str.86016
call fcn.00411bce
mov esi, eax
mov al, byte [0x41da51]
add esp, 4
add esi, 0x10000
cmp al, 0x73
jne 0x40aa02
mov dword [0x41e52c], 2
movsx edx, word [0x41da54]
movsx eax, word [0x41da57]
movzx ecx, word [0x41da5d]
mov edi, dword [0x41e5f4]
mov dword [0x41e53c], edx
movsx edx, word [0x41da5a]
mov dword [0x41e538], eax
mov eax, dword [0x41da60]
mov dword [0x41e534], edx
mov dword [edi + 0x37c], ecx
mov dword [edi + 0x380], eax
test dl, 2
jne 0x40aa81
push 0x104
lea edx, [esp + 0x24]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x20]
push eax
mov ecx, eax
push ecx
mov eax, 0x20
call fcn.00410a80
lea edx, [esp + 0x28]
push edx
call fcn.00411e27
mov edi, dword [0x41e5f4]
add esp, 0xc
mov eax, esi
call fcn.00401d60
test eax, eax
je 0x40aaaf
push 0x30
push str.Error
push str.Startup_failed.
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x118
ret
mov eax, dword [0x41e5f4]
mov dword [0x41e530], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
mov al, byte [esi]
xor ecx, ecx
test al, al
je 0x40aae8
lea esp, [esp]
inc esi
cmp al, 0x20
jne 0x40aadb
cmp ecx, ebp
je 0x40aae8
jmp 0x40aae2
cmp al, 0x22
jne 0x40aae2
xor ecx, 1
mov al, byte [esi]
test al, al
jne 0x40aad0
mov ebx, dword [0x41e530]
mov eax, esi
add ebx, 0x368
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ab00
sub eax, edx
lea ebp, [eax + 1]
mov eax, dword [ebx]
mov ecx, dword [eax - 0x10]
mov edi, dword [eax - 0xc]
sub eax, 0x18
cmp ebp, ecx
jle 0x40ab28
push ebp
call fcn.00410490
mov edi, eax
add esp, 4
mov dword [ebx], edi
mov eax, dword [0x41e52c]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x40ac22
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
mov al, byte [esi]
xor ecx, ecx
test al, al
je 0x40ab6d
inc esi
cmp al, 0x20
jne 0x40ab60
test ecx, ecx
je 0x40ab6d
jmp 0x40ab67
cmp al, 0x22
jne 0x40ab67
xor ecx, 1
mov al, byte [esi]
test al, al
jne 0x40ab55
movsx eax, byte [esi + 1]
push eax
mov dword [0x41e528], 0x1e
call fcn.00410f6d
add esp, 4
push 0
push str.oniwndp
mov bl, al
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x40aba7
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x118
ret
cmp bl, 0x70
jne 0x40acde
add esi, 3
push esi
call fcn.00411bce
add esp, 4
lea ecx, [esp + 0x10]
mov esi, eax
push ecx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
sub edx, edi
sub eax, ecx
mov ecx, dword [0x41e530]
mov dword [0x41e53c], edx
mov dword [0x41e538], eax
mov dword [0x41e534], 0x100
mov dword [ecx + 0x358], esi
mov dword [0x41e52c], 0
mov eax, dword [0x41e530]
mov ecx, dword [eax + 0x30c]
mov edx, dword [0x41e52c]
or ecx, edx
mov dword [eax + 0x30c], ecx
mov eax, dword [0x41e530]
mov dword [eax + 0x354], fcn.0040a6a0
mov eax, dword [0x41e344]
mov ecx, dword [eax + 0x204]
add eax, 0x200
mov dword [0x41e46c], ecx
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x18]
mov dword [0x41e458], edx
mov edx, dword [ecx + 0x1c]
mov dword [0x41e45c], ecx
mov ecx, dword [ecx + 0x54]
mov dword [0x41e468], edx
mov dword [0x41e464], ecx
mov dword [eax + 0xc], 0x406b90
mov dword [eax + 0x10], 0x4060c0
mov dword [eax + 0x14], 0x406180
call fcn.004063e0
mov eax, dword [0x41e344]
mov edx, dword [0x41e534]
mov ecx, dword [0x41e53c]
push 0xffffffffffffffff
mov dword [eax + 0x22c], 0x405c30
mov dword [eax + 0x230], 0x405ed0
push 0xffffffffffffffff
add eax, 0x120
push edx
push eax
mov eax, dword [0x41e538]
call fcn.00408f90
mov eax, dword [0x41e344]
add esp, 0x10
pop edi
pop esi
pop ebp
mov dword [eax + 0x150], 0x408c50
xor eax, eax
pop ebx
add esp, 0x118
ret
cmp bl, 0x73
jne 0x40abff
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
jmp 0x40ac09