Function at 0x4060a0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x456d6b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
mov eax, dword [0x472340]
xor eax, esp
push ebp
push esi
mov esi, ecx
mov dword [esp + 0xfc], eax
mov al, byte [esi + 0x306]
xor ebp, ebp
test al, al
je 0x4068d7
push ebx
push edi
push ebp
lea ecx, [esi + 0x1e4]
call fcn.0044cfa8
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x114], ebp
call dword [eax + 0x2c]
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x24]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
je 0x40613e
add edi, 4
cmp dword [edi + 0x14], 8
jb 0x40612b
mov eax, dword [edi]
jmp 0x40612d
mov eax, edi
push eax
call ebx
mov ecx, dword [esp + 0x24]
add edi, 0x1c
lea eax, [edi - 4]
cmp eax, ecx
jne 0x406121
push 0xffffffffffffffff
push ebp
lea ecx, [esi + 0x2e4]
push ecx
mov edi, 7
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebp
mov word [esp + 0x78], bp
call fcn.0040a7c0
push 0x45b3d8
mov byte [esp + 0x114], 1
call fcn.00435c89
add esp, 4
push eax
push 0x45b3d8
lea ecx, [esp + 0x70]
call fcn.0040acf0
push 0x84
call fcn.0044cda7
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebp
mov byte [esp + 0x110], 2
je 0x4061b3
mov ecx, eax
call fcn.00411850
jmp 0x4061b5
xor eax, eax
push 0x45b3dc
mov byte [esp + 0x114], 1
mov dword [esi + 0x2bc], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov word [esp + 0x54], bp
call fcn.00435c89
add esp, 4
push eax
push 0x45b3dc
lea ecx, [esp + 0x54]
call fcn.0040ae10
mov ecx, dword [esi + 0x2bc]
push 0x200
push 1
lea edx, [esp + 0x54]
push edx
mov byte [esp + 0x11c], 3
call fcn.00419140
cmp dword [esp + 0x64], 8
mov byte [esp + 0x110], 1
jb 0x406227
mov eax, dword [esp + 0x50]
push eax
call fcn.0044cdd7
add esp, 4
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esi + 0x2bc]
call fcn.00418a60
push str.GPackData___Open
push 3
call fcn.00401800
push eax
call fcn.00418220
mov edi, dword [esi + 0x354]
mov eax, dword [esi + 0x358]
add esp, 0xc
cmp edi, eax
je 0x4062d9
mov ecx, dword [esi + 0x2bc]
push edi
call fcn.00418a80
cmp dword [edi + 0x18], 8
jb 0x406277
mov ebx, dword [edi + 4]
jmp 0x40627a
lea ebx, [edi + 4]
mov eax, dword [0x473838]
cmp eax, ebp
jne 0x4062bb
push 0x3c
call fcn.0044cda7
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
test ebp, ebp
mov byte [esp + 0x110], 4
je 0x4062a8
mov ecx, ebp
call fcn.00418080
jmp 0x4062aa
xor ebp, ebp
mov eax, ebp
mov byte [esp + 0x110], 1
mov dword [0x473838], eax
xor ebp, ebp
push ebx
push str.GPackData___Delete_File__s_
push 3
push eax
call fcn.00418220
mov eax, dword [esi + 0x358]
add edi, 0x1c
add esp, 0x10
cmp edi, eax
jne 0x406260
mov ebx, dword [esi + 0x344]
cmp ebx, dword [esi + 0x348]
je 0x406383
lea edi, [ebx + 4]
mov ebp, 8
cmp dword [edi + 0x14], ebp
jb 0x4062fc
mov eax, dword [edi]
jmp 0x4062fe
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [edi + 0x14], ebp
jb 0x406312
mov edx, dword [edi]
mov dword [esp + 0x10], edx
jmp 0x406316
mov dword [esp + 0x10], edi
mov eax, dword [0x473838]
test eax, eax
jne 0x40635a
push 0x3c
call fcn.0044cda7
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
test ebp, ebp
mov byte [esp + 0x110], 5
je 0x406346
mov ecx, ebp
call fcn.00418080
mov eax, ebp
jmp 0x406348
xor eax, eax
mov byte [esp + 0x110], 1
mov dword [0x473838], eax
mov ebp, 8
mov ecx, dword [esp + 0x10]
push ecx
push str.Delete_File__s_
push 3
push eax
call fcn.00418220
mov eax, dword [esi + 0x348]
add ebx, 0x1c
add esp, 0x10
add edi, 0x1c
cmp ebx, eax
jne 0x4062f3
mov ecx, dword [esi + 0x2c4]
mov edx, dword [ecx]
lea eax, [esi + 0x370]
push eax
call dword [edx + 0x30]
mov eax, dword [esi + 0x374]
cmp eax, dword [esi + 0x378]
mov dword [esp + 0x14], eax
je 0x40645e
add eax, 0x1c
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x32], ecx
mov dword [esp + 0x36], ecx
mov dword [esp + 0x3a], ecx
mov dword [esp + 0x3e], ecx
mov dword [esp + 0x42], ecx
lea eax, [ebp - 0x18]
mov word [esp + 0x46], cx
mov ecx, dword [eax + 0x14]
mov ebx, 8
cmp ecx, ebx
mov word [esp + 0x30], 0
jb 0x4063e9
mov eax, dword [eax]
lea edx, [esp + 0x30]
push edx
push 0
push 0
push 0
push eax
call fcn.00436fe2
mov edi, dword [esi + 0x364]
mov eax, dword [esi + 0x368]
add esp, 0x14
cmp edi, eax
je 0x40643c
lea ecx, [ecx]
cmp dword [edi + 0x18], ebx
jb 0x40641a
mov eax, dword [edi + 4]
jmp 0x40641d
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004375a5
add esp, 8
test eax, eax
je 0x406477
mov eax, dword [esi + 0x368]
add edi, 0x1c
cmp edi, eax
jne 0x406410
mov ecx, dword [esp + 0x14]
add ecx, 0x1c
add ebp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x14]
cmp edx, dword [esi + 0x378]
jne 0x4063b2
mov eax, dword [esi + 0x374]
xor ebx, ebx
cmp eax, ebx
jne 0x4064ea
mov dword [esp + 0x10], ebx
jmp 0x406509
mov ebx, dword [esi + 0x378]
cmp ebp, ebx
mov edi, ebp
je 0x4064a4
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x10]
jmp 0x406490
push 0xffffffffffffffff
push 0
push edi
lea ecx, [edi + ebp]
call fcn.0040a7c0
add edi, 0x1c
cmp edi, ebx
jne 0x406490
mov ebx, dword [esi + 0x378]
lea edi, [ebx - 0x1c]
cmp edi, ebx
je 0x4064de
add edi, 0x18
xor ebp, ebp
cmp dword [edi], 8
jb 0x4064c7
mov eax, dword [edi - 0x14]
push eax
call fcn.0044cdd7
add esp, 4
mov dword [edi], 7
mov dword [edi - 4], ebp
mov word [edi - 0x14], bp
add edi, 0x1c
lea ecx, [edi - 0x18]
cmp ecx, ebx
jne 0x4064b6
add dword [esi + 0x378], 0xffffffe4
jmp 0x40644e
mov ecx, dword [esi + 0x378]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
push 1
lea eax, [esi + 0x264]
push eax
mov eax, dword [esi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.004021b0
mov edi, dword [esi + 0x374]
cmp edi, dword [esi + 0x378]
je 0x406781
fild dword [esp + 0x10]
add edi, 4
fstp dword [esp + 0x18]
mov edi, edi
mov ecx, dword [esi + 0x2bc]
lea ebp, [edi - 4]
push ebp
call fcn.00419850
cmp dword [edi + 0x14], 8
jb 0x406559
mov eax, dword [edi]
jmp 0x40655b
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0xa
lea ecx, [esp + 0x88]
inc ebx
push ecx
push ebx
mov dword [esp + 0x20], ebx
call fcn.00436df6
mov eax, dword [esp + 0x1c]
push 0xa
lea edx, [esp + 0xd4]
push edx
push eax
call fcn.00436df6
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], eax
mov word [esp + 0x4c], ax
push 0x45b46c
mov byte [esp + 0x12c], 6
call fcn.00435c89
add esp, 0x1c
push eax
push 0x45b46c
lea ecx, [esp + 0x38]
call fcn.0040acf0
lea ecx, [esp + 0x84]
push ecx
call fcn.00435c89
add esp, 4
push eax
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x38]
call fcn.0040acf0
push 0x45b474
call fcn.00435c89
add esp, 4
push eax
push 0x45b474
lea ecx, [esp + 0x38]
call fcn.0040acf0
lea eax, [esp + 0xc4]
push eax
call fcn.00435c89
add esp, 4
push eax
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x38]
call fcn.0040acf0
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], eax
mov word [esp + 0x50], ax
push 0xffffffffffffffff
push eax
push ebp
lea ecx, [esp + 0x58]
mov byte [esp + 0x11c], 7
call fcn.0040abf0
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x58]
call fcn.0040abf0
fild dword [esp + 0x14]
fdiv dword [esp + 0x18]
fimul dword [esi + 0x278]
fmul dword [0x45bae8]
call fcn.00436ebc
mov ecx, dword [esi + 0x280]
sub ecx, eax
mov dword [esi + 0x274], ecx
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x54]
push edx
lea ecx, [esi + 0x28c]
call fcn.0040a7c0
push 1
lea eax, [esi + 0x264]
push eax
mov eax, dword [esi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.004021b0
cmp dword [edi + 0x14], 8
jb 0x4066bd
mov ecx, dword [edi]
mov dword [esp + 0x14], ecx
jmp 0x4066c1
mov dword [esp + 0x14], edi
mov eax, dword [0x473838]
xor ebp, ebp
cmp eax, ebp
jne 0x406704
push 0x3c
call fcn.0044cda7
mov ebp, eax
add esp, 4
mov dword [esp + 0x2c], ebp
test ebp, ebp
mov byte [esp + 0x110], 8
je 0x4066f3
mov ecx, ebp
call fcn.00418080
mov eax, ebp
jmp 0x4066f5
xor eax, eax
mov byte [esp + 0x110], 7
mov dword [0x473838], eax
xor ebp, ebp
mov edx, dword [esp + 0x14]
push edx
push str.GPackData___Add_File__s_
push 3
push eax
call fcn.00418220
mov eax, dword [esp + 0x74]
add esp, 0x10
cmp eax, 8
jb 0x40672f
mov eax, dword [esp + 0x50]
push eax
call fcn.0044cdd7
add esp, 4
cmp dword [esp + 0x48], 8
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], ebp
mov word [esp + 0x50], bp
mov byte [esp + 0x110], 1
jb 0x40675c
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0044cdd7
add esp, 4
mov eax, dword [esi + 0x378]
add edi, 0x1c
lea edx, [edi - 4]
cmp edx, eax
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], ebp
mov word [esp + 0x34], bp
jne 0x406540
mov eax, dword [esi + 0x278]
push str.Complate
mov dword [esi + 0x274], eax
call fcn.00435c89
add esp, 4
push eax
push str.Complate
lea ecx, [esi + 0x28c]
call fcn.0040ae10
mov ecx, dword [esi + 0x1c]
push 1
lea eax, [esi + 0x264]
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.004021b0
mov ecx, esi
call fcn.004038b0
mov edi, dword [esi + 0x2bc]
xor ebx, ebx
cmp edi, ebx
je 0x4067ec
mov ecx, edi
call fcn.00411910
push edi
call fcn.0044cdd7
add esp, 4
mov dword [esi + 0x2bc], ebx
mov eax, dword [0x473838]
cmp eax, ebx
jne 0x40682b
push 0x3c
call fcn.0044cda7
mov edi, eax
add esp, 4
mov dword [esp + 0x2c], edi
cmp edi, ebx
mov byte [esp + 0x110], 9
je 0x40681c
mov ecx, edi
call fcn.00418080
mov eax, edi
jmp 0x40681e
xor eax, eax
mov byte [esp + 0x110], 1
mov dword [0x473838], eax
push str.GPackData___Close
push 3
push eax
call fcn.00418220
mov al, byte [esi + 0x305]
add esp, 0xc
test al, al
mov byte [esi + 0x306], 0
je 0x406853
mov ecx, esi
call fcn.00403410
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x150]
cmp dword [esp + 0x80], 8
jb 0x406874
mov eax, dword [esp + 0x6c]
push eax
call fcn.0044cdd7
add esp, 4
mov esi, dword [esp + 0x20]
cmp esi, ebx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], bx
je 0x4068d5
mov edi, dword [esp + 0x24]
cmp esi, edi
je 0x4068cc
add esi, 0x18
jmp 0x4068a0
cmp dword [esi], 8
jb 0x4068b1
mov ecx, dword [esi - 0x14]
push ecx
call fcn.0044cdd7
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], ebx
mov word [esi - 0x14], bx
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, edi
jne 0x4068a0
mov esi, dword [esp + 0x20]
push esi
call fcn.0044cdd7
add esp, 4
pop edi
pop ebx
mov ecx, dword [esp + 0x100]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xf8]
pop ebp
xor ecx, esp
call fcn.004351f1
add esp, 0x104
ret