Function at 0x4376ee
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x466e3b
call fcn.00461c40
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x14], esi
call fcn.00435486
xor edi, edi
mov dword [esi + 0x18], 0x46d54c
mov dword [ebp - 4], edi
mov dword [esi + 0x1c], 0x46bb14
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0x46d548
mov dword [esi + 0x28], 0x46c050
mov dword [esi + 0x2c], 0x46d520
lea ecx, [esi + 0x34]
mov byte [ebp - 4], 1
mov dword [esi + 0x30], 0x46bb98
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4ThreadSwithHelper::constructor_void_]
mov dword [esi + 0x3c], 0x46d514
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov al, byte [ebp - 0xd]
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], edi
lea ebx, [esi + 0x94]
mov dword [esi + 0x70], edi
push edi
mov dword [esi + 0x74], edi
push edi
mov ecx, ebx
mov byte [ebp - 4], 4
mov byte [ebx], al
call fcn.00420218
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
mov al, byte [ebp - 0xd]
lea ebx, [esi + 0xa0]
push edi
push edi
mov ecx, ebx
mov byte [ebp - 4], 5
mov byte [ebx], al
call fcn.0040307f
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
mov dword [esi + 0xb8], edi
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xbc]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd4]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov ebx, dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::constructor_void_]
lea ecx, [esi + 0xf0]
mov byte [ebp - 4], 9
call ebx
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x104]
call ebx
lea ecx, [esi + 0x138]
mov byte [ebp - 4], 0xb
call fcn.00437e3d
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x224]
push edi
mov byte [ebp - 4], 0xc
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x234]
push edi
mov byte [ebp - 4], 0xd
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x244]
push edi
mov byte [ebp - 4], 0xe
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x26c]
push edi
mov byte [ebp - 4], 0xf
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x27c]
push edi
mov byte [ebp - 4], 0x10
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x28c]
push edi
mov byte [ebp - 4], 0x11
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0x29c]
push edi
mov byte [ebp - 4], 0x12
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0x2b0]
mov dword [esi + 0x2ac], edi
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0x2c0]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [esi + 0x2d0], edi
mov dword [esi + 0x2d4], edi
mov dword [esi + 0x2d8], edi
mov eax, dword [0x47fcf0]
mov dword [esi + 0x2dc], eax
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xc1c]
mov byte [ebp - 4], 0x16
mov byte [ecx], al
push edi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xc3c]
push edi
mov byte [ebp - 4], 0x17
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xc50]
push edi
mov byte [ebp - 4], 0x18
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xcd0]
mov dword [esi + 0xcbc], edi
push edi
mov byte [ebp - 4], 0x19
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xce0]
push edi
mov byte [ebp - 4], 0x1a
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xcf0]
push edi
mov byte [ebp - 4], 0x1b
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd00]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xd10]
push edi
mov byte [ebp - 4], 0x1d
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd24]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
lea ecx, [esi + 0xd38]
mov byte [ebp - 4], 0x1f
call ebx
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xd4c]
push edi
mov byte [ebp - 4], 0x20
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd60]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd70]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xd84]
push edi
mov byte [ebp - 4], 0x23
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov cl, byte [ebp - 0xd]
lea eax, [esi + 0xd9c]
mov byte [eax], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov al, byte [ebp - 0xd]
lea ecx, [esi + 0xdac]
push edi
mov byte [ebp - 4], 0x25
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea ecx, [esi + 0xdbc]
mov byte [ebp - 4], 0x26
call ebx
lea ecx, [esi + 0xdd0]
mov byte [ebp - 4], 0x27
call ebx
mov dword [esi], 0x46d4f4
mov dword [esi + 0x18], 0x46d254
mov dword [esi + 0x1c], 0x46d248
mov dword [esi + 0x24], 0x46d244
lea eax, [esi + 0x30]
mov dword [esi + 0x28], 0x46d234
mov dword [esi + 0x2c], 0x46d20c
mov ebx, esi
mov dword [eax], 0x46d208
mov dword [esi + 0x34], 0x46d200
mov dword [esi + 0x3c], 0x46d1f4
mov dword [esi + 0x78], edi
mov dword [esi + 0x80], edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x88], edi
mov dword [esi + 0x8c], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0x90], edi
mov dword [esi + 0xe4], edi
mov dword [esi + 0xac], edi
mov dword [esi + 0xb0], edi
mov dword [esi + 0xe8], edi
mov dword [esi + 0xec], edi
mov dword [esi + 0x118], edi
mov dword [esi + 0x11c], edi
mov dword [esi + 0x120], edi
or dword [esi + 0x124], 0xffffffff
mov byte [ebp - 4], 0x28
neg ebx
sbb ebx, ebx
mov dword [esi + 0xb4], edi
and ebx, eax
cmp ebx, edi
jne 0x437b1c
lea ecx, [esi + 0xf0]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::Stop_void_]
cmp ebx, edi
mov dword [esi + 0x100], ebx
jne 0x437b32
lea ecx, [esi + 0x104]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::Stop_void_]
mov dword [esi + 0x114], ebx
mov dword [esi + 0x128], 1
mov dword [esi + 0xcc], edi
mov dword [esi + 0x12c], edi
mov dword [esi + 0x130], edi
mov dword [esi + 0x134], edi
mov dword [esi + 0x254], edi
mov dword [esi + 0x258], edi
push 0x4845cc
mov dword [esi + 0x25c], edi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push 0x4845cc
lea ecx, [esi + 0x244]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
mov dword [esi + 0x268], edi
mov dword [esi + 0xd0], edi
push 0x4845cc
mov dword [esi + 0x220], edi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push 0x4845cc
lea ecx, [esi + 0x234]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
push 0x4845cc
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push 0x4845cc
lea ecx, [esi + 0x224]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
mov dword [esi + 0x2e0], edi
mov dword [esi + 0x2e4], edi
mov dword [esi + 0x2e8], edi
mov dword [esi + 0x2ec], edi
mov dword [esi + 0x2f0], edi
mov dword [esi + 0x2f8], edi
mov dword [esi + 0x2fc], edi
mov dword [esi + 0x260], 1
mov dword [esi + 0x264], edi
mov dword [esi + 0x304], edi
mov dword [esi + 0xc14], edi
push 0x4845cc
mov dword [esi + 0xc18], edi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push 0x4845cc
lea ecx, [esi + 0xc1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
push 0x1c
mov dword [esi + 0x2f4], edi
mov dword [esi + 0x30c], edi
mov dword [esi + 0xc2c], 1
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, edi
pop ecx
je 0x437c72
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax], 0x46d1f0
jmp 0x437c74
xor eax, eax
mov dword [esi + 0x308], eax
push 0x904
lea eax, [esi + 0x310]
push edi
push eax
call sub.MSVCRT.dll_memset
push 0x4845cc
mov dword [esi + 0xc34], edi
mov dword [esi + 0xc38], edi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 0x10
lea ecx, [esi + 0xc3c]
push eax
push 0x4845cc
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
push 0xc
mov dword [esi + 0xc4c], edi
mov dword [esi + 0xc60], edi
mov dword [esi + 0xc64], edi
mov dword [esi + 0xc98], edi
mov dword [esi + 0xc9c], edi
mov dword [esi + 0xd20], edi
mov dword [esi + 0xd80], edi
mov dword [esi + 0xd94], edi
mov dword [esi + 0xca0], edi
mov dword [esi + 0xca4], edi
mov dword [esi + 0xca8], edi
mov dword [esi + 0xcac], edi
mov dword [esi + 0xcb4], edi
mov dword [esi + 0xcb0], edi
mov dword [esi + 0xcb8], edi
mov dword [esi + 0xdec], edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, edi
mov byte [ebp - 4], 0x29
je 0x437d35
mov ecx, eax
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CMsgWnd::constructor_void_]
jmp 0x437d37
xor eax, eax
cmp eax, edi
mov byte [ebp - 4], 0x28
mov dword [esi + 0xcc4], eax
je 0x437d65
mov ecx, eax
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CMsgWnd::MSG_Create_void_]
mov ecx, esi
lea eax, [esi + 0x34]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
mov ecx, dword [esi + 0xcc4]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CMsgWnd::SetNotify_struct_IMsgWndNotify__]
push 0x48
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, edi
mov byte [ebp - 4], 0x2a
je 0x437d81
call fcn.0044f11e
jmp 0x437d83
xor eax, eax
cmp eax, edi
mov byte [ebp - 4], 0x28
mov dword [esi + 0xcc0], eax
je 0x437d9e
push dword [esi + 0xcc4]
mov ecx, eax
call fcn.004525d6
push 0x4845cc
mov dword [esi + 0xcc8], 0x5a
mov dword [esi + 0xccc], edi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push 0x4845cc
lea ecx, [esi + 0xce0]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
cmp ebx, edi
mov dword [esi + 0xd34], edi
jne 0x437de2
lea ecx, [esi + 0xd38]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::Stop_void_]
cmp ebx, edi
mov dword [esi + 0xd48], ebx
jne 0x437df8
lea ecx, [esi + 0xdbc]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::Stop_void_]
cmp ebx, edi
mov dword [esi + 0xdcc], ebx
jne 0x437e0e
lea ecx, [esi + 0xdd0]
call dword [sym.imp.Ht4Dll.dll_public:_void___thiscall_CHt4Timer::Stop_void_]
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0xde0], ebx
mov dword [esi + 0xd5c], edi
mov dword [esi + 0xd98], edi
mov dword [esi + 0xde4], edi
mov dword [esi + 0xde8], edi
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret