Function at 0x4212e7
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34c
mov eax, dword [0x4d5630]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x28c], ebx
mov dword [ebp - 0x288], edi
cmp byte [edi + 0x1a5], bl
je 0x42145c
call fcn.00421ac6
cmp eax, 1
jl 0x42134b
push 0xffffffffffffffff
push 0xdc
push str.c:_buildbot_slaveworkdir_reposlar6desktop_2013_3desktoplauncherinstaller_status.cc
lea ecx, [ebp - 0x348]
inc ebx
call fcn.00438400
add eax, 8
push str.Testing_shortcuts
push eax
call fcn.00404c5e
pop ecx
pop ecx
test bl, 1
je 0x42135e
lea ecx, [ebp - 0x348]
and ebx, 0xfffffffe
call fcn.00438510
push str.launcher.exe
lea ecx, [ebp - 0x260]
call fcn.0040409d
push 1
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x230]
lea esi, [edi + 0x174]
push eax
mov ecx, esi
call fcn.0043c3e0
push eax
mov ecx, edi
call fcn.0042114f
lea ecx, [ebp - 0x230]
call fcn.0043c140
push 0
push 1
lea ecx, [ebp - 0x260]
call fcn.00404402
push str.opera.exe
lea ecx, [ebp - 0x260]
call fcn.0040409d
push 0
lea eax, [ebp - 0x260]
mov ecx, esi
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0043c3e0
push eax
mov ecx, edi
call fcn.0042114f
lea ecx, [ebp - 0x230]
call fcn.0043c140
push 0
push 1
lea ecx, [ebp - 0x260]
call fcn.00404402
push str.opera.exe
lea ecx, [ebp - 0x260]
call fcn.0040409d
push 0
lea eax, [ebp - 0x260]
mov ecx, esi
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [edi + 0x34]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0043c3c0
mov ecx, eax
call fcn.0043c3e0
push eax
mov ecx, edi
call fcn.0042114f
lea ecx, [ebp - 0x230]
call fcn.0043c140
lea ecx, [ebp - 0x278]
call fcn.0043c140
push 0
push 1
lea ecx, [ebp - 0x260]
call fcn.00404402
cmp byte [edi + 0x1a4], 0
je 0x421497
lea eax, [edi + 0x174]
lea esi, [edi + 0x18c]
push eax
mov ecx, esi
call fcn.0043c200
xor edx, edx
mov ecx, esi
inc edx
test al, al
je 0x421489
push 0x1201bf
jmp 0x42148b
push 4
call fcn.0042d33f
mov byte [edi + 0xe0], al
pop ecx
xor al, al
mov byte [ebp - 0x27a], al
cmp byte [edi + 0x1a5], al
je 0x4218d9
call fcn.00432834
lea esi, [edi + 0x174]
mov dword [ebp - 0x280], eax
push esi
mov ecx, eax
call fcn.004091fb
sub esp, 0x18
mov ecx, esp
push str.http
call fcn.0040409d
movzx eax, byte [edi + 0x1a6]
mov ecx, dword [ebp - 0x280]
push eax
call fcn.00432e58
push str.installer_prefs.json
lea ecx, [ebp - 0x278]
mov byte [edi + 0x100], al
call fcn.0040409d
lea eax, [ebp - 0x278]
mov ecx, esi
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0043c3e0
push 0
push 1
lea ecx, [ebp - 0x278]
call fcn.00404402
cmp byte [edi + 0x1a6], 0
jne 0x4218c8
lea eax, [ebp - 0x260]
push eax
call fcn.0043efa0
pop ecx
test al, al
je 0x4218c8
sub esp, 0x18
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
call fcn.0043c0a0
call fcn.004325d7
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x294], esi
test esi, esi
je 0x42156a
inc dword [esi + 4]
lea eax, [edi + 0x13c]
mov byte [ebp - 0x27a], 1
mov dword [ebp - 0x244], eax
lea eax, [edi + 0x104]
mov dword [ebp - 0x23c], eax
lea eax, [edi + 0x108]
mov dword [ebp - 0x248], str.single_profile
lea edi, [ebp - 0x248]
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 - 0x279], 0
call fcn.00404000
mov eax, dword [esi]
lea ecx, [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x230]
or ebx, 2
push ecx
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x421606
mov ecx, dword [ebp - 0x284]
lea edx, [ebp - 0x279]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x27b], 0
test al, al
jne 0x42160d
mov byte [ebp - 0x27b], 1
test bl, 2
je 0x421624
push 0
push 1
lea ecx, [ebp - 0x230]
and ebx, 0xfffffffd
call fcn.00404346
cmp byte [ebp - 0x27b], 0
mov eax, dword [edi + 4]
je 0x421635
or dword [eax], 0xffffffff
jmp 0x421642
xor ecx, ecx
cmp byte [ebp - 0x279], cl
setne cl
mov dword [eax], ecx
add edi, 8
lea eax, [ebp - 0x230]
cmp edi, eax
jne 0x4215b9
mov dword [ebp - 0x28c], ebx
lea ecx, [ebp - 0x230]
push str.language
mov dword [ebp - 0x28c], ebx
call fcn.00404000
mov eax, dword [esi]
lea ecx, [ebp - 0x284]
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.00404346
mov edi, dword [ebp - 0x288]
test bl, bl
je 0x4216b1
mov ecx, dword [ebp - 0x284]
lea eax, [edi + 0x10c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x14]
push str.welcome_url
lea ecx, [ebp - 0x230]
call fcn.00404000
mov eax, dword [esi]
lea ecx, [ebp - 0x284]
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.00404346
test bl, bl
je 0x4216fd
mov ecx, dword [ebp - 0x284]
lea eax, [edi + 0x124]
push eax
mov edx, dword [ecx]
call dword [edx + 0x18]
lea ecx, [ebp - 0x278]
call fcn.0043c120
push ecx
mov ecx, dword [ebp - 0x280]
lea esi, [edi + 0x144]
push esi
call fcn.004339fc
test al, al
je 0x42176a
push str.Local_State
lea ecx, [ebp - 0x230]
call fcn.0040409d
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.0043c3e0
push eax
lea ecx, [ebp - 0x278]
call fcn.0043c1e0
lea ecx, [ebp - 0x248]
call fcn.0043c140
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00404402
cmp dword [ebp - 0x268], 0
je 0x4218b2
sub esp, 0x18
lea eax, [ebp - 0x278]
mov ecx, esp
push eax
call fcn.0043c0a0
call fcn.004325d7
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x288], esi
test esi, esi
je 0x4218a7
inc dword [esi + 4]
lea ecx, [ebp - 0x230]
and dword [ebp - 0x238], 0
and dword [ebp - 0x280], 0
push str.intl.app_locale
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.00404000
mov eax, dword [esi]
lea ecx, [ebp - 0x280]
mov ebx, dword [ebp - 0x28c]
push ecx
lea ecx, [ebp - 0x230]
or ebx, 4
push ecx
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x421811
mov ecx, dword [ebp - 0x280]
lea edx, [ebp - 0x248]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 0x279], 1
test al, al
jne 0x421818
mov byte [ebp - 0x279], 0
test bl, 4
je 0x42182c
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00404346
cmp byte [ebp - 0x279], 0
je 0x421898
cmp dword [ebp - 0x234], 0x10
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x290], eax
test eax, eax
jne 0x42185b
and dword [ebp - 0x28c], eax
jmp 0x421868
push eax
call fcn.0040393c
pop ecx
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0043f560
pop ecx
pop ecx
push eax
lea ecx, [edi + 0x10c]
call fcn.004067c0
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.00404402
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.00404346
lea ecx, [ebp - 0x288]
call fcn.00412d26
lea ecx, [ebp - 0x278]
call fcn.0043c140
lea ecx, [ebp - 0x294]
call fcn.00412d26
lea ecx, [ebp - 0x260]
call fcn.0043c140
mov al, byte [ebp - 0x27a]
cmp byte [edi + 0x1a6], 0
jne 0x4218ea
test al, al
jne 0x421a7e
push 0x4cf064
lea ecx, [ebp - 0x230]
call fcn.0040409d
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [edi + 0x174]
call fcn.0043c3e0
xor ebx, ebx
lea ecx, [ebp - 0x230]
push ebx
push 1
call fcn.00404402
lea eax, [ebp - 0x248]
push eax
call fcn.0043efa0
pop ecx
test al, al
je 0x421a73
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
mov esi, dword [sym.imp.KERNEL32.DLL_GetPrivateProfileIntW]
cmovae eax, dword [ebp - 0x248]
push eax
push ebx
push str.Opera_Product
push str.System
call esi
dec eax
je 0x42197a
dec eax
je 0x42196e
mov dword [edi + 0x140], ebx
jmp 0x421984
mov dword [edi + 0x140], 2
jmp 0x421984
mov dword [edi + 0x140], 1
mov al, byte [ebp - 0x27a]
test al, al
jne 0x421a73
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 0x4219c4
or dword [edi + 0x13c], eax
jmp 0x4219d1
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 0x421a73
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040409d
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x260]
call fcn.0043c0d0
push ebx
push 1
lea ecx, [ebp - 0x230]
call fcn.00404402
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x260]
call fcn.0043c920
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x10c]
call fcn.00404911
lea ecx, [ebp - 0x230]
call fcn.0043c140
lea ecx, [ebp - 0x260]
call fcn.0043c140
lea ecx, [ebp - 0x248]
call fcn.0043c140
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486d53
mov esp, ebp
pop ebp
ret