Function at 0x45a040
Capabilities:
Check if file exists
Get file attributes
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x509786
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4bc
push ebx
mov ebx, dword [0x657be0]
push edi
mov edi, ecx
mov dword [ebp - 0x54], ebx
mov eax, dword [edi]
call dword [eax + 0x50]
test eax, eax
jne 0x45a084
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push esi
lea esi, [edi + 0x848]
push 0
mov ecx, esi
call fcn.004520a0
test eax, eax
jne 0x45a09f
push str.Couldnt_initialize_popup_menu__n
jmp 0x45a0d0
lea ecx, [edi + 0xc40]
push 0
call fcn.004520a0
test eax, eax
jne 0x45a0b7
push str.Couldnt_initialize_PTP_popup_menu__n
jmp 0x45a0d0
lea ecx, [edi + 0x880]
push 0xdf2a
call fcn.004520a0
test eax, eax
jne 0x45a0f2
push str.Couldnt_initialize_Accessories_popup_menu__n
push 0
push str.CTPTrayAction::Refresh
call fcn.004cb3a0
add esp, 0xc
xor eax, eax
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x658538]
cmp eax, 0x237c
je 0x45ade2
cmp eax, 0x237d
je 0x45ade2
mov ecx, 0x658670
call fcn.0040cac0
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c0], cx
add eax, 0x34
push 0x10000603
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x20], eax
push ecx
mov ecx, eax
call fcn.00422080
mov eax, dword [eax]
mov dword [ebp - 4], 0
test eax, eax
je 0x45a14a
mov eax, dword [eax]
jmp 0x45a14c
xor eax, eax
push eax
lea ecx, [ebp - 0xb8]
call fcn.00416ac0
lea ecx, [ebp - 0x58]
call fcn.00433490
lea ecx, [ebp - 0x50]
call fcn.00402b50
mov dword [ebp - 0x50], vtable.CMultiLevelRegistryKey.0
push 0
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 3
push str.SoftwareSynapticsSynTPEnhPopupConfig
call fcn.004097a0
push 0
push 1
push 0
lea eax, [ebp - 0x2c0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x50]
call fcn.004bd990
lea ecx, [ebp - 0x50]
call fcn.004bc380
test eax, eax
jne 0x45a1fe
push eax
push eax
push str.SoftwareSynapticsSynTPEnhPopupConfig
lea ecx, [ebp - 0x2c0]
call fcn.004097a0
push 0
push 1
push 0
lea eax, [ebp - 0x2c0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x50]
call fcn.004bd990
test eax, eax
jne 0x45a1fe
test byte [0x652fc0], 1
je 0x45a1fe
push str.Couldnt_find_popup_configuration_key___n
push 1
push str.CTPTrayAction::Refresh
call fcn.004cb3a0
add esp, 0xc
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowTouchPadProperties
lea ecx, [ebp - 0x50]
call fcn.004baa70
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a2e2
cmp dword [ebp - 0x14], 0
je 0x45a2e2
mov ecx, eax
call fcn.00405ad0
test eax, eax
je 0x45a245
mov dword [ebp - 0x10], 0x52e
jmp 0x45a25f
mov ecx, dword [ebp - 0x1c]
call fcn.0040d800
mov dword [ebp - 0x10], 0x532
test eax, eax
jne 0x45a25f
mov dword [ebp - 0x10], 0x508
push 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
push str.TouchPadProperties_ResourceID
lea ecx, [ebp - 0x50]
call fcn.004baa70
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
dec eax
je 0x45a2a0
dec eax
je 0x45a28f
dec eax
je 0x45a2aa
mov eax, 0xdf27
jmp 0x45a2af
mov dword [edi + 0x818], 0xdf27
mov eax, 0xdf27
jmp 0x45a2af
mov dword [edi + 0x818], 0xdf24
mov eax, 0xdf24
push eax
push 0
push ecx
push ebx
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.00451a70
test eax, eax
je 0x45a4f8
push dword [ebp - 0x10]
lea ecx, [edi + 0xc40]
push 0
push dword [ebp - 0x18]
push ebx
call fcn.00451a70
test eax, eax
je 0x45a4f8
mov eax, dword [edi + 0xcac]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0
push eax
lea eax, [ebp - 0x18]
push eax
push str.ShowForcePadVolume
call fcn.004baa70
xor eax, eax
cmp dword [ebp - 0x18], eax
setne al
mov dword [edi + 0xcac], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a367
mov ecx, eax
call fcn.00405ad0
test eax, eax
je 0x45a367
cmp dword [edi + 0xcac], 0
je 0x45a367
push 0xdf26
push 0
push 0x52f
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf26
push 0
push 0x52f
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45a4f8
mov eax, dword [edi + 0xcb0]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0
push eax
lea eax, [ebp - 0x18]
push eax
push str.ShowForcePadVolume
call fcn.004baa70
xor eax, eax
cmp dword [ebp - 0x18], eax
setne al
mov dword [edi + 0xcb0], eax
test eax, eax
je 0x45a409
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x4c8], ax
lea eax, [ebp - 0x4c6]
push eax
call fcn.004cf600
add esp, 0xc
lea eax, [ebp - 0x4c8]
push 0x104
push eax
push str.ProgramFiles
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push str.SynapticsSynTP_synfpapp.exe
lea eax, [ebp - 0x4c8]
push eax
lea esi, [edi + 0xcb4]
push str._s_s
push esi
call fcn.004d1675
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
lea esi, [edi + 0x848]
cmp eax, 0xffffffff
setne cl
mov dword [edi + 0xcb0], ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a460
mov ecx, eax
call fcn.00405ad0
test eax, eax
je 0x45a460
cmp dword [edi + 0xcb0], 0
je 0x45a460
push 0xdf28
push 0
push 0x531
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf28
push 0
push 0x531
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 2
push eax
lea eax, [ebp - 0x18]
push eax
push str.DeviceProperties_ResourceID
lea ecx, [ebp - 0x50]
call fcn.004baa70
mov ecx, 0x658670
call fcn.00421010
test eax, eax
jne 0x45a52b
mov eax, dword [edi + 0x9cc]
test eax, eax
je 0x45a52b
cmp dword [ebp - 0x14], 0
jne 0x45a52b
dec eax
je 0x45a4bc
sub eax, 2
je 0x45a4bc
mov dword [edi + 0x818], 0xdf27
jmp 0x45a4c6
mov dword [edi + 0x818], 0xdf24
push dword [edi + 0x818]
mov ecx, esi
push 0
push dword [ebp - 0x18]
push ebx
call fcn.00451a70
test eax, eax
je 0x45a4f8
push dword [edi + 0x818]
lea ecx, [edi + 0xc40]
push 0
push dword [ebp - 0x18]
push ebx
call fcn.00451a70
test eax, eax
jne 0x45a561
xor esi, esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
mov dword [ebp - 0x50], vtable.CMultiLevelRegistryKey.0
call fcn.00402cb0
lea ecx, [ebp - 0xb8]
call fcn.0041d740
mov eax, esi
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0xdf00
push 0x51a7c8
push dword [ebp - 0x18]
mov ecx, esi
push ebx
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf00
push 0x51a7c8
push dword [ebp - 0x18]
lea ecx, [edi + 0xc40]
push ebx
call fcn.00451a70
test eax, eax
je 0x45a4f8
push dword [edi + 0x818]
mov ecx, esi
call fcn.00451ee0
push dword [edi + 0x818]
lea ecx, [edi + 0xc40]
call fcn.00451ee0
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowIlluminationOptions
lea ecx, [ebp - 0x50]
call fcn.004baa70
cmp dword [ebp - 0x14], 0
je 0x45a654
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a654
mov ecx, eax
call fcn.004277b0
test eax, eax
je 0x45a654
mov ecx, dword [ebp - 0x1c]
call fcn.0040d800
test eax, eax
jne 0x45a654
mov ecx, dword [ebp - 0x1c]
call fcn.00427400
test eax, eax
jne 0x45a654
push 0xdf1e
push eax
push 0x9e
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf1f
push 0
push 0x9f
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf1e
push 0
push 0x9e
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf1f
push 0
push 0x9f
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowAsusSmartDetectorDialog
lea ecx, [ebp - 0x50]
call fcn.004baa70
cmp dword [ebp - 0x14], 0
je 0x45a694
push 0xdf25
push 0
push 0x526
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
cmp dword [edi + 0xc90], 0
je 0x45a6d9
push 0xdf04
push 0
push 0x9b
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0xdf04
push 0
push 0x9b
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45a4f8
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push eax
lea eax, [ebp - 0x14]
push eax
push str.NameResourceId
lea ecx, [ebp - 0x50]
call fcn.004baa70
push 0
lea ecx, [ebp - 0x74]
call fcn.004b90e0
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPEnhPopupConfig
push SysReAllocString
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.004bcca0
test eax, eax
jne 0x45a759
push eax
push eax
push eax
push str.SoftwareSynapticsSynTPEnhPopupConfig
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x74]
call fcn.004bcca0
test eax, eax
jne 0x45a759
test byte [0x652fc0], 1
je 0x45a771
push str.Couldnt_find_popup_configuration_key___n
push 1
push str.CTPTrayAction::Refresh
call fcn.004cb3a0
add esp, 0xc
jmp 0x45a771
push dword [ebp - 0x14]
lea eax, [ebp - 0x74]
push eax
lea ecx, [edi + 0x880]
call fcn.00451be0
mov dword [edi + 0x904], eax
cmp dword [edi + 0x904], 0
je 0x45a78b
lea eax, [edi + 0x880]
mov ecx, esi
push eax
push 8
push ebx
call fcn.004519c0
mov ecx, 0x658670
call fcn.00457d30
test eax, eax
je 0x45a82d
push 0
push 0
push str.SoftwareSynapticscPad
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x9c]
call fcn.004b9150
push 0
push 0
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x10], 0x208
push eax
push str.PropertiesExe
lea ecx, [ebp - 0x98]
call fcn.004cbe60
test eax, eax
je 0x45a81e
push 0xdf08
push 0
push 0x83
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
jne 0x45a81e
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 4
call fcn.004b93f0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
xor esi, esi
call fcn.004b93f0
jmp 0x45a4fa
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 4
call fcn.004b93f0
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowTapToClick
lea ecx, [ebp - 0x50]
call fcn.004baa70
xor eax, eax
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x14], eax
lea ecx, [ebp - 0x50]
push 0
setne al
mov dword [edi + 0xc80], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowDisableTP
call fcn.004baa70
xor eax, eax
cmp dword [ebp - 0x14], eax
setne al
cmp dword [edi + 0xc80], 0
mov dword [edi + 0xc94], eax
je 0x45a8a7
push 0xdf01
push 0
push 4
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x14]
push eax
push str.ShowDisableGestures
lea ecx, [ebp - 0x50]
call fcn.004baa70
mov eax, dword [ebp - 0x14]
test al, 1
mov dword [edi + 0xc84], eax
mov eax, dword [ebp - 0x1c]
je 0x45a915
test eax, eax
je 0x45a915
lea ecx, [eax + 0x30]
call fcn.00406080
test al, al
je 0x45a912
mov ecx, dword [ebp - 0x20]
push 0x10000177
call fcn.004052e0
test eax, eax
je 0x45a912
push 0xdf05
push 0
push 0x52c
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
mov eax, dword [ebp - 0x1c]
test byte [edi + 0xc84], 4
je 0x45a949
test eax, eax
je 0x45a949
mov ecx, eax
call fcn.00405ad0
test eax, eax
je 0x45a949
push 0xdf06
push 0
push 0x52b
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
cmp dword [edi + 0xc94], 0
je 0x45a962
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a962
push esi
push eax
mov ecx, edi
call fcn.00456d60
mov ecx, 0x6570a8
call fcn.0047dbc0
test eax, eax
je 0x45a997
push 0xdf02
push 0
push 0x52
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 1
push 0
mov ecx, 0x6570a8
call fcn.00486970
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x10]
push eax
push str.TrayIconHelp
lea ecx, [ebp - 0x50]
call fcn.004baa70
cmp dword [ebp - 0x10], 0
je 0x45a9db
mov ecx, esi
call fcn.00451e00
push 0xdf03
push 0
push 3
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 0
push 0
push 0
push str.SoftwareSynapticscPad
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x24], 0
call fcn.004bcca0
test eax, eax
je 0x45aa12
push 0
lea eax, [ebp - 0x24]
push eax
push eax
push str.TrayIconHelp
lea ecx, [ebp - 0x70]
call fcn.004cbcf0
cmp dword [ebp - 0x24], 0
je 0x45aa4f
mov ecx, 0x658670
call fcn.00457d30
test eax, eax
je 0x45aa4f
cmp dword [ebp - 0x10], 0
jne 0x45aa33
mov ecx, esi
call fcn.00451e00
push 0xdf07
push 0
push 0x9a
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x10]
push eax
push str.ShowAbout
lea ecx, [ebp - 0x50]
call fcn.004baa70
cmp dword [ebp - 0x10], 0
je 0x45aaa3
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xd6
push eax
lea eax, [ebp - 0x10]
push eax
push str.ShowAbout_ResourceID
lea ecx, [ebp - 0x50]
call fcn.004baa70
push 0xdf21
push 0
push dword [ebp - 0x10]
mov ecx, esi
push ebx
call fcn.00451a70
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x10]
push eax
push str.ShowRemoveIcon
lea ecx, [ebp - 0x50]
call fcn.004baa70
cmp dword [ebp - 0x10], 0
je 0x45aaf7
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xd3
push eax
lea eax, [ebp - 0x10]
push eax
push str.ShowRemoveIcon_ResourceID
lea ecx, [ebp - 0x50]
call fcn.004baa70
push 0xdf20
push 0
push dword [ebp - 0x10]
mov ecx, esi
push ebx
call fcn.00451a70
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45ab45
mov ecx, eax
call fcn.00427430
test eax, eax
je 0x45ab45
push 0xdf22
push 0
push 0x4ed
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 0xdf22
push 0
push 0x4ed
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45abcb
cmp dword [edi + 0xca0], 0
je 0x45ab82
push 0xdf23
push 0
push 0x4ff
push ebx
mov ecx, esi
call fcn.00451a70
test eax, eax
je 0x45abcb
push 0xdf23
push 0
push 0x4ff
push ebx
lea ecx, [edi + 0xc40]
call fcn.00451a70
test eax, eax
je 0x45abcb
call fcn.00452760
cmp dword [eax + 4], 0
je 0x45adcc
mov eax, dword [edi + 0x904]
mov ecx, 0xdf2a
test eax, eax
cmovne ecx, eax
inc ecx
mov dword [edi + 0x8f0], ecx
push ecx
lea ecx, [edi + 0x8b8]
call fcn.004520a0
test eax, eax
jne 0x45abde
push str.Couldnt_initialize_popup_menu__n
push eax
push str.CTPTrayAction::Refresh
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
xor esi, esi
call fcn.004b93f0
jmp 0x45a4fa
call fcn.00452760
mov ecx, eax
call fcn.00479c40
lea eax, [ebp - 0x80]
push eax
call fcn.00452760
mov ecx, eax
call fcn.00479340
lea ecx, [edi + 0x8f8]
mov byte [ebp - 4], 6
push eax
call fcn.00452b80
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 4
call fcn.00409120
mov eax, dword [edi + 0x8f8]
lea ecx, [edi + 0x8f8]
cmp eax, dword [ecx + 4]
je 0x45ac81
push ecx
lea ecx, [edi + 0x8b8]
call fcn.00451b10
mov dword [edi + 0x8f4], eax
test eax, eax
je 0x45ac50
lea ecx, [edi + 0x8b8]
call fcn.00451e00
inc dword [edi + 0x8f4]
jmp 0x45ac5c
mov eax, dword [edi + 0x8f0]
mov dword [edi + 0x8f4], eax
push dword [edi + 0x8f4]
lea ecx, [edi + 0x8b8]
push 0
push 0x4d9
push ebx
call fcn.00451a70
test eax, eax
jne 0x45acc8
dec dword [edi + 0x8f4]
jmp 0x45acc8
test byte [0x652fc0], 4
je 0x45ac9e
push str.Couldnt_find_profile_settings__n
push 3
push str.CTPTrayAction::Refresh
call fcn.004cb3a0
add esp, 0xc
mov eax, dword [edi + 0x8f0]
lea ecx, [edi + 0x8b8]
push eax
push 0
push 0x4d9
push ebx
mov dword [edi + 0x8f4], eax
call fcn.00451a70
test eax, eax
jne 0x45acc8
mov dword [edi + 0x8f4], eax
mov esi, dword [edi + 0x8f0]
cmp esi, dword [edi + 0x8f4]
ja 0x45ad1a
jmp 0x45ace0
mov eax, esi
lea ecx, [edi + 0x8b8]
sub eax, dword [edi + 0x8f0]
push 0
push eax
call fcn.00451e50
xor eax, eax
lea ecx, [edi + 0x8b8]
cmp dword [0x656fe0], eax
sete al
push eax
push esi
call fcn.00451fa0
inc esi
cmp esi, dword [edi + 0x8f4]
jbe 0x45ace0
mov ebx, dword [ebp - 0x54]
call fcn.00452760
cmp dword [eax + 0x48], 0
je 0x45ad6f
mov esi, dword [edi + 0x8f8]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp esi, dword [edi + 0x8fc]
je 0x45ad6f
call fcn.00452760
mov eax, dword [eax + 0x48]
cmp dword [esi], eax
jne 0x45ad4e
call fcn.00452760
cmp dword [eax], 0
je 0x45ad5e
inc dword [ebp - 0x14]
add esi, 4
cmp esi, dword [edi + 0x8fc]
jne 0x45ad38
jmp 0x45ad6f
mov eax, dword [ebp - 0x14]
lea ecx, [edi + 0x8b8]
push 1
push eax
call fcn.00451e50
cmp dword [edi + 0x8f4], 0
je 0x45adcc
lea ecx, [ebp - 0x50]
call fcn.004bc380
test eax, eax
je 0x45adcc
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 1
push eax
push eax
push str.ShowProfiles
lea ecx, [ebp - 0x50]
call fcn.004baa70
test eax, eax
je 0x45adcc
cmp dword [ebp - 0x14], 0
je 0x45adcc
lea ecx, [edi + 0x848]
call fcn.00451e00
lea eax, [edi + 0x8b8]
push eax
push 0x4d8
push ebx
lea ecx, [edi + 0x848]
call fcn.004519c0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
mov esi, 1
call fcn.004b93f0
jmp 0x45a4fa
push ebx
mov ecx, edi
call fcn.0045b860
mov ecx, edi
call fcn.00456ef0
mov ecx, dword [ebp - 0xc]
pop esi
pop edi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret