Function at 0x401000
Capabilities:
Check os version
Delete file
Move file
Persist via run registry key
Print debug messages
Read file on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a0
push esi
mov dword [ebp - 8], 0
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x5cc], 0
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5f0], 0
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5b0], 0
mov dword [ebp - 0x5d8], 0
mov dword [ebp - 0x5b8], 0
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 4], 0
push 0x416288
call fcn.0040665b
add esp, 4
lea eax, [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x411030
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x5b8], 0
je 0x4010d6
mov ecx, dword [ebp - 0x5b8]
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x624]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5b8], 0
lea eax, [ebp + 0xc]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0x5b8], ecx
lea edx, [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
call fcn.0040a8f0
add esp, 8
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.00405951
add esp, 4
cmp dword [ebp + 0x57], 1
jne 0x40114f
mov edx, dword [ebp - 0x5b8]
push edx
call fcn.0040a9f0
add esp, 4
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5b8]
add eax, dword [ebp - 0x5e4]
mov cl, byte [ebp + 0x5b]
mov byte [eax - 1], cl
cmp dword [ebp - 0x518], 0
je 0x40117d
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x62c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x41688c]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x630], eax
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x518], edx
mov eax, dword [0x41688c]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [ebp + 0x6b], 2
jne 0x401235
cmp dword [ebp - 0x518], 0
je 0x4011f3
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x634], edx
mov eax, dword [ebp - 0x634]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x41687c]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
mov dword [ebp - 0x518], edx
mov eax, dword [0x41687c]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [ebp + 0x6b], 4
jne 0x4012ab
cmp dword [ebp - 0x518], 0
je 0x401269
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x63c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x416880]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x640], eax
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x518], edx
mov eax, dword [0x416880]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [ebp + 0x6b], 8
jne 0x401321
cmp dword [ebp - 0x518], 0
je 0x4012df
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x644]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x416884]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x648], eax
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x518], edx
mov eax, dword [0x416884]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [ebp + 0x6b], 0x10
jne 0x401397
cmp dword [ebp - 0x518], 0
je 0x401355
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x64c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x416888]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x650], eax
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x518], edx
mov eax, dword [0x416888]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [ebp + 0x6b], 0x20
jne 0x401482
cmp dword [ebp - 0x518], 0
je 0x4013cf
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x416898]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x658], eax
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0x518], edx
mov eax, dword [0x416898]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
push str._
lea edx, [ebp - 0x518]
push edx
call fcn.004055a0
add esp, 8
push 0x416611
call fcn.00405951
add esp, 4
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004055a0
add esp, 8
lea ecx, [ebp + 0x6f]
push ecx
call fcn.0040a9f0
add esp, 4
test eax, eax
jbe 0x401482
push 0x411038
lea edx, [ebp - 0x518]
push edx
call fcn.004055a0
add esp, 8
lea eax, [ebp + 0x6f]
push eax
call fcn.00405951
add esp, 4
push eax
lea ecx, [ebp - 0x518]
push ecx
call fcn.004055a0
add esp, 8
cmp dword [ebp + 0x6b], 0x40
jne 0x40156d
cmp dword [ebp - 0x518], 0
je 0x4014ba
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x65c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [0x41689c]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x660], eax
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0x518], edx
mov eax, dword [0x41689c]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
push 0x41103c
lea edx, [ebp - 0x518]
push edx
call fcn.004055a0
add esp, 8
push 0x416611
call fcn.00405951
add esp, 4
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004055a0
add esp, 8
lea ecx, [ebp + 0x6f]
push ecx
call fcn.0040a9f0
add esp, 4
test eax, eax
jbe 0x40156d
push 0x411040
lea edx, [ebp - 0x518]
push edx
call fcn.004055a0
add esp, 8
lea eax, [ebp + 0x6f]
push eax
call fcn.00405951
add esp, 4
push eax
lea ecx, [ebp - 0x518]
push ecx
call fcn.004055a0
add esp, 8
mov edx, dword [ebp - 0x518]
push edx
call fcn.00405bd1
add esp, 4
mov eax, dword [ebp - 0x518]
push eax
call fcn.00406539
add esp, 4
cmp dword [ebp - 0x5cc], 0
je 0x4015b9
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x664]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5cc], 0
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x668]
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [ebp - 0x5cc]
push eax
call fcn.0040a8f0
add esp, 8
push 0x411044
lea ecx, [ebp - 0x518]
push ecx
call fcn.004055a0
add esp, 8
mov edx, dword [ebp - 0x5b8]
push edx
lea eax, [ebp - 0x518]
push eax
call fcn.004055a0
add esp, 8
cmp dword [ebp - 0x5dc], 0
je 0x401654
mov ecx, dword [ebp - 0x5dc]
mov dword [ebp - 0x66c], ecx
mov edx, dword [ebp - 0x66c]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5dc], 0
mov eax, dword [0x41688c]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [0x41688c]
push edx
mov eax, dword [ebp - 0x5dc]
push eax
call fcn.0040a8f0
add esp, 8
push 0x411048
lea ecx, [ebp - 0x5dc]
push ecx
call fcn.004055a0
add esp, 8
mov edx, dword [ebp - 0x5b8]
push edx
lea eax, [ebp - 0x5dc]
push eax
call fcn.004055a0
add esp, 8
mov ecx, dword [ebp - 0x5dc]
push ecx
call fcn.0040a9f0
add esp, 4
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x5dc]
add edx, dword [ebp - 0x5e4]
mov byte [edx - 1], 0x24
mov eax, dword [ebp + 0x67]
and eax, 0x40
cmp eax, 0x40
jne 0x40176a
cmp dword [0x4168a4], 0
je 0x40171e
mov ecx, dword [0x4168a4]
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x674]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [0x4168a4], 0
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x678]
mov dword [0x4168a4], ecx
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [0x4168a4]
push eax
call fcn.0040a8f0
add esp, 8
mov dword [0x4168bc], 1
mov ecx, dword [ebp + 0x67]
and ecx, 0x80
cmp ecx, 0x80
jne 0x401785
mov dword [ebp - 0x5d0], 1
cmp dword [ebp + 0x6b], 0x10
jne 0x401bd5
mov dword [ebp - 0x5f4], 0
push 0x41104c
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov edx, dword [0x416888]
push edx
call fcn.0040a9f0
add esp, 4
lea eax, [esi + eax + 1]
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x5f4], ecx
mov edx, dword [0x416888]
push edx
push str.Flash_directory_is:__s
mov eax, dword [ebp - 0x5f4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp - 0x5f4]
push ecx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x5f4], 0
je 0x40182f
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x680], edx
mov eax, dword [ebp - 0x680]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5f4], 0
mov dword [ebp - 0x5d0], 1
mov dword [0x4168c0], 1
cmp dword [0x4168c4], 0
je 0x401871
mov ecx, dword [0x4168c4]
mov dword [ebp - 0x684], ecx
mov edx, dword [ebp - 0x684]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [0x4168c4], 0
mov eax, dword [0x416888]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x688]
mov dword [0x4168c4], ecx
mov edx, dword [0x416888]
push edx
mov eax, dword [0x4168c4]
push eax
call fcn.0040a8f0
add esp, 8
push str.FLASH.OCX
push 0x4168c4
call fcn.004055a0
add esp, 8
mov ecx, dword [0x4168c4]
push ecx
call fcn.00405fa9
add esp, 4
test eax, eax
jne 0x401a04
push str.could_not_find_Flash.OCX__looking_for_SWFlash.OCX
call fcn.0040665b
add esp, 4
cmp dword [0x4168c4], 0
je 0x401916
mov edx, dword [0x4168c4]
mov dword [ebp - 0x68c], edx
mov eax, dword [ebp - 0x68c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [0x4168c4], 0
mov ecx, dword [0x416888]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x690], eax
mov edx, dword [ebp - 0x690]
mov dword [0x4168c4], edx
mov eax, dword [0x416888]
push eax
mov ecx, dword [0x4168c4]
push ecx
call fcn.0040a8f0
add esp, 8
push str.SWFLASH.OCX
push 0x4168c4
call fcn.004055a0
add esp, 8
mov edx, dword [0x4168c4]
push edx
call fcn.00405fa9
add esp, 4
test eax, eax
jne 0x4019f7
push str.SWFlash.OCX_not_found_either
call fcn.0040665b
add esp, 4
cmp dword [0x4168c4], 0
je 0x4019b7
mov eax, dword [0x4168c4]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [0x4168c4], 0
push 0x41628c
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x698], eax
mov edx, dword [ebp - 0x698]
mov dword [0x4168c4], edx
push 0x416290
mov eax, dword [0x4168c4]
push eax
call fcn.0040a8f0
add esp, 8
jmp 0x401a04
push str.Found_SWFlash.OCX
call fcn.0040665b
add esp, 4
push 0x411100
lea ecx, [ebp - 0x5e8]
push ecx
mov edx, dword [ebp - 0x5cc]
push edx
call fcn.00405c07
add esp, 0xc
test eax, eax
je 0x401ac5
push str.generating_random_name_for_Flash_OCX
call fcn.0040665b
add esp, 4
mov eax, dword [ebp - 0x5e8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x5e8]
push ecx
call fcn.00405fa9
add esp, 4
test eax, eax
jne 0x401ac5
cmp dword [ebp - 0x518], 0
je 0x401a82
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
mov ecx, dword [ebp - 0x5e8]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6a0], eax
mov edx, dword [ebp - 0x6a0]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040a8f0
add esp, 8
mov dword [ebp - 0x5f8], 0
push 0x41112c
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040a9f0
add esp, 4
lea eax, [esi + eax + 1]
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x6a4]
mov dword [ebp - 0x5f8], ecx
mov edx, dword [ebp - 0x518]
push edx
push str.new_name_for_Flash_OCX_is:
mov eax, dword [ebp - 0x5f8]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp - 0x5f8]
push ecx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x5f8], 0
je 0x401b65
mov edx, dword [ebp - 0x5f8]
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6a8]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5f8], 0
cmp dword [0x4168c8], 0
je 0x401b93
mov ecx, dword [0x4168c8]
mov dword [ebp - 0x6ac], ecx
mov edx, dword [ebp - 0x6ac]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [0x4168c8], 0
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x6b0]
mov dword [0x4168c8], ecx
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [0x4168c8]
push eax
call fcn.0040a8f0
add esp, 8
mov ecx, dword [ebp + 0x67]
and ecx, 0x100
cmp ecx, 0x100
jne 0x401c05
mov edx, dword [ebp - 0x518]
push edx
call fcn.00405fa9
add esp, 4
test eax, eax
je 0x401c05
mov dword [ebp - 8], 1
jmp 0x403095
mov eax, dword [ebp + 0x67]
and eax, 1
cmp eax, 1
jne 0x402d72
push str.IOP_EXTRACT
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x5f0], 0
je 0x401c4f
mov ecx, dword [ebp - 0x5f0]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5f0], 0
push 0x416294
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x5f0], eax
push 0x416298
mov ecx, dword [ebp - 0x5f0]
push ecx
call fcn.0040a8f0
add esp, 8
mov edx, dword [ebp - 0x518]
push edx
call fcn.00405fa9
add esp, 4
test eax, eax
je 0x401cb7
lea eax, [ebp - 0x5f0]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.0040683e
add esp, 8
cmp dword [ebp + 0x6b], 0x10
jne 0x401d56
cmp dword [ebp - 0x5f0], 0
je 0x401cef
mov edx, dword [ebp - 0x5f0]
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x6bc]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5f0], 0
push 0x41629c
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x6c0]
mov dword [ebp - 0x5f0], ecx
push 0x4162a0
mov edx, dword [ebp - 0x5f0]
push edx
call fcn.0040a8f0
add esp, 8
mov eax, dword [0x4168c4]
push eax
call fcn.00405fa9
add esp, 4
test eax, eax
je 0x401d56
lea ecx, [ebp - 0x5f0]
push ecx
mov edx, dword [0x4168c4]
push edx
call fcn.0040683e
add esp, 8
push str.performing_version_check
call fcn.0040665b
add esp, 4
mov dword [ebp - 0x5fc], 0
push 0x41118c
call fcn.0040a9f0
add esp, 4
mov esi, eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6c4], eax
mov edx, dword [ebp - 0x6c4]
mov dword [ebp - 0x5fc], edx
lea eax, [ebp + 0x4c]
push eax
push str.d.FileVer____s_
mov ecx, dword [ebp - 0x5fc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x5fc]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x5fc], 0
je 0x401dfd
mov eax, dword [ebp - 0x5fc]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x6c8]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5fc], 0
mov dword [ebp - 0x600], 0
push 0x4111b4
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x5f0]
push edx
call fcn.0040a9f0
add esp, 4
lea eax, [esi + eax + 1]
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
mov dword [ebp - 0x600], ecx
mov edx, dword [ebp - 0x5f0]
push edx
push str.psVersion____s_
mov eax, dword [ebp - 0x600]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp - 0x600]
push ecx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x600], 0
je 0x401e9d
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x604], 0
cmp dword [ebp - 0x5d0], 1
jne 0x401ebc
mov dword [ebp - 0x784], 0x4111f4
jmp 0x401ec6
mov dword [ebp - 0x784], 0x4111fc
push 0x4111dc
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x784]
push ecx
call fcn.0040a9f0
add esp, 4
lea edx, [esi + eax + 1]
push edx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x5d0], 1
jne 0x401f18
mov dword [ebp - 0x788], 0x411204
jmp 0x401f22
mov dword [ebp - 0x788], 0x41120c
mov ecx, dword [ebp - 0x788]
push ecx
push str.IgnoreVersionCheck___s
mov edx, dword [ebp - 0x604]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp - 0x604]
push eax
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x604], 0
je 0x401f7b
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x6d8], ecx
mov edx, dword [ebp - 0x6d8]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x604], 0
cmp dword [ebp + 0x6b], 0x10
jne 0x401fa5
lea eax, [ebp + 0x4c]
push eax
call fcn.004075af
add esp, 4
test eax, eax
je 0x401fa5
mov dword [ebp - 4], 1
push str.Flash_player_will_be_skipped
call fcn.0040665b
add esp, 4
push str.do_we_need_to_extract_this_file_
call fcn.0040665b
add esp, 4
mov dword [ebp - 0x608], 0
cmp dword [ebp - 4], 1
jne 0x401fce
mov dword [ebp - 0x78c], 0x411280
jmp 0x401fd8
mov dword [ebp - 0x78c], 0x411288
push 0x411270
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov ecx, dword [ebp - 0x78c]
push ecx
call fcn.0040a9f0
add esp, 4
lea edx, [esi + eax + 1]
push edx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x608], eax
cmp dword [ebp - 4], 1
jne 0x402027
mov dword [ebp - 0x790], 0x411290
jmp 0x402031
mov dword [ebp - 0x790], 0x411298
mov ecx, dword [ebp - 0x790]
push ecx
push str.fSkipFile:__s
mov edx, dword [ebp - 0x608]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp - 0x608]
push eax
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x608], 0
je 0x40208a
mov ecx, dword [ebp - 0x608]
mov dword [ebp - 0x6e0], ecx
mov edx, dword [ebp - 0x6e0]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x608], 0
mov dword [ebp - 0x60c], 0
mov eax, dword [ebp - 0x5f0]
push eax
lea ecx, [ebp + 0x4c]
push ecx
call fcn.0040a860
add esp, 8
test eax, eax
jle 0x4020b7
mov dword [ebp - 0x794], 0x4112d8
jmp 0x4020c1
mov dword [ebp - 0x794], 0x4112e0
push 0x4112b0
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x794]
push edx
call fcn.0040a9f0
add esp, 4
lea eax, [esi + eax + 1]
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x5f0]
push edx
lea eax, [ebp + 0x4c]
push eax
call fcn.0040a860
add esp, 8
test eax, eax
jle 0x402121
mov dword [ebp - 0x798], 0x4112e8
jmp 0x40212b
mov dword [ebp - 0x798], 0x4112f0
mov ecx, dword [ebp - 0x798]
push ecx
push str._strcmp_d.FileVer__psVersion____0_:__s
mov edx, dword [ebp - 0x60c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp - 0x60c]
push eax
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x60c], 0
je 0x402184
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6e8]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x60c], 0
mov dword [ebp - 0x610], 0
cmp dword [ebp - 0x5d0], 1
jne 0x4021a3
mov dword [ebp - 0x79c], 0x411338
jmp 0x4021ad
mov dword [ebp - 0x79c], 0x411340
push 0x411320
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x79c]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6ec], eax
mov edx, dword [ebp - 0x6ec]
mov dword [ebp - 0x610], edx
cmp dword [ebp - 0x5d0], 1
jne 0x4021ff
mov dword [ebp - 0x7a0], str.TRUE
jmp 0x402209
mov dword [ebp - 0x7a0], str.FALSE
mov eax, dword [ebp - 0x7a0]
push eax
push str.fIgnoreVersionCheck:__s
mov ecx, dword [ebp - 0x610]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x610]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x610], 0
je 0x402262
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6f0]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x610], 0
cmp dword [ebp - 4], 0
jne 0x4024d6
mov edx, dword [ebp - 0x5f0]
push edx
lea eax, [ebp + 0x4c]
push eax
call fcn.0040a860
add esp, 8
test eax, eax
jg 0x402290
cmp dword [ebp - 0x5d0], 0
je 0x4024d6
push str.file_will_be_extracted
call fcn.0040665b
add esp, 4
mov ecx, dword [ebp + 0x63]
push ecx
call fcn.0040a719
add esp, 4
mov dword [ebp - 0x5c0], eax
cmp dword [ebp - 0x5c0], 0
jne 0x4022bd
jmp 0x403090
push 0
push 0
mov edx, dword [ebp + 0x5f]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea ecx, [ebp - 0x5c8]
push ecx
mov edx, dword [ebp + 0x63]
push edx
mov eax, dword [ebp - 0x5c0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [ebp + 0x63]
cmp edx, dword [ebp - 0x5c8]
je 0x4022fd
jmp 0x40308b
cmp dword [ebp + 0x57], 1
jne 0x40232c
mov eax, dword [ebp - 0x518]
push eax
mov ecx, dword [0x41688c]
push ecx
mov edx, dword [ebp + 0x63]
push edx
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.004069c8
add esp, 0x10
mov dword [ebp - 0x5b4], eax
jmp 0x40234c
mov ecx, dword [ebp + 0x63]
push ecx
mov edx, dword [ebp - 0x5c0]
push edx
mov eax, dword [ebp - 0x518]
push eax
call fcn.00405d91
add esp, 0xc
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0
jne 0x4024d4
push str.extract_failed__replace_at_startup
call fcn.0040665b
add esp, 4
mov ecx, dword [ebp + 0x67]
and ecx, 0x20
cmp ecx, 0x20
jne 0x4024c7
push str.IOP_SYSUPD
call fcn.0040665b
add esp, 4
cmp dword [ebp + 0x57], 1
jne 0x4023b0
mov edx, dword [ebp - 0x5dc]
push edx
mov eax, dword [0x41688c]
push eax
mov ecx, dword [ebp + 0x63]
push ecx
mov edx, dword [ebp - 0x5c0]
push edx
call fcn.004069c8
add esp, 0x10
mov dword [ebp - 0x5b4], eax
jmp 0x4023d0
mov eax, dword [ebp + 0x63]
push eax
mov ecx, dword [ebp - 0x5c0]
push ecx
mov edx, dword [ebp - 0x5dc]
push edx
call fcn.00405d91
add esp, 0xc
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0
jne 0x4023f2
push str.sys_update_failed_miserably
call fcn.0040665b
add esp, 4
mov dword [ebp - 8], 0
jmp 0x403086
push str.okay_
call fcn.0040665b
add esp, 4
push str.Add_entry_to_WININIT.INI_to_install_system_file
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x5ec], 0
je 0x40243a
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5ec], 0
mov edx, dword [0x41687c]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [0x41687c]
push ecx
mov edx, dword [ebp - 0x5ec]
push edx
call fcn.0040a8f0
add esp, 8
push str.WININIT.INI
lea eax, [ebp - 0x5ec]
push eax
call fcn.004055a0
add esp, 8
mov ecx, dword [ebp - 0x5dc]
push ecx
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [ebp - 0x5ec]
push eax
call fcn.00406b1e
add esp, 0xc
push str.reboot_flag_enabled
call fcn.0040665b
add esp, 4
mov dword [0x4168b0], 1
jmp 0x4024d4
push str.cant_set_reboot_flag__not_a_system_file
call fcn.0040665b
add esp, 4
jmp 0x40251d
mov ecx, dword [ebp + 0x67]
and ecx, 0x20
cmp ecx, 0x20
jne 0x40251d
push str.IOP_SYSUPD_2_
call fcn.0040665b
add esp, 4
cmp dword [0x4168b4], 1
jne 0x402510
push str.file_is_up_to_date
call fcn.0040665b
add esp, 4
mov dword [ebp - 8], 1
jmp 0x403081
push str.file_needs_to_be_replaced
call fcn.0040665b
add esp, 4
mov edx, dword [ebp + 0x67]
and edx, 4
cmp edx, 4
jne 0x4027b1
cmp dword [0x416894], 0
je 0x402559
mov eax, dword [0x416894]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6fc]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [0x416894], 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x700]
mov dword [0x416894], eax
mov ecx, dword [ebp - 0x518]
push ecx
mov edx, dword [0x416894]
push edx
call fcn.0040a8f0
add esp, 8
cmp dword [0x416890], 0
je 0x4025c8
mov eax, dword [0x416890]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [0x416890], 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x708], eax
mov eax, dword [ebp - 0x708]
mov dword [0x416890], eax
mov ecx, dword [ebp - 0x518]
push ecx
mov edx, dword [0x416890]
push edx
call fcn.0040a8f0
add esp, 8
cmp dword [0x4163bc], 0
jne 0x402618
jmp 0x4027b1
cmp dword [ebp - 0x5e8], 0
je 0x402646
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x70c]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5e8], 0
mov edx, dword [ebp - 0x5cc]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x710], eax
mov eax, dword [ebp - 0x710]
mov dword [ebp - 0x5e8], eax
mov ecx, dword [ebp - 0x5cc]
push ecx
mov edx, dword [ebp - 0x5e8]
push edx
call fcn.0040a8f0
add esp, 8
push 0x41149c
lea eax, [ebp - 0x5e8]
push eax
call fcn.004055a0
add esp, 8
mov ecx, dword [ebp - 0x5b8]
push ecx
lea edx, [ebp - 0x5e8]
push edx
call fcn.004055a0
add esp, 8
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x4027b1
cmp dword [0x416894], 0
je 0x4026fd
mov edx, dword [0x416894]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x714]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [0x416894], 0
mov ecx, dword [ebp - 0x5e8]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x718], eax
mov edx, dword [ebp - 0x718]
mov dword [0x416894], edx
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [0x416894]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [0x416890], 0
je 0x40276e
mov edx, dword [0x416890]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x71c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [0x416890], 0
mov ecx, dword [ebp - 0x5e8]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x720], eax
mov edx, dword [ebp - 0x720]
mov dword [0x416890], edx
mov eax, dword [ebp - 0x5e8]
push eax
mov ecx, dword [0x416890]
push ecx
call fcn.0040a8f0
add esp, 8
mov edx, dword [ebp + 0x67]
and edx, 8
cmp edx, 8
jne 0x402932
mov dword [0x4168b8], 1
cmp dword [0x416894], 0
je 0x4027f7
mov eax, dword [0x416894]
mov dword [ebp - 0x724], eax
mov ecx, dword [ebp - 0x724]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [0x416894], 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x728], eax
mov eax, dword [ebp - 0x728]
mov dword [0x416894], eax
mov ecx, dword [ebp - 0x518]
push ecx
mov edx, dword [0x416894]
push edx
call fcn.0040a8f0
add esp, 8
cmp dword [0x416890], 0
je 0x402866
mov eax, dword [0x416890]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [0x416890], 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x730], eax
mov eax, dword [ebp - 0x730]
mov dword [0x416890], eax
mov ecx, dword [ebp - 0x518]
push ecx
mov edx, dword [0x416890]
push edx
call fcn.0040a8f0
add esp, 8
push 0x104
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
cmp dword [0x416890], 0
je 0x4028ef
mov edx, dword [0x416890]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [0x416890], 0
lea ecx, [ebp - 0x110]
push ecx
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x738], eax
mov edx, dword [ebp - 0x738]
mov dword [0x416890], edx
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [0x416890]
push ecx
call fcn.0040a8f0
add esp, 8
cmp dword [0x4168b0], 1
jne 0x402947
mov dword [ebp - 8], 1
jmp 0x40307c
mov edx, dword [ebp + 0x67]
and edx, 2
cmp edx, 2
jne 0x402d2d
cmp dword [ebp + 0x6b], 0x10
jne 0x402967
cmp dword [ebp - 4], 1
jne 0x402967
jmp 0x402d2d
mov dword [ebp - 0x614], 0
push 0x4114a0
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x73c], eax
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x614], edx
mov eax, dword [ebp - 0x518]
push eax
push str.attempting_to_register__s
mov ecx, dword [ebp - 0x614]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x614]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x614], 0
je 0x402a07
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x740]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x614], 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040617b
add esp, 4
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
jge 0x402d20
cmp dword [0x416672], 1
jne 0x402c4a
push str.registration_failed__ShowFlashMsg_is_on
call fcn.0040665b
add esp, 4
call fcn.004079f5
test eax, eax
je 0x402b6b
push str.an_older_version_of_Flash_is_in_use
call fcn.0040665b
add esp, 4
mov dword [ebp - 0x5e0], 6
cmp dword [0x416676], 1
jne 0x402a8c
push 0x24
push 0x4165c0
push 0x41677a
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x5e0], eax
jmp 0x402aa0
push 0x30
push 0x4165c0
push 0x41677a
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp - 0x5e0], 6
je 0x402b66
mov dword [ebp - 0x618], 0
push 0x411524
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x744], eax
mov edx, dword [ebp - 0x744]
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x518]
push eax
push 0x411550
mov ecx, dword [ebp - 0x618]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x618]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x618], 0
je 0x402b4d
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0x748], eax
mov ecx, dword [ebp - 0x748]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x618], 0
mov edx, dword [ebp - 0x518]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 8], 0
jmp 0x403077
jmp 0x402c45
push str.flash_is_not_installed__bail_out
call fcn.0040665b
add esp, 4
mov dword [ebp - 0x61c], 0
push 0x4115a0
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x74c], eax
mov edx, dword [ebp - 0x74c]
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x518]
push eax
push 0x4115cc
mov ecx, dword [ebp - 0x61c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x61c]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x61c], 0
je 0x402c18
mov eax, dword [ebp - 0x61c]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x750]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x61c], 0
mov edx, dword [ebp - 0x518]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x10
push 0x4165c0
push 0x41667a
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 8], 0
jmp 0x403072
jmp 0x402d1e
call fcn.004079f5
test eax, eax
je 0x402c58
jmp 0x402d1e
push str.registration_failed__ShowFlashMsg_is_off__fail_silently_
call fcn.0040665b
add esp, 4
mov dword [ebp - 0x620], 0
push 0x411634
call fcn.0040a9f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
lea ecx, [esi + eax + 1]
push ecx
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x754], eax
mov edx, dword [ebp - 0x754]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0x518]
push eax
push str.remove_file_were_trying_to_register:__s
mov ecx, dword [ebp - 0x620]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp - 0x620]
push edx
call fcn.0040665b
add esp, 4
cmp dword [ebp - 0x620], 0
je 0x402d05
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x620], 0
mov edx, dword [ebp - 0x518]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 8], 0
jmp 0x40306d
jmp 0x402d2d
push str.registration_was_successful
call fcn.0040665b
add esp, 4
mov eax, dword [ebp + 0x67]
and eax, 0x10
cmp eax, 0x10
jne 0x402d72
mov ecx, dword [ebp - 0x518]
push ecx
call fcn.004062c8
add esp, 4
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
jge 0x402d72
mov edx, dword [ebp - 0x518]
push edx
push str.Runtime_installation_error._r_nCould_not_register:__s
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 8], 1
mov ecx, dword [ebp + 0x67]
and ecx, 0x400
cmp ecx, 0x400
jne 0x402ed6
mov dword [ebp - 0x5c4], 0
mov dword [ebp - 0x5ac], 0x94
lea edx, [ebp - 0x5ac]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x402dcf
cmp dword [ebp - 0x59c], 2
jne 0x402dcf
cmp dword [ebp - 0x5a8], 5
jne 0x402dcf
mov dword [ebp - 0x5c4], 1
cmp dword [ebp - 0x5c4], 1
jne 0x402ed6
cmp dword [ebp - 0x5b0], 0
je 0x402e0a
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x75c]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5b0], 0
push 0x4116dc
call fcn.0040a9f0
add esp, 4
add eax, 1
push eax
call fcn.0040a9e0
add esp, 4
mov dword [ebp - 0x760], eax
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x5b0], edx
push str.SoftwareMicrosoftWindowsCurrentVersionRun
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0040a8f0
add esp, 8
lea ecx, [ebp - 0x5d4]
push ecx
push 0x20006
push 0
mov edx, dword [ebp - 0x5b0]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jne 0x402ec5
mov eax, dword [ebp - 0x518]
push eax
call fcn.0040a9f0
add esp, 4
push eax
mov ecx, dword [ebp - 0x518]
push ecx
push 1
push 0
push str.NCLaunch
mov edx, dword [ebp - 0x5d4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x5d4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegFlushKey]
mov ecx, dword [ebp - 0x5d4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
mov edx, dword [ebp - 0x518]
push edx
call fcn.00406114
add esp, 8
cmp dword [ebp - 0x5c0], 0
je 0x402ef8
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.0040a630
add esp, 4
mov dword [ebp - 0x5c0], 0
cmp dword [ebp - 0x5b8], 0
je 0x402f26
mov ecx, dword [ebp - 0x5b8]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5b8], 0
cmp dword [ebp - 0x5e8], 0
je 0x402f54
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5e8], 0
cmp dword [ebp - 0x518], 0
je 0x402f82
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x76c]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x518], 0
cmp dword [ebp - 0x5dc], 0
je 0x402fb0
mov ecx, dword [ebp - 0x5dc]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x770]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5dc], 0
cmp dword [ebp - 0x5f0], 0
je 0x402fde
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5f0], 0
cmp dword [ebp - 0x5ec], 0
je 0x40300c
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x778]
push eax
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5ec], 0
cmp dword [ebp - 0x5b0], 0
je 0x40303a
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x77c]
push edx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5b0], 0
cmp dword [ebp - 0x5d8], 0
je 0x403068
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x780]
push ecx
call fcn.0040aa6b
add esp, 4
mov dword [ebp - 0x5d8], 0
mov eax, dword [ebp - 8]
jmp 0x40309a
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
jmp 0x402d79
pop esi
mov esp, ebp
pop ebp
ret