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

Disassembly:
push 0xffffffffffffffff
push 0x100669dd
mov eax, dword fs:[0]
push eax
sub esp, 0x5f8
mov eax, dword [0x100a501c]
xor eax, esp
mov dword [esp + 0x5f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a501c]
xor eax, esp
push eax
lea eax, [esp + 0x60c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x630]
mov esi, dword [esp + 0x620]
mov edi, dword [esp + 0x624]
mov ecx, dword [esp + 0x628]
mov edx, dword [esp + 0x634]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x638]
mov dword [esp + 0x60], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x63c]
xor ebp, ebp
mov eax, ebx
and eax, 0x20
mov dword [esp + 0x614], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x68], eax
jne 0x10035fc0
mov dword [esp + 0xa0], 8
cmp ecx, ebp
je 0x100382e0
cmp esi, ebp
je 0x100382e0
push edi
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x100382e0
shr ebx, 0xa
not bl
and bl, 1
push 0xa
lea ecx, [esp + 0x44]
mov byte [esp + 0x22], bl
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CStdPtrArray::constructor_int_
push 0xa
lea ecx, [esp + 0x5c]
mov byte [esp + 0x618], 1
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CStdPtrArray::constructor_int_
push 0xa
lea ecx, [esp + 0x24]
mov byte [esp + 0x618], 2
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CStdPtrArray::constructor_int_
mov edx, dword [esp + 0x61c]
lea ecx, [esp + 0x100]
xor eax, eax
push ecx
push edx
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
call dword [sym.imp.GDI32.dll_GetClipBox]
mov ebp, dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
lea eax, [esp + 0x100]
push eax
call ebp
mov dword [esp + 0xc8], eax
push edi
mov byte [esp + 0x618], 5
call ebp
mov dword [esp + 0xec], eax
test bl, bl
je 0x1003608e
mov ecx, dword [esp + 0x61c]
push 1
push eax
push ecx
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
mov ecx, esi
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
add eax, 0x90
mov ecx, esi
mov dword [esp + 0x30], eax
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov eax, dword [eax]
mov edx, dword [esp + 0x61c]
push eax
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x61c]
push 1
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ebx, dword [esp + 0x62c]
mov ecx, ebx
shr ecx, 8
movzx edx, cl
movzx eax, bl
shl eax, 8
or edx, eax
mov ecx, ebx
shr ecx, 0x10
movzx eax, cl
mov ecx, dword [esp + 0x61c]
shl edx, 8
or edx, eax
push edx
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, esi
call sym.DTLUI.dll_public:_unsigned_long_int___thiscall_DuiLib::CPaintManagerUI::GetDefaultSelectedBkColor_void_const
mov edx, eax
shr edx, 8
movzx ecx, dl
movzx edx, al
shl edx, 8
or ecx, edx
shr eax, 0x10
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
mov ecx, dword [esp + 0x620]
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [esp + 0x63c]
mov ebp, eax
and ebp, 1
mov dword [esp + 0xfc], ebp
jne 0x1003614e
test al, 0xe
je 0x1003623c
test eax, 0x400
jne 0x1003623c
push edi
lea edx, [esp + 0xb0]
push edx
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x63c]
mov edx, dword [esp + 0x18]
or eax, 0x400
push eax
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x624]
push 0
push 0
push ebx
push edx
lea eax, [esp + 0xc4]
push eax
push esi
push ecx
mov dword [esp + 0x94], 0
call sym.DTLUI.dll_public:_static_int___cdecl_DuiLib::CRenderEngine::DrawHtmlText_struct_HDC_____class_DuiLib::CPaintManagerUI___struct_tagRECT___wchar_t_const___unsigned_long_int__struct_tagRECT___class_DuiLib::CDuiString___int___unsigned_int_
add esp, 0x24
cmp dword [esp + 0x68], 0
je 0x100361f1
mov ebx, dword [esp + 0xb4]
test ebp, ebp
mov ebp, dword [esp + 0xac]
je 0x100361de
mov ecx, dword [edi]
mov eax, ebp
sub eax, ebx
sub eax, ecx
add eax, dword [edi + 8]
cdq
sub eax, edx
sar eax, 1
mov edx, ebx
add eax, ecx
sub edx, ebp
add edx, eax
mov dword [edi], eax
mov dword [edi + 8], edx
test byte [esp + 0x63c], 2
je 0x100361f1
mov eax, dword [edi + 8]
sub eax, ebx
add eax, ebp
mov dword [edi], eax
test byte [esp + 0x63c], 4
mov ebp, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb0]
je 0x10036228
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
sub eax, ebp
sub eax, ecx
add eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov ecx, ebp
sub ecx, ebx
add ecx, eax
mov dword [edi + 4], eax
mov dword [edi + 0xc], ecx
test byte [esp + 0x63c], 8
je 0x1003623c
mov edx, dword [edi + 0xc]
sub edx, ebp
add edx, ebx
mov dword [edi + 4], edx
lea eax, [esp + 0x470]
xor ecx, ecx
mov byte [esp + 0x4f], 0
mov dword [esp + 0x46c], eax
mov word [esp + 0x470], cx
mov ebx, dword [esp + 0x80]
mov byte [esp + 0x614], 6
mov edx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa8]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
xor ebp, ebp
mov ecx, dword [esp + 0x6c]
cmp ebp, dword [ecx]
jge 0x100362c9
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push edx
push eax
push ebx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x100362b8
mov eax, dword [esi]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x474]
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Assign_wchar_t_const___int_
mov byte [esp + 0x4f], 1
inc ebp
add ebx, 0x10
add esi, 0x84
cmp byte [esp + 0x4f], 0
je 0x10036285
mov ecx, dword [edi]
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
mov dword [esp + 0x3c], edx
sar ecx, 2
lea edx, [ecx - 1]
mov dword [esp + 0x50], 0
test edx, edx
jl 0x10036300
cmp edx, ecx
jge 0x10036300
push edx
call fcn.100186a0
mov ecx, dword [eax]
jmp 0x10036302
xor ecx, ecx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x10]
add eax, ecx
add eax, dword [edx]
xor esi, esi
xor bl, bl
push 0x18
mov dword [esp + 0x2c], eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], esi
mov byte [esp + 0x23], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x3b], bl
mov byte [esp + 0x2a], bl
mov dword [esp + 0xd8], esi
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x614], 7
cmp eax, esi
je 0x10036369
push eax
call fcn.100184c0
jmp 0x1003636b
xor eax, eax
mov dword [esp + 0xa8], eax
push 0x18
mov byte [esp + 0x618], 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x614], 9
cmp eax, esi
je 0x1003639c
push eax
call fcn.100184c0
jmp 0x1003639e
xor eax, eax
mov dword [esp + 0x9c], eax
push 0x18
mov byte [esp + 0x618], 0xa
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x614], 0xb
cmp eax, esi
je 0x100363cf
push eax
call fcn.100184c0
jmp 0x100363d1
xor eax, eax
mov edi, eax
mov dword [esp + 0x84], edi
mov byte [esp + 0x614], 0xc
mov eax, dword [esp + 0x18]
movzx ebp, word [eax]
mov dword [esp + 0x70], eax
mov byte [esp + 0x5f], 0
mov byte [esp + 0x5d], 0
mov byte [esp + 0x5e], 0
mov dword [esp + 0x74], esi
mov byte [esp + 0x1d], 0
cmp bp, si
je 0x10038079
jmp 0x10036414
mov bl, byte [esp + 0x37]
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx + 8]
mov edi, dword [esp + 0x38]
cmp edi, ecx
jge 0x10037d63
cmp bp, 0xa
je 0x10037d69
cmp byte [esp + 0x1f], 0
jne 0x10037d63
mov dl, byte [esp + 0x27]
test dl, dl
jne 0x10037a43
cmp bp, 0x3c
je 0x10036458
cmp bp, 0x7b
jne 0x10037563
movzx ecx, word [eax + 2]
lea esi, [eax + 2]
cmp cx, 0x61
jb 0x10037563
cmp cx, 0x7a
ja 0x10037563
movzx ecx, word [eax + 4]
cmp cx, 0x20
je 0x1003648d
cmp cx, 0x3e
je 0x1003648d
cmp cx, 0x7d
jne 0x10037563
mov eax, esi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
add ecx, 0xffffff9f
cmp ecx, 0x18
ja case.0x100364a9.100
movzx edx, byte [ecx + 0x10038340]
jmp dword [edx*4 + 0x1003830c]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
add eax, 2
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jbe 0x100364da
cmp cx, 0x20
ja 0x100364da
push eax
call ebx
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x100364c5
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x6c]
cmp esi, dword [eax]
jge 0x10036552
cmp byte [esp + 0x1d], 0
jne 0x10036552
imul esi, esi, 0x84
add esi, dword [esp + 0x90]
mov ecx, esi
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Empty_void_
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
test cx, cx
je 0x10036552
lea ecx, [ecx]
cmp cx, 0x3e
je 0x10036552
cmp cx, 0x7d
je 0x10036552
push eax
call ebx
mov edi, eax
mov eax, dword [esp + 0x18]
cmp eax, edi
jae 0x1003654a
lea esp, [esp]
movzx ecx, word [eax]
add eax, 2
push ecx
mov ecx, esi
mov dword [esp + 0x1c], eax
call sym.DTLUI.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_
mov eax, dword [esp + 0x18]
cmp eax, edi
jb 0x10036530
movzx ecx, word [eax]
test cx, cx
jne 0x10036510
mov ebp, dword [esp + 0x60]
mov ecx, ebp
call sym.DTLUI.dll_public:_unsigned_long_int___thiscall_DuiLib::CPaintManagerUI::GetDefaultLinkFontColor_void_const
cmp byte [esp + 0x4f], 0
mov ebx, eax
je 0x1003659b
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
cmp eax, dword [ecx]
jge 0x1003659b
imul eax, eax, 0x84
add eax, dword [esp + 0x90]
lea ecx, [esp + 0x46c]
mov eax, dword [eax]
push eax
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CDuiString::operator_wchar_t_const__const
test al, al
je 0x1003659b
mov ecx, ebp
call sym.DTLUI.dll_public:_unsigned_long_int___thiscall_DuiLib::CPaintManagerUI::GetDefaultLinkHoverFontColor_void_const
mov ebx, eax
mov edi, dword [esp + 0x58]
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x30], ebx
call fcn.10018740
mov eax, ebx
shr eax, 8
movzx edx, bl
movzx ecx, al
shl edx, 8
or ecx, edx
shr ebx, 0x10
movzx eax, bl
shl ecx, 8
or ecx, eax
push ecx
mov ecx, dword [esp + 0x620]
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, ebp
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
sar eax, 2
test eax, eax
jle 0x100365fe
dec eax
push eax
lea ecx, [esp + 0x44]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
cmp byte [esi + 0x8d], 0
jne 0x100366cc
movzx edx, byte [esi + 0x8e]
movzx ecx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push edx
mov edx, dword [esi + 0x88]
push 0
push ecx
push edx
push eax
mov ecx, ebp
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_wchar_t_const___int__bool__bool__bool_
test eax, eax
jne 0x10036659
movzx ecx, byte [esi + 0x8e]
movzx edx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push 0
push ecx
mov ecx, dword [esi + 0x88]
push 0
push edx
push ecx
push eax
mov ecx, ebp
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::AddFont_wchar_t_const___int__bool__bool__bool__bool_
push eax
mov ecx, ebp
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_struct_HFONT____
lea edx, [esp + 0x2c]
mov esi, eax
push edx
mov dword [esp + 0x30], esi
call fcn.10018740
mov eax, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push eax
mov dword [esp + 0x38], edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
cmp dword [esp + 0x28], eax
jg 0x100366cc
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov byte [esp + 0x37], 1
jmp 0x10037310
mov ebx, dword [esp + 0x60]
add eax, 2
mov ecx, ebx
mov dword [esp + 0x18], eax
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
sar eax, 2
test eax, eax
jle 0x1003671e
dec eax
push eax
lea ecx, [esp + 0x44]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
cmp byte [esi + 0x8c], 0
jne 0x10037310
movzx ecx, byte [esi + 0x8e]
movzx edx, byte [esi + 0x8d]
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esi + 0x88]
push edx
push 1
push ecx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_wchar_t_const___int__bool__bool__bool_
test eax, eax
jne 0x10036779
movzx edx, byte [esi + 0x8e]
movzx ecx, byte [esi + 0x8d]
mov eax, dword [esi + 4]
push 0
push edx
mov edx, dword [esi + 0x88]
push ecx
push 1
push edx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::AddFont_wchar_t_const___int__bool__bool__bool__bool_
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_struct_HFONT____
mov esi, eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], esi
call fcn.10018740
mov ecx, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push ecx
mov dword [esp + 0x38], edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
cmp dword [esp + 0x28], eax
jg 0x10037310
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
mov dword [esp + 0x28], eax
jmp 0x10037310
add eax, 2
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jbe 0x1003681d
cmp cx, 0x20
ja 0x1003681d
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x10036804
cmp word [eax], 0x23
jne 0x1003682a
add eax, 2
mov dword [esp + 0x18], eax
push 0x10
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.MSVCR90.dll_wcstol]
mov edi, dword [esp + 0x64]
mov ebx, eax
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], ebx
call fcn.10018740
mov ecx, ebx
shr ecx, 8
movzx eax, bl
movzx edx, cl
shl eax, 8
or edx, eax
shr ebx, 0x10
movzx ecx, bl
shl edx, 8
or edx, ecx
push edx
mov edx, dword [esp + 0x620]
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x10037310
mov edi, dword [sym.imp.USER32.dll_CharNextW]
add eax, 2
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jbe 0x100368a8
cmp cx, 0x20
ja 0x100368a8
push eax
call edi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x10036893
mov ebx, dword [sym.imp.MSVCR90.dll_wcstol]
push 0xa
lea ecx, [esp + 0x1c]
push ecx
push eax
mov esi, eax
call ebx
mov ecx, eax
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp esi, eax
je 0x100368fb
push ecx
mov ecx, dword [esp + 0x64]
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_int_
mov edi, dword [esp + 0x40]
lea edx, [esp + 0x2c]
mov esi, eax
push edx
mov dword [esp + 0x30], esi
call fcn.10018740
mov eax, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push eax
jmp 0x100367a2
lea ecx, [esp + 0x360]
xor edx, edx
mov dword [esp + 0x35c], ecx
mov word [esp + 0x360], dx
lea ecx, [esp + 0x140]
mov dword [esp + 0x54], 0xa
mov dword [esp + 0x13c], ecx
mov word [esp + 0x140], dx
mov byte [esp + 0x614], 0xe
movzx ecx, word [eax]
mov byte [esp + 0xd8], dl
mov byte [esp + 0xc4], dl
mov byte [esp + 0xbc], dl
test cx, cx
je 0x1003699c
cmp cx, 0x3e
je 0x1003699c
cmp cx, 0x7d
je 0x1003699c
cmp cx, 0x20
je 0x1003699c
push eax
call edi
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, esi
jae 0x10036994
movzx ecx, word [eax]
add eax, 2
push ecx
lea ecx, [esp + 0x360]
mov dword [esp + 0x1c], eax
call sym.DTLUI.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_
mov eax, dword [esp + 0x18]
cmp eax, esi
jb 0x10036975
movzx ecx, word [eax]
test cx, cx
jne 0x10036956
movzx ecx, word [eax]
test cx, cx
jbe 0x100369b9
cmp cx, 0x20
ja 0x100369b9
push eax
call edi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x100369a4
movzx eax, word [eax]
push eax
call dword [sym.imp.MSVCR90.dll_isdigit]
add esp, 4
test eax, eax
je 0x100369df
mov edx, dword [esp + 0x18]
push 0xa
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
add esp, 0xc
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
test cx, cx
jbe 0x10036a05
jmp 0x100369f0
cmp cx, 0x20
ja 0x10036a05
push eax
call edi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x100369f0
movzx ecx, word [eax]
test cx, cx
je 0x10036a57
lea ecx, [ecx]
cmp cx, 0x3e
je 0x10036a57
cmp cx, 0x7d
je 0x10036a57
push eax
call edi
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, esi
jae 0x10036a4f
lea esp, [esp]
movzx ecx, word [eax]
add eax, 2
push ecx
lea ecx, [esp + 0x140]
mov dword [esp + 0x1c], eax
call sym.DTLUI.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_
mov eax, dword [esp + 0x18]
cmp eax, esi
jb 0x10036a30
movzx ecx, word [eax]
test cx, cx
jne 0x10036a10
mov eax, dword [esp + 0x13c]
push eax
call dword [sym.imp.MSVCR90.dll__wcslwr]
mov ecx, dword [esp + 0x140]
mov esi, dword [sym.imp.MSVCR90.dll_wcsstr]
add esp, 4
push str.bold
push ecx
call esi
mov ecx, dword [esp + 0x144]
add esp, 8
test eax, eax
je 0x10036a99
sub eax, ecx
sar eax, 1
js 0x10036a99
mov byte [esp + 0xd8], 1
push str.underline
push ecx
call esi
mov ecx, dword [esp + 0x144]
add esp, 8
test eax, eax
je 0x10036abd
sub eax, ecx
sar eax, 1
js 0x10036abd
mov byte [esp + 0xc4], 1
push str.italic
push ecx
call esi
add esp, 8
test eax, eax
je 0x10036adf
sub eax, dword [esp + 0x13c]
sar eax, 1
js 0x10036adf
mov byte [esp + 0xbc], 1
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xd8]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x35c]
mov esi, dword [esp + 0x60]
push edi
push ebx
push ebp
push edx
push eax
mov ecx, esi
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_wchar_t_const___int__bool__bool__bool_
test eax, eax
jne 0x10036b2b
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x35c]
push eax
push edi
push ebx
push ebp
push ecx
push edx
mov ecx, esi
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::AddFont_wchar_t_const___int__bool__bool__bool__bool_
push eax
mov ecx, esi
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_struct_HFONT____
mov edi, dword [esp + 0x40]
mov esi, eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], esi
call fcn.10018740
mov ecx, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push ecx
mov dword [esp + 0x38], edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov byte [esp + 0x614], 0xd
mov eax, dword [esp + 0x13c]
lea edx, [esp + 0x140]
cmp eax, edx
je 0x10036b86
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov byte [esp + 0x614], 0xc
mov eax, dword [esp + 0x35c]
lea ecx, [esp + 0x360]
cmp eax, ecx
je 0x100367ac
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
jmp 0x100367ac
lea edx, [eax - 2]
add eax, 2
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x584]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x20], eax
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_wchar_t_const___int_
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
xor ebp, ebp
cmp cx, bp
jbe 0x10036bf9
cmp cx, 0x20
ja 0x10036bf9
push eax
call ebx
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
cmp cx, bp
ja 0x10036be4
lea ecx, [esp + 0x2d8]
xor edx, edx
mov dword [esp + 0x2d4], ecx
mov word [esp + 0x2d8], dx
mov byte [esp + 0x614], 0x10
movzx ecx, word [eax]
cmp cx, bp
je 0x10036c90
cmp cx, 0x3e
je 0x10036c80
cmp cx, 0x7d
je 0x10036c80
cmp cx, 0x20
je 0x10036c80
push eax
call ebx
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, esi
jae 0x10036c78
movzx ecx, word [eax]
add eax, 2
mov word [esp + 0xcc], cx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x18], eax
xor eax, eax
push ecx
lea ecx, [esp + 0x2d8]
mov word [esp + 0xd2], ax
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
mov eax, dword [esp + 0x18]
cmp eax, esi
jb 0x10036c40
movzx ecx, word [eax]
cmp cx, bp
jne 0x10036c21
mov edx, dword [esp + 0x2d4]
cmp word [edx], bp
jne 0x10036d95
mov ebx, dword [esp + 0x60]
mov ecx, ebx
mov dword [esp + 0x54], ebp
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
sar eax, 2
cmp eax, ebp
jle 0x10036cbf
dec eax
push eax
lea ecx, [esp + 0x44]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
cmp byte [esi + 0x8e], 0
jne 0x100372bc
movzx ecx, byte [esi + 0x8d]
movzx edx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push 1
push ecx
mov ecx, dword [esi + 0x88]
push edx
push ecx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_wchar_t_const___int__bool__bool__bool_
cmp eax, ebp
jne 0x10036d19
movzx edx, byte [esi + 0x8d]
movzx ecx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push ebp
push 1
push edx
mov edx, dword [esi + 0x88]
push ecx
push edx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::AddFont_wchar_t_const___int__bool__bool__bool__bool_
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_struct_HFONT____
mov esi, eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], esi
call fcn.10018740
mov ecx, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push ecx
mov dword [esp + 0x38], edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
cmp dword [esp + 0x28], eax
jg 0x100372bc
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
mov dword [esp + 0x28], eax
jmp 0x100372bc
movzx ecx, word [eax]
cmp cx, bp
jbe 0x10036db5
lea ecx, [ecx]
cmp cx, 0x20
ja 0x10036db5
push eax
call ebx
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
cmp cx, bp
ja 0x10036da0
mov edi, dword [sym.imp.MSVCR90.dll_wcstol]
push 0xa
lea edx, [esp + 0x1c]
push edx
push eax
call edi
mov esi, eax
add esp, 0xc
cmp esi, ebp
mov dword [esp + 0x64], eax
jg 0x10036ddb
mov esi, 1
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
cmp cx, bp
jbe 0x10036dfc
cmp cx, 0x20
ja 0x10036dfc
push eax
call ebx
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
cmp cx, bp
ja 0x10036de7
push 0xa
lea ecx, [esp + 0x1c]
push ecx
push eax
call edi
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x2c], eax
jl 0x10036e15
cmp eax, esi
jl 0x10036e19
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x57c]
mov esi, dword [sym.imp.MSVCR90.dll_wcsstr]
push str.file
push edx
call esi
add esp, 8
test eax, eax
jne 0x10036e65
mov eax, dword [esp + 0x57c]
push str.res
push eax
call esi
add esp, 8
test eax, eax
jne 0x10036e65
mov ecx, dword [esp + 0x2d4]
push eax
push eax
push ecx
mov ecx, dword [esp + 0x6c]
call sym.DTLUI.dll_public:_struct_DuiLib::tagTImageInfo_const____thiscall_DuiLib::CPaintManagerUI::GetImageEx_wchar_t_const___wchar_t_const___unsigned_long_int_
mov ebp, eax
jmp 0x10037150
lea edx, [esp + 0x3e8]
xor eax, eax
mov dword [esp + 0x3e4], edx
mov word [esp + 0x3e8], ax
lea ecx, [esp + 0x4f8]
xor edx, edx
mov dword [esp + 0x4f4], ecx
mov word [esp + 0x4f8], dx
mov esi, dword [esp + 0x57c]
lea eax, [esp + 0x250]
xor ecx, ecx
mov dword [esp + 0x24c], eax
mov word [esp + 0x250], cx
lea edx, [esp + 0x1c8]
xor eax, eax
mov dword [esp + 0x1c4], edx
mov word [esp + 0x1c8], ax
mov byte [esp + 0x614], 0x14
cmp word [esi], bp
je 0x100370ad
lea ecx, [ecx]
lea ecx, [esp + 0x24c]
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Empty_void_
lea ecx, [esp + 0x1c4]
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Empty_void_
movzx eax, word [esi]
cmp ax, bp
jbe 0x10036f13
cmp ax, 0x20
ja 0x10036f13
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
cmp ax, bp
ja 0x10036f00
movzx eax, word [esi]
cmp ax, bp
je 0x10036f68
cmp ax, 0x3d
je 0x10036f68
cmp ax, 0x20
jbe 0x10036f68
push esi
call ebx
mov edi, eax
cmp esi, edi
jae 0x10036f60
mov cx, word [esi]
lea eax, [esp + 0xd0]
mov word [esp + 0xd0], cx
xor edx, edx
push eax
lea ecx, [esp + 0x250]
mov word [esp + 0xd6], dx
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
add esi, 2
cmp esi, edi
jb 0x10036f30
movzx eax, word [esi]
cmp ax, bp
jne 0x10036f1b
movzx eax, word [esi]
cmp ax, bp
jbe 0x10036f83
cmp ax, 0x20
ja 0x10036f83
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
cmp ax, bp
ja 0x10036f70
mov cx, word [esi]
add esi, 2
cmp cx, 0x3d
jne 0x100370ad
movzx eax, word [esi]
cmp ax, bp
jbe 0x10036fb3
jmp 0x10036fa0
cmp ax, 0x20
ja 0x10036fb3
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
cmp ax, bp
ja 0x10036fa0
mov dx, word [esi]
add esi, 2
cmp dx, 0x27
jne 0x100370ad
movzx eax, word [esi]
cmp ax, bp
je 0x10037018
cmp ax, 0x27
je 0x10037018
push esi
call ebx
mov edi, eax
cmp esi, edi
jae 0x10037010
lea ebx, [ebx]
mov ax, word [esi]
xor ecx, ecx
lea edx, [esp + 0xc0]
mov word [esp + 0xc2], cx
push edx
lea ecx, [esp + 0x1c8]
mov word [esp + 0xc4], ax
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
add esi, 2
cmp esi, edi
jb 0x10036fe0
movzx eax, word [esi]
cmp ax, bp
jne 0x10036fcb
mov ax, word [esi]
add esi, 2
cmp ax, 0x27
jne 0x100370ad
mov ecx, dword [esp + 0x1c4]
cmp word [ecx], bp
je 0x10037098
push 0x1006fdac
lea ecx, [esp + 0x250]
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CDuiString::operator_wchar_t_const__const
test al, al
jne 0x10037084
push 0x100703ec
lea ecx, [esp + 0x250]
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CDuiString::operator_wchar_t_const__const
test al, al
jne 0x10037084
push str.restype
lea ecx, [esp + 0x250]
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CDuiString::operator_wchar_t_const__const
test al, al
je 0x10037098
lea edx, [esp + 0x1c4]
push edx
lea ecx, [esp + 0x3e8]
jmp 0x10037093
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x4f8]
call fcn.10016680
mov cx, word [esi]
add esi, 2
cmp cx, 0x20
jne 0x100370ad
cmp word [esi], bp
jne 0x10036ee0
mov edx, dword [esp + 0x3e4]
mov eax, dword [esp + 0x4f4]
mov ecx, dword [esp + 0x60]
push 0
push edx
push eax
call sym.DTLUI.dll_public:_struct_DuiLib::tagTImageInfo_const____thiscall_DuiLib::CPaintManagerUI::GetImageEx_wchar_t_const___wchar_t_const___unsigned_long_int_
mov byte [esp + 0x614], 0x13
mov esi, dword [sym.imp.MSVCR90.dll_free]
mov ebp, eax
mov eax, dword [esp + 0x1c4]
lea ecx, [esp + 0x1c8]
cmp eax, ecx
je 0x100370f0
push eax
call esi
add esp, 4
mov byte [esp + 0x614], 0x12
mov eax, dword [esp + 0x24c]
lea edx, [esp + 0x250]
cmp eax, edx
je 0x10037110
push eax
call esi
add esp, 4
mov byte [esp + 0x614], 0x11
mov eax, dword [esp + 0x4f4]
lea ecx, [esp + 0x4f8]
cmp eax, ecx
je 0x10037130
push eax
call esi
add esp, 4
mov byte [esp + 0x614], 0x10
mov eax, dword [esp + 0x3e4]
lea edx, [esp + 0x3e8]
cmp eax, edx
je 0x10037150
push eax
call esi
add esp, 4
xor edi, edi
cmp ebp, edi
je 0x100372b8
mov ecx, dword [esp + 0x64]
cmp ecx, 1
mov ebx, dword [ebp + 4]
mov esi, dword [ebp + 8]
jle 0x10037170
mov eax, ebx
cdq
idiv ecx
mov ebx, eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
lea eax, [ebx + ecx]
cmp eax, dword [edx + 8]
mov dword [esp + 0x64], eax
jle 0x10037198
cmp ecx, dword [edx]
jle 0x10037198
cmp dword [esp + 0x68], edi
jne 0x10037198
mov byte [esp + 0x1f], 1
jmp 0x100372bc
cmp byte [esp + 0x1e], 0
mov dword [esp + 0x54], edi
je 0x10037291
cmp byte [esp + 0x1d], 0
je 0x10037291
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xac], eax
mov eax, ecx
sub eax, esi
cmp esi, ecx
lea edi, [eax + edx]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0xb4], edi
lea edi, [ecx + edx]
mov dword [esp + 0xb8], edi
jge 0x10037205
cdq
sub eax, edx
sar eax, 1
neg eax
add edi, eax
mov dword [esp + 0xb8], edi
sub edi, esi
mov dword [esp + 0xb0], edi
mov ecx, dword [esp + 0x2c]
xor eax, eax
push 1
push eax
mov edx, ecx
push eax
imul edx, ebx
inc ecx
push eax
imul ecx, ebx
mov dword [esp + 0x124], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
movzx eax, byte [ebp + 0x10]
push 0xff
push eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x128], edx
lea ecx, [esp + 0x138]
push ecx
lea edx, [esp + 0x12c]
push edx
mov edx, dword [ebp]
lea eax, [esp + 0xcc]
push eax
mov ecx, eax
mov eax, dword [esp + 0x640]
push ecx
push edx
push eax
mov dword [esp + 0x14c], esi
call sym.DTLUI.dll_public:_static_void___cdecl_DuiLib::CRenderEngine::DrawImage_class_DuiLib::gdi::CDCT_0___struct_HBITMAP_____class_DuiLib::CDuiRect_const___class_DuiLib::CDuiRect_const___class_DuiLib::CDuiRect_const___class_DuiLib::CDuiRect_const___bool__unsigned_char__bool__bool__bool__bool_
mov eax, dword [esp + 0x94]
add esp, 0x30
cmp esi, dword [esp + 0x28]
jle 0x1003729b
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x3c]
add esi, ecx
cmp dword [esp + 0x48], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xa4], esi
jg 0x100372bc
mov dword [esp + 0x48], eax
jmp 0x100372bc
mov dword [esp + 0x54], edi
mov byte [esp + 0x614], 0xf
mov eax, dword [esp + 0x2d4]
lea edx, [esp + 0x2d8]
cmp eax, edx
je 0x100372e0
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov byte [esp + 0x614], 0xc
mov eax, dword [esp + 0x57c]
lea ecx, [esp + 0x580]
cmp eax, ecx
je 0x10037304
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x100379a8
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
test cx, cx
je 0x1003733d
cmp cx, 0x3e
je 0x1003733d
cmp cx, 0x7d
je 0x1003733d
push eax
call esi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jne 0x10037322
push eax
call esi
mov dword [esp + 0x18], eax
jmp 0x10037f17
add eax, 2
cmp dword [esp + 0x68], 0
mov dword [esp + 0x18], eax
jne case.0x100364a9.100
mov byte [esp + 0x1f], 1
jmp case.0x100364a9.100
mov edx, dword [esp + 0x44]
add eax, 2
cmp edi, dword [edx]
mov dword [esp + 0x18], eax
jle 0x10037372
mov byte [esp + 0x1f], 1
movzx ecx, word [eax]
test cx, cx
jbe 0x10037395
mov esi, dword [sym.imp.USER32.dll_CharNextW]
cmp cx, 0x20
ja 0x10037395
push eax
call esi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x10037380
push 0xa
lea ecx, [esp + 0x1c]
push ecx
push eax
call dword [sym.imp.MSVCR90.dll_wcstol]
mov edi, dword [esp + 0x2c]
add esp, 0xc
lea edx, [esp + 0x2c]
mov esi, eax
push edx
mov dword [esp + 0x30], esi
call fcn.10018740
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax]
add ecx, esi
lea eax, [ecx + edx]
cmp dword [esp + 0x28], eax
jg 0x10037310
mov dword [esp + 0x28], eax
jmp 0x10037310
add eax, 2
mov dword [esp + 0x18], eax
mov byte [esp + 0x27], 1
jmp case.0x100364a9.100
add eax, 2
cmp byte [esp + 0x26], 0
mov dword [esp + 0x18], eax
sete cl
cmp byte [esp + 0x1e], 0
mov byte [esp + 0x26], cl
je case.0x100364a9.100
cmp byte [esp + 0x1d], 0
je case.0x100364a9.100
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x61c]
setne al
inc eax
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x10037310
mov ebx, dword [esp + 0x60]
add eax, 2
mov ecx, ebx
mov dword [esp + 0x18], eax
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
sar eax, 2
test eax, eax
jle 0x10037463
dec eax
push eax
lea ecx, [esp + 0x44]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
cmp byte [esi + 0x8d], 0
jne 0x10037310
movzx edx, byte [esi + 0x8e]
movzx ecx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push edx
mov edx, dword [esi + 0x88]
push 1
push ecx
push edx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::GetFont_wchar_t_const___int__bool__bool__bool_
test eax, eax
jne 0x100374be
movzx ecx, byte [esi + 0x8e]
movzx edx, byte [esi + 0x8c]
mov eax, dword [esi + 4]
push 0
push ecx
mov ecx, dword [esi + 0x88]
push 1
push edx
push ecx
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_HFONT______thiscall_DuiLib::CPaintManagerUI::AddFont_wchar_t_const___int__bool__bool__bool__bool_
push eax
mov ecx, ebx
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetFontInfo_struct_HFONT____
jmp 0x100368d5
add eax, 2
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jbe 0x100374f5
mov esi, dword [sym.imp.USER32.dll_CharNextW]
cmp cx, 0x20
ja 0x100374f5
push eax
call esi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x100374e0
push 0xa
lea ecx, [esp + 0x1c]
push ecx
push eax
call dword [sym.imp.MSVCR90.dll_wcstol]
add edi, eax
add esp, 0xc
cmp dword [esp + 0x48], edi
mov dword [esp + 0x38], edi
jg 0x10037310
mov dword [esp + 0x48], edi
jmp 0x10037310
add eax, 2
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jbe 0x10037549
mov edi, edi
cmp cx, 0x20
ja 0x10037549
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
ja 0x10037530
push 0xa
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.MSVCR90.dll_wcstol]
add esp, 0xc
mov dword [esp + 0x28], eax
jmp 0x10037310
cmp bp, 0x3c
je 0x10037573
cmp bp, 0x7b
jne 0x10037868
cmp word [eax + 2], 0x2f
jne 0x10037868
add eax, 4
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
add ecx, 0xffffff9f
cmp ecx, 0x14
ja case.0x1003759b.100
movzx ecx, byte [ecx + 0x10038374]
jmp dword [ecx*4 + 0x1003835c]
mov esi, dword [esp + 0x58]
add eax, 2
mov dword [esp + 0x18], eax
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0xc]
lea ecx, [esp + 0x58]
sar edx, 2
dec edx
push edx
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x62c]
sar ecx, 2
test ecx, ecx
jle 0x100375e0
dec ecx
push ecx
lea ecx, [esp + 0x5c]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
shl ecx, 8
or edx, ecx
mov ecx, dword [esp + 0x61c]
shr eax, 0x10
movzx eax, al
shl edx, 8
or edx, eax
push edx
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x1003782f
mov edx, dword [esp + 0x44]
add eax, 2
cmp edi, dword [edx]
mov dword [esp + 0x18], eax
jle 0x10037623
mov byte [esp + 0x1f], 1
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov edi, dword [esp + 0x30]
jmp 0x10037807
add eax, 2
cmp byte [esp + 0x26], 0
mov dword [esp + 0x18], eax
sete cl
cmp byte [esp + 0x1e], 0
mov byte [esp + 0x26], cl
je case.0x1003759b.100
cmp byte [esp + 0x1d], 0
je case.0x1003759b.100
mov eax, dword [esp + 0x61c]
xor edx, edx
test cl, cl
setne dl
inc edx
push edx
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x1003782f
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
cmp esi, dword [ecx]
jge 0x100376e7
cmp byte [esp + 0x1d], 0
jne 0x100376e2
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x94]
add edx, dword [eax]
mov eax, dword [esp + 0x98]
push edx
push edi
mov edx, esi
push eax
shl edx, 4
add edx, dword [esp + 0x8c]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetRect]
inc esi
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x58]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x58]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x62c]
sar ecx, 2
test ecx, ecx
jle 0x1003771e
dec ecx
push ecx
lea ecx, [esp + 0x5c]
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
shl ecx, 8
or edx, ecx
mov ecx, dword [esp + 0x61c]
shr eax, 0x10
movzx eax, al
shl edx, 8
or edx, eax
push edx
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x37], 0
mov esi, dword [esp + 0x40]
add eax, 2
mov dword [esp + 0x18], eax
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 0xc]
lea ecx, [esp + 0x40]
sar edx, 2
dec edx
push edx
call sym.DTLUI.dll_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x40]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
test esi, esi
jne 0x10037795
mov ecx, dword [esp + 0x60]
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov esi, eax
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x34], 0
je 0x100377d4
cmp byte [esi + 0x8e], 0
jne 0x100377d4
mov edx, dword [esp + 0x61c]
lea ecx, [esp + 0x130]
push ecx
push 0x20
push 0x20
push edx
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
mov eax, dword [esp + 0x138]
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x61c]
lea edi, [esi + 0x90]
mov esi, dword [esi]
push esi
push eax
mov dword [esp + 0x38], edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
cmp dword [esp + 0x28], eax
jg 0x1003782f
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
sar eax, 2
dec eax
push eax
call sym.DTLUI.dll_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
add eax, dword [edi + 0x10]
add eax, dword [edi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
test cx, cx
je 0x1003785c
cmp cx, 0x3e
je 0x1003785c
cmp cx, 0x7d
je 0x1003785c
push eax
call esi
mov dword [esp + 0x18], eax
movzx ecx, word [eax]
test cx, cx
jne 0x10037841
push eax
call esi
mov dword [esp + 0x18], eax
jmp 0x10037f17
cmp bp, 0x3c
jne 0x100378fe
cmp word [eax + 4], 0x3e
jne 0x100378fe
movzx esi, word [eax + 2]
lea ecx, [eax + 2]
cmp si, 0x7b
je 0x10037890
cmp si, 0x7d
jne 0x100378fe
lea edx, [esp + 0xdc]
push edx
xor eax, eax
push 1
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x624]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [esp + 0x1e], 0
je 0x100378f2
cmp byte [esp + 0x1d], 0
je 0x100378f2
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
sub eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
sub eax, dword [edx]
push 1
add eax, dword [esp + 0x40]
add ecx, 2
push ecx
mov ecx, dword [esp + 0x624]
push eax
push edi
push ecx
call dword [sym.imp.GDI32.dll_TextOutW]
add edi, dword [esp + 0xdc]
jmp 0x10037993
cmp bp, 0x7b
jne 0x100379b1
cmp word [eax + 4], 0x7d
jne 0x100379b1
movzx esi, word [eax + 2]
lea ecx, [eax + 2]
cmp si, 0x3c
je 0x1003792a
cmp si, 0x3e
jne 0x100379b1
lea edx, [esp + 0xf4]
push edx
xor eax, eax
push 1
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x624]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [esp + 0x1e], 0
je 0x1003798c
cmp byte [esp + 0x1d], 0
je 0x1003798c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
sub eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
sub eax, dword [edx]
push 1
add eax, dword [esp + 0x40]
add ecx, 2
push ecx
mov ecx, dword [esp + 0x624]
push eax
push edi
push ecx
call dword [sym.imp.GDI32.dll_TextOutW]
add edi, dword [esp + 0xf4]
cmp dword [esp + 0x48], edi
mov dword [esp + 0x38], edi
jg 0x100379a1
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x18]
add eax, 6
mov dword [esp + 0x18], eax
jmp 0x10037f17
cmp bp, 0x20
jne 0x10037a43
lea edx, [esp + 0xe4]
push edx
xor eax, eax
push 1
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x624]
push 0x10070708
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [esp + 0x1e], 0
je 0x10037a1e
cmp byte [esp + 0x1d], 0
je 0x10037a1e
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
sub eax, dword [ecx + 0x10]
push 1
sub eax, dword [ecx]
mov ecx, dword [esp + 0x620]
add eax, dword [esp + 0x40]
push 0x10070708
push eax
push edi
push ecx
call dword [sym.imp.GDI32.dll_TextOutW]
add edi, dword [esp + 0xe4]
cmp dword [esp + 0x48], edi
mov dword [esp + 0x38], edi
jg 0x10037a33
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x18], eax
jmp 0x10037f17
mov ecx, dword [esp + 0x38]
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x64], edi
mov esi, eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
test dl, dl
jne 0x10037a73
cmp word [eax], 0x3c
je 0x10037a79
cmp word [eax], 0x7b
jne 0x10037a83
mov ebp, 1
lea esi, [eax + 2]
mov ebx, ebp
movzx ecx, word [esi]
cmp cx, di
je 0x10037c43
nop
cmp cx, 0xa
je 0x10037c43
cmp byte [esp + 0x27], 0
je 0x10037ad5
cmp cx, 0x3c
je 0x10037aad
cmp cx, 0x7b
jne 0x10037ae9
cmp word [esi + 2], 0x2f
jne 0x10037ae9
cmp word [esi + 4], 0x72
jne 0x10037ae9
movzx ecx, word [esi + 6]
cmp cx, 0x3e
je 0x10037acb
cmp cx, 0x7d
jne 0x10037ae9
mov byte [esp + 0x27], 0
jmp 0x10037c43
cmp cx, 0x3c
je 0x10037c43
cmp cx, 0x7b
je 0x10037c43
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, dword [esp + 0x38]
mov edi, eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
inc ebp
imul eax, ebp
mov edx, edi
sub edx, esi
sar edx, 1
add ebx, edx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx + 8]
sub ecx, dword [esp + 0xa0]
mov dword [esp + 0x88], eax
cmp edx, ecx
jl 0x10037b5e
mov ecx, dword [esp + 0x18]
mov eax, ebx
mov dword [esp + 0x2c], ecx
cmp ebx, 0xffffffff
jne 0x10037b3b
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x61c]
lea edx, [esp + 0x88]
push edx
push eax
mov eax, dword [esp + 0x34]
push eax
push ecx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 8]
sub edx, dword [esp + 0xa0]
cmp ecx, edx
jg 0x10037bc6
movzx eax, word [esi]
cmp ax, 0x61
jb 0x10037b86
cmp ax, 0x7a
jbe 0x10037b9a
cmp ax, 0x41
jb 0x10037b92
cmp ax, 0x5a
jbe 0x10037b9a
mov dword [esp + 0x54], ebp
mov dword [esp + 0x64], ebx
cmp ax, 0x20
jne 0x10037ba8
mov dword [esp + 0x54], ebp
mov dword [esp + 0x64], ebx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
mov eax, dword [esp + 0x18]
test cx, cx
jne 0x10037a90
jmp 0x10037c43
mov edx, dword [esp + 0x38]
cmp edx, dword [eax]
je 0x10037bd5
sub edi, esi
sar edi, 1
dec ebp
sub ebx, edi
mov ecx, dword [esp + 0x63c]
test cl, 0x10
je 0x10037bef
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x10037bef
mov ebx, dword [esp + 0x64]
mov ebp, eax
test ecx, 0x8000
je 0x10037c30
cmp dword [esp + 0x68], 0
je 0x10037c30
test ebp, ebp
jle 0x10037c30
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.USER32.dll_CharPrevW]
push esi
push eax
dec ebp
call edi
test ebp, ebp
jle 0x10037c1d
mov ecx, dword [esp + 0x18]
push eax
push ecx
call edi
mov edx, dword [esp + 0x44]
sub esi, eax
mov eax, dword [edx + 8]
sar esi, 1
sub ebx, esi
mov dword [esp + 0x38], eax
mov edx, eax
cmp dword [esp + 0x48], edx
mov eax, dword [esp + 0x18]
mov byte [esp + 0x1f], 1
jg 0x10037c43
mov dword [esp + 0x48], edx
mov ecx, ebx
mov esi, eax
cmp ebx, 0xffffffff
jne 0x10037c55
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, eax
mov eax, dword [esp + 0x61c]
lea edx, [esp + 0x88]
push edx
push ecx
push esi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [esp + 0x1e], 0
je 0x10037d3a
cmp byte [esp + 0x1d], 0
je 0x10037d3a
cmp dword [esp + 0x68], 0
mov esi, dword [esp + 0x44]
jne 0x10037cc9
cmp dword [esp + 0xfc], 0
je 0x10037caf
mov eax, dword [esi + 8]
sub eax, dword [esp + 0x88]
sub eax, dword [esi]
cdq
sub eax, edx
sar eax, 1
add dword [esp + 0x78], eax
jmp 0x10037cc9
test byte [esp + 0x63c], 2
je 0x10037cc9
mov ecx, dword [esi + 8]
sub ecx, dword [esp + 0x88]
sub ecx, dword [esi]
add dword [esp + 0x78], ecx
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov ecx, edi
sub ecx, dword [eax + 0x10]
push ebx
sub ecx, dword [eax]
push edx
add ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
push ecx
push edx
lea ecx, [esp + 0x62c]
call sym.DTLUI.dll_public:_int___thiscall_DuiLib::gdi::CDCT_1_::TextOutW_int__int__wchar_t_const___int_
mov ebp, dword [esp + 0x38]
cmp ebp, dword [esi + 8]
jl 0x10037d3e
test dword [esp + 0x63c], 0x8000
je 0x10037d3e
cmp dword [esp + 0x68], 0
je 0x10037d3e
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x61c]
push 3
push 0x1007070c
push edi
add eax, ecx
push eax
push edx
call dword [sym.imp.GDI32.dll_TextOutW]
jmp 0x10037d3e
mov ebp, dword [esp + 0x38]
add ebp, dword [esp + 0x88]
cmp dword [esp + 0x48], ebp
mov dword [esp + 0x38], ebp
jg 0x10037d53
mov dword [esp + 0x48], ebp
mov eax, dword [esp + 0x18]
lea eax, [eax + ebx*2]
mov dword [esp + 0x18], eax
jmp 0x10037f17
cmp bp, 0xa
jne 0x10037d70
add eax, 2
mov dword [esp + 0x18], eax
cmp byte [esp + 0x1f], 0
je 0x10037d7c
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x1d], 0
jne 0x10037e40
mov esi, dword [esp + 0x50]
test bl, bl
je 0x10037df4
mov edx, dword [esp + 0x6c]
cmp esi, dword [edx]
jge 0x10037df4
cmp edi, ecx
jge 0x10037d9d
mov ecx, edi
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
add edi, edx
mov edx, dword [esp + 0x94]
push edi
push ecx
mov ecx, dword [esp + 0xa0]
mov eax, esi
shl eax, 4
add eax, dword [esp + 0x88]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [esp + 0x90]
inc esi
mov eax, esi
imul eax, eax, 0x84
add ecx, eax
mov eax, dword [ecx - 0x84]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x58], esi
call sym.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::Assign_wchar_t_const___int_
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xd4]
cmp edi, esi
jge 0x10037e2a
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x80]
add edx, ecx
mov ecx, edi
shl ecx, 4
lea ecx, [ecx + ebx + 0xc]
sub esi, edi
jmp 0x10037e20
mov dword [ecx], edx
add ecx, 0x10
sub esi, 1
jne 0x10037e20
mov cl, byte [esp + 0x1e]
test cl, cl
je 0x10037e67
mov dl, byte [esp + 0x5d]
mov byte [esp + 0x37], dl
mov dword [esp + 0x50], edi
jmp 0x10037e67
test bl, bl
je 0x10037e54
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
cmp edx, dword [ecx]
jge 0x10037e54
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xd4], ecx
mov cl, byte [esp + 0x1e]
mov byte [esp + 0x5d], bl
cmp dword [esp + 0x68], 0
je 0x10037e81
test cl, cl
je 0x10038072
cmp byte [esp + 0x1d], 0
jne 0x10038072
test cl, cl
je 0x10037e91
cmp byte [esp + 0x1d], 0
sete dl
mov byte [esp + 0x1d], dl
cmp byte [esp + 0x1d], 0
mov esi, dword [esp + 0x44]
mov edi, dword [esi]
mov dword [esp + 0x38], edi
jne 0x10037eaa
mov edx, dword [esp + 0x28]
add dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
cmp edx, dword [esi + 0xc]
jle 0x10037ebf
test cl, cl
jne 0x10038072
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov dword [esp + 0x94], edi
sar ecx, 2
lea edx, [ecx - 1]
test edx, edx
jl 0x10037ef9
cmp edx, ecx
jge 0x10037ef9
push edx
mov eax, esi
call fcn.100186a0
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
jmp 0x10037efb
xor edx, edx
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x10]
add ecx, edx
add ecx, dword [esi]
mov edx, dword [esp + 0x44]
cmp edi, dword [edx + 8]
mov dword [esp + 0x28], ecx
jge 0x10038072
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
cmp ecx, dword [edx + 8]
jge 0x10037f32
movzx ecx, word [eax]
cmp cx, 0xa
je 0x10037f32
test cx, cx
jne 0x10037f37
mov byte [esp + 0x1f], 1
cmp byte [esp + 0x1e], 0
je 0x10038066
cmp byte [esp + 0x1f], 0
je 0x10038066
cmp byte [esp + 0x1d], 0
lea ecx, [esp + 0x40]
jne 0x100380c1
lea eax, [esp + 0xa8]
push eax
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x5c]
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
lea edx, [esp + 0x84]
push edx
lea ecx, [esp + 0x24]
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
mov dl, byte [esp + 0x5f]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov bl, byte [esp + 0x5e]
mov dword [esp + 0x74], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x62c]
mov byte [esp + 0x27], dl
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 0x10]
sub eax, dword [edx + 0xc]
mov byte [esp + 0x26], bl
sar eax, 2
test eax, eax
jle 0x10037fdc
lea ecx, [eax - 1]
test ecx, ecx
jl 0x10037fda
cmp ecx, eax
jge 0x10037fda
push ecx
mov eax, edx
call fcn.100186a0
mov ecx, dword [eax]
jmp 0x10037fdc
xor ecx, ecx
mov eax, ecx
shr eax, 8
movzx edx, al
movzx eax, cl
shl eax, 8
or edx, eax
shr ecx, 0x10
movzx ecx, cl
shl edx, 8
or edx, ecx
push edx
mov edx, dword [esp + 0x620]
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
sar ecx, 2
lea edx, [ecx - 1]
test edx, edx
jl 0x1003802a
cmp edx, ecx
jge 0x1003802a
push edx
call fcn.100186a0
mov eax, dword [eax]
test eax, eax
jne 0x10038033
mov ecx, dword [esp + 0x60]
call sym.DTLUI.dll_public:_struct_DuiLib::tagTFontInfo____thiscall_DuiLib::CPaintManagerUI::GetDefaultFontInfo_void_
mov edx, dword [esp + 0x61c]
lea ecx, [eax + 0x90]
mov eax, dword [eax]
push eax
push edx
mov dword [esp + 0x38], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
test bl, bl
je 0x10038062
mov eax, dword [esp + 0x61c]
push 2
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [esp + 0x18]
movzx ebp, word [eax]
test bp, bp
jne 0x10036410
mov edi, dword [esp + 0x84]
test dword [esp + 0x63c], 0x400
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0xa4]
mov dword [ecx], eax
je 0x1003810d
mov edx, dword [esp + 0x3c]
lea eax, [edx + ebp]
cmp ebx, eax
jle 0x100380a8
mov eax, ebx
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
cmp eax, ecx
jl 0x100380bc
mov eax, ecx
mov dword [esi + 8], eax
jmp 0x10038111
push ecx
lea ecx, [esp + 0xac]
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0xa0]
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x88]
call sym.DTLUI.dll_public:_class_DuiLib::CStdPtrArray____thiscall_DuiLib::CStdPtrArray::operator_class_DuiLib::CStdPtrArray_const__
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x26]
mov dl, byte [esp + 0x27]
mov dword [esp + 0x70], eax
mov byte [esp + 0x5e], cl
mov byte [esp + 0x5f], dl
jmp 0x10038066
mov esi, dword [esp + 0x44]
cmp byte [esp + 0x1e], 0
je 0x1003812e
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x61c]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectClipRgn]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0x61c]
push edx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
sub ebp, dword [esi + 4]
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + ebp]
cmp ebx, eax
jg 0x10038154
mov ebx, eax
xor esi, esi
cmp edi, esi
je 0x10038187
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x1003816a
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [edi]
push eax
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x9c]
cmp edi, esi
je 0x100381bf
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x100381a2
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [edi]
push eax
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0xa8]
cmp edi, esi
je 0x100381f7
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x100381da
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [edi]
push eax
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov byte [esp + 0x614], 5
mov eax, dword [esp + 0x46c]
lea edx, [esp + 0x470]
cmp eax, edx
je 0x1003821b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0xec]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
cmp eax, esi
je 0x1003822f
push eax
call edi
mov eax, dword [esp + 0xc8]
cmp eax, esi
je 0x1003823d
push eax
call edi
mov edi, dword [esp + 0x20]
cmp edi, esi
je 0x10038272
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x10038255
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [edi]
push eax
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x58]
cmp edi, esi
je 0x100382a7
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x1003828a
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [edi]
push ecx
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x40]
cmp edi, esi
je 0x100382dc
mov eax, dword [edi + 0xc]
cmp eax, esi
je 0x100382bf
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [edi]
push edx
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, ebx
jmp 0x100382e2
xor eax, eax
mov ecx, dword [esp + 0x60c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5f0]
xor ecx, esp
call fcn.10062a76
add esp, 0x604
ret