Function at 0x4112e0
Capabilities:
Check if file exists
Get common file path
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x543fe4
mov eax, dword fs:[0]
push eax
mov eax, 0xeb30
call fcn.00525f50
mov eax, dword [0x5acd88]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xeb18], ecx
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xeb0c], eax
mov dword [ebp - 0xeb1c], 0
lea eax, [ebp - 0xeadc]
push eax
lea eax, [ebp - 0xeaf0]
push eax
push 0x1a
push str.Cyberlink.CL.DesktopToasts
mov dword [ebp - 4], 0
call sub.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCreateStringReference
test eax, eax
jns 0x411363
push 0
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov ecx, dword [ebp - 0xeb1c]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x411381
mov dword [ebp - 0xeb1c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi]
lea ecx, [ebp - 0xeb1c]
push ecx
push dword [ebp - 0xeadc]
push esi
call dword [eax + 0x1c]
push dword [ebp - 0xeadc]
mov ebx, eax
mov byte [ebp - 4], 0
call sub.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString
test ebx, ebx
js 0x4120c9
mov dword [ebp - 0xeb14], 0
lea eax, [ebp - 0xeadc]
push eax
lea eax, [ebp - 0xeaf0]
push eax
push 0x2a
push str.Windows.UI.Notifications.ToastNotification
mov byte [ebp - 4], 2
call sub.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCreateStringReference
test eax, eax
jns 0x4113e6
push 0
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov ecx, dword [ebp - 0xeb14]
mov esi, dword [ebp - 0xeadc]
test ecx, ecx
je 0x411406
mov dword [ebp - 0xeb14], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [ebp - 0xeb14]
push eax
push 0x554d78
push esi
call dword [sym.imp.api_ms_win_core_winrt_l1_1_0.dll_RoGetActivationFactory]
push dword [ebp - 0xeadc]
mov ebx, eax
call sub.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString
test ebx, ebx
js 0x4120a9
mov dword [ebp - 0xeb10], 0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x6ad8], ax
lea eax, [ebp - 0x6ad6]
push eax
mov byte [ebp - 4], 3
call fcn.005265d0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x7ad8], ax
lea eax, [ebp - 0x7ad6]
push eax
call fcn.005265d0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x5ad8], ax
lea eax, [ebp - 0x5ad6]
push eax
call fcn.005265d0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0xbad8], ax
lea eax, [ebp - 0xbad6]
push eax
call fcn.005265d0
push str._toast_duration_long__launch__s___n_visual__n_binding_template_ToastGeneric___n_image_placement_appLogoOverride_src_s___n_text_hint_maxLines2__s__text__n_text_hint_maxLines1__s__text__n_image_placement_hero_src__s____text_placement_attribution___s__text__n__binding__n__visual__n
push 0x55539c
lea eax, [ebp - 0xaad8]
push 0x800
push eax
call fcn.00525204
add esp, 0x40
lea eax, [ebp - 0x9ad8]
push str._n_action_content__s__arguments__s__activationType_foreground__imageUri__s___
push 0x55539c
push 0x800
push eax
call fcn.00525204
push str._n_action_placement_contextMenu__content__s__arguments__s___
push 0x55539c
lea eax, [ebp - 0xead8]
push 0x800
push eax
call fcn.00525204
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.005265d0
add esp, 0x44
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa38], ax
lea eax, [ebp - 0xa36]
push eax
call fcn.005265d0
add esp, 0xc
push 1
push 0x23
lea eax, [ebp - 0xa38]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push edi
push 0x55539c
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.00525204
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.005265d0
push dword [ebp - 0xeb0c]
lea eax, [ebp - 0x628]
push 0x55539c
push 0x104
push eax
call fcn.00525204
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x2c
lea eax, [ebp - 0x628]
push eax
call esi
test eax, eax
jne 0x4115f3
lea eax, [ebp - 0xa38]
push eax
push str._sCyberLinkCLToastCLToast.ini
jmp 0x4115ff
lea eax, [ebp - 0x628]
push eax
push 0x55539c
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00525204
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
push str.CSystemTray::CreateToast
push str.__S__wszCLToast_XMLIni___s
call fcn.0040bef0
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x411ae0
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x2298]
push eax
push 0x55514c
push str.ICONPath
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x400
lea eax, [ebp - 0x3ec8]
push eax
push 0x55514c
push str.Title
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x3ec8]
push eax
lea eax, [ebp - 0xeaf0]
push eax
call fcn.004106f0
cmp dword [ebp - 0xeadc], 8
lea eax, [ebp - 0xeaf0]
cmovae eax, dword [ebp - 0xeaf0]
push eax
push 0x55539c
lea eax, [ebp - 0x3ec8]
push 0x400
push eax
mov byte [ebp - 4], 4
call fcn.00525204
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
push 0x400
lea eax, [ebp - 0x48d0]
push eax
push 0x55514c
push str.Desc
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x48d0]
push eax
lea eax, [ebp - 0xeb08]
push eax
call fcn.004106f0
cmp dword [ebp - 0xeaf4], 8
lea eax, [ebp - 0xeb08]
cmovae eax, dword [ebp - 0xeb08]
push eax
push 0x55539c
lea eax, [ebp - 0x48d0]
push 0x400
push eax
mov byte [ebp - 4], 5
call fcn.00525204
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x2cc0]
push eax
push 0x55514c
push str.BannerPath
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1a78]
push eax
push 0x55514c
push str.ToastAttri
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1c80]
push eax
push 0x55514c
push str.ToastLaunch
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0xc40]
push eax
push 0x55514c
push str.ACTION_1
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x36c8]
push eax
push 0x55514c
push str.ACTIONURL_1
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1870]
push eax
push 0x55514c
push str.ACTIONCMD_1
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x2090]
push eax
push 0x55514c
push str.ACTIONREMIND_1
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1050]
push eax
push 0x55514c
push str.ACTIONTYPE_1
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1258]
push eax
push 0x55514c
push str.ACTION_2
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x4ad8]
push eax
push 0x55514c
push str.ACTIONURL_2
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x26a8]
push eax
push 0x55514c
push str.ACTIONCMD_2
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x2ab8]
push eax
push 0x55514c
push str.ACTIONREMIND_2
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0xe48]
push eax
push 0x55514c
push str.ACTIONTYPE_2
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1460]
push eax
push 0x55514c
push str.ACTION_3
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x40d0]
push eax
push 0x55514c
push str.ACTIONURL_3
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x24a0]
push eax
push 0x55514c
push str.ACTIONCMD_3
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1e88]
push eax
push 0x55514c
push str.ACTIONREMIND_3
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x1668]
push eax
push 0x55514c
push str.ACTIONTYPE_3
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x28b0]
push eax
push 0x55514c
push str.CONTEXTMENU
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x830]
push eax
push 0x55514c
push str.ProdName
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
push str.DisplayedList
lea eax, [ebp - 0x420]
push str.Setting
push eax
call fcn.0040c1b0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
push str.SchedulerList
push str.Setting
call fcn.0040df30
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
push str.RemindList
push str.Setting
call fcn.0040df30
add esp, 0x30
cmp dword [ebp - 0xeaf4], 8
jb 0x411aa8
push dword [ebp - 0xeb08]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0xeadc], 8
mov dword [ebp - 0xeaf4], 7
mov dword [ebp - 0xeaf8], 0
mov word [ebp - 0xeb08], ax
mov byte [ebp - 4], 3
jb 0x411ae0
push dword [ebp - 0xeaf0]
call fcn.00414c8d
add esp, 4
lea eax, [ebp - 0xc40]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
je 0x411b8d
lea eax, [ebp - 0x1050]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411b5f
lea eax, [ebp - 0x1050]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411b44
lea eax, [ebp - 0x2090]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411b5f
push 0x55514c
lea eax, [ebp - 0x6ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0xc
jmp 0x411b8d
push 0x55514c
lea eax, [ebp - 0x1870]
push eax
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0x9ad8]
push eax
lea eax, [ebp - 0x6ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0x18
lea eax, [ebp - 0x1258]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
je 0x411c3a
lea eax, [ebp - 0xe48]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411c0c
lea eax, [ebp - 0xe48]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411bf1
lea eax, [ebp - 0x2ab8]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411c0c
push 0x55514c
lea eax, [ebp - 0x7ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0xc
jmp 0x411c3a
push 0x55514c
lea eax, [ebp - 0x26a8]
push eax
lea eax, [ebp - 0x1258]
push eax
lea eax, [ebp - 0x9ad8]
push eax
lea eax, [ebp - 0x7ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0x18
lea eax, [ebp - 0x1460]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
je 0x411ce7
lea eax, [ebp - 0x1668]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411cb9
lea eax, [ebp - 0x1668]
push str.timevalue
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411c9e
lea eax, [ebp - 0x1e88]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
jne 0x411cb9
push 0x55514c
lea eax, [ebp - 0x5ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0xc
jmp 0x411ce7
push 0x55514c
lea eax, [ebp - 0x24a0]
push eax
lea eax, [ebp - 0x1460]
push eax
lea eax, [ebp - 0x9ad8]
push eax
lea eax, [ebp - 0x5ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0x18
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x28b0]
push eax
push str._n_action_placement_contextMenu__content__s__arguments_CLToastContext__s___
lea eax, [ebp - 0xead8]
push 0x800
push eax
call fcn.00525204
lea eax, [ebp - 0xead8]
push eax
lea eax, [ebp - 0x5ad8]
push eax
lea eax, [ebp - 0x7ad8]
push eax
lea eax, [ebp - 0x6ad8]
push eax
push str._actions__s_s_s_s_n__actions_
lea eax, [ebp - 0xbad8]
push 0x800
push eax
call fcn.00525204
lea eax, [ebp - 0x1a78]
push eax
lea eax, [ebp - 0x2cc0]
push eax
lea eax, [ebp - 0x48d0]
push eax
lea eax, [ebp - 0x3ec8]
push eax
lea eax, [ebp - 0x2298]
push eax
lea eax, [ebp - 0x1c80]
push eax
lea eax, [ebp - 0xaad8]
push eax
lea eax, [ebp - 0x8ad8]
push 0x800
push eax
call fcn.00525204
add esp, 0x54
lea eax, [ebp - 0xbad8]
push eax
lea eax, [ebp - 0x8ad8]
push eax
push str._s_s_n__toast_
lea eax, [ebp - 0xdad8]
push 0x1000
push eax
call fcn.00525204
lea eax, [ebp - 0xdad8]
push eax
push str.szXMLContent___s
call fcn.0040bef0
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x34c0], ax
lea eax, [ebp - 0x34be]
push eax
call fcn.005265d0
add esp, 0x28
lea eax, [ebp - 0x218]
push eax
push 0x400
lea eax, [ebp - 0x34c0]
push eax
push 0x55514c
push str.URL_Impression
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x34c0]
push 0x55514c
push eax
call fcn.00525079
add esp, 8
test eax, eax
je 0x411e22
lea eax, [ebp - 0x34c0]
push eax
call fcn.00410170
add esp, 4
mov ecx, dword [ebp - 0xeb18]
lea eax, [ebp - 0xeb0c]
push eax
lea eax, [ebp - 0xdad8]
push eax
call fcn.004121c0
mov ebx, eax
test ebx, ebx
js 0x41208b
mov ecx, dword [ebp - 0xeb10]
mov esi, dword [ebp - 0xeb14]
test ecx, ecx
je 0x411e65
mov dword [ebp - 0xeb10], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi]
lea ecx, [ebp - 0xeb10]
push ecx
push dword [ebp - 0xeb0c]
push esi
call dword [eax + 0x18]
mov esi, dword [ebp - 0xeb10]
mov byte [ebp - 0xeb0c], 0
push dword [ebp - 0xeb0c]
lea eax, [ebp - 0xeb0c]
push eax
call fcn.00410ee0
add esp, 8
mov ecx, dword [esi]
lea edx, [ebp - 0xeb2c]
push edx
push dword [eax]
mov byte [ebp - 4], 6
push esi
call dword [ecx + 0x2c]
mov ecx, dword [ebp - 0xeb0c]
mov ebx, eax
mov byte [ebp - 4], 3
test ecx, ecx
je 0x411ecd
mov dword [ebp - 0xeb0c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test ebx, ebx
js 0x41208b
mov esi, dword [ebp - 0xeb10]
mov byte [ebp - 0xeb0c], 0
push dword [ebp - 0xeb0c]
lea eax, [ebp - 0xeb0c]
push eax
call fcn.00410f20
add esp, 8
mov ecx, dword [esi]
lea edx, [ebp - 0xeb3c]
push edx
push dword [eax]
mov byte [ebp - 4], 7
push esi
call dword [ecx + 0x24]
mov ecx, dword [ebp - 0xeb0c]
mov ebx, eax
mov byte [ebp - 4], 3
test ecx, ecx
je 0x411f2a
mov dword [ebp - 0xeb0c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test ebx, ebx
js 0x41208b
mov esi, dword [ebp - 0xeb10]
mov byte [ebp - 0xeb0c], 0
push dword [ebp - 0xeb0c]
lea eax, [ebp - 0xeb0c]
push eax
call fcn.00410f60
add esp, 8
mov ecx, dword [esi]
lea edx, [ebp - 0xeb34]
push edx
push dword [eax]
mov byte [ebp - 4], 8
push esi
call dword [ecx + 0x34]
mov ecx, dword [ebp - 0xeb0c]
mov ebx, eax
mov byte [ebp - 4], 3
test ecx, ecx
je 0x411f87
mov dword [ebp - 0xeb0c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test ebx, ebx
js 0x41208b
push str.The_toast_is_showeddddddd.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 0xeb18], 0
push str.Windows.UI.Notifications.ToastNotificationManager
lea ecx, [ebp - 0xeaf0]
call fcn.00411170
lea ecx, [ebp - 0xeb18]
push ecx
push dword [eax + 0x14]
call fcn.00410fa0
add esp, 8
push dword [ebp - 0xeadc]
call sub.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString
mov dword [ebp - 0xeb20], 0
lea eax, [ebp - 0xeb20]
push eax
lea ecx, [ebp - 0xeb18]
call fcn.00410d00
mov dword [ebp - 0xeb0c], 0
mov esi, dword [ebp - 0xeb20]
lea eax, [ebp - 0xeb0c]
mov edi, dword [esi]
lea ecx, [ebp - 0xeb24]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0xeb24], eax
call fcn.00411230
push eax
push esi
call dword [edi + 0x18]
mov eax, dword [ebp - 0xeb1c]
push dword [ebp - 0xeb10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov ecx, dword [ebp - 0xeb0c]
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x41204f
mov dword [ebp - 0xeb0c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0xeb20]
mov byte [ebp - 4], 9
test ecx, ecx
je 0x41206d
mov dword [ebp - 0xeb20], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0xeb18]
mov byte [ebp - 4], 3
test ecx, ecx
je 0x41208b
mov dword [ebp - 0xeb18], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0xeb10]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x4120a9
mov dword [ebp - 0xeb10], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0xeb14]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x4120e3
mov dword [ebp - 0xeb14], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x4120e3
push str.CSystemTray::CreateToast
push str.__S__hr_fail
call fcn.0040bef0
add esp, 8
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 0xeb1c]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x412104
mov dword [ebp - 0xeb1c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00525af7
mov esp, ebp
pop ebp
ret 0x10