Function at 0x435bb2
Capabilities:
Check if file exists
Get file attributes
Query or enumerate registry value

Disassembly:
push 0x494
mov eax, 0x56519e
call fcn.0053cea9
mov eax, dword [ebp + 8]
mov dword [ebp - 0x490], eax
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x48c], edi
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x484]
call fcn.00402723
mov byte [ebp - 4], 1
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x47c]
call fcn.00402723
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], edi
je 0x4361f7
push edi
push 0x59d47c
lea ecx, [ebp + 0xc]
call fcn.0040ea0d
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov esi, dword [eax - 0xc]
push ebx
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp + 0xc]
call fcn.00409e7e
push eax
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 3
call fcn.0040248f
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.0040274b
sub esi, ebx
dec esi
push esi
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp + 0xc]
call fcn.0040ea6c
push eax
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 4
call fcn.0040248f
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.0040274b
mov esi, dword [ebp - 0x484]
cmp dword [esi - 0xc], edi
je 0x435fc3
mov eax, dword [ebp - 0x47c]
cmp dword [eax - 0xc], edi
je 0x435fc3
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x474]
call fcn.00402723
mov byte [ebp - 4], 5
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x480]
call fcn.00402723
push edi
push 0x599930
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 6
call fcn.0040ea0d
mov esi, dword [esi - 0xc]
mov ebx, eax
push ebx
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0x484]
call fcn.00409e7e
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 7
call fcn.0040248f
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.0040274b
sub esi, ebx
dec esi
push esi
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0x484]
call fcn.0040ea6c
push eax
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 8
call fcn.0040248f
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x478]
add ecx, 0xfffffff0
call fcn.0040274b
mov eax, dword [ebp - 0x474]
cmp dword [eax - 0xc], edi
je 0x435fa7
mov eax, dword [ebp - 0x480]
cmp dword [eax - 0xc], edi
je 0x435fa7
push eax
lea eax, [ebp - 0x420]
xor ecx, ecx
push 0x599470
push eax
mov word [ebp - 0x218], cx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push str.HKEY_USERS
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x435dab
mov esi, SysStringLen
jmp 0x435dff
push str.HKEY_CLASSES_ROOT
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x435dc6
mov esi, SysReAllocString
jmp 0x435dff
push str.HKEY_CURRENT_CONFIG
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x435de1
mov esi, VariantCopy
jmp 0x435dff
push str.HKEY_CURRENT_USER
lea ecx, [ebp - 0x474]
call fcn.004107c5
mov esi, eax
neg esi
sbb esi, esi
neg esi
add esi, 0x80000001
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x488]
call fcn.00402723
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x420]
push eax
push esi
mov byte [ebp - 4], 9
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x435f8d
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push dword [ebp - 0x47c]
mov dword [ebp - 0x494], 0x208
push dword [ebp - 0x478]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x435f8d
push 0x2f
mov ebx, str...CommonUtility.cpp
push ebx
call fcn.00539190
pop ecx
pop ecx
test eax, eax
je 0x435e7c
push 0x2f
jmp 0x435e8c
push 0x5c
push ebx
call fcn.00539190
pop ecx
pop ecx
test eax, eax
je 0x435e97
push 0x5c
push ebx
call fcn.00539190
pop ecx
pop ecx
inc eax
jmp 0x435e99
mov eax, ebx
push 1
push 0x3fd
push eax
lea esi, [ebp - 0x470]
call fcn.00404558
lea ecx, [ebp - 0x218]
push ecx
push str.Trace:_Open_Reg:__s
push edi
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.00404636
mov edi, eax
call fcn.0040c58b
pop ecx
pop ecx
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.004045c4
mov ecx, dword [ebp - 0x494]
xor eax, eax
mov word [ebp + ecx*2 - 0x218], ax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x435f8d
lea eax, [ebp - 0x218]
push eax
push 0x599470
push dword [ebp - 0x490]
call fcn.0040a0e9
xor esi, esi
push 0x2f
inc esi
push ebx
mov dword [ebp - 0x48c], esi
call fcn.00539190
add esp, 0x14
test eax, eax
je 0x435f31
push 0x2f
jmp 0x435f41
push 0x5c
push ebx
call fcn.00539190
pop ecx
pop ecx
test eax, eax
je 0x435f4c
push 0x5c
push ebx
call fcn.00539190
pop ecx
pop ecx
inc eax
jmp 0x435f4e
mov eax, ebx
push esi
push 0x408
push eax
lea esi, [ebp - 0x470]
call fcn.00404558
lea ecx, [ebp - 0x218]
push ecx
push str.Trace:_App_Found:__s
push 0
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00404636
mov edi, eax
call fcn.0040c58b
pop ecx
pop ecx
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.004045c4
push dword [ebp - 0x478]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x480]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x474]
add ecx, 0xfffffff0
jmp 0x4361f2
mov eax, dword [ebp - 0x47c]
cmp dword [eax - 0xc], edi
je 0x4361f7
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x474]
call fcn.00402723
mov byte [ebp - 4], 0xc
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x480]
call fcn.00402723
push edi
push 0x599930
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0xd
call fcn.0040ea0d
mov ebx, eax
mov eax, dword [ebp - 0x47c]
mov esi, dword [eax - 0xc]
push ebx
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x47c]
call fcn.00409e7e
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0xe
call fcn.0040248f
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.0040274b
sub esi, ebx
dec esi
push esi
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x47c]
call fcn.0040ea6c
push eax
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0xf
call fcn.0040248f
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x488]
add ecx, 0xfffffff0
call fcn.0040274b
mov esi, dword [ebp - 0x474]
cmp dword [esi - 0xc], edi
je 0x4361e1
mov eax, dword [ebp - 0x480]
cmp dword [eax - 0xc], edi
je 0x4361e1
push eax
mov ebx, 0x599470
lea eax, [ebp - 0x420]
xor ecx, ecx
push ebx
push eax
mov word [ebp - 0x218], cx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push str.HKEY_USERS
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x4360de
mov eax, SysStringLen
jmp 0x43612f
push str.HKEY_CLASSES_ROOT
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x4360f9
mov eax, SysReAllocString
jmp 0x43612f
push str.HKEY_CURRENT_CONFIG
lea ecx, [ebp - 0x474]
call fcn.004107c5
test eax, eax
jne 0x436114
mov eax, VariantCopy
jmp 0x43612f
push str.HKEY_CURRENT_USER
lea ecx, [ebp - 0x474]
call fcn.004107c5
neg eax
sbb eax, eax
neg eax
add eax, 0x80000001
mov dword [ebp - 0x4a0], edi
mov dword [ebp - 0x49c], edi
mov dword [ebp - 0x498], edi
push 0x20019
lea ecx, [ebp - 0x420]
push ecx
push eax
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 0x10
call fcn.00420575
test eax, eax
jne 0x4361cb
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x598e70
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x478], 0x104
call fcn.004204af
mov ecx, dword [ebp - 0x478]
xor eax, eax
mov word [ebp + ecx*2 - 0x218], ax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4361cb
lea eax, [ebp - 0x218]
push eax
push ebx
push dword [ebp - 0x490]
call fcn.0040a0e9
add esp, 0xc
mov dword [ebp - 0x48c], 1
lea ecx, [ebp - 0x4a0]
call fcn.004205c4
lea ecx, [ebp - 0x4a0]
call fcn.004205c4
mov ecx, dword [ebp - 0x480]
add ecx, 0xfffffff0
call fcn.0040274b
lea ecx, [esi - 0x10]
call fcn.0040274b
mov ecx, dword [ebp - 0x47c]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp - 0x484]
add ecx, 0xfffffff0
call fcn.0040274b
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040274b
mov eax, dword [ebp - 0x48c]
call fcn.0053cf2c
ret