Function at 0x484960
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get common file path
Link many functions at runtime
Print debug messages
Query or enumerate registry value
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x506d3b
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x54c2c0]
xor eax, esp
mov dword [esp + 0x428], eax
push ebx
push esi
push edi
mov eax, dword [0x54c2c0]
xor eax, esp
push eax
lea eax, [esp + 0x440]
mov dword fs:[0], eax
cmp byte [0x54e072], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
je 0x4849bb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov eax, dword [esp + 0x18]
add eax, 0xb4
push eax
lea ecx, [esp + 0x18]
push ecx
mov ebx, 0x52118c
mov dword [esp + 0x28], eax
call fcn.0045c4b0
add esp, 8
mov dword [esp + 0x448], 0
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
mov esi, dword [sym.imp.ole32.dll_OleUninitialize]
test eax, eax
jns 0x484a00
xor bl, bl
jmp 0x484a5a
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x484a20
call esi
xor bl, bl
jmp 0x484a5a
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x484a3d
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484a5a
call eax
push edi
test eax, eax
jns 0x484a50
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484a5a
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x484abf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5211a0
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
add esp, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x484ade
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa1
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x484af2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x5211c0
call fcn.0045c4b0
add esp, 8
mov ebx, 1
lea edi, [esp + 0x14]
mov byte [esp + 0x448], bl
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484b46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x484b5a
xor bl, bl
jmp 0x484bb1
push ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x484b79
call esi
xor bl, bl
jmp 0x484bb1
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x484b96
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484bb1
call eax
push edi
test eax, eax
jns 0x484ba9
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484bb1
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
cmp byte [0x54e072], 0
je 0x484c16
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5211d0
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x484c35
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa2
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x484c49
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x5211ec
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 2
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484c99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x484cad
xor bl, bl
jmp 0x484d07
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x484ccd
call esi
xor bl, bl
jmp 0x484d07
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x484cea
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484d07
call eax
push edi
test eax, eax
jns 0x484cfd
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484d07
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x484d6c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521208
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x484d8b
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa3
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x484d9f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, str.webplayerPlayerShell.dll
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 3
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484def
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x484e03
xor bl, bl
jmp 0x484e5d
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x484e23
call esi
xor bl, bl
jmp 0x484e5d
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x484e40
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484e5d
call eax
push edi
test eax, eax
jns 0x484e53
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484e5d
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x484ec2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521260
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x484ee1
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa4
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x484ef5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x52128c
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 4
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484f45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x484f59
xor bl, bl
jmp 0x484fb3
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x484f79
call esi
xor bl, bl
jmp 0x484fb3
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x484f96
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484fb3
call eax
push edi
test eax, eax
jns 0x484fa9
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x484fb3
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x485018
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5212a8
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x485037
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa5
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x48504b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x5212d0
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 5
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48509b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x4850af
xor bl, bl
jmp 0x485109
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x4850cf
call esi
xor bl, bl
jmp 0x485109
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4850ec
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x485109
call eax
push edi
test eax, eax
jns 0x4850ff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x485109
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x48516e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5212ec
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x48518d
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa6
call fcn.00489ce0
cmp byte [0x54e072], 0
je 0x4851a1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x521314
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 6
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4851f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x485205
xor bl, bl
jmp 0x48525f
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x485225
call esi
xor bl, bl
jmp 0x48525f
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x485242
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x48525f
call eax
push edi
test eax, eax
jns 0x485255
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x48525f
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x4852c4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521344
push 0x51bd04
call fcn.00458e60
mov ecx, dword [0x554dd4]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x4852e3
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa7
call fcn.00489ce0
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, str.stormpop.exe
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 7
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485333
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push str._InstallReg
push ecx
call fcn.00458730
add esp, 8
test al, al
jne 0x485364
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xfa8
call fcn.00489ce0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x2e]
push eax
mov word [esp + 0x30], dx
call fcn.004e5590
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
push eax
push str.ThreadingModel
push str.CLSIDF6D90F11_9C73_11D3_B32E_00C04F990BB4InProcServer32
push SysReAllocString
mov dword [esp + 0x28], 0x102
mov dword [esp + 0x34], 1
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x485524
push 1
push 0x25
lea ecx, [esp + 0x234]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
cmp byte [0x54e072], 0
je 0x4853e2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x230]
call fcn.00459410
push 0xb
push 0x521430
lea ebx, [esp + 0x18]
mov byte [esp + 0x450], 8
call fcn.0045ae80
mov edi, dword [esp + 0x10]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jns 0x48541f
xor bl, bl
jmp 0x485479
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 8
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
cmp edi, 0x20
jae 0x48543f
call esi
xor bl, bl
jmp 0x485479
push str.DllRegisterServer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x48545c
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x485479
call eax
push edi
test eax, eax
jns 0x48546f
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
xor bl, bl
jmp 0x485479
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call esi
mov bl, 1
cmp byte [0x54e072], 0
je 0x4854dd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521448
push 0x51bd04
call fcn.00458e60
mov eax, dword [0x554dd4]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
test bl, bl
jne 0x4854fc
mov edi, dword [esp + 0x18]
add edi, 0xb8
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0xfa9
call fcn.00489ce0
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485524
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x6c], 0
je 0x485b92
call fcn.0045c970
test al, al
je 0x48590c
cmp byte [0x54e072], 0
je 0x485553
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x521468
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 9
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4855a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x54bf18]
mov eax, dword [edx + 0xc]
mov ecx, 0x54bf18
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 0xa
mov ecx, dword [esp + 0x14]
push ecx
push str.regsvr32__s___s_
lea edi, [esp + 0x20]
call fcn.00458e60
mov edi, dword [esp + 0x20]
add esp, 8
cmp dword [edi - 4], 1
jle 0x4855f4
mov edx, dword [edi - 0xc]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004591f0
mov edi, dword [esp + 0x18]
push edi
push 0
call fcn.00458730
mov eax, dword [edi - 8]
push eax
push edi
call fcn.004e30a4
add esp, 0x10
test eax, eax
js 0x485902
cmp eax, dword [edi - 8]
jg 0x485902
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp byte [0x54e072], cl
je 0x48569d
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5214bc
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
cmp byte [0x54e072], 0
je 0x4856a3
call ebx
mov dword [0x554cd4], eax
jmp 0x4856a3
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x5214f4
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0xb
call fcn.0045c590
mov byte [esp + 0x448], 0xa
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4856f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
push str.regsvr32__s___s_
lea edi, [esp + 0x20]
call fcn.00458e60
mov edi, dword [esp + 0x20]
add esp, 8
cmp dword [edi - 4], 1
jle 0x485725
mov edx, dword [edi - 0xc]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004591f0
mov edi, dword [esp + 0x18]
push edi
push 0
call fcn.00458730
mov eax, dword [edi - 8]
push eax
push edi
call fcn.004e30a4
add esp, 0x10
test eax, eax
js 0x485902
cmp eax, dword [edi - 8]
jg 0x485902
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp byte [0x54e072], cl
je 0x4857c6
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521518
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
cmp byte [0x54e072], 0
je 0x4857c6
call ebx
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x521544
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0xc
call fcn.0045c590
mov byte [esp + 0x448], 0xa
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485816
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
push str.regsvr32__s___s_
lea edi, [esp + 0x20]
call fcn.00458e60
mov ebx, dword [esp + 0x20]
add esp, 8
cmp dword [ebx - 4], 1
jle 0x485846
mov edx, dword [ebx - 0xc]
push edx
mov eax, edi
push eax
call fcn.004591f0
mov ebx, dword [esp + 0x18]
push ebx
push 0
call fcn.00458730
mov eax, dword [ebx - 8]
push eax
push ebx
call fcn.004e30a4
add esp, 0x10
test eax, eax
js 0x485902
cmp eax, dword [ebx - 8]
jg 0x485902
xor ecx, ecx
mov dword [ebx - 0xc], eax
mov word [ebx + eax*2], cx
cmp byte [0x54e072], cl
je 0x4858d5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x521564
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
lea eax, [ebx - 0x10]
mov byte [esp + 0x448], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485b92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x485b92
push 0x80070057
call fcn.00459ec0
cmp byte [0x54e072], 0
je 0x485920
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x52158c
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0xd
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485970
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 1
push ecx
call fcn.00458820
add esp, 8
cmp byte [0x54e072], 0
je 0x4859fa
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5215a8
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
cmp byte [0x54e072], 0
je 0x485a00
call ebx
mov dword [0x554cd4], eax
jmp 0x485a00
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x5215cc
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0xe
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485a50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 1
push ecx
call fcn.00458820
add esp, 8
cmp byte [0x54e072], 0
je 0x485ad2
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x5215f8
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
cmp byte [0x54e072], 0
je 0x485ad2
call ebx
mov dword [0x554cd4], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, 0x52162c
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0xf
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485b22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 1
push ecx
call fcn.00458820
add esp, 8
cmp byte [0x54e072], 0
je 0x485b92
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x554cd8], eax
sub eax, dword [0x554cd4]
mov edi, 0x554dd4
push eax
push 0x52164c
push 0x51bd04
call fcn.00458e60
mov edx, dword [0x554dd4]
add esp, 0xc
push edx
call esi
mov eax, dword [0x554dd4]
mov edx, dword [0x554cdc]
mov ecx, dword [eax - 0xc]
push edx
push ecx
push 2
push eax
call fcn.004e4558
mov eax, dword [0x554cdc]
push eax
call fcn.004e1bb7
add esp, 0x14
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
mov ebx, str.webplayer_npWebStrom.dll
call fcn.0045c4b0
add esp, 8
lea edi, [esp + 0x14]
mov byte [esp + 0x448], 0x10
call fcn.0045c590
mov byte [esp + 0x448], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485be2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
mov edi, eax
test eax, eax
je 0x485c21
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x485c1d
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x485c1d
push str.DllRegisterNPPlugin
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x485c16
call eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x448], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x485c48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x440]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x428]
xor ecx, esp
call fcn.004e0a00
mov esp, ebp
pop ebp
ret 4