Function at 0x407bd0
Capabilities:
Delete file
Get file attributes
Set file attributes

Disassembly:
sub esp, 0x280
lea eax, [esp + 0x14]
push ebx
push ebp
push esi
push edi
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x24]
push 0x41c36c
push ecx
call fcn.00411d51
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x407c25
mov edx, dword [0x41fc38]
push 0x50101
push edx
call fcn.00403590
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
mov eax, dword [esp + 0x294]
push 0
push eax
push ebp
call fcn.00411ca5
add esp, 0xc
test eax, eax
push ebp
je 0x407c63
call fcn.00411b67
mov ecx, dword [0x41fc38]
push 0x50101
push ecx
call fcn.00403590
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push 4
push 1
push 0x41fef0
call fcn.00411bbd
mov edi, 0x41fef4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
mov dword [esp + 0x14], edx
cmp byte [edx + 0x41fef3], 0x5c
je 0x407cc4
mov edi, 0x41c2bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, 0x41fef4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x14], edx
push 0
push 0x41fef4
call fcn.00411920
add esp, 8
cmp eax, 0xffffffff
jne 0x407d04
push 0
push 0
push 0
push 0x41fef4
call fcn.00408250
add esp, 0x10
test eax, eax
jne 0x407d04
push ebp
call fcn.00411b67
push 0x50106
push 0x41fef4
jmp 0x407fd6
mov eax, dword [0x41fc38]
push 0x50001
push 0x41fef4
push eax
call fcn.004039b0
push 0x419280
push 0x41fef4
lea ecx, [esp + 0x38]
push 0x41c044
push ecx
call fcn.00411870
lea edx, [esp + 0x40]
push 0
push edx
call fcn.00411920
add esp, 0x24
test eax, eax
jne 0x407d91
lea eax, [esp + 0x24]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x24]
push ecx
call fcn.00402b30
add esp, 4
test al, al
je 0x407d91
push ebp
call fcn.00411b67
mov eax, dword [0x41fc38]
lea edx, [esp + 0x28]
push 0x50103
push edx
push eax
call fcn.004039b0
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
mov ecx, dword [0x41fef0]
mov eax, 1
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x18], eax
jl 0x407f5b
push ebp
push 0x64
lea ecx, [esp + 0x130]
push 1
push ecx
call fcn.00411bbd
push 0x68
call fcn.004118c2
mov edx, eax
add esp, 0x14
test edx, edx
je 0x407f96
lea edi, [esp + 0x128]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test ebx, ebx
mov dword [edx + 0x64], 0
je 0x407e14
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x407e0f
mov ebx, eax
mov eax, dword [ebx + 0x64]
test eax, eax
jne 0x407e06
mov dword [ebx + 0x64], edx
jmp 0x407e1a
mov dword [0x41fc34], edx
lea ecx, [esp + 0x128]
mov ebx, edx
push ecx
push 0x41fef4
lea edx, [esp + 0x2c]
push 0x41c044
push edx
call fcn.00411870
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x138]
lea ecx, [esp + 0x19c]
push eax
push ecx
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.00408250
add esp, 0x20
sub eax, 0
je 0x408030
dec eax
jne 0x407e82
mov edx, dword [0x41fc38]
lea ecx, [esp + 0x18c]
push 0x50002
push ecx
push edx
call fcn.004039b0
add esp, 0xc
push ebp
push 4
lea eax, [esp + 0x18]
push 1
push eax
call fcn.00411bbd
lea ecx, [esp + 0x2c]
push ecx
push ebp
call fcn.00411f1f
lea edx, [esp + 0x3c]
push 0
push edx
call fcn.00411920
add esp, 0x20
test eax, eax
jne 0x407ed4
lea eax, [esp + 0x24]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x24]
push ecx
call fcn.00402b30
add esp, 4
test al, al
jne 0x407f9c
lea edx, [esp + 0x24]
push 0x41c3dc
push edx
call fcn.00411d51
add esp, 8
mov esi, eax
test esi, esi
push ebp
je 0x407fc7
push esi
call fcn.00408380
mov ecx, dword [esp + 0x18]
add esp, 8
cmp eax, ecx
push esi
jne 0x407ff2
call fcn.00411b67
mov ecx, dword [0x41fc38]
lea eax, [esp + 0x28]
push 0x50003
push eax
push ecx
call fcn.004039b0
lea edx, [esp + 0x2c]
push edx
push ebp
call fcn.00411f07
mov eax, dword [esp + 0x28]
push 1
push eax
push ebp
call fcn.00411ca5
mov al, byte [ebp + 0xc]
add esp, 0x24
test al, 0x10
jne 0x407f70
mov eax, dword [esp + 0x18]
mov ecx, dword [0x41fef0]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x407daa
push 0
push 0
push ebp
call fcn.00411ca5
add esp, 0xc
test eax, eax
je 0x408044
push ebp
call fcn.00411b67
mov eax, dword [0x41fc38]
push 0x50101
push eax
call fcn.00403590
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push ebp
jmp 0x407c3d
push ebp
call fcn.00411b67
mov eax, dword [0x41fc38]
lea edx, [esp + 0x28]
push 0x50103
push edx
push eax
call fcn.004039b0
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
call fcn.00411b67
push 0x50102
lea ecx, [esp + 0x2c]
push ecx
mov edx, dword [0x41fc38]
push edx
call fcn.004039b0
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
call fcn.00411b67
push ebp
call fcn.00411b67
add esp, 8
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0x41fc38]
lea edx, [esp + 0x24]
push 0x50102
push edx
push eax
call fcn.004039b0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push ebp
call fcn.00411b67
push 0x50102
lea ecx, [esp + 0x194]
jmp 0x407fd5
call fcn.00409340
mov ecx, dword [0x41c364]
push ecx
call fcn.004118c2
add esp, 4
mov esi, eax
test esi, esi
push ebp
jne 0x408085
call fcn.00411b67
mov edx, dword [0x41fc38]
push 0x50101
push edx
call fcn.00403590
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
mov eax, dword [0x41c364]
push eax
push 1
push esi
call fcn.00411bbd
mov ecx, dword [0x41c364]
add esp, 0x10
cmp eax, ecx
je 0x4080cd
push esi
call fcn.00411efc
push ebp
call fcn.00411b67
mov ecx, dword [0x41fc38]
push 0x50101
push ecx
call fcn.00403590
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push 0x419280
push 0x41fef4
lea edx, [esp + 0x194]
push 0x41c044
push edx
call fcn.00411870
mov eax, dword [0x41c364]
lea ecx, [esp + 0x19c]
push eax
push esi
push ecx
call fcn.004099f0
add esp, 0x1c
test al, al
je 0x408141
lea edx, [esp + 0x18c]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
or al, 2
push eax
lea eax, [esp + 0x190]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [0x41fc38]
lea ecx, [esp + 0x18c]
push 0x50005
push ecx
push edx
call fcn.004039b0
add esp, 0xc
jmp 0x408163
lea eax, [esp + 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [0x41fc38]
push 0x50104
push ecx
call fcn.00403590
add esp, 8
push esi
call fcn.00411efc
push ebp
call fcn.00411b67
add esp, 8
mov bl, 1
call fcn.00409f50
test al, al
jne 0x40817f
xor bl, bl
call fcn.0040a0f0
test al, al
je 0x40819a
test bl, bl
je 0x40819a
mov edx, dword [0x41fc38]
push 0x50006
push edx
jmp 0x4081a5
mov eax, dword [0x41fc38]
push 0x50105
push eax
call fcn.00403590
add esp, 8
mov bl, 1
call fcn.0040a450
test al, al
jne 0x4081ba
xor bl, bl
call fcn.0040a950
test al, al
jne 0x4081c5
xor bl, bl
call fcn.0040ac10
test al, al
jne 0x4081d0
xor bl, bl
call fcn.0040ad90
test al, al
jne 0x4081db
xor bl, bl
call fcn.0040aef0
test al, al
jne 0x4081e6
xor bl, bl
call fcn.0040b050
test al, al
jne 0x4081f1
xor bl, bl
call fcn.0040b1b0
test al, al
jne 0x4081fc
xor bl, bl
call fcn.0040aa90
test al, al
je 0x408217
test bl, bl
je 0x408217
mov ecx, dword [0x41fc38]
push 0x50009
push ecx
jmp 0x408223
mov edx, dword [0x41fc38]
push 0x5010a
push edx
call fcn.00403590
mov eax, dword [0x41fc38]
add esp, 8
push 0
push eax
call fcn.00403590
add esp, 8
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret