Function at 0x406ed0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5021c7
mov eax, dword fs:[0]
push eax
sub esp, 0x340
mov eax, dword [0x5473d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x34c], esp
mov dword [eax + 0x24], 0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x348], 0x6c0063
mov dword [ebp - 0x344], 0x630069
mov dword [ebp - 0x340], 0x5f006b
mov dword [ebp - 0x33c], 0x6f0063
mov dword [ebp - 0x338], 0x74006e
mov dword [ebp - 0x334], 0x6e0069
mov dword [ebp - 0x330], 0x650075
mov word [ebp - 0x32c], ax
call fcn.00405dc0
push eax
push 0xe
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x328]
call fcn.00404e60
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x328]
push 0
push 0
push 1
push 0
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00494ba0
or ebx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x406fc6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push 0x314
lea eax, [ebp - 0x324]
push 0
push eax
call fcn.004c5380
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.00407960
mov dword [ebp - 0x324], 0x531e70
mov dword [ebp - method.DuiLib::WindowImplBase.1.virtual_0], 0x531e68
mov dword [ebp - fcn.00424b50], 0x531e60
mov dword [ebp - method.DuiLib::WindowImplBase.3.virtual_0], 0x531e58
mov dword [ebp - method.DuiLib::CTxtWinHost.virtual_88], 0x531e50
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push SysReAllocString
push 0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x324]
push dword [edi + 4]
call fcn.00425520
lea ecx, [ebp - 0x324]
call fcn.004253a0
mov edx, dword [edi + 4]
mov ecx, eax
call fcn.00416180
push 0x15
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push eax
push 0
lea ecx, [ebp - 0x324]
call fcn.004253a0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
lea ecx, [ebp - 0x324]
call fcn.00425bc0
cmp eax, 6
jne 0x407156
mov esi, dword [edi + 0x320]
mov edi, dword [edi + 4]
call fcn.00407430
push esi
lea ecx, [eax + 4]
push ecx
mov ecx, dword [eax]
push edi
call fcn.0040ced0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x34c], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x340], 0x6c0063
mov dword [ebp - 0x33c], 0x630069
mov dword [ebp - 0x338], 0x5f006b
mov dword [ebp - 0x334], 0x750073
mov dword [ebp - 0x330], 0x650072
mov word [ebp - 0x32c], ax
call fcn.00405dc0
push eax
push 0xa
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x328]
call fcn.00404e60
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x328]
push 0
push 0
push 1
push 0
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00494ba0
mov byte [ebp - 4], 3
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40715f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40715f
push 1
mov ecx, edi
call fcn.004254f0
lea ecx, [ebp - 0x2f4]
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.DuiLib::WindowImplBase.0
mov dword [ebp - method.DuiLib::WindowImplBase.1.virtual_0], vtable.DuiLib::WindowImplBase.1.0
mov dword [ebp - fcn.00424b50], vtable.DuiLib::WindowImplBase.2.0
mov dword [ebp - method.DuiLib::WindowImplBase.3.virtual_0], vtable.DuiLib::WindowImplBase.3.0
mov dword [ebp - method.DuiLib::CTxtWinHost.virtual_88], vtable.DuiLib::WindowImplBase.4.0
call fcn.0041dc90
lea ecx, [ebp - 0x30c]
call fcn.004261c0
lea ecx, [ebp - 0x324]
call fcn.00425360
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00499723
mov esp, ebp
pop ebp
ret