Function at 0x10041020
Capabilities:
Link many functions at runtime
Set registry value

Disassembly:
sub esp, 0x44
push ebx
push esi
push edi
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0x100ac25c
push 0x100ac280
mov ebx, 1
push reloc.OLEAUT32.DLL_SysReAllocString
mov dword [esp + 0x24], ebx
call dword [sym.imp.SHLWAPI.DLL_SHSetValueW]
mov eax, dword [0x100c7a60]
mov esi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
test eax, eax
jne 0x10041091
push 0x100a6b44
call edi
test eax, eax
jne 0x10041072
lea eax, [ebx + 0xf]
jmp 0x10041095
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x1004108b
lea eax, [ecx + 0x10]
jmp 0x1004109b
push 0x10
call ecx
jmp 0x10041095
push 0x10
call eax
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x100410ce
push 0x100a6b44
call edi
test eax, eax
jne 0x100410b5
mov eax, 0x10
jmp 0x100410d2
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x100410ce
lea eax, [ecx + 0x10]
jmp 0x100410d8
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x2c], eax
test ecx, ecx
jne 0x1004110b
push 0x100a6b44
call edi
test eax, eax
jne 0x100410f2
mov eax, 0x10
jmp 0x1004110f
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x1004110b
lea eax, [ecx + 0x10]
jmp 0x10041115
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x30], eax
test ecx, ecx
jne 0x10041148
push 0x100a6b44
call edi
test eax, eax
jne 0x1004112f
mov eax, 0x10
jmp 0x1004114c
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x10041148
lea eax, [ecx + 0x10]
jmp 0x10041152
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x10041185
push 0x100a6b44
call edi
test eax, eax
jne 0x1004116c
mov eax, 0x10
jmp 0x10041189
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x10041185
lea eax, [ecx + 0x10]
jmp 0x1004118f
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x38], eax
test ecx, ecx
jne 0x100411c2
push 0x100a6b44
call edi
test eax, eax
jne 0x100411a9
mov eax, 0x14
jmp 0x100411c6
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x100411c2
lea eax, [ecx + 0x14]
jmp 0x100411cc
push 0x14
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x100411ff
push 0x100a6b44
call edi
test eax, eax
jne 0x100411e6
mov eax, 0x10
jmp 0x10041203
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x100411ff
lea eax, [ecx + 0x10]
jmp 0x10041209
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x40], eax
test ecx, ecx
jne 0x1004123c
push 0x100a6b44
call edi
test eax, eax
jne 0x10041223
mov eax, 0x10
jmp 0x10041240
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x1004123c
lea eax, [ecx + 0x10]
jmp 0x10041246
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x44], eax
test ecx, ecx
jne 0x10041279
push 0x100a6b44
call edi
test eax, eax
jne 0x10041260
mov eax, 0x10
jmp 0x1004127d
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x10041279
lea eax, [ecx + 0x10]
jmp 0x10041283
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x48], eax
test ecx, ecx
jne 0x100412bc
push 0x100a6b44
call edi
test eax, eax
jne 0x1004129d
mov eax, 0xe
jmp 0x100412c0
push 0x100a9e44
push eax
call esi
mov edx, eax
mov dword [0x100c7a60], edx
test edx, edx
jne 0x100412b6
lea eax, [edx + 0xe]
jmp 0x100412c6
push 0xe
call edx
jmp 0x100412c0
push 0xe
call ecx
mov edx, dword [0x100c7a60]
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
test edx, edx
jne 0x10041326
push 0x100a6b44
call edi
test eax, eax
jne 0x10041302
mov eax, 0x398
jmp 0x1004132d
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
test ecx, ecx
jne 0x1004131d
mov eax, 0x398
jmp 0x10041333
push 0x398
call ecx
jmp 0x1004132d
push 0x398
call edx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x1004136e
push 0x100a6b44
call edi
test eax, eax
jne 0x1004134d
mov eax, 0x2fa
jmp 0x10041375
push 0x100a9e44
push eax
call esi
mov dword [0x100c7a60], eax
test eax, eax
jne 0x10041365
mov eax, 0x2fa
jmp 0x10041375
push 0x2fa
call eax
jmp 0x10041375
push 0x2fa
call ecx
mov edi, dword [esp + 0x54]
cmp dword [edi + 0x88], 0
lea esi, [edi + 0x88]
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0xa
je 0x100413da
push 0x100c5a78
push 0x68
call fcn.10085206
add esp, 8
test eax, eax
je 0x100413bf
push esi
lea esi, [esp + 0x14]
call fcn.100564b0
mov dword [esp + 0xc], eax
jmp 0x100413c7
mov dword [esp + 0xc], 0
add edi, 0xe0
lea ebx, [esp + 0xc]
call fcn.10055610
mov edi, dword [esp + 0x54]
push 0x100c5a78
push 0x68
call fcn.10085206
add esp, 8
test eax, eax
je 0x10041403
lea edx, [edi + 0x90]
push edx
lea esi, [esp + 0x14]
call fcn.10056170
mov dword [esp + 0xc], eax
jmp 0x1004140b
mov dword [esp + 0xc], 0
add edi, 0xe0
lea ebx, [esp + 0xc]
call fcn.10055610
push 0x18
mov esi, 0x100450d0
xor edi, edi
call fcn.100848f7
add esp, 4
test eax, eax
je 0x1004145e
mov dword [eax + 8], esi
mov esi, dword [esp + 0x54]
mov dword [eax + 0xc], edi
lea edi, [esi + 0xf8]
lea ebx, [esp + 0x54]
mov dword [eax], 0x100ad010
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], 1
mov dword [esp + 0x54], eax
call fcn.10055670
jmp 0x10041462
mov esi, dword [esp + 0x54]
lea eax, [esi + 0x34]
add esi, 0xd4
call fcn.10055160
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x44
ret 4