Function at 0x40adc6
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
push esi
mov esi, dword [ebp + 8]
push edi
call fcn.004023a7
call fcn.0040acab
test eax, eax
jne 0x40adfc
or eax, 0xffffffff
jmp 0x40b249
push 0x41516c
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
pop ecx
test eax, eax
je 0x40ae40
push str.OPENSSL_CONF
lea ecx, [esp + 0x88]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_char_const__]
lea ecx, [esp + 0x84]
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 + 0x84]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
push 0x64
xor edi, edi
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.004094dc
test al, al
jne 0x40ae9e
call dword [sym.imp.DuiLib.dll_public:_static_int___cdecl_DuiLib::CHighDpi::InitHdpi_void_]
call fcn.00406d58
test eax, eax
jne 0x40ae95
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 0x40ae9e
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 ebx, eax
test ebx, ebx
je 0x40aec5
call fcn.00406d58
neg eax
mov ecx, ebx
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 + 0x84]
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 ebx, eax
mov ecx, ebx
call fcn.0040ad30
test eax, eax
je 0x40af8b
test ebx, ebx
je 0x40af9f
push 0x411bf0
lea ecx, [esp + 0x60]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_wchar_t_const__]
add eax, 4
lea ecx, [ebx + 0x34]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00409aec
lea ecx, [esp + 0x5c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
mov eax, dword [esp + 0x10]
cmp eax, dword [ebx + 0x34]
je 0x40af35
add eax, 0x28
lea ecx, [esp + 0x84]
push eax
call dword [0x41117c]
push str.8d56cfe4_0eb9_411f_8439_fc2e3bfdce76
lea ecx, [esp + 0x60]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_char_const__]
add eax, 4
lea ecx, [ebx + 0x34]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00409aec
lea ecx, [esp + 0x5c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
mov eax, dword [esp + 0x10]
cmp eax, dword [ebx + 0x34]
je 0x40af9f
add eax, 0x28
lea ecx, [esp + 0x5c]
push eax
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x5c]
call fcn.004093e1
lea ecx, [esp + 0x5c]
mov edi, eax
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [esp + 0x84]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
mov eax, edi
jmp 0x40b249
lea ecx, [esp + 0x84]
call dword [sym.imp.Cmmlib.dll_public:_int___thiscall_Cmm::CStringT_wchar_t_::IsEmpty_void_const]
test eax, eax
jne 0x40b095
push str.App_Start_with_Web_join__Url:
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x84]
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 ebx, dword [sym.imp.USER32.dll_DefWindowProcW]
xor eax, eax
push 0xa
pop ecx
mov dword [esp + 0x5c], edi
mov edx, str.GrabFocusWindow
mov dword [esp + 0x64], edi
xorps xmm0, xmm0
mov dword [esp + 0x68], edi
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x60], ebx
push eax
push edx
push esi
mov dword [esp + 0x78], esi
movups xmmword [esp + 0x7c], xmm0
mov dword [esp + 0x8c], edx
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
je 0x40b031
cmp ebx, dword [esp + 0x38]
je 0x40b03c
push esi
push dword [esp + 0x84]
call dword [sym.imp.USER32.dll_UnregisterClassW]
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor edi, edi
push edi
push esi
push edi
push edi
push 1
push 1
push edi
push edi
push 0x80000000
push 0x411cd4
push dword [esp + 0xa8]
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
je 0x40b08a
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 0x40b095
push str.App_Create_Focus_window_failure_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x84]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [esp + 0x84]
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 0x40b178
push 0x414b54
lea ecx, [esp + 0x60]
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.00409aec
lea ecx, [esp + 0x5c]
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 0x40b178
add eax, 0x28
lea ecx, [esp + 0x84]
push eax
call dword [0x41117c]
push str.resetData
lea ecx, [esp + 0x60]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_char_const__]
push eax
lea ecx, [esp + 0x88]
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__const]
lea ecx, [esp + 0x5c]
mov bl, al
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
test bl, bl
je 0x40b137
push 1
jmp 0x40b165
push str.resetConfig
lea ecx, [esp + 0x60]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_char_const__]
push eax
lea ecx, [esp + 0x88]
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__const]
lea ecx, [esp + 0x5c]
mov bl, al
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
test bl, bl
je 0x40b178
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 + 0x84]
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 [0x411670]
call esi
push 3
push edi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__set_abort_behavior]
push 0x40aca0
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]
push edi
push edi
push edi
push edi
xor edx, edx
xor ecx, ecx
call fcn.004087fd
add esp, 0x10
test eax, eax
js 0x40b219
call fcn.00408ffd
test eax, eax
js 0x40b219
call fcn.00409054
push dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov ecx, esi
call dword [0x411670]
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.0040d990
mov esp, ebp
pop ebp
ret 0x10