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

Disassembly:
push 0x96c
mov eax, 0x49f891
call fcn.0047bb4d
mov ebx, ecx
lea ecx, [ebp - 0x848]
mov byte [ebx], 1
call fcn.00404c9b
xor esi, esi
mov dword [ebp - 4], esi
xor eax, eax
push 0x7fe
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push esi
push eax
call fcn.00475a50
add esp, 0xc
push 0x400
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
test eax, eax
jne 0x418e15
cmp dword [ebp - 0x834], 8
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x838], esi
jae 0x418deb
lea eax, [ebp - 0x848]
xor ecx, ecx
mov word [eax], cx
push 0x4b0db0
inc ecx
call fcn.0040d57f
pop ecx
xor bl, bl
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00403d16
mov al, bl
call fcn.0047bbd0
ret
lea eax, [ebp - 0x810]
push eax
call fcn.00477a67
pop ecx
lea ecx, [ebp - 0x810]
lea esi, [ebp - 0x848]
call fcn.004051e0
mov esi, 0x4a9bc8
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x848]
call fcn.00405148
lea eax, [ebp - 0x848]
push eax
lea esi, [ebp - 0x82c]
call fcn.0040727a
mov byte [ebp - 4], 1
lea eax, [ebp - 0x848]
push eax
lea esi, [ebp - 0x880]
call fcn.0040727a
mov byte [ebp - 4], 2
call fcn.00407e5c
sub eax, 5
je 0x418ed4
dec eax
je 0x418eb3
dec eax
je 0x418ed4
dec eax
je 0x418eb3
dec eax
je 0x418ed4
dec eax
je 0x418eb3
mov esi, 0x4b0e08
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x82c]
call fcn.00405148
mov esi, 0x4b0e50
jmp 0x418ef3
mov esi, 0x4b0e08
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x82c]
call fcn.00405148
mov esi, 0x4b0e34
jmp 0x418ef3
mov esi, 0x4b0e08
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x82c]
call fcn.00405148
mov esi, 0x4b0e1c
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x880]
call fcn.00405148
lea ecx, [ebp - 0x8b8]
call fcn.00404c9b
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x89c]
call fcn.00404c9b
mov byte [ebp - 4], 4
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x418f3b
lea ecx, [ebp - 0x82c]
lea eax, [ebp - 0x8b8]
push eax
call fcn.00418bc5
pop ecx
test al, al
jne 0x418f5c
push 0x4b0e6c
push 2
pop ecx
mov byte [ebx], al
call fcn.0040d57f
pop ecx
cmp dword [ebp - 0x86c], 8
mov ecx, dword [ebp - 0x880]
jae 0x418f71
lea ecx, [ebp - 0x880]
lea eax, [ebp - 0x89c]
push eax
call fcn.00418bc5
pop ecx
test al, al
jne 0x418f92
push 0x4b0e9c
push 2
pop ecx
mov byte [ebx], al
call fcn.0040d57f
pop ecx
lea eax, [ebp - 0x978]
push eax
call fcn.004090fb
mov edi, eax
mov byte [ebp - 4], 5
push edi
lea ecx, [ebp - 0x82c]
call fcn.0040b9a3
pop ecx
mov esi, 0x4b0ed0
push esi
push edi
call fcn.0040b677
push edi
lea ecx, [ebp - 0x8b8]
call fcn.0040b9a3
add esp, 0xc
lea ebx, [ebp - 0x864]
mov ecx, edi
call fcn.00409165
mov byte [ebp - 4], 6
cmp dword [ebp - 0x850], 8
mov eax, dword [ebp - 0x864]
jae 0x418fee
mov eax, ebx
push eax
push 4
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x864]
call fcn.00403d16
mov byte [ebp - 4], 4
lea eax, [ebp - 0x978]
call fcn.00407bad
lea eax, [ebp - 0x978]
push eax
call fcn.004090fb
mov edi, eax
mov byte [ebp - 4], 7
push edi
lea ecx, [ebp - 0x880]
call fcn.0040b9a3
pop ecx
push esi
push edi
call fcn.0040b677
push edi
lea ecx, [ebp - 0x89c]
call fcn.0040b9a3
add esp, 0xc
lea ebx, [ebp - 0x864]
mov ecx, edi
call fcn.00409165
mov byte [ebp - 4], 8
cmp dword [ebp - 0x850], 8
mov eax, dword [ebp - 0x864]
jae 0x41906d
mov eax, ebx
push eax
push 4
pop ebx
mov ecx, ebx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x864]
call fcn.00403d16
mov byte [ebp - 4], bl
lea eax, [ebp - 0x978]
call fcn.00407bad
cmp dword [ebp - 0x888], 8
mov eax, dword [ebp - 0x89c]
jae 0x4190ab
lea eax, [ebp - 0x89c]
mov edi, dword [ebp - 0x88c]
push eax
mov eax, dword [ebp - 0x8a8]
lea ecx, [ebp - 0x8b8]
call fcn.0040d283
test eax, eax
jne 0x419118
push 0x4b0ef0
push 2
pop ecx
call fcn.0040d57f
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x89c]
call fcn.00403d16
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8b8]
call fcn.00403d16
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x880]
call fcn.00403d16
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x82c]
call fcn.00403d16
mov bl, 1
jmp 0x418dfe
lea eax, [ebp - 0x8d4]
push eax
mov eax, 0x4b0f38
call fcn.00404cae
mov byte [ebp - 4], 9
mov esi, 0x4a9bc8
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x8d4]
call fcn.00405148
mov esi, 0x4b0f80
push esi
call fcn.00477a67
pop ecx
mov edi, eax
push esi
lea eax, [ebp - 0x8d4]
call fcn.00405148
cmp dword [ebp - 0x8c0], 8
mov eax, dword [ebp - 0x8d4]
jae 0x419176
lea eax, [ebp - 0x8d4]
lea ecx, [ebp - 0x8dc]
push ecx
push 0x20019
xor esi, esi
push esi
push eax
push reloc.OLEAUT32.DLL_SysReAllocString
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
mov dword [ebp - 0x8d8], esi
mov dword [ebp - 0x8e0], ebx
cmp eax, esi
jne 0x4191d8
lea eax, [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x8d8]
push eax
push esi
push esi
push 0x4b0f90
push dword [ebp - 0x8dc]
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExW]
cmp eax, esi
je 0x4191cc
mov dword [ebp - 0x8d8], esi
push dword [ebp - 0x8dc]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
cmp dword [ebp - 0x8d8], esi
setne bl
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8d4]
call fcn.00403d16
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x89c]
call fcn.00403d16
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8b8]
call fcn.00403d16
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x880]
call fcn.00403d16
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x82c]
call fcn.00403d16
jmp 0x418dfe