Function at 0x4040eb
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040140d
push 0x1c
call fcn.0040440f
pop ecx
cmp eax, ebx
je 0x404123
mov ecx, eax
call fcn.0040515e
mov ebx, eax
lea eax, [ebp - 0x30]
push eax
call fcn.00406bd2
pop ecx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401037
push ecx
push ecx
mov ecx, esp
push str.Macromed
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x20]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push str.Flash
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x20]
call fcn.00401510
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
call fcn.00401a20
pop ecx
pop ecx
test al, al
je 0x4041c0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401037
mov esi, dword [ebx]
push ecx
push ecx
mov ecx, esp
push str.FlashInstall.log
add esi, 0x10
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x10]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
mov ecx, ebx
call dword [esi]
lea ecx, [ebp - 0x10]
call fcn.00401471
push 0x1d0
call fcn.0040440f
pop ecx
test eax, eax
je 0x4041dc
push ebx
push edi
mov ecx, eax
call fcn.00402886
mov esi, eax
jmp 0x4041de
xor esi, esi
push ecx
push ecx
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.004019ce
push ecx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.004019f7
mov ecx, esi
call fcn.00401fa9
mov ecx, esi
call fcn.004027d9
lea ecx, [ebp - 0x18]
call fcn.0040102d
mov edi, dword [esi + 0xc4]
push ecx
push ecx
mov ecx, esp
push 0x40b834
call fcn.0040140d
mov ecx, edi
call fcn.00406dca
mov edi, eax
test edi, edi
je 0x4042b1
cmp dword [edi + 0xc], 0
je 0x4042b1
push 0x40b830
lea ecx, [ebp - 0x18]
call fcn.004014af
push ecx
push ecx
mov eax, esp
push 0
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, esi
call fcn.00401af5
lea ecx, [ebp - 0x18]
call fcn.004014d9
push ecx
push ecx
mov ecx, esp
push 0x40b828
call fcn.0040140d
lea ecx, [ebp - 0x18]
call fcn.004014d9
mov eax, dword [edi + 0xc]
push ecx
push ecx
add eax, 4
mov ecx, esp
push eax
call fcn.00401037
lea ecx, [ebp - 0x18]
call fcn.004014d9
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
push 0x20
lea ecx, [ebp - 0x18]
call fcn.00401510
jmp 0x4042c6
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
lea ecx, [ebp - 0x18]
call fcn.00401479
mov edi, dword [esi + 0xc4]
push ecx
push ecx
mov ecx, esp
push 0x40b800
call fcn.0040140d
mov ecx, edi
call fcn.00406dca
test eax, eax
je 0x404303
mov eax, dword [eax + 0xc]
test eax, eax
je 0x404303
push ecx
push ecx
add eax, 4
mov ecx, esp
push eax
call fcn.00401037
push 0x20
lea ecx, [ebp - 0x18]
call fcn.00401510
push ecx
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.00402d1d
mov ecx, esi
call fcn.004034ef
mov al, byte [esi + 0x1a6]
mov byte [ebp - 1], al
mov al, byte [esi + 0xb8]
mov byte [ebp - 0xc], al
lea eax, [esi + 0xd4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401037
xor edi, edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
cmp edi, eax
jbe 0x404359
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
inc edi
cmp eax, 2
jl 0x404341
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
cmp eax, 2
jl 0x404373
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 4]
mov dword [ebp - 8], eax
jmp 0x404377
and dword [ebp - 8], 0
cmp byte [ebp - 1], 0
je 0x404393
push ecx
push ecx
mov ecx, esp
call fcn.0040102d
push 0xc
push 0
push 0
mov ecx, esi
call fcn.004025b7
lea eax, [esi + 0x17c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00401037
mov edi, dword [ebx]
push ecx
push ecx
mov ecx, esp
push str.FlashInstall.log
add edi, 0x1c
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x38]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
mov ecx, ebx
call dword [edi]
mov ecx, esi
call fcn.00402b91
push esi
call fcn.00404423
cmp byte [ebp - 1], 0
pop ecx
je 0x4043f9
push dword [ebp - 0xc]
lea eax, [ebp - 0x40]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
call fcn.00401ec1
add esp, 0xc
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_ExitProcess]