Function at 0x43d2f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5c9e21
mov eax, dword fs:[0]
push eax
sub esp, 0x420
push ebx
push ebp
push esi
push edi
mov eax, dword [0x62f570]
xor eax, esp
push eax
lea eax, [esp + 0x434]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x444]
mov esi, dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::FindChildByName_wchar_t_const___int_]
push 0xffffffffffffffff
lea edi, [ebp + 4]
push 0x5e1abc
mov ecx, edi
call esi
lea ecx, [esp + 0x5c]
push ecx
mov ecx, eax
call dword [sym.imp.soui.dll_public:_class_SOUI::CRect___thiscall_SOUI::SWindow::GetWindowRect_void_]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x248]
push ecx
push edx
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_ClientToScreen]
lea ecx, [esp + 0x74]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SMenuEx::constructor_void_]
xor ebx, ebx
mov dword [esp + 0x43c], ebx
mov eax, 0x5e1b38
mov ecx, edi
mov dword [ebp + 0x588], ebx
call fcn.0044fa50
cmp eax, ebx
je 0x43d68b
cmp dword [eax + 0x174], ebx
jne 0x43d675
mov eax, dword [ebp + 0x248]
push eax
push str.SMENU:XML_MENUEX_SHOW_TYPE
lea ecx, [esp + 0x7c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SMenuEx::LoadMenuW_wchar_t_const___struct_HWND____]
push 1
lea ecx, [esp + 0x78]
call dword [sym.imp.soui.dll_public:_class_SOUI::SMenuExItem____thiscall_SOUI::SMenuEx::GetMenuItem_int_]
mov edi, eax
push 0xffffffffffffffff
push 0x5e28a4
mov ecx, edi
mov dword [esp + 0x38], edi
call esi
push 0xffffffffffffffff
push 0x5e28c4
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x5e28e4
mov ecx, edi
mov dword [esp + 0x40], eax
call esi
call fcn.0053a8e1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x43d407
push 0x80004005
call fcn.004015b0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x440], 1
call fcn.0041b720
lea ebx, [ebp + 0x4c8]
lea edx, [esp + 0x3c]
mov byte [esp + 0x43c], 2
cmp edx, ebx
je 0x43d464
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
push eax
push ecx
push edx
push ecx
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x50]
call fcn.0041b980
lea eax, [esp + 0x3c]
call fcn.0041bab0
mov ecx, dword [esp + 0x54]
mov edi, dword [ecx]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0x54]
test ebx, ebx
je 0x43d484
cmp ebx, dword [esp + 0x3c]
je 0x43d489
call fcn.005807d8
cmp edi, esi
je 0x43d59d
test ebx, ebx
jne 0x43d584
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x43d4aa
call fcn.005807d8
mov eax, dword [edi + 0x14]
xor ecx, ecx
nop
mov edx, 1
shl edx, cl
test eax, edx
jne 0x43d58b
inc ecx
cmp ecx, 0x20
jl 0x43d4b0
or esi, 0xffffffff
test ebx, ebx
jne 0x43d592
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x43d4e1
call fcn.005807d8
mov eax, dword [edi + 0x14]
push eax
lea ecx, [esp + 0x38]
push ecx
lea eax, [ebp + 0x4c4]
call fcn.00416840
mov byte [esp + 0x43c], 3
mov edx, dword [eax]
push edx
lea eax, [esi + 0xf00000]
push eax
push esi
lea ecx, [esp + 0x20]
push str._check_skin_skin_btn_checks_png__name_check_show_type__d__id__d__pos_5__5__class_check_normal___s__check_
push ecx
call fcn.0040bc50
add esp, 0x14
lea ecx, [esp + 0x34]
mov byte [esp + 0x43c], 2
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
push edx
call dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::CreateChildren_wchar_t_const__]
mov esi, eax
test ebx, ebx
jne 0x43d599
call fcn.005807d8
cmp edi, dword [ebx + 0x18]
jne 0x43d550
call fcn.005807d8
mov eax, dword [ebp + 0x554]
and eax, dword [edi + 0x14]
mov ecx, esi
push eax
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetCheck_int_]
push 0
push 1
mov ecx, esi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
lea esi, [esp + 0x28]
call fcn.00421480
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
jmp 0x43d476
mov eax, dword [ebx]
jmp 0x43d4a0
mov esi, ecx
jmp 0x43d4c8
mov eax, dword [ebx]
jmp 0x43d4d7
mov ebx, dword [ebx]
jmp 0x43d546
mov eax, dword [esp + 0x58]
lea ecx, [eax + eax*4]
lea edx, [ecx*4 + 0x69]
push edx
lea eax, [esp + 0x18]
push 0x5df904
push eax
call fcn.0040bc50
mov edi, dword [esp + 0x20]
add esp, 0xc
push edi
lea ecx, [esp + 0x1c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov bl, 4
push str.height
lea ecx, [esp + 0x20]
mov byte [esp + 0x440], bl
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov esi, dword [esp + 0x30]
push 0
lea eax, [esp + 0x1c]
mov byte [esp + 0x440], 5
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x43c], bl
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [esp + 0x18]
mov byte [esp + 0x43c], 2
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov ecx, esi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::RequestRelayout_void_]
lea esi, [esp + 0x3c]
mov byte [esp + 0x43c], 6
call fcn.0041bb90
mov eax, dword [esp + 0x3c]
push eax
call fcn.0053a859
lea eax, [edi - 0x10]
add esp, 4
mov byte [esp + 0x43c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d68b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43d68b
mov ecx, dword [ebp + 0x248]
push ecx
push str.SMENU:XML_MENUEX_SHOW_TYPE_NO_CLASS
lea ecx, [esp + 0x7c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SMenuEx::LoadMenuW_wchar_t_const___struct_HWND____]
mov edx, dword [ebp + 0x248]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0x554]
push 0x64
push edx
push eax
push ecx
push 0
lea ecx, [esp + 0x88]
call dword [sym.imp.soui.dll_public:_unsigned_int___thiscall_SOUI::SMenuEx::TrackPopupMenu_unsigned_int__int__int__struct_HWND_____int_]
mov dword [ebp + 0x3b4], 0
cmp esi, dword [ebp + 0x554]
je 0x43d6cc
mov ecx, ebp
call fcn.0043a630
lea ecx, [esp + 0x74]
mov dword [esp + 0x43c], 0xffffffff
call dword [sym.imp.soui.dll_public_virtual:_void___thiscall_SOUI::SMenuEx::destructor_void_]
mov ecx, dword [esp + 0x434]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret 4