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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41542b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50c
mov dword [ebp - 0x4f8], ecx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x4f8]
call fcn.0040ad30
mov dword [ebp - 4], 0
push 0
push 0
lea ecx, [ebp - 0x2c]
call fcn.00401b90
mov byte [ebp - 4], 1
mov byte [ebp - 0xd], 0
cmp dword [ebp - 0x3c], 0x10
jb 0x40b09f
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4fc], ecx
jmp 0x40b0a8
lea edx, [ebp - 0x50]
mov dword [ebp - 0x4fc], edx
mov eax, dword [ebp - 0x4fc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x3c], 0x10
jb 0x40b0d2
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x500], edx
jmp 0x40b0db
lea eax, [ebp - 0x50]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x500]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp - 0x3c], 0x10
jb 0x40b0fd
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x504], eax
jmp 0x40b106
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x504], ecx
push 0x416854
mov edx, dword [ebp - 0x504]
push edx
call fcn.0040dbf4
add esp, 8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x40b158
mov byte [ebp - 0x46d], 1
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401b90
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401b90
mov al, byte [ebp - 0x46d]
jmp 0x40b45a
lea ecx, [ebp - 0x468]
call fcn.0040b4e0
mov byte [ebp - 4], 2
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x38]
push eax
push 0x400
lea ecx, [ebp - 0x45c]
push ecx
call fcn.0040db12
add esp, 0xc
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x40b24b
lea edx, [ebp - 0x45c]
push edx
call fcn.0040ce50
add esp, 4
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402070
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x474], esp
mov dword [ebp - 0x4a0], ecx
push 0
push 0
mov ecx, dword [ebp - 0x4a0]
call fcn.00401b90
mov edx, dword [0x4164b8]
push edx
push 0
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x4a0]
call fcn.00401f80
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x508], ecx
mov ecx, dword [ebp - 0x4f8]
call fcn.0040abb0
mov byte [ebp - 0x509], al
movzx edx, byte [ebp - 0x509]
test edx, edx
jne 0x40b242
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4a4], ecx
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
lea ecx, [ebp - 0x468]
call fcn.0040b660
jmp 0x40b246
mov byte [ebp - 0xd], 1
jmp 0x40b16e
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0040dac1
add esp, 4
mov dword [ebp - 0x38], 0
movzx edx, byte [ebp - 0xd]
test edx, edx
je 0x40b413
cmp dword [ebp - 0x3c], 0x10
jb 0x40b27b
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x510], eax
jmp 0x40b284
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x3c], 0x10
jb 0x40b2a2
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x514], eax
jmp 0x40b2ab
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x514], ecx
push 0x416850
mov edx, dword [ebp - 0x514]
push edx
call fcn.0040dbf4
add esp, 8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x40b30c
mov byte [ebp - 0x475], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.0040b510
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401b90
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401b90
mov al, byte [ebp - 0x475]
jmp 0x40b45a
mov dword [ebp - 0x46c], 0
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x46c], ecx
jmp 0x40b370
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x46c]
mov ecx, dword [eax]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
mov dword [ebp - 0x484], ecx
mov edx, dword [ebp - 0x46c]
sub edx, dword [ebp - 0x484]
neg edx
sbb edx, edx
inc edx
movzx eax, dl
neg eax
sbb eax, eax
inc eax
movzx ecx, al
test ecx, ecx
je 0x40b400
mov edx, dword [ebp - 0x46c]
add edx, 8
mov dword [ebp - 0x4bc], edx
mov eax, dword [0x4164b8]
push eax
push 0
mov ecx, dword [ebp - 0x4bc]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00401f80
cmp dword [ebp - 0x14], 0x10
jb 0x40b3df
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x518], edx
jmp 0x40b3e8
lea eax, [ebp - 0x28]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x518]
push edx
call fcn.0040da04
add esp, 8
jmp 0x40b34a
mov eax, dword [ebp - 0x38]
push eax
call fcn.0040dac1
add esp, 4
mov dword [ebp - 0x38], 0
movzx ecx, byte [ebp - 0xd]
neg ecx
sbb ecx, ecx
inc ecx
mov byte [ebp - 0x485], cl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.0040b510
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00401b90
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.00401b90
mov al, byte [ebp - 0x485]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret