Function at 0x4069b2
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x748
mov eax, dword [0x431440]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
push ebx
push esi
push edi
jne 0x406c9f
mov edi, 0x104
lea eax, [ebp - 0x108]
push edi
push eax
xor eax, eax
cmp dword [0x433b84], eax
setne al
xor esi, esi
add eax, 0x402
push eax
push esi
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x108]
push eax
push 0x4267a4
call fcn.00408df2
push 0x426a18
push 0x426a1c
call fcn.00408df2
push 0x426a23
push 0x4267d0
call fcn.00408df2
push dword [0x433a6c]
mov ebx, 0x426960
lea eax, [ebp - 0x108]
push ebx
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x426a24
call fcn.00408df2
xor eax, eax
cmp byte [0x433a70], al
setne al
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push 0x426a2c
call fcn.00408df2
pop ecx
pop ecx
push edi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x20c]
push eax
call fcn.00408542
lea eax, [ebp - 0x20c]
push eax
push 0x426a34
call fcn.00408df2
add esp, 0xc
lea eax, [ebp - 0x108]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
mov dword [esp], 0x426a44
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.0041149d
lea eax, [ebp - 0x108]
push eax
push 0x426a50
call fcn.00408df2
push 1
call fcn.0040809b
lea eax, [ebp - 0x108]
push eax
push 7
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
lea eax, [ebp - 0x108]
push eax
push 0x42680c
call fcn.00408df2
lea eax, [ebp - 0x108]
mov edi, 0x42681c
push eax
push edi
call fcn.00408df2
lea eax, [ebp - 0x108]
push eax
push 0x18
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push 0x4267fc
call fcn.00408df2
cmp byte [0x433a75], 0
pop ecx
pop ecx
je 0x406b7b
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408df2
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 2
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
lea eax, [ebp - 0x108]
push eax
push 0x42683c
call fcn.00408df2
lea eax, [ebp - 0x108]
mov edi, 0x42684c
push eax
push edi
call fcn.00408df2
lea eax, [ebp - 0x108]
push eax
push 0x17
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
lea eax, [ebp - 0x108]
push eax
push 0x42682c
call fcn.00408df2
add esp, 0x30
cmp byte [0x433a75], 0
je 0x406bfe
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408df2
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 0x10
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
lea eax, [ebp - 0x108]
push eax
push 0x42686c
call fcn.00408df2
lea eax, [ebp - 0x108]
mov edi, 0x42687c
push eax
push edi
call fcn.00408df2
lea eax, [ebp - 0x108]
push eax
push 0x19
call fcn.00407f5f
lea eax, [ebp - 0x108]
push eax
call fcn.00408542
lea eax, [ebp - 0x108]
push eax
push 0x42685c
call fcn.00408df2
add esp, 0x30
cmp byte [0x433a75], 0
je 0x406c81
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408df2
pop ecx
pop ecx
push esi
call fcn.0040809b
mov dword [esp], 0x426a60
push 0x426558
call fcn.00408df2
pop ecx
pop ecx
jmp 0x4070d0
xor esi, esi
push esi
mov dword [0x4339f0], esi
call fcn.004064a0
mov eax, dword [0x4339f0]
pop ecx
test eax, eax
jne 0x4070d2
push 0x530
lea eax, [ebp - 0x73c]
push esi
push eax
call fcn.0040eb20
add esp, 0xc
lea eax, [ebp - 0x73c]
push eax
push 0x42657c
call fcn.0040907f
pop ecx
push eax
call fcn.00407ea6
movsx ecx, word [ebp - 0x730]
mov edi, 0x104
push ecx
movsx ecx, word [ebp - 0x732]
push ecx
push 0x426a78
mov byte [ebp - 0x73d], al
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x426a80
call fcn.00408df2
add esp, 0x24
mov ebx, 0x4266e8
cmp byte [ebp - 0x73d], 0
je 0x406e3f
movsx eax, word [ebp - 0x72e]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x426510
call fcn.00408df2
movsx eax, word [ebp - 0x72c]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x42651c
call fcn.00408df2
movsx eax, word [ebp - 0x72a]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push 0x426528
call fcn.00408df2
xor eax, eax
inc eax
pop ecx
pop ecx
cmp word [ebp - 0x72e], ax
jne 0x406e67
push edi
lea eax, [ebp - 0x108]
push eax
push 0x4267fc
call fcn.00408028
lea eax, [ebp - 0x108]
push eax
push 0x42681c
call fcn.00408df2
push edi
lea eax, [ebp - 0x108]
push eax
push 0x42682c
call fcn.00408028
lea eax, [ebp - 0x108]
push eax
push 0x42684c
call fcn.00408df2
push edi
lea eax, [ebp - 0x108]
push eax
push 0x42685c
call fcn.00408028
lea eax, [ebp - 0x108]
push eax
push 0x42687c
call fcn.00408df2
add esp, 0x3c
jmp 0x406e67
push 0x426670
push 0x426510
call fcn.00408df2
push ebx
push 0x42651c
call fcn.00408df2
push ebx
push 0x426528
call fcn.00408df2
add esp, 0x18
push esi
push esi
push 0x426538
call fcn.00408028
add esp, 0xc
cmp eax, 0xffffffff
jne 0x406f3b
cmp byte [ebp - 0x73d], 0
jne 0x406f28
lea eax, [ebp - 0x728]
push eax
push 0x26
call fcn.00407f5f
cmp byte [ebp - 0x728], 0
pop ecx
pop ecx
jne 0x406eff
lea eax, [ebp - 0x744]
push eax
lea eax, [ebp - 0x748]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
push 0x426a8c
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0x744]
mov dword [ebp - 0x744], edi
push eax
lea eax, [ebp - 0x728]
push eax
push esi
push esi
push 0x426ab8
push dword [ebp - 0x748]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x748]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x728]
push eax
call fcn.0040723d
mov dword [esp], 0x42657c
call fcn.0040907f
push eax
lea eax, [ebp - 0x728]
push edi
push eax
call fcn.0041149d
add esp, 0x10
lea eax, [ebp - 0x728]
push eax
push 0x426538
call fcn.00408df2
pop ecx
pop ecx
push esi
push esi
mov esi, 0x426548
push esi
call fcn.00408028
add esp, 0xc
cmp eax, 0xffffffff
jne 0x406fb5
cmp byte [ebp - 0x73d], 0
jne 0x406fad
lea eax, [ebp - 0x108]
push eax
push 0x1a
call fcn.00407f5f
push 0x42657c
call fcn.0040907f
push eax
lea eax, [ebp - 0x108]
push eax
push 0x426ac8
lea eax, [ebp - 0x624]
push edi
push eax
call fcn.00403cbc
xor eax, eax
add esp, 0x20
inc eax
mov word [ebp - 0x214], ax
mov word [ebp - 0x212], ax
mov word [ebp - 0x210], ax
mov word [ebp - 0x20e], ax
lea ebx, [ebp - 0x624]
jmp 0x406fd7
push ebx
push 0x426510
call fcn.00408df2
push 0x426670
push 0x42651c
call fcn.00408df2
add esp, 0x10
mov esi, 0x426528
push ebx
push esi
call fcn.00408df2
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 0x42657c
call fcn.0040907f
pop ecx
push eax
call fcn.00407be0
lea eax, [ebp - 0x108]
push eax
push 0x426588
call fcn.00408df2
movsx eax, word [ebp - 0x214]
mov ebx, 0x426960
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x4268e4
call fcn.00408df2
movsx eax, word [ebp - 0x212]
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x426938
call fcn.00408df2
movsx eax, word [ebp - 0x210]
add esp, 0x40
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x426900
call fcn.00408df2
movsx eax, word [ebp - 0x20e]
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cbc
lea eax, [ebp - 0x108]
push eax
push 0x42691c
call fcn.00408df2
push edi
push 0x4311c0
push 0x426ad8
call fcn.00408028
push edi
push 0x4312c8
push 0x426ae4
call fcn.00408028
add esp, 0x48
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040d603
leave
ret