Function at 0x40a7e6
Capabilities:
Print debug messages
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x104
mov eax, dword [0x41c00c]
xor eax, esp
mov dword [esp + 0x100], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
call fcn.00402387
call fcn.0040a6cb
test eax, eax
jne 0x40a81c
or eax, 0xffffffff
jmp 0x40ac4c
push 0x414ee0
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xor edi, edi
pop ecx
test eax, eax
jne 0x40a8c6
lea ecx, [esp + 0x78]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CFileName::constructor_void_]
push edi
lea ecx, [esp + 0x7c]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CFileName::GetModuleFilePath_struct_HINSTANCE____]
push str.OPENSSL_CONF
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_char_const__]
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x54]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_class_Cmm::CStringT_wchar_t__const__]
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_char_const____thiscall_Cmm::CStringT_char_::c_str_void_const]
push eax
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_Cmm::CStringT_char_::append_char_const__]
lea ecx, [esp + 0x50]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
push 0x413500
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_Cmm::CStringT_char_::append_char_const__]
push str.openssl.cnf
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_Cmm::CStringT_char_::append_char_const__]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_char_const____thiscall_Cmm::CStringT_char_::c_str_void_const]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__putenv]
pop ecx
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
lea ecx, [esp + 0x78]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CFileName::destructor_void_]
push 0x64
lea eax, [esp + 0xa4]
push edi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0xa0]
push 0x64
push eax
call dword [sym.imp.libcrypto_1_1.dll_RAND_bytes]
push edi
push edi
call dword [sym.imp.Cmmlib.dll_public:_static_void___cdecl_Cmm::CommandLine::Init_int__char_const__const_const__]
add esp, 0x10
call fcn.00408ee7
test al, al
jne 0x40a922
call dword [sym.imp.DuiLib.dll_public:_static_int___cdecl_DuiLib::CHighDpi::InitHdpi_void_]
call fcn.00406a38
test eax, eax
jne 0x40a919
push 3
call dword [sym.imp.DuiLib.dll_public:_static_bool___cdecl_DuiLib::CHighDpi::SetAwarenessMode_enum_DuiLib::CDpiAwarenessMode::DPIAwareMode_]
pop ecx
test al, al
jne 0x40a922
push 1
call dword [sym.imp.DuiLib.dll_public:_static_bool___cdecl_DuiLib::CHighDpi::SetAwarenessMode_enum_DuiLib::CDpiAwarenessMode::DPIAwareMode_]
pop ecx
call dword [sym.imp.DuiLib.dll_public:_static_class_DuiLib::CHighContrast____cdecl_DuiLib::CHighContrast::Instance_void_]
mov esi, eax
test esi, esi
je 0x40a949
call fcn.00406a38
neg eax
mov ecx, esi
sbb al, al
inc al
mov byte [esp + 0x10], al
push dword [esp + 0x10]
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CHighContrast::SetSupportHighContrast_bool_]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_void_]
call dword [sym.imp.Cmmlib.dll_public:_static_class_Cmm::CommandLine____cdecl_Cmm::CommandLine::ForCurrentProcess_void_]
mov esi, eax
mov ecx, esi
call fcn.0040a750
test eax, eax
jne 0x40a975
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
jmp 0x40ac4a
test esi, esi
je 0x40a9ba
push 0x411bd0
lea ecx, [esp + 0x54]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_wchar_t_const__]
add eax, 4
lea ecx, [esi + 0x34]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004094fc
lea ecx, [esp + 0x50]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
mov eax, dword [esp + 0x10]
cmp eax, dword [esi + 0x34]
je 0x40a9ba
add eax, 0x28
lea ecx, [esp + 0x34]
push eax
call dword [0x411170]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_int___thiscall_Cmm::CStringT_wchar_t_::IsEmpty_void_const]
test eax, eax
jne 0x40aaa7
push str.App_Start_with_Web_join__Url:
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, dword [sym.imp.USER32.dll_DefWindowProcW]
xor eax, eax
push 0xa
pop ecx
mov dword [esp + 0x50], edi
mov edx, str.GrabFocusWindow
mov dword [esp + 0x58], edi
xorps xmm0, xmm0
mov dword [esp + 0x5c], edi
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x54], esi
push eax
push edx
push ebx
mov dword [esp + 0x6c], ebx
movups xmmword [esp + 0x70], xmm0
mov dword [esp + 0x80], edx
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
je 0x40aa43
cmp esi, dword [esp + 0x7c]
je 0x40aa4e
push ebx
push dword [esp + 0x78]
call dword [sym.imp.USER32.dll_UnregisterClassW]
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor edi, edi
push edi
push ebx
push edi
push edi
push 1
push 1
push edi
push edi
push 0x80000000
push 0x411cb4
push dword [esp + 0x9c]
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
je 0x40aa9c
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x40aaa7
push str.App_Create_Focus_window_failure_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_void_]
call dword [sym.imp.Cmmlib.dll_public:_static_class_Cmm::CommandLine____cdecl_Cmm::CommandLine::ForCurrentProcess_void_]
test eax, eax
je 0x40ab77
push 0x414934
lea ecx, [esp + 0x54]
lea esi, [eax + 0x34]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_char_const__]
add eax, 4
mov ecx, esi
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004094fc
lea ecx, [esp + 0x50]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
mov eax, dword [esp + 0x10]
cmp eax, dword [esi]
je 0x40ab77
add eax, 0x28
lea ecx, [esp + 0x34]
push eax
call dword [0x411170]
push str.resetData
lea ecx, [esp + 0x54]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_char_const__]
push eax
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__const]
lea ecx, [esp + 0x50]
mov bl, al
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
test bl, bl
je 0x40ab39
push 1
jmp 0x40ab64
push str.resetConfig
lea ecx, [esp + 0x54]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_char_const__]
push eax
lea ecx, [esp + 0x38]
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__const]
lea ecx, [esp + 0x50]
mov bl, al
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
test bl, bl
je 0x40ab77
push edi
mov eax, dword [sym.imp.Cmmlib.dll_const_Cmm::CmmLogGC::vftable]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
call dword [sym.imp.Cmmlib.dll_public_virtual:_int___thiscall_Cmm::CmmLogGC::ResetAppData_int_]
lea ecx, [esp + 0x34]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
xor eax, eax
mov dword [esp + 0x28], edi
inc eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], eax
xorps xmm0, xmm0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
movlpd qword [esp + 0x20], xmm0
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], edi
push eax
mov dword [esp + 0x20], edi
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call dword [0x411650]
call esi
push fcn.0040a6b0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__set_invalid_parameter_handler]
pop ecx
push 3
push edi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__set_abort_behavior]
push 0x40a6c0
push 0x16
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
add esp, 0x10
call dword [sym.imp.MSAALIB.dll_ZAccInitModule]
sub esp, 0x10
call fcn.004084dd
add esp, 0x10
test eax, eax
js 0x40ac1c
call fcn.00408bb0
test eax, eax
js 0x40ac1c
call fcn.00408c07
push dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov ecx, esi
call dword [0x411650]
call esi
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CHighDpi::UnInitHdpi_void_]
push dword [esp + 0x18]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_CoUninitialize]
call dword [sym.imp.MSAALIB.dll_ZAccTermModule]
xor eax, eax
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040d390
mov esp, ebp
pop ebp
ret 0x10