Function at 0x423e22
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x4e26d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x3b8], ebx
mov dword [ebp - 0x3b0], edi
cmp byte [edi + 0x1cd], bl
je 0x423f74
lea ecx, [ebp - 0x260]
call fcn.00433a1d
call fcn.004246b4
cmp eax, 1
jl 0x423e91
push 0xffffffffffffffff
push 0xdf
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstaller_status.cc
lea ecx, [ebp - 0x478]
inc ebx
call fcn.0043c8d0
add eax, 8
push str.Testing_shortcuts
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 1
je 0x423ea4
lea ecx, [ebp - 0x478]
and ebx, 0xfffffffe
call fcn.0043c9e0
push 1
push ecx
push ecx
mov esi, esp
mov eax, str.launcher.exe
push eax
mov dword [esi], eax
call fcn.00404dc1
mov dword [esi + 4], eax
lea esi, [edi + 0x19c]
pop ecx
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
call fcn.004401d0
push eax
mov ecx, edi
call fcn.00423c8a
lea ecx, [ebp - 0x230]
call fcn.0043ff00
push 0
push ecx
push ecx
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
call fcn.00405def
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
call fcn.00440430
push eax
mov ecx, edi
call fcn.00423c8a
lea ecx, [ebp - 0x230]
call fcn.0043ff00
push 0
push ecx
push ecx
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
call fcn.00405def
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
lea eax, [edi + 0x34]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.004401a0
mov ecx, eax
call fcn.00440430
push eax
mov ecx, edi
call fcn.00423c8a
lea ecx, [ebp - 0x230]
call fcn.0043ff00
lea ecx, [ebp - 0x278]
call fcn.0043ff00
push 0
push 1
lea ecx, [ebp - 0x260]
call fcn.00404a6d
cmp byte [edi + 0x1cc], 0
je 0x423faf
lea eax, [edi + 0x19c]
lea esi, [edi + 0x1b4]
push eax
mov ecx, esi
call fcn.0043ffc0
xor edx, edx
mov ecx, esi
inc edx
test al, al
je 0x423fa1
push 0x1201bf
jmp 0x423fa3
push 4
call fcn.00432b90
mov byte [edi + 0xe0], al
pop ecx
xor al, al
mov byte [ebp - 0x3aa], al
cmp byte [edi + 0x1cd], al
je 0x4244dd
add edi, 0x19c
lea ecx, [ebp - 0x3a8]
push edi
call fcn.00409e81
sub esp, 0x18
mov ecx, esp
push str.http
call fcn.004053f4
mov esi, dword [ebp - 0x3b0]
lea ecx, [ebp - 0x3a8]
movzx eax, byte [esi + 0x1ce]
push eax
call fcn.00430b09
push ecx
mov byte [esi + 0x100], al
mov eax, str.installer_prefs.json
push ecx
mov esi, esp
push eax
mov dword [esi], eax
call fcn.00404dc1
pop ecx
mov dword [esi + 4], eax
mov ecx, edi
lea eax, [ebp - 0x278]
push eax
call fcn.004401d0
mov edi, dword [ebp - 0x3b0]
cmp byte [edi + 0x1ce], 0
jne 0x4244b7
lea eax, [ebp - 0x278]
push eax
call fcn.00443160
pop ecx
test al, al
je 0x4244b7
sub esp, 0x18
lea eax, [ebp - 0x278]
mov ecx, esp
push eax
call fcn.0043fe50
call fcn.00437c32
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x3bc], esi
test esi, esi
je 0x424076
inc dword [esi + 4]
and dword [ebp - 0x3b4], 0
lea eax, [edi + 0x13c]
mov dword [ebp - 0x244], eax
lea eax, [edi + 0x104]
mov dword [ebp - 0x23c], eax
lea eax, [edi + 0x108]
mov byte [ebp - 0x3aa], 1
lea edi, [ebp - 0x248]
mov dword [ebp - 0x248], str.single_profile
mov dword [ebp - 0x240], str.import_browser_data
mov dword [ebp - 0x238], str.enable_stats
mov dword [ebp - 0x234], eax
push dword [edi]
lea ecx, [ebp - 0x230]
mov byte [ebp - 0x3a9], 0
call fcn.004049a0
mov eax, dword [esi]
lea ecx, [ebp - 0x3b4]
push ecx
lea ecx, [ebp - 0x230]
or ebx, 2
push ecx
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x424119
mov ecx, dword [ebp - 0x3b4]
lea edx, [ebp - 0x3a9]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x3ab], 0
test al, al
jne 0x424120
mov byte [ebp - 0x3ab], 1
test bl, 2
je 0x424137
push 0
push 1
lea ecx, [ebp - 0x230]
and ebx, 0xfffffffd
call fcn.00404a6d
cmp byte [ebp - 0x3ab], 0
mov eax, dword [edi + 4]
je 0x424148
or dword [eax], 0xffffffff
jmp 0x424155
xor ecx, ecx
cmp byte [ebp - 0x3a9], cl
setne cl
mov dword [eax], ecx
add edi, 8
lea eax, [ebp - 0x230]
cmp edi, eax
jne 0x4240cc
mov dword [ebp - 0x3b8], ebx
lea ecx, [ebp - 0x230]
push str.language
mov dword [ebp - 0x3b8], ebx
call fcn.004049a0
mov eax, dword [esi]
lea ecx, [ebp - 0x3b4]
push ecx
lea ecx, [ebp - 0x230]
push ecx
mov ecx, esi
call dword [eax + 0x10]
push 0
push 1
lea ecx, [ebp - 0x230]
mov bl, al
call fcn.00404a6d
mov edi, dword [ebp - 0x3b0]
test bl, bl
je 0x4241c4
mov ecx, dword [ebp - 0x3b4]
lea eax, [edi + 0x10c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x14]
push str.welcome_url
lea ecx, [ebp - 0x230]
call fcn.004049a0
mov eax, dword [esi]
lea ecx, [ebp - 0x3b4]
push ecx
lea ecx, [ebp - 0x230]
push ecx
mov ecx, esi
call dword [eax + 0x10]
push 0
push 1
lea ecx, [ebp - 0x230]
mov bl, al
call fcn.00404a6d
test bl, bl
je 0x424210
mov ecx, dword [ebp - 0x3b4]
lea eax, [edi + 0x124]
push eax
mov edx, dword [ecx]
call dword [edx + 0x18]
push str.all_installer_experiments
lea ecx, [ebp - 0x230]
call fcn.004049a0
mov eax, dword [esi]
lea ecx, [ebp - 0x3b4]
push ecx
lea ecx, [ebp - 0x230]
push ecx
mov ecx, esi
call dword [eax + 0x10]
push 0
push 1
lea ecx, [ebp - 0x230]
mov bl, al
call fcn.00404a6d
test bl, bl
je 0x424298
mov ecx, dword [ebp - 0x3b4]
lea edx, [ebp - 0x3b0]
and dword [ebp - 0x3b0], 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x20]
test al, al
je 0x424298
lea esi, [edi + 0x174]
push esi
call fcn.004901a0
pop ecx
push dword [ebp - 0x3b0]
lea ecx, [ebp - 0x3c4]
call fcn.0044add0
push eax
mov ecx, esi
call fcn.0044f280
lea ecx, [ebp - 0x3c4]
call fcn.0044adf0
push ecx
push ecx
mov esi, esp
mov eax, str.installer_experiment_test
push eax
mov dword [esi], eax
call fcn.00404840
pop ecx
lea ecx, [edi + 0x174]
mov dword [esi + 4], eax
call fcn.0044f1e0
test al, al
je 0x42430a
call fcn.0043d250
mov ebx, dword [ebp - 0x3b8]
test eax, eax
jg 0x4242f5
push 0
push 0x120
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_1desktoplauncherinstaller_status.cc
lea ecx, [ebp - 0x478]
or ebx, 4
call fcn.0043c8d0
add eax, 8
push str.Test_experiment_was_enabled_in_install_folder.
push eax
call fcn.00405c42
pop ecx
pop ecx
test bl, 4
je 0x424310
lea ecx, [ebp - 0x478]
and ebx, 0xfffffffb
call fcn.0043c9e0
jmp 0x424310
mov ebx, dword [ebp - 0x3b8]
lea ecx, [ebp - 0x260]
call fcn.0043fee0
lea eax, [edi + 0x144]
push 0
push eax
lea ecx, [ebp - 0x3a8]
call fcn.00431998
test al, al
je 0x424371
push ecx
push ecx
mov esi, esp
mov eax, str.Local_State
push eax
mov dword [esi], eax
call fcn.00404dc1
pop ecx
mov dword [esi + 4], eax
lea ecx, [edi + 0x144]
lea eax, [ebp - 0x230]
push eax
call fcn.004401d0
push eax
lea ecx, [ebp - 0x260]
call fcn.0043ffa0
lea ecx, [ebp - 0x230]
call fcn.0043ff00
cmp dword [ebp - 0x250], 0
je 0x4244a1
sub esp, 0x18
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
call fcn.0043fe50
call fcn.00437c32
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x3b8], esi
test esi, esi
je 0x424496
inc dword [esi + 4]
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x234], 0xf
push str.intl.app_locale
mov dword [ebp - 0x238], eax
mov byte [ebp - 0x248], al
mov dword [ebp - 0x3b0], eax
call fcn.004049a0
mov eax, dword [esi]
lea ecx, [ebp - 0x3b0]
push ecx
lea ecx, [ebp - 0x230]
or ebx, 8
push ecx
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x424411
mov ecx, dword [ebp - 0x3b0]
lea edx, [ebp - 0x248]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 0x3a9], 1
test al, al
jne 0x424418
mov byte [ebp - 0x3a9], 0
test bl, 8
je 0x42442c
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00404a6d
cmp byte [ebp - 0x3a9], 0
je 0x424487
cmp dword [ebp - 0x234], 0x10
lea eax, [ebp - 0x248]
push ecx
cmovae eax, dword [ebp - 0x248]
push ecx
mov esi, esp
mov dword [esi], eax
test eax, eax
je 0x42445a
push eax
call fcn.00404840
pop ecx
mov dword [esi + 4], eax
lea eax, [ebp - 0x230]
push eax
call fcn.0044b290
add esp, 0xc
lea ecx, [edi + 0x10c]
push eax
call fcn.00407775
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00405676
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00404a6d
lea ecx, [ebp - 0x3b8]
call fcn.004145f8
lea ecx, [ebp - 0x260]
call fcn.0043ff00
lea ecx, [ebp - 0x3bc]
call fcn.004145f8
lea ecx, [ebp - 0x278]
call fcn.0043ff00
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x3a8], 0x4d4704
call fcn.00430531
mov al, byte [ebp - 0x3aa]
cmp byte [edi + 0x1ce], 0
jne 0x4244ee
test al, al
jne 0x424661
push ecx
push ecx
mov esi, esp
mov eax, 0x4dc474
push eax
mov dword [esi], eax
call fcn.00404dc1
pop ecx
mov dword [esi + 4], eax
lea ecx, [edi + 0x19c]
lea eax, [ebp - 0x248]
push eax
call fcn.004401d0
lea eax, [ebp - 0x248]
push eax
call fcn.00443160
pop ecx
test al, al
je 0x424656
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmovae eax, dword [ebp - 0x248]
xor ebx, ebx
push eax
push ebx
push str.Opera_Product
push str.System
call esi
dec eax
je 0x42456e
dec eax
je 0x424562
mov dword [edi + 0x140], ebx
jmp 0x424578
mov dword [edi + 0x140], 2
jmp 0x424578
mov dword [edi + 0x140], 1
mov al, byte [ebp - 0x3aa]
test al, al
jne 0x424656
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
push 0xffffffffffffffff
push str.Multi_User
push str.System
call esi
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x4245b8
or dword [edi + 0x13c], eax
jmp 0x4245c5
xor eax, eax
test ecx, ecx
sete al
mov dword [edi + 0x13c], eax
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
push 0x105
lea eax, [ebp - 0x218]
push eax
push ebx
push str.Language_Files_Directory
push str.User_Prefs
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, 0x104
je 0x424656
push ecx
push ecx
mov esi, esp
lea eax, [ebp - 0x218]
push eax
mov dword [esi], eax
call fcn.00404dc1
pop ecx
lea ecx, [ebp - 0x230]
mov dword [esi + 4], eax
call fcn.0043fe80
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x230]
call fcn.00440760
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x10c]
call fcn.004058f5
lea ecx, [ebp - 0x278]
call fcn.0043ff00
lea ecx, [ebp - 0x230]
call fcn.0043ff00
lea ecx, [ebp - 0x248]
call fcn.0043ff00
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049653f
mov esp, ebp
pop ebp
ret