Function at 0x518090
Capabilities:
Check if file exists
Create directory
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60a5ef
mov eax, dword fs:[0]
push eax
sub esp, 0x2bc
mov eax, dword [0x6b000c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x248], 0
cmp dword [esi + 0x924], 0
je 0x519ad5
mov dword [ebp - 0x244], 0
cmp dword [esi + 0x934], 0
jne 0x518112
lea eax, [ebp - 0x244]
push eax
lea eax, [esi + 0x930]
push eax
mov ecx, dword [esi + 0x918]
call fcn.004bc680
cmp dword [esi + 0x940], 0
jne 0x51812d
lea eax, [esi + 0x93c]
push eax
mov ecx, dword [esi + 0x918]
call fcn.004bc630
xor edi, edi
mov dword [ebp - 0x278], edi
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x268], eax
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519af1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], edi
push 0x65bed0
lea ecx, [ebp - 0x264]
call fcn.0040c5a0
test al, al
jne 0x51818f
push 3
push 0x65bed0
lea ecx, [ebp - 0x264]
call fcn.0040c9d0
mov dword [ebp - 4], 1
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519afb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 3
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b05
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 5
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b0f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 7
cmp dword [0x6b0c60], 0x3a8
je 0x51826a
call fcn.00554fb0
test eax, eax
je 0x51826a
mov edi, dword [0x6b889c]
test edi, edi
je 0x51826a
mov dword [ebp - 0x270], 0
movzx ecx, byte [0x6b6c1b]
mov eax, ecx
shl cx, 8
or cx, ax
mov byte [ebp - 0x270], cl
cmp dword [ebp - 0x270], 0
jne 0x51826a
push 0
push 0
mov ecx, 0x6b96f8
call fcn.004ea790
test al, al
je 0x51826a
mov eax, dword [edi + 0xe64]
mov dword [ebp - 0x290], eax
push dword [edi + 0xe60]
call fcn.004e9db0
cmp dword [0x6b0c54], 1
jne 0x51904a
mov eax, dword [esi + 0x918]
mov dword [eax + 0xbac], 1
push 0x1388
mov eax, dword [esi + 0x918]
push dword [eax + 0xb98]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x517e40
push 4
push dword [esi + 0x940]
push dword [esi + 0x93c]
call fcn.005b88e0
add esp, 0x10
mov edi, dword [esi + 0x924]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0xb94]
cmp eax, 0xffffffff
je 0x518315
push 1
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3ee
je 0x5182f1
cmp eax, 6
je 0x5182f1
cmp eax, 0x15
jne 0x518315
push 0x208
push 0
lea eax, [ebp - 0x21c]
push eax
call fcn.00588800
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
mov ecx, edi
call fcn.0052e140
mov edi, dword [esi + 0x940]
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x270], edi
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b19
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x24c], esi
mov byte [ebp - 4], 9
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b23
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 0xb
xor eax, eax
or ebx, 0xffffffff
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x234], eax
cmp eax, edi
mov eax, dword [ebp - 0x224]
jge 0x5186ea
cmp dword [eax + 0x90c], 1
je 0x5186ea
push 0x650a3c
mov edx, str.RecoveredCount
lea ecx, [ebp - 0x258]
call fcn.004db870
add esp, 4
mov byte [ebp - 4], 0xc
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b2d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0xe
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b37
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x22c], edi
mov byte [ebp - 4], 0x10
push dword [ebp - 0x240]
mov eax, dword [ebp - 0x234]
push eax
push dword [ebp - 0x258]
lea eax, [ebp - 0x23c]
push eax
call fcn.0040d300
add esp, 0x10
push dword [ebp - 0x23c]
push str.FileCount
mov ecx, dword [ebp - 0x224]
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
mov edx, dword [ebp - 0x234]
test edx, edx
js 0x519b4b
mov ecx, dword [ebp - 0x224]
cmp edx, dword [ecx + 0x940]
jge 0x519b4b
mov eax, dword [ecx + 0x93c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x238], eax
test eax, eax
je 0x518fdb
lea eax, [ecx + 0x904]
mov dword [ebp - 0x228], eax
push 2
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, eax
call fcn.0046c6c0
mov byte [ebp - 4], 0x11
mov eax, dword [eax]
mov ecx, 0x65da74
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5184be
test dx, dx
je 0x5184b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5184be
add eax, 4
add ecx, 4
test dx, dx
jne 0x518490
mov dword [ebp - 0x220], 0
jmp 0x5184c9
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x220], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2a4]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5184ea
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
cmp dword [ebp - 0x220], 0
je 0x5187a9
push 2
lea eax, [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x228]
call fcn.0046c6c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x2c0]
push ecx
lea ecx, [ebp - 0x2c8]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2a8]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51854d
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x238]
mov eax, dword [ecx + 0x18]
cmp eax, dword [ebp - 0x29c]
jb 0x5187a9
ja 0x518573
mov eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x2a0]
jbe 0x5187a9
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x230], esp
push 0x6b16e8
call fcn.00420d90
mov byte [ebp - 4], 0x15
push 0
mov byte [ebp - 4], 0x10
mov edx, 0x40
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 4]
call fcn.004e0d20
add esp, 0x1c
mov eax, dword [ebp - 0x224]
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x2ac]
call fcn.004e1f00
mov byte [ebp - 4], 0x16
mov edx, dword [eax]
lea eax, [edx - 0x10]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x220], ecx
je 0x518654
lea edi, [ecx + 0xc]
mov dword [ebp - 0x244], edi
cmp dword [ecx + 0xc], 0
mov edi, dword [ebp - 0x22c]
jl 0x518649
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x518643
mov ecx, dword [ebp - 0x220]
call fcn.0040c950
mov dword [ebp - 0x220], eax
mov ecx, ebx
mov eax, dword [ebp - 0x244]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x518630
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov ecx, dword [ebp - 0x228]
mov dword [ecx], eax
jmp 0x518654
mov eax, dword [ebp - 0x228]
push dword [edx - 0xc]
push edx
mov ecx, eax
call fcn.0040c9d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2ac]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518675
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov eax, dword [ebp - 0x228]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jne 0x518762
mov byte [ebp - 4], 0xe
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x5186a2
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5186c3
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5186e4
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 0x918]
mov dword [eax + 0xbac], 0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x260]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51871b
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 7
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x518736
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
mov esi, dword [ebp - 0x224]
mov ecx, dword [esi + 0x918]
call dword [sym.imp.ycomuiu.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
mov dword [ebp - 0x220], eax
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b41
jmp 0x5197da
dec dword [ebp - 0x234]
mov byte [ebp - 4], 0xe
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x518783
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5187a4
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x519017
push 0x650a3c
mov edx, str.InRecovering
lea ecx, [ebp - 0x2b0]
call fcn.004db870
add esp, 4
mov byte [ebp - 4], 0x1e
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
mov esi, dword [ebp - 0x258]
add esi, 0xfffffff0
cmp edx, esi
je 0x518826
cmp dword [esi + 0xc], 0
jl 0x518817
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x518817
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x220], eax
mov ecx, ebx
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x51880c
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x258], eax
jmp 0x518826
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x258]
call fcn.0040c9d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2b0]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518847
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov esi, dword [ebp - 0x224]
cmp byte [esi + 0x900], 0
je 0x518919
push 0x5c
push dword [esi + 0x904]
call fcn.005884c3
add esp, 8
lea edx, [esi + 0x904]
test eax, eax
jne 0x518879
or eax, 0xffffffff
jmp 0x51887d
sub eax, dword [edx]
sar eax, 1
lea ecx, [eax + 1]
mov byte [ebp - 4], 0x20
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x2b4]
push eax
mov ecx, edx
call fcn.004c6ec0
or dword [ebp - 0x248], 1
push dword [eax]
push dword [ebp - 0x258]
lea eax, [ebp - 0x24c]
push eax
call fcn.0040d300
add esp, 0xc
and dword [ebp - 0x248], 0xfffffffe
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2b4]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5188e1
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push dword [ebp - 0x24c]
push str.FileName
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
push dword [esi + 0x904]
push 0x64f670
lea eax, [ebp - 0x24c]
push eax
call fcn.0040d300
add esp, 0xc
mov esi, dword [ebp - 0x24c]
jmp 0x518ee4
cmp dword [esi + 0x908], 0
je 0x518af5
mov eax, dword [ebp - 0x238]
add eax, 0x128
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040c2f0
mov byte [ebp - 4], 0x22
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
mov esi, dword [ebp - 0x26c]
add esi, 0xfffffff0
cmp edx, esi
je 0x5189a2
cmp dword [esi + 0xc], 0
jl 0x518993
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x518993
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x220], eax
mov ecx, ebx
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x518988
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x26c], eax
jmp 0x5189a2
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x26c]
call fcn.0040c9d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2b8]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5189c3
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x26c]
call fcn.0049a1f0
test al, al
je 0x518b64
xor eax, eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x238]
add eax, 0x128
push eax
lea ecx, [ebp - 0x284]
call fcn.0040c2f0
mov byte [ebp - 4], 0x24
push dword [eax]
push 0x64f670
lea eax, [ebp - 0x264]
push eax
call fcn.0040d300
add esp, 0xc
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x284]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518a3c
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push dword [ebp - 0x264]
mov eax, dword [ebp - 0x228]
push dword [eax]
push str._s_s
lea eax, [ebp - 0x254]
push eax
call fcn.0040d300
add esp, 0x10
mov esi, dword [ebp - 0x254]
lea edx, [esi - 0x10]
mov ecx, dword [ebp - 0x25c]
add ecx, 0xfffffff0
mov dword [ebp - 0x250], ecx
cmp edx, ecx
je 0x518ae8
lea eax, [ecx + 0xc]
mov dword [ebp - 0x220], eax
cmp dword [eax], 0
jl 0x518ad9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x518ad9
mov ecx, edx
call fcn.0040c950
mov edx, dword [ebp - 0x220]
mov ecx, ebx
mov dword [ebp - 0x228], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x518ac0
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x228]
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
jmp 0x518b6a
push dword [esi - 0xc]
push esi
lea ecx, [ebp - 0x25c]
call fcn.0040c9d0
push 0
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
jmp 0x518b6a
mov esi, dword [ebp - 0x254]
cmp dword [esi - 0xc], 0
jne 0x518b6a
push str.RecoverMaster
mov eax, dword [ebp - 0x228]
push dword [eax]
push str._s_s
lea eax, [ebp - 0x254]
push eax
call fcn.0040d300
add esp, 0x10
mov esi, dword [ebp - 0x254]
lea edx, [esi - 0x10]
mov ecx, dword [ebp - 0x25c]
add ecx, 0xfffffff0
mov dword [ebp - 0x250], ecx
cmp edx, ecx
je 0x518ae8
lea eax, [ecx + 0xc]
mov dword [ebp - 0x220], eax
cmp dword [eax], 0
jl 0x518ad9
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x518ad9
mov ecx, edx
call fcn.0040c950
mov edx, dword [ebp - 0x220]
jmp 0x518a9b
mov esi, dword [ebp - 0x254]
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x250], eax
cmp eax, 0x1388
jl 0x518bcb
mov ecx, dword [ebp - 0x268]
inc ecx
mov dword [ebp - 0x268], ecx
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x250], eax
push ecx
push dword [ebp - 0x25c]
push str._s_d
lea eax, [ebp - 0x254]
push eax
call fcn.0040d300
add esp, 0x10
push 0
mov esi, dword [ebp - 0x254]
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov eax, dword [ebp - 0x238]
add eax, 0x1c
push eax
lea ecx, [ebp - 0x288]
call fcn.0040c2f0
mov byte [ebp - 4], 0x26
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
add edi, 0xfffffff0
cmp edx, edi
je 0x518c3f
cmp dword [edi + 0xc], 0
jl 0x518c30
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x518c30
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x220], eax
mov ecx, ebx
lea edx, [edi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x518c25
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x22c], eax
jmp 0x518c3f
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x22c]
call fcn.0040c9d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x288]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518c60
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0x28
push 0x2e
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x28c]
call fcn.004db4a0
add esp, 4
or dword [ebp - 0x248], 2
mov eax, dword [eax]
mov dword [ebp - 0x228], eax
lea edx, [eax - 0x10]
mov edi, dword [ebp - 0x22c]
lea ecx, [edi - 0x10]
mov dword [ebp - 0x220], ecx
cmp edx, ecx
je 0x518cff
lea edi, [ecx + 0xc]
cmp dword [edi], 0
jl 0x518cea
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x518ce4
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x228], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x518cd9
mov edi, dword [ebp - 0x220]
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x228]
lea edi, [eax + 0x10]
mov dword [ebp - 0x22c], edi
jmp 0x518cff
mov eax, dword [ebp - 0x228]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x22c]
call fcn.0040c9d0
mov edi, dword [ebp - 0x22c]
and dword [ebp - 0x248], 0xfffffffd
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x28c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518d27
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push edi
push dword [ebp - 0x258]
lea eax, [ebp - 0x23c]
push eax
call fcn.0040d300
add esp, 0xc
push dword [ebp - 0x23c]
push str.FileName
mov ecx, dword [ebp - 0x224]
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
push edi
push esi
push str._s_s
lea eax, [ebp - 0x24c]
push eax
call fcn.0040d300
push 0x2e
mov esi, dword [ebp - 0x24c]
push esi
call fcn.005884c3
add esp, 0x18
test eax, eax
jne 0x518d81
or eax, 0xffffffff
jmp 0x518d85
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0046c6c0
mov byte [ebp - 4], 0x2a
mov eax, dword [eax]
mov dword [ebp - 0x230], eax
lea edx, [eax - 0x10]
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
mov dword [ebp - 0x228], ecx
cmp edx, ecx
je 0x518e20
lea eax, [ecx + 0xc]
mov dword [ebp - 0x220], eax
cmp dword [eax], 0
jl 0x518e0b
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x518e0b
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x230], eax
mov ecx, ebx
mov edx, dword [ebp - 0x220]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x518e00
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x230]
add eax, 0x10
mov dword [ebp - 0x260], eax
jmp 0x518e20
mov eax, dword [ebp - 0x230]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x260]
call fcn.0040c9d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x280]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518e41
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 0x220], 1
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x518ee4
mov eax, dword [ebp - 0x238]
add eax, 0x128
mov dword [ebp - 0x230], eax
mov edi, dword [ebp - 0x260]
push eax
lea ecx, [ebp - 0x290]
call fcn.0040c2f0
mov byte [ebp - 4], 0x2c
push dword [eax]
mov esi, dword [ebp - 0x220]
push esi
push edi
push str._s__d_._s
lea eax, [ebp - 0x24c]
push eax
call fcn.0040d300
add esp, 0x14
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x290]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x518ec0
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
inc esi
mov dword [ebp - 0x220], esi
mov esi, dword [ebp - 0x24c]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
mov eax, dword [ebp - 0x230]
jne 0x518e71
mov edi, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x234]
cdq
mov ecx, eax
call fcn.005de0f0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x664e60]
movss dword [ebp - 0x230], xmm0
mov eax, dword [ebp - 0x240]
cdq
mov ecx, eax
call fcn.005de0f0
cvtsd2ss xmm0, xmm0
movss xmm1, dword [ebp - 0x230]
divss xmm1, xmm0
cvttss2si eax, xmm1
push 0
push eax
push 0x40d
mov eax, dword [ebp - 0x224]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x224]
mov eax, dword [ecx + 0x924]
lea edx, [ecx + 0x90c]
push edx
push dword [ecx + 4]
push dword [eax + 0x44]
push dword [ebp - 0x238]
mov ecx, dword [ecx + 0x918]
lea edx, [ebp - 0x24c]
mov ecx, dword [ecx + 0xb94]
call fcn.0053fd00
add esp, 0x10
test eax, eax
je 0x518f86
inc dword [ebp - 0x278]
mov dword [ebp - 4], 0x10
jmp 0x518fdb
mov byte [ebp - 4], 0xe
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x518ff6
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519017
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x258]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519038
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov eax, dword [ebp - 0x234]
inc eax
mov edi, dword [ebp - 0x240]
jmp 0x51836e
mov ebx, dword [esi + 0x934]
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x270], ebx
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b57
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x22c], edi
mov byte [ebp - 4], 0x36
push dword [esi + 0x908]
push ebx
push str.RecoverFile_total__d__RemainFullPath__d_n
call fcn.004131f0
add esp, 0xc
xor ecx, ecx
or ebx, 0xffffffff
mov dword [ebp - 0x228], ecx
cmp ecx, dword [ebp - 0x250]
jge 0x5197ac
test ecx, ecx
js 0x519b4b
cmp ecx, dword [esi + 0x934]
jge 0x519b4b
mov eax, dword [esi + 0x930]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x240], eax
test eax, eax
je 0x5197a6
lea eax, [esi + 0x904]
mov dword [ebp - 0x238], eax
push 2
lea ecx, [ebp - 0x290]
push ecx
mov ecx, eax
call fcn.0046c6c0
mov byte [ebp - 4], 0x37
mov eax, dword [eax]
mov ecx, 0x65da74
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x519126
test dx, dx
je 0x519122
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x519126
add eax, 4
add ecx, 4
test dx, dx
jne 0x519100
xor esi, esi
jmp 0x51912b
sbb esi, esi
or esi, 1
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x290]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51914c
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
test esi, esi
mov esi, dword [ebp - 0x238]
je 0x5192c8
push 2
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
call fcn.0046c6c0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x2c0]
push ecx
lea ecx, [ebp - 0x2c8]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x280]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5191ac
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x240]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x29c]
jb 0x5192ce
ja 0x5191d2
mov eax, dword [ecx + 0x10]
cmp eax, dword [ebp - 0x2a0]
jbe 0x5192ce
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x230], esp
push 0x6b16e8
call fcn.00420d90
mov byte [ebp - 4], 0x3b
push 0
mov byte [ebp - 4], 0x36
mov edx, 0x40
mov esi, dword [ebp - 0x224]
mov ecx, dword [esi + 4]
call fcn.004e0d20
add esp, 0x1c
mov edx, dword [esi + 4]
lea ecx, [ebp - 0x28c]
call fcn.004e1f00
mov byte [ebp - 4], 0x3c
mov edx, dword [eax]
lea eax, [edx - 0x10]
mov dword [ebp - 0x230], eax
lea ecx, [esi + 0x904]
mov esi, dword [ecx]
sub esi, 0x10
cmp eax, esi
je 0x519282
cmp dword [esi + 0xc], 0
jl 0x519279
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x519279
mov ecx, dword [ebp - 0x230]
call fcn.0040c950
mov dword [ebp - 0x230], eax
mov ecx, ebx
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x519266
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x230]
add eax, 0x10
mov esi, dword [ebp - 0x238]
mov dword [esi], eax
jmp 0x519288
push dword [edx - 0xc]
push edx
call fcn.0040c9d0
mov esi, dword [ebp - 0x238]
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x28c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5192a9
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov eax, dword [esi]
mov esi, dword [ebp - 0x224]
cmp dword [eax - 0xc], 0
je 0x5197ac
mov ecx, dword [ebp - 0x228]
dec ecx
inc ecx
jmp 0x519096
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x224]
cmp dword [eax + 0x908], 0
je 0x5194c1
mov byte [ebp - 4], 0x3e
mov ecx, dword [ecx + 0x44]
sub ecx, 0x10
call fcn.0040c950
lea esi, [eax + 0x10]
mov dword [ebp - 0x234], esi
mov byte [ebp - 4], 0x3e
or dword [ebp - 0x248], 4
mov eax, dword [ebp - 0x224]
cmp dword [eax + 0x91c], 4
je 0x519399
mov ecx, 2
mov dword [ebp - 0x244], ecx
mov eax, dword [esi - 0xc]
cmp eax, ecx
jge 0x519335
mov ecx, eax
mov dword [ebp - 0x244], ecx
test eax, eax
jle 0x519399
sub eax, ecx
mov dword [ebp - 0x220], eax
cmp dword [esi - 4], 1
jle 0x51935d
push dword [esi - 0xc]
lea ecx, [ebp - 0x234]
call fcn.0040d020
mov esi, dword [ebp - 0x234]
mov eax, dword [ebp - 0x220]
lea ecx, [eax*2 + 2]
push ecx
mov eax, dword [ebp - 0x244]
lea eax, [esi + eax*2]
push eax
push ecx
push esi
call fcn.00413950
add esp, 0x10
mov eax, dword [ebp - 0x220]
test eax, eax
js 0x519b75
cmp eax, dword [esi - 8]
jg 0x519b75
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
push dword [0x6b9304]
push str._RECYCLE.BIN
lea ecx, [ebp - 0x234]
call fcn.00414310
push str._com1.
push str.com1.
lea ecx, [ebp - 0x234]
call fcn.00414310
push str._Com1.
push str.Com1.
lea ecx, [ebp - 0x234]
call fcn.00414310
push str._COM1.
push str.COM1.
lea ecx, [ebp - 0x234]
call fcn.00414310
lea eax, [ebp - 0x234]
push eax
mov edx, dword [ebp - 0x238]
lea ecx, [ebp - 0x288]
call fcn.004359f0
add esp, 4
mov byte [ebp - 4], 0x40
mov edx, dword [eax]
lea ecx, [edx - 0x10]
lea esi, [edi - 0x10]
cmp ecx, esi
je 0x51946b
lea edi, [esi + 0xc]
cmp dword [edi], 0
jl 0x519456
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x519456
call fcn.0040c950
mov dword [ebp - 0x230], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x51944b
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x230]
lea edi, [eax + 0x10]
mov dword [ebp - 0x22c], edi
jmp 0x51946b
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x22c]
call fcn.0040c9d0
mov edi, dword [ebp - 0x22c]
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x288]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51948c
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push 0
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
and dword [ebp - 0x248], 0xfffffffb
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51951f
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x51951f
mov edx, dword [esi]
lea ecx, [edx - 0x10]
lea esi, [edi - 0x10]
cmp ecx, esi
je 0x51951f
lea edi, [esi + 0xc]
cmp dword [edi], 0
jl 0x51950a
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x51950a
call fcn.0040c950
mov dword [ebp - 0x230], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x5194ff
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x230]
lea edi, [eax + 0x10]
mov dword [ebp - 0x22c], edi
jmp 0x51951f
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x22c]
call fcn.0040c9d0
mov edi, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x224]
cmp dword [esi + 0x90c], 1
je 0x5197ac
push 0x650a3c
mov edx, str.RecoveredCount
lea ecx, [ebp - 0x23c]
call fcn.004db870
add esp, 4
mov byte [ebp - 4], 0x43
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b61
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 0x45
push dword [ebp - 0x250]
mov eax, dword [ebp - 0x228]
push eax
push dword [ebp - 0x23c]
lea eax, [ebp - 0x260]
push eax
call fcn.0040d300
add esp, 0x10
push dword [ebp - 0x260]
push str.FileCount
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
push 0x650a3c
mov edx, str.InRecovering
lea ecx, [ebp - 0x284]
call fcn.004db870
add esp, 4
mov byte [ebp - 4], 0x46
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
mov esi, dword [ebp - 0x23c]
add esi, 0xfffffff0
cmp edx, esi
je 0x519621
cmp dword [esi + 0xc], 0
jl 0x519612
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x519612
mov ecx, edx
call fcn.0040c950
mov dword [ebp - 0x230], eax
mov ecx, ebx
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x519607
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp - 0x230]
add eax, 0x10
mov dword [ebp - 0x23c], eax
jmp 0x519621
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x23c]
call fcn.0040c9d0
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x284]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519642
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b6b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x268], eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x240]
push dword [eax]
push dword [ebp - 0x23c]
lea eax, [ebp - 0x268]
push eax
call fcn.0040d300
add esp, 0xc
mov esi, dword [ebp - 0x268]
push esi
push str.FileName
mov ecx, dword [ebp - 0x224]
call dword [sym.imp.ycomuiu.dll_public:_int___thiscall_DuiLib::WindowImplBase::SetDlgItemTextW_wchar_t_const___wchar_t_const__]
push edi
push str.Recover_to__s_n
call fcn.004131f0
add esp, 8
mov byte [ebp - 4], 0x4a
mov edx, dword [edi - 0xc]
test edx, edx
js 0x519b75
mov ecx, 1
sub ecx, dword [edi - 4]
mov eax, dword [edi - 8]
sub eax, edx
or eax, ecx
jge 0x5196d8
push edx
lea ecx, [ebp - 0x22c]
call fcn.0040cf60
mov edi, dword [ebp - 0x22c]
push dword [ebp - 0x240]
push edi
mov ecx, dword [ebp - 0x224]
call fcn.00519d60
test eax, eax
je 0x5196f4
inc dword [ebp - 0x278]
push ecx
lea ecx, [ebp - 0x22c]
call fcn.00490980
mov dword [ebp - 4], 0x49
jmp 0x51973d
mov byte [ebp - 4], 0x45
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x519758
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
mov byte [ebp - 4], 0x43
mov edx, dword [ebp - 0x260]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519779
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x51979a
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x224]
inc ecx
jmp 0x519096
mov dword [esi + 0x908], 0
mov byte [ebp - 4], 7
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x51873c
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
jmp 0x51873c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x240], eax
mov byte [ebp - 4], 0x51
push dword [esi + 0x904]
mov eax, str.__select_
mov ecx, 0x639ee0
cmp byte [esi + 0x900], 0
cmove eax, ecx
push eax
push str._s__s_
lea eax, [ebp - 0x240]
push eax
call fcn.0040d300
add esp, 0x10
push 1
mov ecx, esi
call dword [sym.imp.ycomuiu.dll_public:_void___thiscall_DuiLib::CWindowWnd::Close_unsigned_int_]
mov edi, dword [ebp - 0x278]
test edi, edi
jne 0x5198bc
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x240]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519854
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x26c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519875
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x254]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519896
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5198b7
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
jmp 0x519ab3
push 0x650a3c
mov edx, str.RecoverSuccess
lea ecx, [ebp - 0x298]
call fcn.004db870
add esp, 4
mov byte [ebp - 4], 0x57
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x519b7f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x27c], eax
mov byte [ebp - 4], 0x59
push edi
push dword [ebp - 0x298]
lea eax, [ebp - 0x27c]
push eax
call fcn.0040d300
push 0x650a3c
mov edx, str.SuccessTitle
lea ecx, [ebp - 0x290]
call fcn.004db870
mov byte [ebp - 4], 0x5a
mov esi, dword [eax]
mov dword [ebp - 0x244], 0
push 0x92c
call fcn.00560437
mov dword [ebp - 0x280], eax
mov byte [ebp - 4], 0x5b
add esp, 0x10
push 0
push 0x44
push esi
mov edi, dword [ebp - 0x27c]
push edi
mov ecx, eax
call fcn.004d1810
mov esi, eax
mov byte [ebp - 4], 0x5a
test esi, esi
je 0x5199ae
push 0
push 0
push 0
push 0
push 0
push 0
push 0x96c80000
push 0x639ee0
push dword [ebp - 0x220]
mov ecx, esi
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_]
mov eax, dword [esi + 0x900]
mov dword [ebp - 0x244], eax
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c]
mov byte [ebp - 4], 0x59
mov edx, dword [ebp - 0x290]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5199cf
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov esi, dword [ebp - 0x240]
cmp dword [ebp - 0x244], 6
jne 0x5199f9
push 0xa
push 0
push esi
push str.Explorer.exe
push str.open
push dword [ebp - 0x220]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov byte [ebp - 4], 0x57
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x519a14
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
mov byte [ebp - 4], 0x51
mov edx, dword [ebp - 0x298]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519a35
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 7
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x519a50
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x26c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519a71
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x254]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519a92
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x519ab3
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x264]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x519ad5
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0055f9be
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 1
push 0xc000008c
call fcn.0040b220
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80004005
call fcn.0040b250
push 0x80070057
call fcn.0040b250
push 0x80004005
call fcn.0040b250
int3