Function at 0x4db540
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x632c62
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x6e4770]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x70], esi
lea ecx, [esi + 0x98]
mov dword [ebp - 0x74], esi
mov dword [esi], 0
mov dword [esi + 4], 0xff
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov byte [esi + 0x30], 0
mov dword [esi + 0x4c], 0
mov word [esi + 0x90], 0
mov dword [esi + 0x94], 0
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CShadowUI::constructor_void_
lea ecx, [esi + 0x170]
mov dword [ebp - 4], 0
mov byte [esi + 0x164], 0
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CDuiTrayIcon::constructor_void_
lea edi, [esi + 0x5a8]
mov byte [ebp - 4], 1
mov ecx, edi
mov dword [esi + 0x53c], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x548], 0
mov dword [esi + 0x54c], 0
mov dword [esi + 0x598], 0x1000
mov dword [esi + 0x59c], 0x1000001
mov dword [esi + 0x5a0], 0
mov byte [esi + 0x5a4], 0
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CDuiString::constructor_void_
push 0
lea ecx, [esi + 0x62c]
mov byte [ebp - 4], 2
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x638]
mov byte [ebp - 4], 3
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x644]
mov byte [ebp - 4], 4
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x650]
mov byte [ebp - 4], 5
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x65c]
mov byte [ebp - 4], 6
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x668]
mov byte [ebp - 4], 7
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x674]
mov byte [ebp - 4], 8
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x680]
mov byte [ebp - 4], 9
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
push 0
lea ecx, [esi + 0x68c]
mov byte [ebp - 4], 0xa
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
mov byte [ebp - 4], 0xb
push 0x53
lea ecx, [esi + 0x698]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
push 0x53
lea ecx, [esi + 0x6a4]
mov byte [ebp - 4], 0xc
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
add esi, 0x6b0
mov byte [ebp - 4], 0xd
push 0x53
mov ecx, esi
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov eax, dword [ebp - 0x70]
push 0x53
mov byte [ebp - 4], 0xe
lea ecx, [eax + 0x6c0]
mov dword [eax + 0x6bc], 0
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov ecx, dword [ebp - 0x70]
push 0x53
add ecx, 0x6cc
mov byte [ebp - 4], 0xf
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov ecx, dword [ebp - 0x70]
push 0x53
mov byte [ebp - 4], 0x10
lea ecx, [ecx + 0x6d8]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov eax, dword [ebp - 0x70]
mov byte [ebp - 4], 0x11
lea ecx, [eax + 0x700]
mov dword [eax + 0x6e4], 0
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CDuiString::constructor_void_
mov ecx, dword [ebp - 0x70]
push 0
mov byte [ebp - 4], 0x12
lea ecx, [ecx + 0x7c8]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
mov ecx, dword [ebp - 0x70]
push 0x53
mov byte [ebp - 4], 0x13
lea ecx, [ecx + 0x7d4]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov ecx, dword [ebp - 0x70]
push 0x53
mov byte [ebp - 4], 0x14
lea ecx, [ecx + 0x7e0]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdStringPtrMap::constructor_int_
mov ecx, dword [ebp - 0x70]
push 0
mov byte [ebp - 4], 0x15
lea ecx, [ecx + 0x7ec]
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CStdPtrArray::constructor_int_
mov eax, dword [ebp - 0x70]
mov ecx, edi
mov byte [ebp - 4], 0x16
mov dword [eax + 0x6bc], esi
mov esi, eax
mov dword [esi + 0x6e8], 0xffa7a6aa
mov dword [esi + 0x6ec], 0xff000001
mov dword [esi + 0x6f0], 0xff0000ff
mov dword [esi + 0x6f4], 0xffd3215f
mov dword [esi + 0x6f8], 0xffbae4ff
call sym.WnPicViewer.exe_public:_void___thiscall_UiLib::CDuiString::Empty_void_
push 0x58
lea eax, [ebp - 0x68]
mov dword [ebp - 0x6c], 0
push 0
push eax
call fcn.0052f1e0
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
push 0x5c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, sym.WnPicViewer.exe_class_UiLib::CDuiString_UiLib::CPaintManagerUI::m_pStrDefaultFontName
mov byte [ebp - 0x55], 1
call sym.WnPicViewer.exe_public:_int___thiscall_UiLib::CDuiString::GetLength_void_const
test eax, eax
jle 0x4db872
mov ecx, sym.WnPicViewer.exe_class_UiLib::CDuiString_UiLib::CPaintManagerUI::m_pStrDefaultFontName
call sym.WnPicViewer.exe_public:_wchar_t_const____thiscall_UiLib::CDuiString::operator_wchar_t_const__void_const
push eax
lea eax, [ebp - 0x50]
push 0x20
push eax
call fcn.0053169f
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [esi + 0x6fc], eax
lea ecx, [esi + 0x700]
lea eax, [ebp - 0x50]
push eax
call fcn.004d9fc0
mov eax, dword [ebp - 0x6c]
neg eax
cmp dword [ebp - 0x5c], 0x2bc
mov dword [esi + 0x784], eax
setge al
cmp byte [ebp - 0x57], 1
mov byte [esi + 0x788], al
sete al
cmp byte [ebp - 0x58], 1
mov byte [esi + 0x789], al
sete al
push 0x3c
mov byte [esi + 0x78a], al
lea eax, [esi + 0x78c]
push 0
push eax
call fcn.0052f1e0
add esp, 0xc
cmp dword [0x705474], 0
jne 0x4db907
push 0xdc
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [0x705474], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x10
call fcn.0052d905
add esp, 4
test eax, eax
je 0x4db932
mov dword [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
jmp 0x4db934
xor eax, eax
push 0
push eax
mov dword [esi + 0x16c], eax
lea eax, [esi + 0x168]
push eax
call sub.gdiplus.dll_GdiplusStartup
xorps xmm0, xmm0
mov dword [esi + 0x558], 0
mov dword [esi + 0x55c], 0
lea ecx, [esi + 0x34]
mov dword [esi + 0x560], 0
mov dword [esi + 0x564], 0
mov dword [esi + 0x568], 0
mov dword [esi + 0x56c], 0
mov dword [esi + 0x584], 0
mov dword [esi + 0x580], 0
movdqu xmmword [esi + 0x570], xmm0
push ecx
movdqu xmmword [esi + 0x588], xmm0
movdqu xmmword [esi + 0x80], xmm0
movdqu xmmword [esi + 0x20], xmm0
mov dword [esi + 0x554], 0xffffffff
mov dword [esi + 0x550], 0xffffffff
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052dfa4
mov esp, ebp
pop ebp
ret