Function at 0x432d50
Capabilities:
Check if file exists
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49a9fc
mov eax, dword fs:[0]
push eax
mov eax, 0x104ac
call fcn.00482af0
mov eax, dword [0x4c56f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x100
lea eax, [ebp - 0x428]
push eax
mov esi, ecx
push str.APPDATA
mov dword [ebp - 0x1049c], esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor ebx, ebx
mov dword [ebp - 0x430], 0xf
mov dword [ebp - 0x434], ebx
mov byte [ebp - 0x444], bl
lea eax, [ebp - 0x428]
mov dword [ebp - 4], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x432dc5
sub eax, edx
push eax
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp - 0x444]
call fcn.0040d510
push 0x19
push str.SogouExplorerconfig.xml
lea ecx, [ebp - 0x444]
call fcn.0040d510
push 0x103
lea edx, [ebp - 0x327]
push ebx
push edx
mov byte [ebp - 0x328], bl
call fcn.00475cb0
add esp, 0xc
lea eax, [ebp - 0x10498]
push eax
push 0xf003f
push ebx
push str.SoftwareSogouExplorer
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x432f10
push 0x103
lea ecx, [ebp - 0x21f]
push ebx
push ecx
mov byte [ebp - 0x220], bl
call fcn.00475cb0
add esp, 0xc
lea edx, [ebp - 0x104a0]
push edx
mov edx, dword [ebp - 0x10498]
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x10494]
push ecx
push ebx
push 0x4a6b18
push edx
mov dword [ebp - 0x10494], 1
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [ebp - 0x10498]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x103
lea ecx, [ebp - 0x117]
push ebx
push ecx
mov byte [ebp - 0x118], bl
call fcn.00475cb0
add esp, 0xc
cmp dword [esi + 0x14], 0x10
jb 0x432eb2
mov eax, dword [esi]
jmp 0x432eb4
mov eax, esi
push eax
lea edx, [ebp - 0x220]
push edx
push str._s_3_s
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00471d26
lea eax, [ebp - 0x118]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x432ee0
sub eax, edx
mov edx, eax
lea esi, [ebp - 0x118]
call fcn.00433ee0
push eax
push 0x4a5b08
lea ecx, [ebp - 0x328]
push 0x104
push ecx
call fcn.00471d26
add esp, 0x10
mov eax, dword [ebp - 0x444]
mov esi, 0x10
cmp dword [ebp - 0x430], esi
jae 0x432f29
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4332f9
mov ecx, dword [ebp - 0x444]
cmp dword [ebp - 0x430], esi
jae 0x432f4c
lea ecx, [ebp - 0x444]
lea edi, [ebp - 0x104b4]
call fcn.00434690
lea edx, [ebp - 0x10454]
mov eax, edx
neg eax
and eax, 3
lea eax, [ebp + eax - 0x10454]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x10490], ebx
mov dword [ebp - 0x1048c], ebx
mov dword [ebp - 0x10480], ebx
mov dword [ebp - 0x1047c], ebx
mov dword [ebp - 0x10478], ebx
mov dword [ebp - 0x10470], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x450], ebx
mov dword [ebp - 0x10460], edx
mov dword [ebp - 0x1045c], eax
mov dword [ebp - 0x10458], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x104b4]
push edx
lea edi, [ebp - 0x10490]
call fcn.00435d60
mov eax, dword [ebp - 0x10478]
mov dword [ebp - 0x104a0], eax
cmp eax, ebx
je 0x4332d7
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10494], esi
cmp esi, ebx
je 0x4332d7
push esi
mov ebx, str.homepage
call fcn.004348f0
test eax, eax
je 0x433006
mov edi, eax
mov eax, esi
call fcn.00434a50
lea eax, [ebp - 0x10460]
push eax
mov eax, str.homepage
call fcn.00434b50
mov edi, eax
mov eax, dword [ebp - 0x1049c]
cmp dword [eax + 0x14], 0x10
jb 0x433027
mov eax, dword [eax]
lea ecx, [ebp - 0x10460]
push ecx
call fcn.00434b50
mov ebx, eax
lea esi, [ebp - 0x10460]
call fcn.00434b00
mov edi, dword [ebp - 0x10494]
mov esi, eax
call fcn.004349f0
push edi
mov ebx, 0x4a6b24
call fcn.004348f0
test eax, eax
je 0x433069
mov edi, eax
mov eax, dword [ebp - 0x10494]
call fcn.00434a50
lea edx, [ebp - 0x10460]
push edx
mov eax, 0x4a6b24
call fcn.00434b50
mov edi, eax
lea eax, [ebp - 0x10460]
push eax
lea eax, [ebp - 0x328]
call fcn.00434b50
mov ebx, eax
lea esi, [ebp - 0x10460]
call fcn.00434b00
mov edi, dword [ebp - 0x10494]
mov esi, eax
call fcn.004349f0
push edi
mov ebx, str.homepagetype
call fcn.004348f0
test eax, eax
je 0x4330c4
mov edi, eax
mov eax, dword [ebp - 0x10494]
call fcn.00434a50
lea ecx, [ebp - 0x10460]
push ecx
mov eax, str.homepagetype
call fcn.00434b50
lea edx, [ebp - 0x10460]
mov edi, eax
push edx
mov eax, 0x4a1d90
call fcn.00434b50
mov ebx, eax
lea esi, [ebp - 0x10460]
call fcn.00434b00
mov edi, dword [ebp - 0x10494]
mov esi, eax
call fcn.004349f0
push edi
mov ebx, str.homepagetype50
call fcn.004348f0
test eax, eax
je 0x43311e
mov edi, eax
mov eax, dword [ebp - 0x10494]
call fcn.00434a50
lea eax, [ebp - 0x10460]
push eax
mov eax, str.homepagetype50
call fcn.00434b50
lea ecx, [ebp - 0x10460]
mov edi, eax
push ecx
mov eax, 0x4a1d90
call fcn.00434b50
mov ebx, eax
lea esi, [ebp - 0x10460]
call fcn.00434b00
mov edi, dword [ebp - 0x10494]
mov esi, eax
call fcn.004349f0
push edi
mov ebx, str.startpageinitdisplaycount
call fcn.004348f0
test eax, eax
je 0x433178
mov edi, eax
mov eax, dword [ebp - 0x10494]
call fcn.00434a50
lea edx, [ebp - 0x10460]
push edx
mov eax, str.startpageinitdisplaycount
call fcn.00434b50
mov edi, eax
lea eax, [ebp - 0x10460]
push eax
mov eax, 0x4a6b64
call fcn.00434b50
mov ebx, eax
lea esi, [ebp - 0x10460]
call fcn.00434b00
mov edi, dword [ebp - 0x10494]
mov esi, eax
call fcn.004349f0
lea ecx, [ebp - 0x10460]
push ecx
mov eax, str.xml_version_1.0__encoding_utf_8_
call fcn.00434b50
push 7
mov edi, eax
lea esi, [ebp - 0x10460]
call fcn.00434ab0
mov ebx, dword [ebp - 0x104a0]
lea ecx, [ebp - 0x10490]
call fcn.00434970
cmp dword [ebp - 0x430], 0x10
mov eax, dword [ebp - 0x444]
jae 0x4331fc
lea eax, [ebp - 0x444]
push eax
lea edx, [ebp - 0xc0]
push edx
call fcn.0040fde0
lea ecx, [ebp - 0xc0]
push ecx
xor eax, eax
push eax
xor ebx, ebx
push ebx
xor ecx, ecx
lea eax, [ebp - 0x10490]
lea edi, [ebp - 0x104a4]
mov byte [ebp - 4], 3
call fcn.00436ca0
add esp, 0xc
lea ecx, [ebp - 0xbc]
call fcn.00410400
test eax, eax
jne 0x433268
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0xb4]
lea ecx, [ebp + ecx - 0xc0]
or eax, 2
cmp dword [ecx + 0x38], ebx
jne 0x433261
or eax, 4
push ebx
push eax
call fcn.00404c90
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
call fcn.0040ff30
lea ecx, [ebp - 0x60]
push ecx
mov dword [ebp - 0x60], vtable.std::ios_base.0
call fcn.0046d124
add esp, 4
lea esi, [ebp - 0x10460]
mov byte [ebp - 4], 1
call fcn.00435520
mov eax, dword [ebp - 0x104b4]
cmp eax, ebx
je 0x4332a9
push eax
call fcn.0046ead2
add esp, 4
cmp dword [ebp - 0x430], 0x10
mov dword [ebp - 0x104b4], ebx
mov dword [ebp - 0x104b0], ebx
mov dword [ebp - 0x104ac], ebx
jb 0x4332d3
mov edx, dword [ebp - 0x444]
push edx
call fcn.0046ead2
add esp, 4
mov al, 1
jmp 0x433313
lea esi, [ebp - 0x10460]
mov byte [ebp - 4], 1
call fcn.00435520
mov eax, dword [ebp - 0x104b4]
cmp eax, ebx
je 0x4332f9
push eax
call fcn.0046ead2
add esp, 4
cmp dword [ebp - 0x430], 0x10
jb 0x433311
mov eax, dword [ebp - 0x444]
push eax
call fcn.0046ead2
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046eadd
mov esp, ebp
pop ebp
ret