Function at 0x4248a0
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0xd8]
sub esp, 0xd8
push 0xffffffffffffffff
push 0x57e7f4
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x601328]
xor eax, ebp
mov dword [ebp + 0xd4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xe0]
xor ebx, ebx
test byte [0x605dc4], 1
mov dword [ebp - 0x18], eax
lea edi, [ebx + 7]
jne 0x424930
or dword [0x605dc4], 1
xor ecx, ecx
push 0x605dac
mov byte [0x605d8c], bl
mov dword [0x605da8], edi
mov dword [0x605da4], ebx
mov word [0x605d94], cx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x58dfb5
call fcn.00547e47
add esp, 4
cmp byte [0x605d8c], bl
jne 0x4249dc
lea edx, [ebp - 0xe0]
push edx
call fcn.00409b60
lea eax, [ebp - 0xd8]
push str.CDSPDriverManager::OpenWindow_start
push eax
mov dword [ebp - 4], ebx
call fcn.00407390
add esp, 8
lea ecx, [ebp + 0xb8]
lea eax, [ebp - 0xe0]
call fcn.00407170
lea ecx, [ebp + 0xb8]
mov byte [ebp - 4], 1
call fcn.00406a80
cmp dword [ebp + 0xd0], 8
jb 0x424997
mov ecx, dword [ebp + 0xbc]
push ecx
call fcn.00546771
add esp, 4
xor edx, edx
lea ecx, [ebp - 0x8c]
mov dword [ebp + 0xd0], edi
mov dword [ebp + 0xcc], ebx
mov word [ebp + 0xbc], dx
mov dword [ebp - 4], 0xffffffff
call fcn.004075b0
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 0x8c], vtable.std::ios_base.0
call fcn.0054517b
add esp, 4
jmp 0x424b77
lea ecx, [ebp - 0xd8]
push ecx
mov dword [ebp - 4], 2
call fcn.004068d0
mov byte [ebp - 4], 3
test byte [0x605dc4], 1
jne 0x424a36
or dword [0x605dc4], 1
xor edx, edx
push 0x605dac
mov byte [0x605d8c], bl
mov dword [0x605da8], edi
mov dword [0x605da4], ebx
mov word [0x605d94], dx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x58dfb5
call fcn.00547e47
add esp, 4
lea esi, [ebp - 0x34]
mov eax, 0x605d8c
call fcn.00406720
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x424a52
mov esi, dword [eax + 4]
jmp 0x424a55
lea esi, [eax + 4]
lea eax, [ebp - 0xd8]
push 0x5950f8
push eax
call fcn.00407390
add esp, 8
push esi
push eax
call fcn.00407390
add esp, 8
push 0x5950f0
push eax
call fcn.00407390
add esp, 8
push str.CDSPDriverManager::OpenWindow_start
push eax
call fcn.00407390
mov esi, 8
add esp, 8
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1c], esi
jb 0x424aa9
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00546771
add esp, 4
lea edx, [ebp - 0x3c]
push edx
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
add esp, 4
push 0x2710
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x424b05
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0xd8]
call fcn.00406700
push 0xf8
push str..HomepageGuard.cpp
push eax
push 0x2710
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 6
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
cmp dword [ebp - 0x1c], esi
jb 0x424b05
mov eax, dword [ebp - 0x30]
push eax
call fcn.00546771
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.00406750
lea ecx, [ebp - 0x8c]
push ecx
mov dword [ebp - 0x8c], vtable.std::ios_base.0
call fcn.0054517b
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x424b77
xor edx, edx
push 0x14
mov eax, str.02_Auto_Guard_Window
lea esi, [ebp - 0x34]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], dx
call fcn.00406bf0
mov dword [ebp - 4], 9
xor eax, eax
mov word [ebp + 0xbc], ax
push 8
mov eax, str.HP_GUARD
lea esi, [ebp + 0xb8]
mov dword [ebp + 0xd0], edi
mov dword [ebp + 0xcc], ebx
call fcn.00406bf0
mov byte [ebp - 4], 0xa
xor ecx, ecx
push 0x14
mov eax, str.01_Auto_Guard_Silent
lea esi, [ebp - 0x58]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x54], cx
call fcn.00406bf0
mov edx, dword [ebp - 0x18]
push edx
mov eax, esi
push eax
lea edx, [ebp - 0x34]
lea ecx, [ebp + 0xb8]
mov byte [ebp - 4], 0xb
call fcn.00432f50
mov esi, 8
add esp, 8
cmp dword [ebp - 0x40], esi
jb 0x424c11
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.00546771
add esp, 4
xor edx, edx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x54], dx
cmp dword [ebp + 0xd0], esi
jb 0x424c34
mov eax, dword [ebp + 0xbc]
push eax
call fcn.00546771
add esp, 4
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 0xd0], edi
mov dword [ebp + 0xcc], ebx
mov word [ebp + 0xbc], cx
cmp dword [ebp - 0x1c], esi
jb 0x424c61
mov edx, dword [ebp - 0x30]
push edx
call fcn.00546771
add esp, 4
mov ecx, dword [0x6035e0]
cmp dword [0x6035f4], esi
jae 0x424c74
mov ecx, 0x6035e0
lea eax, [ebp]
push str.Guard_UI_Homepage_UrlPage
push eax
call fcn.004648cb
add esp, 8
mov dword [ebp - 4], 0xc
mov ecx, dword [0x6035e0]
cmp dword [0x6035f4], esi
jae 0x424c9f
mov ecx, 0x6035e0
lea edx, [ebp + 0x1c]
push str.Guard_UI_Homepage_LocalUrlPage
push edx
call fcn.004648cb
push 0x603614
lea ecx, [ebp]
mov byte [ebp - 4], 0xd
call fcn.00468b4b
push 0x603614
lea ecx, [ebp + 0x1c]
call fcn.00468b4b
add esp, 0x10
lea esi, [ebp]
call fcn.0046bef7
lea esi, [ebp + 0x1c]
call fcn.0046bef7
mov esi, vtable.CGenericWindowHelperThread.0
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x5c], ebx
mov word [ebp + 0x4c], ax
mov dword [ebp + 0x7c], edi
mov dword [ebp + 0x78], ebx
mov word [ebp + 0x68], cx
mov dword [ebp + 0x98], edi
mov dword [ebp + 0x94], ebx
mov word [ebp + 0x84], dx
mov dword [ebp + 0x9c], ebx
mov dword [ebp + 0xa8], ebx
mov dword [ebp + 0xac], ebx
mov dword [ebp + 0xb0], ebx
mov dword [ebp + 0xa0], ebx
mov dword [ebp + 0xa4], ebx
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
push ebx
mov eax, 0x603614
lea ecx, [ebp + 0x48]
mov dword [ebp + 0xb4], 1
call fcn.00406f00
push 0xffffffffffffffff
push ebx
lea eax, [ebp]
lea ecx, [ebp + 0x64]
call fcn.00406f00
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x1c]
lea ecx, [ebp + 0x80]
call fcn.00406f00
push ebx
push ebx
push 1
push ebx
mov dword [ebp + 0x9c], ebx
mov dword [ebp + 0xa8], 0x1388
mov dword [ebp + 0xac], ebx
mov dword [ebp + 0xb0], ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x40]
push eax
push ebx
lea ecx, [ebp + 0x38]
push ecx
push 0x46e0b2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
push 0xffffffffffffffff
mov dword [ebp + 0x3c], eax
setne byte [ebp - 0x11]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x18]
push edx
call fcn.00424eb0
mov dword [ebp + 0x38], esi
mov esi, 8
cmp dword [ebp + 0x98], esi
jb 0x424df4
mov eax, dword [ebp + 0x84]
push eax
call fcn.00546771
add esp, 4
xor ecx, ecx
mov dword [ebp + 0x98], edi
mov dword [ebp + 0x94], ebx
mov word [ebp + 0x84], cx
cmp dword [ebp + 0x7c], esi
jb 0x424e1a
mov edx, dword [ebp + 0x68]
push edx
call fcn.00546771
add esp, 4
xor eax, eax
mov dword [ebp + 0x7c], edi
mov dword [ebp + 0x78], ebx
mov word [ebp + 0x68], ax
cmp dword [ebp + 0x60], esi
jb 0x424e37
mov ecx, dword [ebp + 0x4c]
push ecx
call fcn.00546771
add esp, 4
xor edx, edx
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x5c], ebx
mov word [ebp + 0x4c], dx
mov dword [ebp + 0x38], vtable.CThread.0
cmp dword [ebp + 0x34], esi
jb 0x424e5b
mov eax, dword [ebp + 0x20]
push eax
call fcn.00546771
add esp, 4
xor ecx, ecx
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x30], ebx
mov word [ebp + 0x20], cx
cmp dword [ebp + 0x18], esi
jb 0x424e78
mov edx, dword [ebp + 4]
push edx
call fcn.00546771
add esp, 4
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xd4]
xor ecx, ebp
call fcn.0054677c
add ebp, 0xd8
mov esp, ebp
pop ebp
ret 4