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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
push 4
lea eax, [esp + 0x18]
push eax
push 4
push 0x100ac25c
push 0x100ac280
xor ebp, ebp
push reloc.OLEAUT32.DLL_SysReAllocString
mov dword [esp + 0x2c], ebp
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]
cmp eax, ebp
jne 0x10040c21
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040c00
lea eax, [ebp + 0x10]
jmp 0x10040c25
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040c1b
mov eax, 0x10
jmp 0x10040c2b
push 0x10
call ecx
jmp 0x10040c25
push 0x10
call eax
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x30], eax
cmp ecx, ebp
jne 0x10040c60
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040c45
mov eax, 0x10
jmp 0x10040c64
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040c60
mov eax, 0x10
jmp 0x10040c6a
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x34], eax
cmp ecx, ebp
jne 0x10040c9f
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040c84
mov eax, 0x10
jmp 0x10040ca3
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040c9f
mov eax, 0x10
jmp 0x10040ca9
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x38], eax
cmp ecx, ebp
jne 0x10040cde
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040cc3
mov eax, 0x10
jmp 0x10040ce2
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040cde
mov eax, 0x10
jmp 0x10040ce8
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x3c], eax
cmp ecx, ebp
jne 0x10040d1d
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040d02
mov eax, 0x10
jmp 0x10040d21
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040d1d
mov eax, 0x10
jmp 0x10040d27
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x40], eax
cmp ecx, ebp
jne 0x10040d5c
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040d41
mov eax, 0x14
jmp 0x10040d60
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040d5c
mov eax, 0x14
jmp 0x10040d66
push 0x14
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x44], eax
cmp ecx, ebp
jne 0x10040d9b
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040d80
mov eax, 0x10
jmp 0x10040d9f
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040d9b
mov eax, 0x10
jmp 0x10040da5
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x48], eax
cmp ecx, ebp
jne 0x10040dda
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040dbf
mov eax, 0x10
jmp 0x10040dde
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040dda
mov eax, 0x10
jmp 0x10040de4
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x4c], eax
cmp ecx, ebp
jne 0x10040e19
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040dfe
mov eax, 0x10
jmp 0x10040e1d
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040e19
mov eax, 0x10
jmp 0x10040e23
push 0x10
call ecx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x50], eax
cmp ecx, ebp
jne 0x10040e5e
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040e3d
mov eax, 0xe
jmp 0x10040e62
push 0x100a9e44
push eax
call esi
mov edx, eax
mov dword [0x100c7a60], edx
cmp edx, ebp
jne 0x10040e58
mov eax, 0xe
jmp 0x10040e68
push 0xe
call edx
jmp 0x10040e62
push 0xe
call ecx
mov edx, dword [0x100c7a60]
xor ecx, ecx
mov dword [esp + 0x54], eax
mov eax, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
cmp edx, ebp
jne 0x10040ecd
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040ea9
mov eax, 0x2fa
jmp 0x10040ed4
push 0x100a9e44
push eax
call esi
mov ecx, eax
mov dword [0x100c7a60], ecx
cmp ecx, ebp
jne 0x10040ec4
mov eax, 0x2fa
jmp 0x10040eda
push 0x2fa
call ecx
jmp 0x10040ed4
push 0x2fa
call edx
mov ecx, dword [0x100c7a60]
mov dword [esp + 0x18], eax
cmp ecx, ebp
jne 0x10040f15
push 0x100a6b44
call edi
cmp eax, ebp
jne 0x10040ef4
mov eax, 0x398
jmp 0x10040f1c
push 0x100a9e44
push eax
call esi
mov dword [0x100c7a60], eax
cmp eax, ebp
jne 0x10040f0c
mov eax, 0x398
jmp 0x10040f1c
push 0x398
call eax
jmp 0x10040f1c
push 0x398
call ecx
mov edi, dword [esp + 0x5c]
lea esi, [edi + 0x88]
lea ecx, [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], 0xa
cmp dword [esi], ebp
je 0x10040f78
push 0x100c5a78
push 0x68
call fcn.10085206
add esp, 8
cmp eax, ebp
je 0x10040f61
push esi
lea esi, [esp + 0x1c]
call fcn.100564b0
mov dword [esp + 0x14], eax
jmp 0x10040f65
mov dword [esp + 0x14], ebp
add edi, 0xe0
lea ebx, [esp + 0x14]
call fcn.10055610
mov edi, dword [esp + 0x5c]
push 0x100c5a78
push 0x68
call fcn.10085206
add esp, 8
cmp eax, ebp
je 0x10040fa1
lea edx, [edi + 0x90]
push edx
lea esi, [esp + 0x1c]
call fcn.10056170
mov dword [esp + 0x14], eax
jmp 0x10040fa5
mov dword [esp + 0x14], ebp
add edi, 0xe0
lea ebx, [esp + 0x14]
call fcn.10055610
push 0x18
mov esi, 0x100450d0
xor edi, edi
call fcn.100848f7
add esp, 4
cmp eax, ebp
je 0x10040ff4
mov dword [eax + 8], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + 0xc], edi
lea edi, [esi + 0xf8]
lea ebx, [esp + 0x5c]
mov dword [eax], 0x100ad010
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ebp
mov dword [esp + 0x5c], eax
call fcn.10055670
jmp 0x10040ff8
mov esi, dword [esp + 0x5c]
lea eax, [esi + 0x34]
add esi, 0xd4
call fcn.10055160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret 4