Function at 0x41bf08
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x1c0
mov eax, 0x5728ec
call fcn.00523ccd
push dword [ebp + 0xc]
mov ebx, ecx
push dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x118], edi
call fcn.004068cb
mov dword [ebp - 4], edi
mov dword [ebx + 0x30], vtable.GFE::Backend::PowerStateMonitor::Callback.0
lea eax, [ebx + 0x34]
mov dword [eax], vtable.GFE::Backend::IMonitorGAUChanges.0
mov dword [ebx + 0x38], vtable.GFE::Backend::IMonitorFRLChanges.0
lea esi, [ebx + 0x3c]
mov dword [ebp - 0x120], eax
mov dword [ebx], vtable.updtAppManager.0
mov dword [ebx + 0x30], vtable.updtAppManager.1.0
mov dword [eax], vtable.updtAppManager.2.0
mov dword [ebx + 0x38], vtable.updtAppManager.3.0
call fcn.00491be8
mov byte [ebp - 4], 1
mov dword [ebx + 0x48], edi
call fcn.004a2753
lea ecx, [ebx + 0x44]
mov dword [ecx], eax
mov dword [eax], eax
mov eax, dword [ecx]
mov dword [eax + 4], eax
mov eax, dword [ecx]
mov dword [eax + 8], eax
mov eax, dword [ecx]
mov byte [eax + 0x38], 1
mov eax, dword [ecx]
mov byte [eax + 0x39], 1
lea esi, [ebx + 0x50]
mov byte [ebp - 4], 2
call fcn.00491be8
lea esi, [ebx + 0x54]
mov byte [ebp - 4], 3
call fcn.00426a52
lea esi, [ebx + 0x64]
mov byte [ebp - 4], 4
call fcn.00426a52
mov byte [ebp - 4], 5
lea esi, [ebx + 0x80]
mov dword [ebx + 0x78], edi
mov dword [ebx + 0x7c], edi
call fcn.00491be8
push ecx
mov byte [ebp - 4], 6
mov dword [ebp - 0x10c], esp
lea esi, [ebx + 0x84]
mov dword [ebp - 0x10c], esp
call fcn.00427d49
mov byte [ebp - 4], 7
lea esi, [ebx + 0xa0]
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x9c], edi
call fcn.00491be8
lea edi, [ebx + 0xa8]
mov byte [ebp - 4], 8
push edi
mov byte [ebx + 0xa4], 0
mov dword [ebp - 0x10c], edi
call fcn.0042ca8e
mov byte [ebp - 4], 9
lea esi, [edi + 0xc]
mov dword [edi], vtable.GFE::Applications::SettingChooser.0
call fcn.00491be8
lea eax, [edi + 0x10]
push eax
call fcn.004f1063
xor eax, eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [ebx + 0xf0], eax
mov dword [ebx + 0xf4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov byte [ebp - 4], 0xc
cmp ecx, eax
mov dword [ebx + 0xfc], edx
mov edx, dword [ebp + 0x10]
setne al
movzx eax, al
mov dword [ebx + 0x100], edx
mov edx, dword [ebp + 0x18]
push 0xdb
push eax
mov edi, str.srcAppManager.cpp
mov dword [ebx + 0xf8], ecx
mov dword [ebx + 0x104], esi
mov dword [ebx + 0x108], edx
call fcn.004922e6
cmp dword [ebp + 0xc], 0
push 0xdc
setne al
movzx eax, al
push eax
call fcn.004922e6
cmp dword [ebp + 0x10], 0
push 0xdd
setne al
movzx eax, al
push eax
call fcn.004922e6
test esi, esi
setne al
movzx eax, al
push 0xde
push eax
call fcn.004922e6
push 0x24
call fcn.00515ac7
mov esi, eax
add esp, 0x24
mov dword [ebp - 0x110], esi
mov byte [ebp - 4], 0xd
test esi, esi
je 0x41c13a
push esi
call fcn.0042ca8e
mov byte [ebp - 4], 0xe
mov dword [esi], vtable.GFE::Backend::PowerStateMonitor.0
add esi, 0xc
call fcn.00491be8
mov esi, dword [ebp - 0x110]
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
push eax
mov byte [ebp - 4], 0x10
call fcn.004620b4
jmp 0x41c13c
xor esi, esi
mov byte [ebp - 4], 0xc
mov ecx, dword [ebx + 0xf4]
cmp esi, ecx
je 0x41c15a
test ecx, ecx
je 0x41c154
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + 0xf4], esi
lea ecx, [ebx + 0xa8]
call fcn.0049255d
test al, al
jne 0x41c188
push str.Cannot_start_settings_chooser_thread_
lea esi, [ebp - 0x30]
call fcn.0040338f
push 0xe4
mov ecx, edi
mov eax, esi
mov byte [ebp - 4], 0x11
call fcn.004025fb
push str.updtAppManager::updtAppManager:_Loading_applications_states...
push 4
pop ecx
call fcn.00492b4d
pop ecx
mov ecx, ebx
call fcn.0042527e
lea eax, [ebp - 0x100]
push eax
call fcn.004036c8
mov esi, eax
push str.updtAppManager::updtAppManager:_Application_states_loaded.
push esi
mov byte [ebp - 4], 0x12
call fcn.00405d7d
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403732
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x41c1d7
lea eax, [ebp - 0x30]
push eax
push 4
pop ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xc
call fcn.00402669
lea ebx, [ebp - 0x4c]
call fcn.00420ebc
mov eax, ebx
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x14
call fcn.00494aa3
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x15
call fcn.00494c8e
pop ecx
push 1
lea esi, [ebp - 0x30]
mov bl, al
mov byte [ebp - 4], 0x14
call fcn.00404145
test bl, bl
je 0x41c53a
push str.Migrating_pre_BOPS_history...
push 3
pop ecx
call fcn.00492b4d
and dword [ebp - 0x104], edi
push 0x3c
mov byte [ebp - 4], 0x16
call fcn.00515ac7
pop ecx
pop ecx
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x41c275
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.0045132b
jmp 0x41c277
xor eax, eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x41c285
mov dword [ebp - 0x104], eax
mov ebx, dword [ebp - 0x108]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx]
mov dword [ebp - 0x114], eax
cmp eax, ecx
je 0x41c4ee
mov ecx, dword [ebp - 0x104]
add ecx, 0x1c
mov dword [ebp - 0x110], ecx
jmp 0x41c2b5
mov eax, dword [ebp - 0x114]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x104]
mov esi, dword [eax + 0x20]
mov ecx, dword [ebp - 0x110]
lea ebx, [ebp - 0x124]
lea eax, [ebp - 0x134]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x124], edi
call fcn.00452cfb
cmp dword [eax], esi
je 0x41c4c8
mov ecx, dword [ebp - 0x104]
push edi
lea edi, [ebp - 0xb4]
call fcn.00451522
push 0x4c
mov byte [ebp - 4], 0x18
call fcn.00515ac7
pop ecx
test eax, eax
je 0x41c319
mov edx, eax
call fcn.004146f2
mov esi, eax
jmp 0x41c31b
xor esi, esi
mov edi, dword [ebp - 0x114]
cmp esi, dword [edi + 0x14]
je 0x41c331
lea eax, [edi + 0x14]
call fcn.00413ed8
mov dword [edi + 0x14], esi
mov eax, dword [edi + 0x14]
add eax, 0x28
push eax
lea ecx, [ebp - 0xb4]
call fcn.004db65a
mov esi, dword [edi + 0x14]
lea eax, [ebp - 0x90]
call fcn.00414712
mov edi, dword [edi + 0x14]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x108]
add ecx, 0x10
push ebx
mov dword [edi + 0x24], eax
call fcn.0041cd54
test al, al
jne 0x41c3dd
lea eax, [ebp - 0x1cc]
push eax
call fcn.004036c8
mov esi, eax
push str.Cannot_save_application_state_in_PS
push esi
mov byte [ebp - 4], 0x19
call fcn.00405d7d
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403732
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x41c3b3
lea eax, [ebp - 0x30]
xor ecx, ecx
push eax
inc ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0x18
call fcn.00402669
jmp 0x41c4b9
push ebx
push dword [ebp - 0x108]
lea ecx, [ebp - 0x68]
call fcn.0040b3ad
mov edi, eax
lea eax, [ebp - 0x1cc]
push eax
mov byte [ebp - 4], 0x1b
call fcn.004036c8
mov esi, eax
push str.Migrated_history_for
push esi
mov byte [ebp - 4], 0x1c
call fcn.00405d7d
push esi
mov ecx, edi
call fcn.0041193b
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403732
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x41c435
lea eax, [ebp - 0x30]
push eax
push 3
pop ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0x1b
call fcn.00402669
push 1
lea esi, [ebp - 0x68]
mov byte [ebp - 4], 0x18
call fcn.00404145
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], ebx
lea ebx, [ebp - 0x10c]
lea eax, [ebp - 0x11c]
call fcn.00452cfb
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x20]
cmp dword [ebp - 0x11c], eax
je 0x41c4b9
push dword [ebp - 0x11c]
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x110]
call fcn.00452a79
push dword [ebp - 0x104]
call fcn.004518c8
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0x16
call fcn.0041c78b
lea eax, [ebp - 0x114]
call fcn.004a2813
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x44]
cmp dword [ebp - 0x114], eax
jne 0x41c2af
mov ebx, dword [ebp - 0x108]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00494aa3
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x1e
call fcn.0049509e
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x104], edi
je 0x41c540
push dword [ebp - 0x104]
call fcn.00451498
push dword [ebp - 0x104]
call fcn.00515a19
pop ecx
jmp 0x41c540
mov ebx, dword [ebp - 0x108]
push 0x40
call fcn.00515ac7
pop ecx
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x41c582
lea ebx, [ebp - 0x68]
call fcn.00420efe
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x10c]
push eax
mov dword [ebp - 0x118], 1
call fcn.0046229a
mov ebx, dword [ebp - 0x108]
mov edi, eax
jmp 0x41c584
xor edi, edi
mov dword [ebp - 4], 0x21
mov esi, dword [ebx + 0xf0]
cmp edi, esi
je 0x41c5ac
test esi, esi
je 0x41c5a6
push esi
call fcn.004623ec
push esi
call fcn.00515a19
pop ecx
mov dword [ebx + 0xf0], edi
mov dword [ebp - 4], 0x14
test byte [ebp - 0x118], 1
je 0x41c5c8
push 1
xor edi, edi
lea esi, [ebp - 0x68]
call fcn.00404145
push str.Settings_loaded.
push 3
pop ecx
call fcn.00492b4d
pop ecx
push dword [ebp - 0x120]
mov ecx, dword [ebx + 0x104]
call fcn.0043f1a5
cmp dword [ebx + 0x108], 0
je 0x41c6ba
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x22
call fcn.0043d757
mov al, byte [eax]
mov byte [ebx + 0xa4], al
mov dword [ebp - 4], 0x14
jmp 0x41c6ab
mov ecx, dword [ebx + 0x108]
lea eax, [ebx + 0x38]
push eax
call fcn.0043dd00
mov ecx, ebx
call fcn.0042501e
mov esi, dword [ebx + 0xf4]
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [esi + 0xc]
mov edi, dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea esi, [ebx + 0x30]
push edi
mov ecx, esi
call fcn.00423c18
mov ecx, dword [ebx + 0xf4]
push esi
call fcn.00461f37
mov ecx, dword [ebx + 0xf4]
call fcn.0049255d
test al, al
jne 0x41c710
xor ecx, ecx
push str.Cannot_start_PowerStateMonitor.
inc ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x4c]
call fcn.00404145
mov eax, ebx
call fcn.00523d29
ret 0x14