Function at 0x4af47f
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fa379
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x6b000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x22c], 0
cmp eax, 0x401
ja 0x4af12c
je 0x4af111
cmp eax, 0x4a
je 0x4af086
cmp eax, 0x219
jne case.0x4af141.1027
cmp esi, 0x8000
je 0x4af06e
cmp esi, 0x8004
jne case.0x4af141.1027
cmp dword [ecx + 4], 2
jne case.0x4af141.1027
push 0
mov ecx, ebx
call fcn.004bf190
jmp case.0x4af141.1027
test ecx, ecx
je case.0x4af141.1027
mov esi, dword [ecx + 8]
mov edi, 0x2f
cmp dword [ecx + 4], edi
cmovb edi, dword [ecx + 4]
call fcn.0040bf10
push eax
push edi
push esi
lea ecx, [ebp - 0x21c]
call fcn.00435c40
mov dword [ebp - 4], 0x14
mov edi, dword [ebx + 0x9f0]
mov esi, dword [ebp - 0x21c]
cmp dword [ebx + 0x9f4], edi
je 0x4af0eb
lea ecx, [esi - 0x10]
mov dword [ebp - 0x228], edi
call fcn.0040c950
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x14
add dword [ebx + 0x9f0], 4
jmp 0x4af0fe
lea eax, [ebp - 0x21c]
push eax
push edi
lea ecx, [ebx + 0x9ec]
call fcn.004c90d0
push esi
push str.Shadow:__s_n
call fcn.004131f0
add esp, 8
jmp 0x4af217
test esi, esi
mov ecx, ebx
setne al
movzx eax, al
push eax
push str.UDiskHint
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::WindowImplBase::ShowWindow_wchar_t_const___bool_]
jmp case.0x4af141.1027
add eax, 0xfffffbfe
cmp eax, 0x77
ja case.0x4af141.1027
movzx eax, byte [eax + 0x4afb20]
jmp dword [eax*4 + 0x4afa9c]
push ecx
push esi
mov ecx, ebx
call fcn.004b56d0
jmp case.0x4af141.1027
mov ecx, ebx
call fcn.004b7a00
jmp case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
push dword [esi + 0x14]
movzx eax, byte [esi + 4]
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push eax
push dword [esi]
call fcn.004b9490
jmp case.0x4af141.1027
push 1
push str.scroll
push str.listFile
mov ecx, ebx
call fcn.004b34e0
jmp case.0x4af141.1027
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x4afa88
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x220]
cmp esi, 1
jne 0x4af1d7
push 0xb
push str.optListView
jmp 0x4af1de
push 0xc
push str.optThumbView
call fcn.0040c9d0
mov esi, dword [ebp - 0x220]
mov ecx, ebx
push 1
push esi
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::CheckDlgButton_wchar_t_const___bool_]
push esi
lea ecx, [ebx + 0x34]
call dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
test eax, eax
je 0x4af217
push 1
push 0
push 0
push str.click
push eax
lea ecx, [ebx + 0x34]
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg case.0x4af141.1027
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x4af141.1027
test ecx, ecx
mov ecx, ebx
setne al
movzx eax, al
push eax
call fcn.004b99f0
jmp case.0x4af141.1027
mov eax, ecx
mov ecx, ebx
cdq
push edx
push eax
push 0
push esi
call fcn.004bcca0
mov ecx, ebx
call fcn.004bd0f0
jmp case.0x4af141.1027
push 0x910
call fcn.00560437
mov edi, eax
add esp, 4
mov dword [ebp - 0x228], edi
mov dword [ebp - 4], 3
mov ecx, edi
mov esi, dword [ebx + 4]
call fcn.004dacb0
mov byte [ebp - 4], 4
mov dword [edi + 0x900], 0x65166c
mov dword [edi], vtable.CUpdateDlg.3.0
mov dword [edi + 0x10], vtable.CUpdateDlg.5.0
mov dword [edi + 0x24], vtable.CUpdateDlg.6.0
mov dword [edi + 0x28], vtable.CUpdateDlg.4.0
mov dword [edi + 0x2c], vtable.CUpdateDlg.2.0
mov dword [edi + 0x30], vtable.CUpdateDlg.0
mov dword [edi + 0x900], 0x660674
mov dword [edi + 0x904], 0
mov dword [edi + 0x908], 1
mov dword [edi + 0x90c], esi
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push 0
push 0
push 0
push 0
push 0
push 0
push 0x96c80000
push 0x639ee0
push dword [ebx + 4]
call dword [sym.imp.ycomuiu.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
mov ecx, edi
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_]
mov ecx, edi
call dword [sym.imp.ycomuiu.dll_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_]
jmp case.0x4af141.1027
mov ecx, ebx
call fcn.004bfc00
mov ecx, ebx
mov dword [ebx + 0xb8c], eax
call fcn.004bddb0
jmp case.0x4af141.1027
mov ecx, ebx
call fcn.004bfc00
mov ecx, ebx
mov dword [ebx + 0xb8c], eax
call fcn.004bdfd0
jmp case.0x4af141.1027
push str.checkSelectAll
lea ecx, [ebx + 0x34]
call dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
test eax, eax
je case.0x4af141.1027
mov edx, dword [eax]
test esi, esi
push 1
setne cl
movzx ecx, cl
push 1
push ecx
mov ecx, eax
call dword [edx + 0x1dc]
jmp case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
push dword [esi + 0x18]
mov ecx, ebx
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
call fcn.004b3db0
jmp case.0x4af141.1027
mov ecx, ebx
call fcn.004bc850
jmp case.0x4af141.1027
push dword [ebx + 0xd34]
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
call esi
test eax, eax
je 0x4af415
push 0xf000
push dword [ebx + 0xd60]
push 0x1127
push dword [ebx + 0xd34]
call dword [sym.imp.USER32.dll_SendMessageW]
and eax, 0xf000
push 0
shr eax, 0xc
dec eax
push eax
push 0x41c
push dword [ebx + 0xd64]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x4af141.1027
push dword [ebx + 0xd94]
call esi
test eax, eax
je 0x4af45f
push 0xf000
push dword [ebx + 0xdc0]
push 0x1127
push dword [ebx + 0xd94]
call dword [sym.imp.USER32.dll_SendMessageW]
and eax, 0xf000
push 0
shr eax, 0xc
dec eax
push eax
push 0x41c
push dword [ebx + 0xdc4]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x4af141.1027
push dword [ebx + 0xdf4]
call esi
test eax, eax
je case.0x4af141.1027
lea ecx, [ebx + 0xdf0]
call fcn.004884d0
jmp case.0x4af141.1027
cmp dword [ebx + 0xba0], 0
jne case.0x4af141.1027
lea eax, [ebp - 0x228]
push eax
push 0
push ebx
push 0x4bfd60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 0xba0], eax
jmp case.0x4af141.1027
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6bea38]
cmp eax, dword [ecx + 4]
jle 0x4af509
push 0x6bea38
call fcn.0055fefe
add esp, 4
cmp dword [0x6bea38], 0xffffffff
jne 0x4af509
mov dword [ebp - 4], 5
lea ecx, [ebx + 0x34]
push str.filterCtl
call dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
mov dword [0x6bea44], eax
mov dword [ebp - 4], 0xffffffff
push 0x6bea38
call fcn.0055feb4
add esp, 4
mov ecx, dword [0x6bea44]
test ecx, ecx
je case.0x4af141.1027
mov eax, dword [ecx]
push esi
call dword [eax + 0x70]
push 0
push 0
push 5
mov ecx, ebx
call dword [sym.imp.ycomuiu.dll_public:_long_int___thiscall_DuiLib::CWindowWnd::PostMessageW_unsigned_int__unsigned_int__long_int_]
jmp case.0x4af141.1027
lea eax, [ebx + 0x34]
push str.listLostDisk
mov ecx, eax
mov dword [ebp - 0x224], eax
call dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
mov dword [ebp - 0x220], eax
test eax, eax
je case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
mov edx, dword [eax + 0x5f0]
lea ebx, [eax + 0x5f0]
mov ecx, ebx
call dword [edx + 0xc]
xor edi, edi
mov dword [ebp - 0x21c], eax
test eax, eax
jle case.0x4af141.1027
nop dword [eax]
mov edx, dword [ebx]
mov ecx, ebx
push edi
call dword [edx]
test eax, eax
je 0x4af59d
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x124]
test eax, eax
je 0x4af59d
cmp eax, esi
je 0x4af5ab
inc edi
cmp edi, dword [ebp - 0x21c]
jl 0x4af580
jmp case.0x4af141.1027
mov esi, dword [ebp - 0x224]
mov ecx, esi
mov ebx, dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
push str.listDisk
call ebx
test eax, eax
je 0x4af5d3
lea ecx, [eax + 0x678]
mov eax, dword [ecx]
push 0
push 0xffffffffffffffff
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x220]
add ecx, 0x678
push 0
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
push str.btnNext
mov ecx, esi
call ebx
test eax, eax
je case.0x4af141.1027
push 0
push 0
push 0
push str.click
push eax
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_]
jmp case.0x4af141.1027
push dword [ebx + 0xe70]
mov ecx, ebx
call fcn.004c0e60
jmp case.0x4af141.1027
test esi, esi
mov ecx, ebx
setne al
movzx eax, al
push eax
push str.InitHint
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::WindowImplBase::ShowWindow_wchar_t_const___bool_]
jmp case.0x4af141.1027
push 0x900
call fcn.00560437
mov esi, eax
add esp, 4
mov dword [ebp - 0x228], esi
mov dword [ebp - 4], 6
mov ecx, esi
call fcn.004dacb0
mov byte [ebp - 4], 7
mov dword [esi], vtable.CManualRecoverDlg.4.0
mov dword [esi + 0x10], vtable.CManualRecoverDlg.0
mov dword [esi + 0x24], vtable.CManualRecoverDlg.5.0
mov dword [esi + 0x28], vtable.CManualRecoverDlg.3.0
mov dword [esi + 0x2c], vtable.CManualRecoverDlg.2.0
mov dword [esi + 0x30], vtable.CManualRecoverDlg.1.0
mov dword [ebp - 4], 0xffffffff
mov ecx, esi
push 0
push 0
push 0
push 0
push 0
push 0
push 0x96c80000
push 0x639ee0
push dword [ebx + 4]
call dword [sym.imp.ycomuiu.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_]
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_]
jmp case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
mov ecx, dword [ebx + 0xe7c]
push dword [ebp - 0x21c]
add ecx, 0x5f0
push esi
mov eax, dword [ecx]
call dword [eax + 8]
jmp case.0x4af141.1027
push 0
push esi
mov ecx, ebx
call fcn.004b5130
jmp case.0x4af141.1027
mov dword [0x6b8aa8], 1
mov dword [0xf0000000], 1
jmp case.0x4af141.1027
push esi
mov ecx, ebx
call fcn.004c2940
jmp case.0x4af141.1027
mov eax, dword [0x6b9698]
cmp dword [eax - 0xc], 0
jne case.0x4af141.1034
lea ecx, [ebp - 0x224]
call fcn.004dbd20
mov dword [ebp - 4], 8
or edi, 0xffffffff
mov edx, dword [eax]
mov esi, dword [0x6b9698]
add esi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x4af7a6
cmp dword [esi + 0xc], 0
jl 0x4af798
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x4af798
call fcn.0040c950
mov dword [ebp - 0x21c], eax
lea edx, [esi + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4af78e
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x21c]
add eax, 0x10
mov dword [0x6b9698], eax
jmp 0x4af7a6
push dword [edx - 0xc]
mov ecx, 0x6b9698
push edx
call fcn.0040c9d0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg case.0x4af141.1034
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, ebx
call fcn.004bca30
jmp case.0x4af141.1027
mov edi, dword [sym.imp.ycomuiu.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_wchar_t_const__const]
lea ecx, [ebx + 0x34]
push str.listDisk
call edi
mov esi, dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CListUI::RemoveAll_void_]
test eax, eax
je 0x4af7f2
mov ecx, eax
call esi
push str.listLostDisk
lea ecx, [ebx + 0x34]
call edi
test eax, eax
je case.0x4af141.1027
mov ecx, eax
call esi
jmp case.0x4af141.1027
cmp dword [0x6b8f8c], 0
mov ecx, ebx
setne al
movzx eax, al
push eax
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::WindowImplBase::EnableShadow_bool_]
jmp case.0x4af141.1027
mov ecx, ebx
call fcn.004c4d30
jmp case.0x4af141.1027
call fcn.00554fb0
test eax, eax
je case.0x4af141.1027
call fcn.004e1e50
test al, al
jne case.0x4af141.1027
push 1
push str.HintArea
mov ecx, ebx
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::WindowImplBase::ShowWindow_wchar_t_const___bool_]
push 0x650a3c
mov edx, str.FreeSizeHint
lea ecx, [ebp - 0x21c]
call fcn.004db870
add esp, 4
mov dword [ebp - 4], 0xa
or edi, 0xffffffff
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 0xc], 0
je 0x4afa17
lea ecx, [ebp - 0x224]
call fcn.0040c490
mov byte [ebp - 4], 0xc
mov ax, word [0x639ee0]
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push 0
push eax
call fcn.00588800
mov ecx, dword [0x6b978c]
add esp, 0xc
mov edx, dword [0x6b9788]
xor eax, eax
cmp ecx, edx
jl 0x4af8d7
mov eax, ecx
sub eax, edx
cdq
lea ecx, [ebp - 0x218]
push 1
push edx
push eax
call fcn.004df240
add esp, 0xc
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x4afa92
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x220]
call fcn.0040c5a0
test al, al
jne 0x4af952
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4af930
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x220]
call fcn.0040c9d0
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x228]
push eax
mov ecx, 0x6b96f8
mov dword [ebp - 0x22c], 1
call fcn.004ea680
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x220]
push esi
push dword [eax]
lea eax, [ebp - 0x224]
push dword [ebp - 0x21c]
push eax
call fcn.0040d300
add esp, 0x10
mov byte [ebp - 4], 0xc
mov eax, edi
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4af9b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov dword [ebp - 0x22c], eax
and eax, 0xfffffffe
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 0xb
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4af9e3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x224]
mov ecx, ebx
push str.HintBar
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
mov byte [ebp - 4], 0xa
mov eax, edi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4afa17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg case.0x4af141.1027
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
mov edx, dword [esi]
test ecx, ecx
mov ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + pe_nt_image_headers32]
jmp case.0x4af141.1027
test esi, esi
je case.0x4af141.1027
test ecx, ecx
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.004a3390
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055f9be
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push esi
int1
dec edx
add byte [edi], bh
dec edx
add byte [ecx + 0x48004af3], bh
int1
dec edx
add byte [edx + esi*8 + 0x4a], dl
add al, cl
test dword [edx], case.0x4af141.1042
xchg ecx, esi
dec edx
add byte [edi - 0xe], ch
dec edx
add byte [0x46004af3], ch
dec edx
add byte [edi - 0xd], bl
dec edx
add byte [ecx - 0x3affb50d], dl
dec edx
add byte [edi + 0x7f004af1], bl
hlt