Function at 0x4120b0
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x4323dd
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x445010]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
push edi
mov eax, dword [0x445010]
xor eax, esp
push eax
lea eax, [esp + 0x118]
mov dword fs:[0], eax
mov esi, dword [sym.imp.commutil.dll_void___cdecl_Logger::LogW_int__wchar_t_const___wchar_t_const__]
push str.schedule_task_vista
push str.GxxTaskScheduler
push 1
call esi
add esp, 0xc
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x41212b
push eax
push str.co_inithr_x
push str.GxxTaskScheduler
push 3
call esi
add esp, 0x10
jmp 0x4129c7
push 0
push 0
push 0
push 3
push 6
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
je 0x412164
push eax
push str.co_sechr_x
push str.GxxTaskScheduler
push 3
call esi
add esp, 0x10
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129c7
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0x436c58
push 1
push 0
push 0x436c68
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x412191
push eax
push str.co_create_insthr_x
jmp 0x41214d
mov ecx, dword [esp + 0x14]
sub esp, 0x10
mov eax, esp
xorps xmm0, xmm0
sub esp, 0x10
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
mov edx, dword [ecx]
movdqu xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movdqu xmmword [eax], xmm1
mov eax, esp
sub esp, 0x10
movdqu xmmword [eax], xmm2
mov eax, esp
push ecx
movdqu xmmword [eax], xmm3
call dword [edx + 0x28]
test eax, eax
je 0x4121f6
push eax
push str.connecthr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x24]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129c7
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], 0
push 0x437bf8
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
test eax, eax
je 0x41221e
push eax
push str.get_roothr_x
jmp 0x4121d5
call dword [sym.imp.commutil.dll_class_boost::filesystem::path_const____cdecl_fshelper::PathHelper::getAppFolder_void_]
push eax
lea ecx, [esp + 0x88]
call fcn.00410600
lea eax, [esp + 0x6c]
mov dword [esp + 0x120], 0
push eax
lea ecx, [esp + 0x88]
call fcn.0042c0d0
push eax
lea ecx, [esp + 0x88]
call fcn.00410500
lea ecx, [esp + 0x6c]
call fcn.0040e6f0
push str.Garena.exe
lea ecx, [esp + 0x70]
call fcn.0040e0f0
lea eax, [esp + 0x6c]
mov byte [esp + 0x120], 1
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00410540
add esp, 0xc
lea ecx, [esp + 0x6c]
mov byte [esp + 0x120], 3
call fcn.0040e6f0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xb4]
call fcn.00411eb0
test al, al
je 0x4122eb
push str.task_exists
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129af
mov eax, dword [esp + 0x10]
push 0
push str.gxx_speed_launcher
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x10], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov ecx, dword [esp + 0x14]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x41234c
push edi
push str.create_new_taskhr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129af
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
je 0x412372
push eax
push str.get_reg_infohr_x
jmp 0x412455
mov eax, dword [esp + 0x20]
push str.Garena
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
je 0x4123a6
push eax
push str.put_authorhr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x412461
mov eax, dword [esp + 0x20]
push str.The_speed_launcher_quickly_opens_gxx.
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x4123d0
push edi
push str.put_deschr_x
jmp 0x412455
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
je 0x4123f3
push eax
push str.get_trigger_collectionhr_x
jmp 0x412455
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], 0
push 9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov ecx, dword [esp + 0x38]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x412424
push edi
push str.create_triggerhr_x
jmp 0x412455
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x30], 0
push 0x437be4
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [esp + 0x3c]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x412480
push edi
push str.get_logon_triggerhr_x
push str.GxxTaskScheduler
push 3
call esi
add esp, 0x10
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129af
lea ecx, [esp + 0x44]
mov dword [esp + 0x28], 0
call fcn.00407080
mov byte [esp + 0x120], 4
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x412530
push str.Failed_to_get_config
lea ecx, [esp + 0xd0]
call fcn.0040e0f0
lea eax, [esp + 0xcc]
mov byte [esp + 0x120], 5
push eax
lea eax, [esp + 0xe8]
push eax
call dword [sym.imp.commutil.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_StringHelper::WtoUTF8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 8
mov byte [esp + 0x120], 6
cmp dword [eax + 0x14], 0x10
jb 0x4124e7
mov eax, dword [eax]
push eax
push 0xf1
push str.utilsTaskScheduler.cpp
push str.GxxTaskScheduler::scheduleGxxTaskVistaAbove
push str._s__s:_d__s
push str._VERIFY_
push 3
call dword [sym.imp.commutil.dll_void___cdecl_Logger::LogA_int__char_const___char_const__]
add esp, 0x1c
lea ecx, [esp + 0xe4]
call fcn.0040f160
lea ecx, [esp + 0xcc]
mov byte [esp + 0x120], 4
call fcn.0040e6f0
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
lea edx, [esp + 0x28]
push edx
push 0x40d
mov eax, dword [eax + 0x44]
call eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x1b], al
mov byte [esp + 0x120], 3
call fcn.00408290
mov ecx, dword [esp + 0x28]
mov eax, 5
cmp byte [esp + 0x1b], 0
push 0x437fc4
cmove ecx, eax
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xa0]
call fcn.0040e0f0
lea edx, [esp + 0x28]
mov byte [esp + 0x120], 7
lea ecx, [esp + 0x6c]
call fcn.00413740
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x12c], 8
call fcn.00416170
lea ecx, [esp + 0x6c]
mov byte [esp + 0x120], 7
call fcn.0040e6f0
push 0x4376e8
lea ecx, [esp + 0xa0]
call fcn.00416120
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x9c]
cmp dword [esp + 0xb0], 8
cmovae edx, dword [esp + 0x9c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x54]
mov ecx, dword [esp + 0x2c]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x412609
push edi
push str.set_delayhr_x
jmp 0x41268e
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x30]
mov dword [esp + 0x30], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
je 0x41262c
push eax
push str.get_action_collectionhr_x
jmp 0x41268e
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [esp + 0x30]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x41265d
push edi
push str.create_actionhr_x
jmp 0x41268e
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x20], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [esp + 0x34]
mov edi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test edi, edi
je 0x4126b9
push edi
push str.get_iexc_actionhr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4129a3
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x84]
cmp dword [esp + 0x98], 8
cmovae edx, dword [esp + 0x84]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x3c]
mov edi, dword [sym.imp.ole32.dll_CoUninitialize]
test eax, eax
je 0x412717
push eax
push str.set_working_dirhr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call edi
mov eax, dword [esp + 0x1c]
push str._silentlaunch__gxxsvclaunch
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
test eax, eax
je 0x41275c
push eax
push str.set_argshr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call edi
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xb4]
cmp dword [esp + 0xc8], 8
cmovae edx, dword [esp + 0xb4]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x2c]
mov ecx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x48], eax
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4127bc
push eax
push str.set_exc_pathhr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call edi
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
je 0x4127df
push eax
push str.get_settingshr_x
jmp 0x41283a
mov eax, dword [esp + 0x24]
push str.PT0S
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
test eax, eax
je 0x4127fa
push eax
push str.disable_exc_lmthr_x
jmp 0x41283a
mov eax, dword [esp + 0x24]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
test eax, eax
je 0x412812
push eax
push str.disable_stop_if_on_battarieshr_x
jmp 0x41283a
mov eax, dword [esp + 0x24]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [esp + 0x24]
push ecx
mov dword [esp + 0x48], eax
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x412861
push eax
push str.allow_start_on_battarieshr_x
push str.GxxTaskScheduler
push 3
call esi
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call edi
jmp 0x4129a3
push 0x437bf4
lea ecx, [esp + 0x70]
mov dword [esp + 0x44], 0
call fcn.00411ad0
movdqu xmm0, xmmword [eax]
lea eax, [esp + 0x44]
push eax
movdqa xmmword [esp + 0x58], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x120], 0xa
lea ecx, [esp + 0xcc]
movdqa xmm0, xmmword [esp + 0x44]
push str.BUILTINUsers
movdqa xmmword [esp + 0xe8], xmm0
call fcn.00411ad0
mov edx, eax
lea eax, [esp + 0x40]
mov byte [esp + 0x120], 0xb
movdqa xmm0, xmmword [esp + 0x54]
mov esi, dword [esp + 0x10]
push eax
sub esp, 0x10
mov ecx, esp
mov edi, dword [esi]
push 4
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movdqu xmmword [ecx], xmm0
movdqa xmm0, xmmword [esp + 0x11c]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [edx]
push 6
push dword [esp + 0x48]
movdqu xmmword [eax], xmm0
push str.gxx_speed_launcher
push esi
call dword [edi + 0x44]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, eax
lea eax, [esp + 0xcc]
push eax
call esi
lea eax, [esp + 0x44]
push eax
call esi
lea eax, [esp + 0x6c]
mov byte [esp + 0x120], 7
push eax
call esi
test edi, edi
je 0x412968
mov eax, dword [sym.imp.commutil.dll_void___cdecl_Logger::LogW_int__wchar_t_const___wchar_t_const__]
push edi
push str.saving_taskhr_x
push str.GxxTaskScheduler
push 3
call eax
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [sym.imp.ole32.dll_CoUninitialize]
call eax
jmp 0x4129a3
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x40]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [sym.imp.ole32.dll_CoUninitialize]
call eax
mov eax, dword [sym.imp.commutil.dll_void___cdecl_Logger::LogW_int__wchar_t_const___wchar_t_const__]
push str.schedule_task_complete
push str.GxxTaskScheduler
push 1
call eax
add esp, 0xc
lea ecx, [esp + 0x9c]
call fcn.0040e6f0
lea ecx, [esp + 0xb4]
call fcn.0040e6f0
lea ecx, [esp + 0x84]
call fcn.0040e6f0
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.004304e8
mov esp, ebp
pop ebp
ret