Function at 0x450ff0
Capabilities:
Create http request
Create thread
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49f69c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x5cc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jge 0x45102a
xor eax, eax
jmp 0x4514ba
push 2
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call fcn.00451bc0
push 0
push 0
push 0
push 0
push str.Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1_
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [0x4b8398], eax
cmp dword [0x4b8398], 0
jne 0x45105f
xor eax, eax
jmp 0x4514ba
call fcn.0046cf90
push 0
call fcn.0048c669
add esp, 4
push eax
call fcn.0048c4b0
add esp, 4
push 0x70
call fcn.0048a6d5
add esp, 4
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x3b4], 0
je 0x4510ae
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3b4]
call fcn.004514d0
mov dword [ebp - 0x5d4], eax
jmp 0x4510b8
mov dword [ebp - 0x5d4], 0
mov ecx, dword [ebp - 0x5d4]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3b0]
mov dword [0x4b8388], edx
call fcn.0046c570
call fcn.0046ac00
mov dword [0x4b6678], 0x690
call fcn.0046cab0
mov dword [0x4b6678], 0x695
push 0x60
call fcn.0048a6d5
add esp, 4
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x3bc], 0
je 0x45112d
mov ecx, dword [ebp - 0x3bc]
call fcn.0044db00
mov dword [ebp - 0x5d8], eax
jmp 0x451137
mov dword [ebp - 0x5d8], 0
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3b8]
mov dword [0x4b83c0], ecx
call fcn.00450ba0
lea edx, [ebp - 0x18]
push edx
push 0
push 0
push 0x44f780
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00450a20
movzx eax, al
test eax, eax
jne 0x45118c
xor eax, eax
jmp 0x4514ba
mov dword [0x4b6678], 0x6a1
push 0x310
push 0
lea ecx, [ebp - 0x338]
push ecx
call fcn.0048d000
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x338], eax
push 0x4b86a0
lea edx, [ebp - 0x12c]
push edx
call fcn.0048e090
add esp, 8
push 0x4b87a8
lea eax, [ebp - 0x230]
push eax
call fcn.0048e090
add esp, 8
push 0x4b8598
lea ecx, [ebp - 0x334]
push ecx
call fcn.0048e090
add esp, 8
push 0
push 0
push 0
push 0xf001f
mov edx, dword [0x4b8394]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0
je 0x451243
push 0x310
lea eax, [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x340]
push ecx
call fcn.0048ccc0
add esp, 0xc
mov edx, dword [ebp - 0x340]
push edx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [0x4b6678], 0x6b1
push 0x4b7c28
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x4b6670], eax
mov dword [0x4b6678], 0x6b9
call fcn.0046c910
call fcn.0046d470
mov dword [0x4b6678], 0x6c1
call fcn.0046c010
call fcn.0046b640
movzx eax, byte [0x4b838f]
test eax, eax
je 0x451299
call fcn.0046d500
mov dword [0x4b6678], 0x6cb
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
push fcn.0044d350
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x4b839c], eax
mov dword [0x4b6678], 0x6cf
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x33c], eax
push str.RegisterServiceProcess
mov edx, dword [ebp - 0x33c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4512fc
push 1
push 0
call dword [ebp - 0x20]
mov eax, dword [ebp - 0x33c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4b6678], 0x6d8
mov dword [ebp - 0x24], 0
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4513ed
mov dword [ebp - 4], 2
push 0x17
push 0
push 0x4a303c
mov ecx, 0x4b8588
call fcn.004492e0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x4513c7
push 0x6e5
mov ecx, dword [ebp - 0x24]
push ecx
push 0x4b7f38
lea edx, [ebp - 0x3a8]
push edx
call fcn.0048cc64
add esp, 0x10
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x3c0], esp
mov dword [ebp - 0x57c], eax
push 0
push 0
mov ecx, dword [ebp - 0x57c]
call fcn.004236e0
lea ecx, [ebp - 0x3a8]
push ecx
call fcn.0048bc60
add esp, 4
push eax
lea edx, [ebp - 0x3a8]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.004241c0
mov eax, dword [ebp - 0x57c]
mov dword [ebp - 0x5dc], eax
call fcn.00445850
add esp, 0x1c
xor eax, eax
jmp 0x4514ba
jmp 0x4513d9
mov dword [ebp - 4], 0xffffffff
jmp 0x4513ed
mov dword [0x4b6678], 0x6f5
mov ecx, dword [ebp + 8]
mov dword [0x4b667c], ecx
call fcn.00455e70
mov dword [0x4b6678], 0x6fb
call fcn.004562a0
mov dword [0x4b6678], 0x6ff
push 0x4b86a0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x451473
push 0x4a35cc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0
je 0x451473
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, dword [ebp - 0x3ac]
push ecx
push 0x450f40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4b6678], 0x70b
lea edx, [ebp - 0x1c]
push edx
push 0xf003f
push 0
push 0x4b74c0
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4514b5
push 0x4b7380
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret