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

Disassembly:
push 0xffffffffffffffff
push 0x10065e48
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x100a501c]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a501c]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 4], 0xff
mov dword [esi + 8], 0xef000000
mov dword [esi + 0xc], ebx
mov dword [esp + 0x18], esi
mov dword [esi + 0x10], ebx
mov dword [esp + 0x88], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov byte [esp + 0x88], 3
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov byte [esi + 0x3c], bl
mov dword [esi + 0x40], ebx
mov byte [esi + 0x74], bl
mov byte [esi + 0x75], bl
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov byte [esi + 0x88], bl
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xe8], ebx
push 0x18
mov dword [esi + 0xec], 0x1000
mov byte [esi + 0xf0], 1
mov byte [esi + 0xf1], bl
mov byte [esi + 0xf2], bl
mov byte [esi + 0xf3], 1
mov dword [esi + 0xf4], ebx
mov byte [esi + 0xf8], bl
mov byte [esi + 0xf9], bl
mov byte [esi + 0xfa], bl
mov byte [esi + 0xfb], 1
mov byte [esi + 0xfc], bl
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 4
cmp eax, ebx
je 0x1002a7a3
push eax
call fcn.100184c0
jmp 0x1002a7a5
xor eax, eax
mov dword [esi + 0x100], eax
push 0x18
mov byte [esp + 0x8c], 5
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 6
cmp eax, ebx
je 0x1002a7d5
push eax
call fcn.100184c0
jmp 0x1002a7d7
xor eax, eax
mov dword [esi + 0x104], eax
push 0x18
mov byte [esp + 0x8c], 7
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 8
cmp eax, ebx
je 0x1002a807
push eax
call fcn.100184c0
jmp 0x1002a809
xor eax, eax
mov dword [esi + 0x108], eax
push 0x18
mov byte [esp + 0x8c], 9
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0xa
cmp eax, ebx
je 0x1002a839
push eax
call fcn.100184c0
jmp 0x1002a83b
xor eax, eax
mov dword [esi + 0x10c], eax
push 0x18
mov byte [esp + 0x8c], 0xb
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0xc
cmp eax, ebx
je 0x1002a86b
push eax
call fcn.100184c0
jmp 0x1002a86d
xor eax, eax
mov dword [esi + 0x110], eax
push 0x18
mov byte [esp + 0x8c], 0xd
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0xe
cmp eax, ebx
je 0x1002a89d
push eax
call fcn.100184c0
jmp 0x1002a89f
xor eax, eax
mov dword [esi + 0x114], eax
push 0x18
mov byte [esp + 0x8c], 0xf
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0x10
cmp eax, ebx
je 0x1002a8cf
push eax
call fcn.100184c0
jmp 0x1002a8d1
xor eax, eax
mov dword [esi + 0x118], eax
push 0x18
mov byte [esp + 0x8c], 0x11
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0x12
cmp eax, ebx
je 0x1002a901
push eax
call fcn.100184c0
jmp 0x1002a903
xor eax, eax
mov dword [esi + 0x11c], eax
mov ebp, 0x53
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x88], 0x13
mov dword [esi + 0x128], ebx
mov dword [esi + 0x124], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x120], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x88], 0x14
mov dword [esi + 0x134], ebx
mov dword [esi + 0x130], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x12c], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [esi + 0x158]
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], 0xffa7a6aa
mov dword [esi + 0x140], 0xff000000
mov dword [esi + 0x144], 0xff0000ff
mov dword [esi + 0x148], 0xffd3215f
mov dword [esi + 0x14c], 0xffbae4ff
xor ecx, ecx
mov dword [esi + 0x154], eax
mov word [eax], cx
push 0x18
mov byte [esp + 0x8c], 0x16
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0x17
cmp eax, ebx
je 0x1002aa09
push eax
call fcn.100184c0
jmp 0x1002aa0b
xor eax, eax
mov dword [esi + 0x21c], eax
push 0xc
mov byte [esp + 0x8c], 0x18
call sub.gdiplus.dll_GdipAlloc
mov edi, eax
cmp edi, ebx
je 0x1002aa3c
lea eax, [edi + 4]
push eax
mov dword [edi], vtable.Gdiplus::PrivateFontCollection.0
mov dword [eax], ebx
call sub.gdiplus.dll_GdipNewPrivateFontCollection
mov dword [edi + 8], eax
jmp 0x1002aa3e
xor edi, edi
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov dword [esi + 0x220], edi
mov dword [esi + 0x22c], ebx
mov dword [esi + 0x228], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x224], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x88], 0x19
mov dword [esi + 0x238], ebx
mov dword [esi + 0x234], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x230], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x88], 0x1a
mov dword [esi + 0x244], ebx
mov dword [esi + 0x240], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x23c], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x88], 0x1b
mov dword [esi + 0x250], ebx
mov dword [esi + 0x24c], ebp
neg ecx
or ecx, eax
push ecx
call fcn.10062a58
add esp, 4
push 0x14c
push ebx
push eax
mov dword [esi + 0x248], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
mov byte [esp + 0x88], 0x1c
push 0x18
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x88], 0x1d
cmp eax, ebx
je 0x1002ab76
push eax
call fcn.100184c0
jmp 0x1002ab78
xor eax, eax
mov dword [esi + 0x254], eax
mov byte [esp + 0x88], 0x1e
cmp dword [0x100a5e0c], ebx
jne 0x1002aba3
push ebx
push 0x1002a620
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EnumFontFamiliesW]
push 0x58
lea eax, [esp + 0x24]
push ebx
push eax
mov dword [esp + 0x28], ebx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
push 0x5c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov edx, dword [sym.DTLUI.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrDefaultFontName]
push 1
push edx
mov ecx, sym.DTLUI.dll_class_DuiLib::CStdStringPtrMap_DuiLib::CPaintManagerUI::m_mapSystemFont
mov byte [esp + 0x3b], 1
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdStringPtrMap::Find_wchar_t_const___bool_const
test eax, eax
je 0x1002abff
mov eax, dword [sym.DTLUI.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrDefaultFontName]
push eax
lea ecx, [esp + 0x3c]
push 0x20
push ecx
call dword [sym.imp.MSVCR90.dll_wcscpy_s]
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [esi + 0x150], eax
or edi, 0xffffffff
push edi
lea eax, [esp + 0x3c]
push eax
lea ecx, [esi + 0x154]
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Assign_wchar_t_const___int_
mov ecx, dword [esp + 0x1c]
neg ecx
cmp dword [esp + 0x2c], 0x2bc
push 0x3c
setge dl
cmp byte [esp + 0x35], 1
mov byte [esi + 0x1dc], dl
sete al
cmp byte [esp + 0x34], 1
mov dword [esi + 0x1d8], ecx
lea edx, [esi + 0x1e0]
sete cl
push ebx
push edx
mov byte [esi + 0x1dd], al
mov byte [esi + 0x1de], cl
call sub.MSVCR90.dll_memset
add esp, 0xc
cmp dword [sym.DTLUI.dll_class_DuiLib::gdi::CPenT_1__DuiLib::CPaintManagerUI::m_hUpdateRectPen], ebx
jne 0x1002ac90
push 0xdc
push 1
push ebx
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [sym.DTLUI.dll_class_DuiLib::gdi::CPenT_1__DuiLib::CPaintManagerUI::m_hUpdateRectPen], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xa8], edi
mov dword [esi + 0xa4], edi
mov eax, esi
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10062a76
add esp, 0x78
ret