Function at 0x4058e0
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x43e35e
mov eax, dword fs:[0]
push eax
mov eax, 0x10058
call fcn.0042a340
mov eax, dword [0x453d48]
xor eax, esp
mov dword [esp + 0x10054], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x453d48]
xor eax, esp
push eax
lea eax, [esp + 0x1006c]
mov dword fs:[0], eax
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x10074], ebx
call fcn.0041a1c6
lea ecx, [esp + 0x50]
mov byte [esp + 0x10074], 1
call fcn.0041a1c6
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x10080], 2
call fcn.004042f0
mov eax, dword [esp + 0x1007c]
push eax
push 0x442684
mov byte [esp + 0x1007c], 3
call fcn.00408cc0
add esp, 8
push 4
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
call fcn.00405180
push 4
lea edx, [esp + 0x68]
push edx
mov ecx, esi
call fcn.00405180
mov ecx, dword [esp + 0x1007c]
lea eax, [esp + 0x3c]
push eax
push 0x10
push ecx
lea ecx, [esp + 0x34]
call fcn.0041a5ab
test eax, eax
jne 0x405a18
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
mov byte [esp + 0x10074], 4
cmp esi, ebx
je 0x4059fb
mov edx, dword [esp + 0x48]
push edx
push 1
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push 0x442808
lea ecx, [esp + 0x1008c]
push ecx
push eax
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404dd0
jmp 0x4059fd
xor eax, eax
push 0x44b444
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x1007c], 3
mov dword [esp + 0x20], eax
call fcn.0042a1fa
lea ecx, [esp + 0x28]
call fcn.0041a0b1
mov edi, eax
cmp edi, ebx
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], ebx
jle 0x405a75
cmp byte [0x4551b1], 0
jne 0x405af9
cmp edi, 0x10000
mov ebp, 0x10000
jg 0x405a4f
mov ebp, edi
push ebp
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x30]
call fcn.00419eba
push ebx
lea ecx, [esp + 0x6c]
push ebp
push ecx
call fcn.004084d0
sub edi, ebp
add esp, 0xc
mov ebx, eax
test edi, edi
jg 0x405a33
cmp dword [esp + 0x60], ebx
je 0x405c25
mov eax, dword [esp + 0x1007c]
cmp dword [eax - 0xc], 0
jl 0x405aae
push str..exe
push eax
call fcn.0042a0a5
add esp, 8
test eax, eax
je 0x405aae
sub eax, dword [esp + 0x1007c]
cmp eax, 0xffffffff
jne 0x405b9f
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x10074], 5
test esi, esi
je 0x405b82
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4427f8
lea edx, [esp + 0x10088]
push edx
push ecx
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404d00
jmp 0x405b84
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x10074], 2
mov dword [esp + 0x3c], vtable.CFileException.0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405b29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x10074], 1
call fcn.0041a2a1
lea ecx, [esp + 0x28]
mov byte [esp + 0x10074], 0
call fcn.0041a2a1
mov eax, dword [esp + 0x1007c]
add eax, 0xfffffff0
mov dword [esp + 0x10074], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405fae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x405fae
xor eax, eax
mov dword [esp + 0x18], eax
push 0x44b444
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x1007c], 3
call fcn.0042a1fa
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x10074], 6
test esi, esi
je 0x405c05
push 0
push 0x4427f8
lea ecx, [esp + 0x10084]
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.004027c0
add esp, 8
mov ecx, esp
mov dword [esp + 0x2c], esp
push str._n_____
push eax
push ecx
mov byte [esp + 0x10088], 7
mov dword [esp + 0x2c], 1
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404d00
jmp 0x405c07
xor eax, eax
push 0x44b444
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1007c], 8
mov dword [esp + 0x1c], eax
call fcn.0042a1fa
push 0x442654
call fcn.00408cc0
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
push eax
mov eax, dword [esi + 0x20]
push eax
lea ecx, [esp + 0x10088]
push str._s_05d.tmp
push ecx
call fcn.00401480
mov edx, dword [esp + 0x10090]
push edx
push 0x442620
call fcn.00408cc0
mov eax, dword [esp + 0x10098]
add esp, 0x1c
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [esp + 0x1007c]
lea ecx, [esp + 0x3c]
push ecx
push 0x1011
push edx
lea ecx, [esp + 0x5c]
call fcn.0041a5ab
test eax, eax
jne 0x405cf9
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov byte [esp + 0x10074], 9
test esi, esi
je 0x405cdc
mov eax, dword [esp + 0x48]
push eax
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x442808
lea edx, [esp + 0x1008c]
push edx
push ecx
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404dd0
jmp 0x405cde
xor eax, eax
mov dword [esp + 0x14], eax
push 0x44b444
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x1007c], 3
call fcn.0042a1fa
push 4
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
xor ebx, ebx
call fcn.00405180
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x405eb1
mov edx, eax
and edx, 0xc0000000
cmp edx, 0xc0000000
jne 0x405d9c
mov edi, eax
shr edi, 8
and edi, 0x3fffff
xor ecx, ecx
cmp ecx, edi
jge 0x405d43
mov byte [esp + ecx + 0x68], al
inc ecx
cmp ecx, 0x1000
jl 0x405d32
test edi, edi
jle 0x405e97
cmp byte [0x4551b1], 0
jne 0x405f46
cmp edi, 0x1000
mov ebp, 0x1000
jg 0x405d67
mov ebp, edi
add dword [esi + 0x90], ebp
push ebp
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x58]
call fcn.00419efc
push ebx
lea ecx, [esp + 0x6c]
push ebp
push ecx
call fcn.004084d0
sub edi, 0x1000
add esp, 0xc
mov ebx, eax
test edi, edi
jg 0x405d4b
jmp 0x405e97
mov edx, eax
and edx, 0x80000000
cmp edx, 0x80000000
jne 0x405e1a
and eax, 0x7fffffff
mov ebp, eax
jle 0x405e97
lea esp, [esp]
cmp byte [0x4551b1], 0
jne 0x405f6f
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x405ddc
mov edi, ebp
add dword [esi + 0x90], edi
push edi
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.00405180
push edi
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00419efc
push ebx
lea edx, [esp + 0x6c]
push edi
push edx
call fcn.004084d0
sub ebp, edi
add esp, 0xc
mov ebx, eax
test ebp, ebp
jg 0x405dc0
jmp 0x405e97
mov ebp, eax
push 4
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.00405180
mov ecx, dword [esp + 0x1c]
push 0
push 0
push ecx
lea ecx, [esp + 0x34]
call fcn.00419f49
test ebp, ebp
jle 0x405e97
cmp byte [0x4551b1], 0
jne 0x405f6f
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x405e5c
mov edi, ebp
add dword [esi + 0x90], edi
push edi
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x30]
call fcn.00419eba
push edi
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x58]
call fcn.00419efc
push ebx
lea ecx, [esp + 0x6c]
push edi
push ecx
call fcn.004084d0
sub ebp, edi
add esp, 0xc
mov ebx, eax
test ebp, ebp
jg 0x405e40
push 4
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.00405180
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x405d15
cmp dword [esp + 0x64], ebx
je 0x405f32
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov byte [esp + 0x10074], 0xa
test esi, esi
je 0x405f12
push 0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x30]
call fcn.0041ae2d
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4427f8
push eax
push ecx
mov byte [esp + 0x10088], 0xb
mov dword [esp + 0x2c], 2
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404d00
jmp 0x405f14
xor eax, eax
push 0x44b444
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1007c], 0xc
mov dword [esp + 0x1c], eax
call fcn.0042a1fa
add dword [0x4551b4], 2
push 0x4427bc
call fcn.00408cc0
add esp, 4
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x10074], 2
mov dword [esp + 0x3c], vtable.CFileException.0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x405b1d
lea ecx, [esp + 0x3c]
mov byte [esp + 0x10074], 2
call fcn.004037b0
lea ecx, [esp + 0x50]
mov byte [esp + 0x10074], 1
call fcn.0041a2a1
lea ecx, [esp + 0x28]
mov byte [esp + 0x10074], 0
call fcn.0041a2a1
lea ecx, [esp + 0x1007c]
call fcn.004012f0
mov ecx, dword [esp + 0x1006c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10054]
xor ecx, esp
call fcn.0042997e
add esp, 0x10064
ret 4