Function at 0x45f320
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51a840
push 0x512bbe
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x21c
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 4], 1
call fcn.0050e440
test eax, eax
je 0x45f512
push 0x5d1120
push str.InternetConnectA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1150
push str.InternetSetCookieW
push 0x54bfcc
call fcn.0045f2e0
push 0x5d114c
push str.InternetSetCookieExW
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1148
push str.InternetSetCookieA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1144
push str.InternetSetCookieExA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1140
push str.InternetGetCookieExA
push 0x54bfcc
call fcn.0045f2e0
add esp, 0x48
push 0x5d10bc
push str.HttpOpenRequestW
push 0x54bfcc
call fcn.0045f2e0
push 0x5d112c
push str.GetUrlCacheEntryInfoA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1130
push str.GetUrlCacheEntryInfoW
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1138
push str.InternetSetOptionA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d10fc
push str.CoGetClassObject
push str.ole32.dll
call fcn.0045f2e0
push 0x5d10f0
push str.CommitUrlCacheEntryA
push 0x54bfcc
call fcn.0045f2e0
add esp, 0x48
push 0x5d1114
push str.InternetSetStatusCallbackA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d10e8
push str.CreateUrlCacheEntryA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d10e4
push str.RetrieveUrlCacheEntryStreamA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d10e0
push str.UnlockUrlCacheEntryStream
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1174
push str.ObtainUserAgentString
push 0x54c008
call fcn.0045f2e0
push 0x5d1104
push str.InternetOpenA
push 0x54bfcc
call fcn.0045f2e0
add esp, 0x48
push 0x5d1100
push str.InternetOpenW
push 0x54bfcc
call fcn.0045f2e0
push 0x5d113c
push str.HttpAddRequestHeadersA
push 0x54bfcc
call fcn.0045f2e0
push 0x5d1134
push str.HttpQueryInfoA
push 0x54bfcc
call fcn.0045f2e0
add esp, 0x24
call fcn.00511c33
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.00511ff7
push 0x45eb50
push 0x5d10d0
call fcn.00512066
mov word [ebp - 0x224], bx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x222]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.SafeCentralSafeCentral.dll
push 0x561154
push 0x52e930
push 0x103
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x14
push ebx
lea ecx, [ebp - 0x224]
push ecx
mov ecx, 0x560ee8
call fcn.0040ad60
test eax, eax
je 0x45f596
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x5d1160], eax
cmp dword [0x5d111c], ebx
je 0x45f5ad
push 0x45ed50
push 0x5d111c
call fcn.00512066
mov eax, dword [0x5d1160]
cmp eax, ebx
je 0x45f653
push str.SafeCentralLoadLibraryA
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
mov dword [0x5d1178], eax
cmp eax, ebx
je 0x45f5e0
push 0x45c8f0
push 0x5d10cc
call fcn.00512066
push str.SafeCentralLoadLibraryW
mov eax, dword [0x5d1160]
push eax
call esi
mov dword [0x5d117c], eax
cmp eax, ebx
je 0x45f605
push 0x45c930
push 0x5d10c8
call fcn.00512066
push str.SafeCentralLoadLibraryExA
mov ecx, dword [0x5d1160]
push ecx
call esi
mov dword [0x5d1180], eax
cmp eax, ebx
je 0x45f62b
push 0x45c970
push 0x5d10c4
call fcn.00512066
push str.SafeCentralLoadLibraryExW
mov edx, dword [0x5d1160]
push edx
call esi
mov dword [0x5d1184], eax
cmp eax, ebx
je 0x45f659
push 0x45c9c0
push 0x5d10c0
call fcn.00512066
jmp 0x45f659
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
mov dword [ebp - 0x22c], edi
cmp edi, ebx
je 0x45f6b0
push str.SHGetFolderPathA
push edi
call esi
mov dword [0x5d116c], eax
cmp eax, ebx
je 0x45f690
push 0x45e8d0
push 0x5d116c
call fcn.00512066
push str.SHGetFolderPathW
push edi
call esi
mov dword [0x5d1170], eax
cmp eax, ebx
je 0x45f6b0
push 0x45e900
push 0x5d1170
call fcn.00512066
cmp dword [0x5d1120], ebx
je 0x45f6c7
push 0x45cc40
push 0x5d1120
call fcn.00512066
mov eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x228]
push eax
push 0x55cfec
lea ecx, [ebp - 0x1c]
push ecx
push str.ExceptionEnable
push str.Software360se
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
cmp dword [0x55cfec], ebx
jne 0x45f721
push 0xffffffffffffffff
lea edx, [ebp - 0x10]
push edx
call sub.MSVCRT.dll__local_unwind2
add esp, 8
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x5d10ec], ebx
je 0x45f738
push 0x45ece0
push 0x5d10ec
call fcn.00512066
mov dword [ebp - 4], ebx
call fcn.0045f742
jmp 0x45f753
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret