Function at 0x407bb0
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 0x41d32c
push ecx
call fcn.00412111
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x407c05
mov edx, dword [0x422c18]
push 0x50101
push edx
call fcn.004035f0
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.00412065
add esp, 0xc
test eax, eax
push ebp
je 0x407c43
call fcn.00411f27
mov ecx, dword [0x422c18]
push 0x50101
push ecx
call fcn.004035f0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push 4
push 1
push 0x422ed0
call fcn.00411f7d
mov edi, 0x422ed4
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 + 0x422ed3], 0x5c
je 0x407ca4
mov edi, 0x41d280
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, 0x422ed4
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 0x422ed4
call fcn.00411ce0
add esp, 8
cmp eax, 0xffffffff
jne 0x407ce4
push 0
push 0
push 0
push 0x422ed4
call fcn.00408210
add esp, 0x10
test eax, eax
jne 0x407ce4
push ebp
call fcn.00411f27
push 0x50106
push 0x422ed4
jmp 0x407fb9
mov eax, dword [0x422c18]
push 0x50001
push 0x422ed4
push eax
call fcn.00403a10
add esp, 0xc
lea ecx, [esp + 0x24]
push 0x41a288
push 0x422ed4
push 0x41d048
push ecx
call fcn.00411c30
lea edx, [esp + 0x34]
push 0
push edx
call fcn.00411ce0
add esp, 0x18
test eax, eax
jne 0x407d74
lea eax, [esp + 0x24]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x24]
push ecx
call fcn.00402b20
add esp, 4
test al, al
je 0x407d74
push ebp
call fcn.00411f27
mov eax, dword [0x422c18]
lea edx, [esp + 0x28]
push 0x50103
push edx
push eax
call fcn.00403a10
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
mov ecx, dword [0x422ed0]
mov eax, 1
xor ebx, ebx
cmp ecx, eax
mov dword [esp + 0x18], eax
jl 0x407f3e
push ebp
push 0x64
lea ecx, [esp + 0x130]
push 1
push ecx
call fcn.00411f7d
push 0x68
call fcn.00411c82
mov edx, eax
add esp, 0x14
test edx, edx
je 0x407f79
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 0x407df7
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x407df2
mov ebx, eax
mov eax, dword [ebx + 0x64]
test eax, eax
jne 0x407de9
mov dword [ebx + 0x64], edx
jmp 0x407dfd
mov dword [0x422c10], edx
lea ecx, [esp + 0x128]
mov ebx, edx
push ecx
push 0x422ed4
lea edx, [esp + 0x2c]
push 0x41d048
push edx
call fcn.00411c30
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.00408210
add esp, 0x20
sub eax, 0
je 0x408013
dec eax
jne 0x407e65
mov edx, dword [0x422c18]
lea ecx, [esp + 0x18c]
push 0x50002
push ecx
push edx
call fcn.00403a10
add esp, 0xc
push ebp
push 4
lea eax, [esp + 0x18]
push 1
push eax
call fcn.00411f7d
lea ecx, [esp + 0x2c]
push ecx
push ebp
call fcn.004122df
lea edx, [esp + 0x3c]
push 0
push edx
call fcn.00411ce0
add esp, 0x20
test eax, eax
jne 0x407eb7
lea eax, [esp + 0x24]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x24]
push ecx
call fcn.00402b20
add esp, 4
test al, al
jne 0x407f7f
lea edx, [esp + 0x24]
push 0x41d39c
push edx
call fcn.00412111
add esp, 8
mov esi, eax
test esi, esi
push ebp
je 0x407faa
push esi
call fcn.00408340
mov ecx, dword [esp + 0x18]
add esp, 8
cmp eax, ecx
push esi
jne 0x407fd5
call fcn.00411f27
mov ecx, dword [0x422c18]
lea eax, [esp + 0x28]
push 0x50003
push eax
push ecx
call fcn.00403a10
lea edx, [esp + 0x2c]
push edx
push ebp
call fcn.004122c7
mov eax, dword [esp + 0x28]
push 1
push eax
push ebp
call fcn.00412065
mov al, byte [ebp + 0xc]
add esp, 0x24
test al, 0x10
jne 0x407f53
mov eax, dword [esp + 0x18]
mov ecx, dword [0x422ed0]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x407d8d
push 0
push 0
push ebp
call fcn.00412065
add esp, 0xc
test eax, eax
je 0x408027
push ebp
call fcn.00411f27
mov eax, dword [0x422c18]
push 0x50101
push eax
call fcn.004035f0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push ebp
jmp 0x407c1d
push ebp
call fcn.00411f27
mov eax, dword [0x422c18]
lea edx, [esp + 0x28]
push 0x50103
push edx
push eax
call fcn.00403a10
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
call fcn.00411f27
push 0x50102
lea ecx, [esp + 0x2c]
push ecx
mov edx, dword [0x422c18]
push edx
call fcn.00403a10
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
call fcn.00411f27
push ebp
call fcn.00411f27
add esp, 8
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0x422c18]
lea edx, [esp + 0x24]
push 0x50102
push edx
push eax
call fcn.00403a10
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push ebp
call fcn.00411f27
push 0x50102
lea ecx, [esp + 0x194]
jmp 0x407fb8
call fcn.00409310
mov ecx, dword [0x41d324]
push ecx
call fcn.00411c82
add esp, 4
mov esi, eax
test esi, esi
push ebp
jne 0x408068
call fcn.00411f27
mov edx, dword [0x422c18]
push 0x50101
push edx
call fcn.004035f0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
mov eax, dword [0x41d324]
push eax
push 1
push esi
call fcn.00411f7d
mov ecx, dword [0x41d324]
add esp, 0x10
cmp eax, ecx
je 0x4080b0
push esi
call fcn.004122bc
push ebp
call fcn.00411f27
mov ecx, dword [0x422c18]
push 0x50101
push ecx
call fcn.004035f0
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret
push 0x41a288
push 0x422ed4
lea edx, [esp + 0x194]
push 0x41d048
push edx
call fcn.00411c30
mov eax, dword [0x41d324]
lea ecx, [esp + 0x19c]
push eax
push esi
push ecx
call fcn.004099d0
add esp, 0x1c
test al, al
je 0x408124
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 [0x422c18]
lea ecx, [esp + 0x18c]
push 0x50005
push ecx
push edx
call fcn.00403a10
add esp, 0xc
jmp 0x408146
lea eax, [esp + 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [0x422c18]
push 0x50104
push ecx
call fcn.004035f0
add esp, 8
push esi
call fcn.004122bc
push ebp
call fcn.00411f27
add esp, 8
call fcn.00409f30
test al, al
je 0x40817e
call fcn.0040a0d0
test al, al
je 0x40817e
call fcn.0040a430
test al, al
je 0x40817e
mov edx, dword [0x422c18]
push 0x50006
push edx
jmp 0x408189
mov eax, dword [0x422c18]
push 0x50105
push eax
call fcn.004035f0
add esp, 8
call fcn.0040aa40
test al, al
je 0x4081d5
call fcn.0040a4f0
test al, al
je 0x4081d5
call fcn.0040ab80
test al, al
je 0x4081d5
call fcn.0040acf0
test al, al
je 0x4081d5
call fcn.0040ae80
test al, al
je 0x4081d5
call fcn.0040b010
test al, al
je 0x4081d5
mov ecx, dword [0x422c18]
push 0x50009
push ecx
jmp 0x4081e1
mov edx, dword [0x422c18]
push 0x5010a
push edx
call fcn.004035f0
add esp, 8
call fcn.0040b090
mov eax, dword [0x422c18]
push 0
push eax
call fcn.004035f0
add esp, 8
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret