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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
call fcn.00401b66
push 0x41a350
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
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.0040da75
pop ecx
cmp eax, ebx
je 0x405658
mov ecx, eax
call fcn.00406686
mov ebx, eax
lea eax, [ebp - 0x30]
push eax
call fcn.00408fed
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 0x41aa40
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.00401ab5
pop ecx
pop ecx
test al, al
je 0x4056f5
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 0x238
call fcn.0040da75
pop ecx
test eax, eax
je 0x405711
push ebx
push edi
mov ecx, eax
call fcn.00403e4f
mov esi, eax
jmp 0x405713
xor esi, esi
push ecx
push ecx
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.00401a63
push ecx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.00401a8c
mov ecx, esi
call fcn.00402dac
lea ecx, [ebp - 0x18]
call fcn.0040102d
mov edi, dword [esi + 0x114]
push ecx
push ecx
mov ecx, esp
push 0x41aff8
call fcn.0040140d
mov ecx, edi
call fcn.00409270
mov edi, eax
test edi, edi
je 0x4057df
cmp dword [edi + 0xc], 0
je 0x4057df
push 0x41aff4
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.00401d8c
lea ecx, [ebp - 0x18]
call fcn.004014d9
push ecx
push ecx
mov ecx, esp
push 0x41afec
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 0x4057f4
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 + 0x114]
push ecx
push ecx
mov ecx, esp
push str.PostfixCommandLine
call fcn.0040140d
mov ecx, edi
call fcn.00409270
test eax, eax
je 0x405831
mov eax, dword [eax + 0xc]
test eax, eax
je 0x405831
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.004033ee
mov ecx, esi
call fcn.0040423c
mov edi, 0x41d
mov dword [ebp - 8], eax
cmp eax, edi
jne 0x40587e
push 0
push ecx
push ecx
push esp
mov ecx, esi
call fcn.00401a4c
push ecx
push ecx
push esp
mov ecx, esi
call fcn.00401a35
push 1
mov ecx, esi
call fcn.00403bff
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov al, byte [esi + 0x202]
mov byte [ebp - 1], al
mov al, byte [esi + 0x108]
mov byte [ebp - 0xc], al
lea eax, [esi + 0x124]
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 0x4058b9
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
inc edi
cmp eax, 2
jl 0x4058a1
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
cmp eax, 2
jl 0x4058d1
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 4]
mov dword [ebp - 8], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
mov edi, eax
test edi, edi
jbe 0x4058fa
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x414
jne 0x4058f7
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 4]
mov dword [ebp - 8], eax
dec edi
jne 0x4058dd
cmp byte [ebp - 1], 0
je 0x405916
push ecx
push ecx
mov ecx, esp
call fcn.0040102d
push 0xc
push 0
push 0
mov ecx, esi
call fcn.00402b21
lea eax, [esi + 0x1cc]
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.00402eec
push esi
call fcn.0040da00
cmp byte [ebp - 1], 0
pop ecx
je 0x40597c
push dword [ebp - 0xc]
lea eax, [ebp - 0x40]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
call fcn.0040215b
add esp, 0xc
call fcn.00401cdb
push dword [ebp - 8]
jmp 0x405878