Function at 0x45d7e0
Capabilities:
Check if file exists
Create thread
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x5e811b
mov eax, dword fs:[0]
push eax
sub esp, 0x498
mov eax, dword [0x704dd8]
xor eax, esp
mov dword [esp + 0x494], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x704dd8]
xor eax, esp
push eax
lea eax, [esp + 0x4ac]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x550]
xor ebx, ebx
push ebx
push eax
push ebx
push ebx
push ecx
mov eax, esp
lea ecx, [esi + 0x554]
mov dword [esp + 0x28], esp
mov dword [eax], str.small_detail_bar.xml
call dword [sym.imp.DuiLib32.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const___class_DuiLib::IDialogBuilderCallback___class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI__]
mov edx, dword [esi + 0x4a0]
lea ecx, [esi + 0x4a0]
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [esi + 0x550]
lea eax, [esi + 0x4f4]
push eax
call dword [sym.imp.DuiLib32.dll_public:_bool___thiscall_DuiLib::CPaintManagerUI::AddNotifier_class_DuiLib::INotifyUI__]
push 8
call fcn.004ca5aa
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x4b4], ebx
cmp eax, ebx
je 0x45d889
mov ecx, eax
call fcn.004585b0
jmp 0x45d88b
xor eax, eax
or ebp, 0xffffffff
push 0x20
mov dword [esp + 0x4b8], ebp
mov dword [esi + 0x9f0], eax
call fcn.004ca5aa
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x4b4], 1
cmp edi, ebx
je 0x45d8cd
lea ecx, [esp + 0x1b]
push ecx
lea edx, [esp + 0x1f]
push edx
mov ecx, edi
call fcn.0043dea0
jmp 0x45d8cf
xor edi, edi
push 0x18
mov dword [esp + 0x4b8], ebp
mov dword [esi + 0xa14], edi
call fcn.004ca5aa
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x4b4], 2
cmp eax, ebx
je 0x45d902
mov ecx, eax
call fcn.00435580
jmp 0x45d904
xor eax, eax
mov dword [esi + 0xa8c], eax
lea eax, [esp + 0x14]
push eax
push ebx
push esi
push 0x456ec0
push ebx
push ebx
mov dword [esp + 0x4cc], ebp
mov dword [esp + 0x2c], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
mov dword [esi + 0x9d8], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004058e0
mov ecx, eax
call fcn.0041b410
mov ecx, esi
call fcn.004599e0
mov ecx, esi
call fcn.0045aad0
push 0xe
call fcn.004088f0
mov ecx, eax
call fcn.004c7380
mov edi, eax
cmp edi, 0x64
jl 0x45d971
cmp edi, 0x1f4
jle 0x45da03
mov edi, 0x130
push edi
push 0xe
call fcn.004088f0
mov ecx, eax
call fcn.004c73a0
call fcn.004088f0
mov ecx, eax
call fcn.004c7400
xor eax, eax
push 1
lea edx, [esp + 0x74]
xor ecx, ecx
push 0x5fd170
push edx
mov word [esp + 0x7c], cx
mov dword [esp + 0x7e], eax
mov dword [esp + 0x82], eax
mov dword [esp + 0x86], eax
mov dword [esp + 0x8a], eax
mov dword [esp + 0x8e], eax
mov dword [esp + 0x92], eax
mov dword [esp + 0x96], eax
mov dword [esp + 0x9a], eax
mov dword [esp + 0x9e], eax
mov word [esp + 0xa2], ax
call fcn.00403b80
lea eax, [esp + 0x7c]
add esp, 0xc
push eax
call fcn.004058e0
mov ecx, eax
call fcn.00421f40
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov ecx, ebp
imul ecx, ecx, 0x64
sub edi, ecx
mov dword [esp + 0x14], edi
call fcn.00409730
mov ecx, eax
call fcn.004a3a40
xor edx, edx
mov ecx, eax
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], dx
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x45da43
sub ecx, edi
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.00401c70
mov dword [esp + 0x4b4], 3
call fcn.00409730
mov ecx, eax
call fcn.004a3a70
xor ecx, ecx
mov word [esp + 0x20], cx
mov ecx, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebx
lea edi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x45da90
sub ecx, edi
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.00401c70
push 0x206
lea eax, [esp + 0x2a6]
xor edx, edx
push ebx
push eax
mov byte [esp + 0x4c0], 4
mov word [esp + 0x2ac], dx
call fcn.004e9ba0
mov eax, dword [esp + 0x2c]
mov edi, 8
add esp, 0xc
cmp dword [esp + 0x34], edi
jae 0x45dae5
lea eax, [esp + 0x20]
push eax
push 0x104
lea ecx, [esp + 0x2a8]
push ecx
push str.____.png
push str.SkinName
push str.SelfSkin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x2a0]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x45db12
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x2a4]
push edx
lea ecx, [esp + 0x5c]
call fcn.00402e80
xor eax, eax
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x58]
mov byte [esp + 0x4b4], 5
cmp dword [esp + 0x6c], edi
jae 0x45db5c
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, dword [sym.imp.DuiLib32.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
test eax, eax
je 0x45db9a
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x44]
call fcn.00401f60
cmp dword [esp + 0x50], 8
mov eax, dword [esp + 0x3c]
jae 0x45db8d
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.0044d7d0
jmp 0x45dc53
mov eax, dword [esp + 0x14]
lea edx, [ebp - 1]
cmp edx, 2
ja 0x45dbd1
push eax
push ebp
lea ecx, [esp + 0xa0]
push str.ChangeSkin288x450h_d_v_d.png
push ecx
call fcn.00403b80
add esp, 0x10
lea edx, [esp + 0x98]
push edx
mov ecx, esi
call fcn.0044d7d0
jmp 0x45dc53
lea ecx, [eax - 1]
cmp ecx, 9
ja 0x45dc07
mov edx, dword [eax*4 + 0x694998]
push edx
lea eax, [esp + 0x9c]
push str.bkcolor__s_
push eax
call fcn.00403b80
add esp, 0xc
lea ecx, [esp + 0x98]
push ecx
mov ecx, esi
call fcn.0044d790
jmp 0x45dc53
mov edx, dword [str.0xFF3092e6]
push edx
lea eax, [esp + 0x9c]
push str.bkcolor__s_
push eax
call fcn.00403b80
mov ecx, dword [esi + 0x550]
add esp, 0xc
push str.small_detail_bar_bg
call edi
mov ebp, eax
cmp ebp, ebx
je 0x45dc53
push 0x5fd0cc
mov ecx, ebp
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CControlUI::SetBkImage_wchar_t_const__]
lea ecx, [esp + 0x98]
push ecx
mov ecx, ebp
call dword [sym.imp.DuiLib32.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CControlUI::ApplyAttributeList_wchar_t_const__]
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_day_expand_name
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_node_add_name
mov dword [esi + 0x6b0], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_node_expand_name
mov dword [esi + 0x6b4], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_back_count_add_name
mov dword [esi + 0x6b8], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_back_count_expand_name
mov dword [esi + 0x6bc], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_day
mov dword [esi + 0x6c0], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_node
mov dword [esi + 0x6c8], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_back_count
mov dword [esi + 0x6cc], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_bar_almanac
mov dword [esi + 0x6d0], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_date
mov dword [esi + 0x6d4], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_week
mov dword [esi + 0x6d8], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_diff
mov dword [esi + 0x6dc], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_nongli
mov dword [esi + 0x6e0], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_year_name
mov dword [esi + 0x6e4], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_almanac_fi_text
mov dword [esi + 0x6e8], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_almanac_sec_text
mov dword [esi + 0x69c], eax
call edi
mov ecx, dword [esi + 0x550]
push str.scrollrange
mov dword [esi + 0x6a0], eax
call edi
mov ecx, dword [esi + 0x550]
push str.scrollVertical
mov dword [esi + 0x6ec], eax
call edi
mov dword [esi + 0x6f0], eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1a0]
call eax
mov ecx, dword [esi + 0x550]
push str.small_detail_add_back_count
mov dword [esi + 0x6f4], eax
call edi
mov dword [esi + 0x6f8], eax
mov ecx, dword [esi + 0x550]
push str.small_detail_date
call edi
mov ecx, dword [esi + 0x6f4]
mov dword [esi + 0x6fc], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x110]
push 0x5ff1a4
push str.width
call eax
mov ecx, dword [esi + 0x550]
push str.small_detail_JieRi
mov byte [esi + 0x9f4], bl
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_JieQi
mov dword [esi + 0xbc4], eax
call edi
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_Login
mov dword [esi + 0xbc8], eax
call edi
push 0xa
mov dword [esi + 0x6c4], eax
call fcn.004088f0
mov ecx, eax
call fcn.004c7380
test eax, eax
setne cl
push 0xb
mov byte [esi + 0x7c4], cl
call fcn.004088f0
mov ecx, eax
call fcn.004c7380
test eax, eax
setne dl
push 0xc
mov byte [esi + 0x7c5], dl
call fcn.004088f0
mov ecx, eax
call fcn.004c7380
push 0xd
mov dword [esi + 0x7c8], eax
call fcn.004088f0
mov ecx, eax
call fcn.004c7380
mov ecx, esi
mov dword [esi + 0x7cc], eax
call fcn.00453730
mov ecx, esi
call fcn.0044db10
mov ecx, esi
call fcn.0044de40
mov ecx, dword [esi + 0x550]
push str.small_detail_info_bar_Login
call edi
cmp eax, ebx
je 0x45dedb
xor ecx, ecx
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
lea edi, [ecx + 9]
mov dword [edx + 4], edi
xor ebp, ebp
mov dword [edx + 8], ebp
mov ecx, eax
mov dword [edx + 0xc], ebx
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CLabelUI::SetTextPadding_struct_tagRECT_]
xor ebx, ebx
mov ecx, esi
call fcn.00456c70
mov edi, 8
mov dword [esi + 0xb5c], 1
cmp dword [esp + 0x50], edi
jb 0x45df04
mov eax, dword [esp + 0x3c]
push eax
call fcn.004ca5d9
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], cx
cmp dword [esp + 0x34], edi
jb 0x45df2b
mov edx, dword [esp + 0x20]
push edx
call fcn.004ca5d9
add esp, 4
xor eax, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], ax
cmp dword [esp + 0x6c], edi
jb 0x45df4d
mov ecx, dword [esp + 0x58]
push ecx
call fcn.004ca5d9
add esp, 4
mov ecx, dword [esp + 0x4ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x494]
xor ecx, esp
call fcn.004e8c89
add esp, 0x4a4
ret