Function at 0x527ab0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60cf8d
mov eax, dword fs:[0]
push eax
sub esp, 0x508
mov eax, dword [0x6b000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3d4], edi
mov dword [ebp - 0x428], 0
mov eax, dword [edi + 0x64]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jl 0x528b10
movzx eax, word [eax]
lea ecx, [ebp - 0x514]
push eax
call fcn.004a8700
mov dword [ebp - 4], 0
or esi, 0xffffffff
cmp dword [ebp - 0x4f0], 0
jne 0x527b6b
push 0
push 0
push 0
push 0
push 0
mov ecx, edi
call fcn.00523f60
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3f8], esp
push 0x6b1598
call fcn.00420d90
mov byte [ebp - 4], 1
mov ecx, dword [edi + 0x60]
push 0
call dword [sym.imp.ycomuiu.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const]
mov byte [ebp - 4], 0
lea edx, [esi + 0x41]
mov ecx, eax
call fcn.004e0d20
add esp, 0x1c
jmp 0x528a90
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
jne 0x527b8e
xorps xmm0, xmm0
movlpd qword [ebp - 0x414], xmm0
mov edx, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x414]
jmp 0x527ba8
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 8]
call eax
push 0
push dword [ebp - 0x504]
push edx
push eax
call fcn.005dd710
mov ecx, eax
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x430], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], edx
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x448], eax
xor edi, edi
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x434], edi
mov dword [ebp - 0x440], edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x420], edi
mov dword [ebp - 0x41c], edi
mov byte [ebp - 4], 4
mov dword [ebp - 0x494], edi
mov dword [ebp - 0x490], edi
mov dword [ebp - 0x48c], edi
mov byte [ebp - 4], 5
mov dword [ebp - 0x488], edi
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x480], edi
mov byte [ebp - 4], 6
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e8], xmm0
test edx, edx
jb 0x527cf6
ja 0x527c6f
test ecx, ecx
je 0x527cf6
mov edi, dword [ebp - 0x3e4]
mov esi, dword [ebp - 0x3e8]
nop dword [eax + eax]
cmp dword [ebp - 0x434], eax
je 0x527c98
mov dword [eax], esi
mov dword [eax + 4], edi
add eax, 8
mov dword [ebp - 0x444], eax
jmp 0x527cc9
lea ecx, [ebp - 0x3e8]
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.00485390
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x430]
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x444]
add esi, 1
mov dword [ebp - 0x3e8], esi
adc edi, 0
mov dword [ebp - 0x3e4], edi
cmp edi, edx
jb 0x527c80
ja 0x527ce5
cmp esi, ecx
jb 0x527c80
mov ecx, dword [ebp - 0x448]
or esi, 0xffffffff
mov dword [ebp - 0x44c], ecx
jmp 0x527cf8
xor ecx, ecx
lea edx, [ebp - 0x424]
push edx
push 0
push 0
push eax
push ecx
lea ecx, [ebp - 0x3f8]
call fcn.00531190
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x418]
mov edx, dword [0x6b9640]
push str.cd.dat
call fcn.0048e450
add esp, 0x18
mov dword [ebp - 0x428], 1
push dword [eax]
push 1
push str.RecycleRename2
push str.Scan
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov eax, 1
mov dword [ebp - 0x428], eax
and eax, 0xfffffffe
mov dword [ebp - 0x428], eax
mov byte [ebp - 4], 6
mov eax, esi
mov edx, dword [ebp - 0x418]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x527d80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x47de20
push 0x47bd30
push 0x10
push 0x14
lea eax, [ebp - 0x36c]
mov dword [ebp - method.CFileRecord.virtual_0], vtable.CFileRecord.0
push eax
call fcn.005605a4
mov byte [ebp - 4], 9
xorps xmm0, xmm0
lea eax, [ebp - 0x514]
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3b8], 0xffffffff
mov dword [ebp - 0x3b4], 0xffffffff
movups xmmword [ebp - 0x3b0], xmm0
mov dword [ebp - 0x370], 0xffffffff
movups xmmword [ebp - 0x3a0], xmm0
movups xmmword [ebp - 0x390], xmm0
movups xmmword [ebp - 0x380], xmm0
mov byte [ebp - 4], 0xa
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x528b1a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3ec], esi
mov byte [ebp - 4], 0xc
xorps xmm0, xmm0
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x424]
sar eax, 3
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x418], eax
movlpd qword [ebp - 0x414], xmm0
test eax, eax
je 0x5288f0
mov ecx, dword [ebp - 0x410]
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x3f4], eax
nop dword [eax]
push 0
push 0x64
push ecx
push eax
call fcn.005dd710
mov ecx, eax
mov edi, 0x64
mov eax, edx
mul edi
mov edi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0x3f4]
add edi, edx
sub ecx, eax
mov eax, dword [ebp - 0x42c]
sbb eax, edi
mov edi, dword [ebp - 0x3d4]
test ecx, ecx
jne 0x527f02
test eax, eax
jne 0x527f02
sub esp, 8
lea eax, [ebp - 0x454]
push dword [edi + 0x20]
push eax
call fcn.0052e910
mov byte [ebp - 4], 0xd
mov ecx, edi
push 1
push 1
push dword [eax]
push dword [ebp - 0x418]
push dword [ebp - 0x3f4]
call fcn.00523f60
mov byte [ebp - 4], 0xc
or eax, 0xffffffff
mov edx, dword [ebp - 0x454]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x527f02
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xffffffffffffffff
push dword [edi + 0x28]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [edi + 0x40], 0
jne 0x5288f0
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x370], 0x887
lea ecx, [eax*8]
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x464], ecx
push dword [ecx + eax + 4]
push dword [ecx + eax]
lea ecx, [ebp - 0x3c8]
call fcn.0047a760
test eax, eax
je 0x5288bc
lea ecx, [ebp - 0x3c8]
call fcn.0047abe0
test eax, eax
je 0x5288bc
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x35c], ecx
test ecx, ecx
je 0x527f8b
mov eax, dword [ecx + 4]
test eax, eax
je 0x527f8b
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x20]
and eax, 0x800
jmp 0x527f8d
xor eax, eax
test eax, eax
mov dword [ebp - 0x35c], ecx
setne byte [ebp - 0x3d5]
test ecx, ecx
je 0x527fb4
mov eax, dword [ecx + 4]
test eax, eax
je 0x527fb4
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x20]
and eax, 0x4000
jmp 0x527fb6
xor eax, eax
test eax, eax
mov dword [ebp - 0x35c], ecx
setne byte [ebp - 0x3d6]
test ecx, ecx
je 0x527fdd
mov eax, dword [ecx + 4]
test eax, eax
je 0x527fdd
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x20]
and eax, 0x400
jmp 0x527fdf
xor eax, eax
test eax, eax
mov eax, dword [ebp - 0x3bc]
setne byte [ebp - 0x3d7]
movzx ecx, word [eax + 0x16]
mov eax, ecx
not eax
test al, 1
jne 0x5288bc
test cl, 2
jne 0x5288bc
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x3c8]
call fcn.0047ad70
test eax, eax
jg 0x5280db
lea ecx, [ebp - 0x43c]
call fcn.0040c490
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x43c]
mov edi, dword [ebp - 0x450]
push edi
push str.File_.7d
push eax
call fcn.0040d300
mov eax, dword [ebp - 0x43c]
inc edi
mov dword [ebp - 0x450], edi
add esp, 0xc
lea edi, [esi - 0x10]
lea ecx, [eax - 0x10]
cmp ecx, edi
je 0x5280b7
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x5280a2
mov edx, dword [ecx]
cmp edx, dword [edi]
jne 0x5280a2
call fcn.0040c950
mov dword [ebp - 0x3d0], eax
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x528097
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3d0]
lea esi, [eax + 0x10]
mov dword [ebp - 0x3ec], esi
jmp 0x5280b7
push dword [eax - 0xc]
lea ecx, [ebp - 0x3ec]
push eax
call fcn.0040c9d0
mov esi, dword [ebp - 0x3ec]
mov byte [ebp - 4], 0xc
or eax, 0xffffffff
mov edx, dword [ebp - 0x43c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52810c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x52810c
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5280e4
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x3ec]
call fcn.0040c9d0
mov esi, dword [ebp - 0x3ec]
push ecx
lea ecx, [ebp - 0x3c8]
call fcn.0047b040
mov edi, eax
test edi, edi
je 0x5288bc
mov edx, dword [edi]
mov ecx, edi
push 0
mov edx, dword [edx + 8]
call edx
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x514]
push edi
push eax
mov dword [ebp - 0x468], edx
call fcn.00477c60
lea ecx, [ebp - 0x40c]
mov dword [ebp - 0x3f8], eax
call fcn.0040c490
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x35c], ecx
test ecx, ecx
je 0x528183
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x528183
sub esp, 8
lea eax, [ebp - 0x414]
push eax
call fcn.00478ef0
jmp 0x528197
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x414], 0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
jne 0x5281b9
xorps xmm0, xmm0
movups xmmword [ebp - 0x228], xmm0
movzx eax, word [ebp - 0x21e]
push eax
movzx eax, word [ebp - 0x220]
push eax
movzx eax, word [ebp - 0x222]
push eax
movzx eax, word [ebp - 0x226]
push eax
movzx eax, word [ebp - 0x228]
push eax
lea eax, [ebp - 0x40c]
push str._04d__02d__02d___02d:_02d
push eax
call fcn.0040d300
xor edi, edi
add esp, 0x1c
mov dword [ebp - 0x408], edi
mov dword [ebp - 0x404], edi
mov dword [ebp - 0x400], edi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3cc]
call fcn.0040c490
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x370], 7
cmp byte [eax + 0x40], 0
jne 0x52849a
nop word [eax + eax]
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x334], eax
test eax, eax
je 0x528266
mov eax, dword [eax + 4]
test eax, eax
je 0x528266
mov eax, dword [eax + 0x44]
test eax, eax
je 0x528266
mov ecx, dword [eax]
movzx edi, word [eax + 4]
jmp 0x52826c
or ecx, 0xffffffff
or edi, 0xffffffff
xor eax, eax
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], edi
cmp dword [ebp - 0x404], eax
jle 0x5282bf
mov edx, dword [ebp - 0x408]
nop
cmp dword [edx + eax*8], ecx
jne 0x52829f
cmp dword [edx + eax*8 + 4], edi
jne 0x52829f
mov cl, 1
jmp 0x5282a1
xor cl, cl
test cl, cl
jne 0x5282b6
mov ecx, dword [ebp - 0x3d0]
inc eax
cmp eax, dword [ebp - 0x404]
jl 0x528290
jmp 0x5282bf
cmp eax, 0xffffffff
jne 0x528494
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x408]
call fcn.004f14a0
mov ecx, dword [ebp - 0x3d0]
cmp ecx, 5
jne 0x5282e4
test edi, edi
je 0x528549
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
je 0x528494
cmp edi, dword [ebp - 0x438]
ja 0x528494
jb 0x52830b
cmp ecx, dword [ebp - 0x430]
ja 0x528494
push edi
push ecx
lea ecx, [ebp - 0x3c8]
call fcn.0047a760
test eax, eax
je 0x528494
lea ecx, [ebp - 0x3c8]
call fcn.0047abe0
test eax, eax
je 0x528494
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x3c8]
call fcn.0047ad70
test eax, eax
jle 0x528494
mov eax, dword [ebp - 0x3bc]
test byte [eax + 0x16], 2
je 0x528494
call fcn.0040bf10
mov ecx, eax
test ecx, ecx
je 0x528b1a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3f0], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x3f0]
call fcn.0040c5a0
test al, al
jne 0x5283c2
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5283a0
sub eax, edx
lea ecx, [ebp - 0x3f0]
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040c9d0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3f0]
push 1
push 0x64f4f8
call fcn.0040ceb0
mov eax, dword [ebp - 0x3cc]
lea ecx, [ebp - 0x3f0]
push dword [eax - 0xc]
push eax
call fcn.0040ceb0
mov eax, dword [ebp - 0x3f0]
mov edx, dword [ebp - 0x3cc]
add edx, 0xfffffff0
mov dword [ebp - 0x3fc], edx
lea edi, [eax - 0x10]
cmp edi, edx
je 0x52846b
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
mov dword [ebp - 0x3d0], ecx
jl 0x52845c
mov ecx, dword [edi]
cmp ecx, dword [edx]
jne 0x52845c
mov ecx, edi
call fcn.0040c950
mov edx, dword [ebp - 0x3d0]
or ecx, 0xffffffff
mov dword [ebp - 0x3dc], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x528451
mov eax, dword [ebp - 0x3fc]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3dc]
add eax, 0x10
mov dword [ebp - 0x3cc], eax
jmp 0x52846b
push dword [eax - 0xc]
lea ecx, [ebp - 0x3cc]
push eax
call fcn.0040c9d0
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x528484
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x3d4]
cmp byte [eax + 0x40], 0
je 0x528240
mov edi, dword [ebp - 0x408]
lea ecx, [ebp - 0x3e0]
call fcn.0040c490
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x45c]
mov eax, dword [ebp - 0x3d4]
push 0x6b9334
mov edx, dword [eax + 0x64]
call fcn.004359f0
add esp, 4
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xfffffff0
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3fc], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x52860d
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x3dc], eax
jl 0x5285f8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x5285f8
mov ecx, edx
call fcn.0040c950
mov edx, dword [ebp - 0x3dc]
or ecx, 0xffffffff
mov dword [ebp - 0x3d0], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x52853b
mov eax, dword [ebp - 0x3fc]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3d0]
add eax, 0x10
mov dword [ebp - 0x3e0], eax
jmp 0x52860d
lea eax, [ebp - 0x3cc]
push eax
mov eax, dword [ebp - 0x3d4]
lea ecx, [ebp - 0x458]
mov edx, dword [eax + 0x64]
call fcn.004359f0
add esp, 4
mov byte [ebp - 4], 0x17
mov edx, dword [eax]
mov edi, dword [ebp - 0x3cc]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x5285cb
cmp dword [edi + 0xc], 0
jl 0x5285bc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x5285bc
call fcn.0040c950
mov dword [ebp - 0x3dc], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5285b1
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3dc]
add eax, 0x10
mov dword [ebp - 0x3cc], eax
jmp 0x5285cb
push dword [edx - 0xc]
lea ecx, [ebp - 0x3cc]
push edx
call fcn.0040c9d0
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
mov edx, dword [ebp - 0x458]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5285ed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x408]
jmp 0x52872a
mov eax, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3e0]
push dword [eax - 0xc]
push eax
call fcn.0040c9d0
mov byte [ebp - 4], 0x19
or eax, 0xffffffff
mov edx, dword [ebp - 0x45c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52862f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push 0x64f4f8
lea ecx, [ebp - 0x3e0]
call fcn.0040ceb0
lea eax, [ebp - 0x3cc]
push eax
lea edx, [ebp - 0x3e0]
lea ecx, [ebp - 0x460]
call fcn.004359f0
add esp, 4
mov byte [ebp - 4], 0x1c
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xfffffff0
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3fc], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x5286e6
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x3dc], eax
jl 0x5286d1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x5286d1
mov ecx, edx
call fcn.0040c950
mov edx, dword [ebp - 0x3dc]
or ecx, 0xffffffff
mov dword [ebp - 0x3d0], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x5286c6
mov eax, dword [ebp - 0x3fc]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3d0]
add eax, 0x10
mov dword [ebp - 0x3cc], eax
jmp 0x5286e6
mov eax, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3cc]
push dword [eax - 0xc]
push eax
call fcn.0040c9d0
mov byte [ebp - 4], 0x19
or eax, 0xffffffff
mov edx, dword [ebp - 0x460]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528708
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
mov edx, dword [ebp - 0x3e0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52872a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x6b9684]
cmp dword [ecx - 0xc], 0
je 0x5287b3
mov eax, dword [ebp - 0x3cc]
cmp dword [eax - 0xc], 0
jl 0x52875d
push ecx
push eax
call fcn.00587dd7
add esp, 8
test eax, eax
je 0x52875d
sub eax, dword [ebp - 0x3cc]
sar eax, 1
cmp eax, 0xffffffff
jne 0x5287b3
mov byte [ebp - 4], 0x12
or eax, 0xffffffff
mov edx, dword [ebp - 0x3cc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52877f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
test edi, edi
je 0x52879a
push edi
call fcn.005a51fb
add esp, 4
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov dword [ebp - 0x400], 0
jmp 0x52889a
push 0x48
call fcn.00560437
add esp, 4
mov dword [ebp - 0x470], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x464]
push 0xffffffffffffffff
push dword [edx + ecx + 4]
push dword [edx + ecx]
mov ecx, eax
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push dword [ebp - 0x40c]
push dword [ebp - 0x3cc]
push esi
call fcn.00494500
mov byte [ebp - 4], 0x13
test eax, eax
je 0x528849
mov ecx, dword [ebp - 0x3f8]
mov dword [eax + 0x20], ecx
mov cl, byte [ebp - 0x3d5]
mov byte [eax + 0x3d], cl
mov cl, byte [ebp - 0x3d6]
mov byte [eax + 0x3c], cl
mov cl, byte [ebp - 0x3d7]
mov byte [eax + 0x3e], cl
push eax
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [eax + 0x60]
call fcn.004b4eb0
test al, al
je 0x528849
mov eax, dword [ebp - 0x3d4]
add dword [eax + 0x20], 1
adc dword [eax + 0x24], 0
mov byte [ebp - 4], 0x12
or eax, 0xffffffff
mov edx, dword [ebp - 0x3cc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52886b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
test edi, edi
je 0x528886
push edi
call fcn.005a51fb
add esp, 4
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov dword [ebp - 0x400], 0
mov byte [ebp - 4], 0xc
or eax, 0xffffffff
mov edx, dword [ebp - 0x40c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5288bc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x42c]
add eax, 1
mov dword [ebp - 0x3f4], eax
adc ecx, 0
mov dword [ebp - 0x42c], ecx
test ecx, ecx
ja 0x5288f0
jb 0x527e70
cmp eax, dword [ebp - 0x418]
jb 0x527e70
mov edi, dword [ebp - 0x3d4]
lea eax, [ebp - 0x3f8]
sub esp, 8
push dword [edi + 0x20]
push eax
call fcn.0052e910
mov byte [ebp - 4], 0x24
mov ecx, edi
push 1
push 0
push dword [eax]
push 0
push 0
call fcn.00523f60
mov byte [ebp - 4], 0xc
or edi, 0xffffffff
mov edx, dword [ebp - 0x3f8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528941
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x52895c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov dword [ebp - method.CFileRecord.virtual_0], vtable.CFileRecord.0
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x36c]
mov edi, 0x10
nop dword [eax]
mov ecx, esi
call fcn.0047ddc0
add esi, 0x14
sub edi, 1
jne 0x528980
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x5289a4
push 0x30
push eax
call fcn.005603ff
add esp, 8
mov byte [ebp - 4], 6
lea eax, [ebp - 0x36c]
push 0x47de20
push 0x10
push 0x14
push eax
call fcn.0056047a
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x424]
test ecx, ecx
je 0x528a23
mov eax, dword [ebp - 0x41c]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x5289fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x528b24
push edx
push ecx
call fcn.005603ff
add esp, 8
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x44c]
test edx, edx
je 0x528a89
mov eax, dword [ebp - 0x434]
sub eax, edx
sar eax, 3
lea ecx, [eax*8]
mov eax, edx
cmp ecx, 0x1000
jb 0x528a61
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x528b29
push ecx
push edx
call fcn.005603ff
add esp, 8
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0
mov byte [ebp - 4], 0
or esi, 0xffffffff
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x470], eax
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x49c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x528ac2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - method.CNTFSVolume.virtual_0], vtable.CNTFSVolume.0
cmp eax, 0xffffffff
je 0x528ae5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x4a8]
test ecx, ecx
je 0x528af5
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055f9be
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.0040b250
push 0x80004005
call fcn.0040b250
call fcn.005a5046
call fcn.005a5046
int3