Function at 0x416490
Capabilities:
Check if file exists
Enumerate files on windows
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441c82
mov eax, dword fs:[0]
push eax
mov eax, 0x104c0
call fcn.004390f0
mov eax, dword [0x45166c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push pe_nt_image_headers32
lea ecx, [ebp - 0x114]
push ecx
push str.APPDATA
mov dword [ebp - 0x10404], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor ebx, ebx
mov dword [ebp - 0x25c], 0xf
mov dword [ebp - 0x260], ebx
mov byte [ebp - 0x270], bl
lea eax, [ebp - 0x114]
mov dword [ebp - 4], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x416506
sub eax, edx
push eax
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x270]
call fcn.0040a090
push 0x19
push str.Baidu_browserconfig.ini
lea ecx, [ebp - 0x270]
call fcn.0040a090
cmp dword [ebp - 0x25c], 0x10
mov eax, dword [ebp - 0x270]
jae 0x416549
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x41682a
mov edi, 0xf
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x228], ebx
mov byte [ebp - 0x238], bl
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 1
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x416580
sub eax, edx
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x238]
call fcn.0040a090
push 0x17
push str.Baidu_browserUserData
lea ecx, [ebp - 0x238]
call fcn.0040a090
mov eax, dword [ebp - 0x238]
mov esi, 0x10
cmp dword [ebp - 0x224], esi
jae 0x4165c7
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x21c]
push 0x104
push ecx
call fcn.00425c13
add esp, 0xc
push 0x448514
lea edx, [ebp - 0x21c]
push 0x104
push edx
call fcn.00425eb8
add esp, 0xc
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x10400], eax
cmp eax, 0xffffffff
jne 0x416650
cmp dword [ebp - 0x224], esi
jb 0x41662b
mov edx, dword [ebp - 0x238]
push edx
call fcn.00423dcd
add esp, 4
cmp dword [ebp - 0x25c], esi
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x228], ebx
mov byte [ebp - 0x238], bl
jmp 0x416831
test byte [ebp - 0x3b4], 0x10
je 0x4167f6
cmp byte [ebp - 0x388], 0x2e
je 0x4167f6
mov dword [ebp - 0x240], 0xf
mov dword [ebp - 0x244], ebx
mov byte [ebp - 0x254], bl
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x238]
mov edi, 0x10
cmp dword [ebp - 0x224], edi
jae 0x41669d
lea edx, [ebp - 0x238]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4166a2
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x254]
call fcn.0040a090
push 1
push 0x4468f4
lea ecx, [ebp - 0x254]
call fcn.0040a090
lea eax, [ebp - 0x388]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4166d3
sub eax, edx
push eax
lea ecx, [ebp - 0x388]
push ecx
lea ecx, [ebp - 0x254]
call fcn.0040a090
push 0xc
push str.userpref_v2
lea ecx, [ebp - 0x254]
call fcn.0040a090
mov ecx, dword [ebp - 0x254]
cmp dword [ebp - 0x240], edi
jae 0x416715
lea ecx, [ebp - 0x254]
lea edi, [ebp - 0x10414]
call fcn.004175d0
lea edx, [ebp - 0x103c0]
mov eax, edx
neg eax
and eax, 3
lea eax, [ebp + eax - 0x103c0]
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x103fc], ebx
mov dword [ebp - 0x103f8], ebx
mov dword [ebp - 0x103ec], ebx
mov dword [ebp - 0x103e8], ebx
mov dword [ebp - 0x103e4], ebx
mov dword [ebp - 0x103dc], ebx
mov dword [ebp - 0x3c0], ebx
mov dword [ebp - 0x3bc], ebx
mov dword [ebp - 0x103cc], edx
mov dword [ebp - 0x103c8], eax
mov dword [ebp - 0x103c4], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x10414]
push edx
lea edi, [ebp - 0x103fc]
call fcn.004192c0
mov eax, dword [ebp - 0x103e4]
mov dword [ebp - 0x1041c], eax
cmp eax, ebx
jne 0x416862
lea esi, [ebp - 0x103cc]
mov byte [ebp - 4], 3
call fcn.004189d0
mov eax, dword [ebp - 0x10414]
cmp eax, ebx
je 0x4167c8
push eax
call fcn.00423dcd
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x240], 0x10
mov dword [ebp - 0x10414], ebx
mov dword [ebp - 0x10410], ebx
mov dword [ebp - 0x1040c], ebx
jb 0x4167f6
mov eax, dword [ebp - 0x254]
push eax
call fcn.00423dcd
add esp, 4
mov edx, dword [ebp - 0x10400]
lea ecx, [ebp - 0x3b4]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x416650
cmp dword [ebp - 0x224], 0x10
jb 0x41682a
mov edx, dword [ebp - 0x238]
push edx
call fcn.00423dcd
add esp, 4
cmp dword [ebp - 0x25c], 0x10
jb 0x416842
mov eax, dword [ebp - 0x270]
push eax
call fcn.00423dcd
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 - 0x14]
xor ecx, ebp
call fcn.0042396b
mov esp, ebp
pop ebp
ret 4
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10400], esi
cmp esi, ebx
je 0x416a60
jmp 0x416886
mov esi, dword [ebp - 0x10400]
push esi
mov ebx, 0x448538
call fcn.00417810
mov eax, dword [eax + 4]
test eax, eax
jne 0x41689d
mov eax, 0x454444
push str.homePage
push eax
call fcn.00424bbb
add esp, 8
push esi
test eax, eax
jne 0x416995
mov ebx, str.value
call fcn.00417810
test eax, eax
je 0x4168cb
mov edx, eax
mov ecx, esi
call fcn.00417920
mov eax, str.value
inc eax
cmp byte [eax], 0
jne 0x4168d0
sub eax, str.value
lea ebx, [eax + 1]
lea esi, [ebp - 0x103cc]
call fcn.00418a30
mov dword [ebp - 0x10418], eax
test ebx, ebx
je 0x416909
mov ecx, str.value
sub ecx, eax
mov esi, ebx
lea esp, [esp]
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec esi
jne 0x416900
mov edi, dword [ebp - 0x10404]
add edi, 0x1c
cmp dword [edi + 0x14], 0x10
jb 0x41691a
mov edi, dword [edi]
cmp byte [edi], 0
mov eax, edi
je 0x416927
inc eax
cmp byte [eax], 0
jne 0x416921
sub eax, edi
lea ebx, [eax + 1]
lea esi, [ebp - 0x103cc]
call fcn.00418a30
mov esi, eax
test ebx, ebx
je 0x41694e
mov edx, edi
mov ecx, esi
sub edx, esi
mov edi, ebx
mov al, byte [edx + ecx]
mov byte [ecx], al
inc ecx
dec edi
jne 0x416945
mov edi, dword [ebp - 0x10418]
push esi
lea esi, [ebp - 0x103cc]
call fcn.00417a30
mov ecx, dword [ebp - 0x10400]
xor edx, edx
cmp dword [ecx + 0x20], edx
je 0x416984
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x14], esi
mov esi, dword [ecx + 0x24]
mov dword [esi + 0x18], eax
mov dword [ecx + 0x24], eax
mov dword [eax + 0x18], edx
jmp 0x416a3c
mov dword [eax + 0x14], edx
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [eax + 0x18], edx
jmp 0x416a3c
mov ebx, 0x448538
call fcn.00417810
mov eax, dword [eax + 4]
test eax, eax
jne 0x4169ab
mov eax, 0x454444
push str.startMethod
push eax
call fcn.00424bbb
add esp, 8
test eax, eax
jne 0x416a45
push esi
mov ebx, str.value
call fcn.00417810
xor ebx, ebx
cmp eax, ebx
je 0x4169db
mov edx, eax
mov ecx, esi
call fcn.00417920
lea ecx, [ebp - 0x103cc]
push ecx
mov eax, str.value
call fcn.00417af0
mov edi, eax
mov eax, dword [ebp - 0x10404]
add eax, 0x38
cmp dword [eax + 0x14], 0x10
jb 0x4169ff
mov eax, dword [eax]
lea edx, [ebp - 0x103cc]
push edx
call fcn.00417af0
push eax
lea esi, [ebp - 0x103cc]
call fcn.00417a30
mov ecx, dword [ebp - 0x10400]
cmp dword [ecx + 0x20], ebx
je 0x416a30
mov edx, dword [ecx + 0x24]
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x24]
mov dword [edx + 0x18], eax
jmp 0x416a36
mov dword [eax + 0x14], ebx
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [eax + 0x18], ebx
mov esi, dword [ebp - 0x10400]
mov dword [eax + 0x10], ecx
push esi
mov ebx, str.Item
call fcn.00417790
mov dword [ebp - 0x10400], eax
test eax, eax
jne 0x416880
xor ebx, ebx
lea eax, [ebp - 0x103cc]
push eax
mov eax, str.xml_version_1.0__encoding_utf_8_
call fcn.00417af0
push 7
mov edi, eax
lea esi, [ebp - 0x103cc]
call fcn.00417990
mov edx, dword [ebp - 0x1041c]
lea ecx, [ebp - 0x103fc]
call fcn.00417890
cmp dword [ebp - 0x240], 0x10
mov eax, dword [ebp - 0x254]
jae 0x416aa6
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x104cc]
push ecx
call fcn.00417b40
push ebx
push ebx
lea edx, [ebp - 0x103fc]
push edx
lea ecx, [ebp - 0x104cc]
xor eax, eax
push ecx
push eax
lea eax, [ebp - 0x10420]
push eax
mov byte [ebp - 4], 5
call fcn.00419ef0
add esp, 0x18
lea esi, [ebp - 0x104cc]
call fcn.00417d50
lea ecx, [ebp - 0x1046c]
mov byte [ebp - 4], 4
call fcn.00417ca0
lea ecx, [ebp - 0x1046c]
push ecx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004230af
add esp, 4
lea esi, [ebp - 0x103cc]
mov byte [ebp - 4], 3
call fcn.004189d0
mov eax, dword [ebp - 0x10414]
cmp eax, ebx
je 0x416b2e
push eax
call fcn.00423dcd
add esp, 4
mov esi, 0x10
mov dword [ebp - 0x10414], ebx
mov dword [ebp - 0x10410], ebx
mov dword [ebp - 0x1040c], ebx
cmp dword [ebp - 0x240], esi
jb 0x416b5c
mov edx, dword [ebp - 0x254]
push edx
call fcn.00423dcd
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x244], ebx
mov byte [ebp - 0x254], bl
cmp dword [ebp - 0x224], esi
jb 0x416b8a
mov eax, dword [ebp - 0x238]
push eax
call fcn.00423dcd
add esp, 4
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x228], ebx
mov byte [ebp - 0x238], bl
cmp dword [ebp - 0x25c], esi
jb 0x416bb3
mov ecx, dword [ebp - 0x270]
push ecx
call fcn.00423dcd
add esp, 4
mov al, 1
jmp 0x416844