Function at 0x406c10
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4312e9
push eax
mov eax, 0x10054
mov dword fs:[0], esp
call fcn.004138b0
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x1006c], 1
call fcn.00423482
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1006c], 2
call fcn.00423482
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1006c], 3
call fcn.00424319
mov eax, dword [0x44169c]
mov dword [esp + 0x2c], eax
push ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x10070], 5
mov dword [esp + 0x20], vtable.CFileException.0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 0xffffffff
call fcn.00423f0e
mov ecx, dword [esp + 0x10078]
mov edx, dword [esp + 0x10074]
push ecx
push edx
push 0x43fae4
mov byte [esp + 0x10078], 6
mov dword [esi + 0x80], ebx
call fcn.004089b0
add esp, 0xc
lea eax, [esp + 0x60]
mov ecx, esi
push 4
push eax
call fcn.004077b0
lea ecx, [esp + 0x5c]
push 4
push ecx
mov ecx, esi
call fcn.004077b0
mov eax, dword [esp + 0x10074]
lea edx, [esp + 0x1c]
push edx
push 0x10
push eax
lea ecx, [esp + 0x44]
call fcn.00423594
test eax, eax
jne 0x406d66
push 0x14
call fcn.00423ac6
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
cmp esi, ebx
mov byte [esp + 0x1006c], 7
je 0x406d49
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x10074]
push ecx
push 1
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push 0x43f2e0
push eax
push edx
call fcn.0042401a
mov ecx, esi
call fcn.00403810
jmp 0x406d4b
xor eax, eax
lea ecx, [esp + 0x14]
push 0x439070
push ecx
mov byte [esp + 0x10074], 6
mov dword [esp + 0x1c], eax
call fcn.0041381a
lea ecx, [esp + 0x38]
call fcn.0042388e
mov edi, eax
cmp edi, ebx
mov dword [esi + 0x84], edi
jle 0x406dbd
mov al, byte [0x465739]
test al, al
jne 0x406e1e
cmp edi, 0x10000
mov ebp, 0x10000
jg 0x406d97
mov ebp, edi
lea edx, [esp + 0x64]
push ebp
push edx
lea ecx, [esp + 0x40]
call fcn.004236b1
push ebx
lea eax, [esp + 0x68]
push ebp
push eax
call fcn.00407ec0
sub edi, ebp
add esp, 0xc
test edi, edi
mov ebx, eax
jg 0x406d7b
cmp dword [esp + 0x60], ebx
je 0x406ecf
push str..exe
lea ecx, [esp + 0x10078]
call fcn.0042282c
cmp eax, 0xffffffff
push 0x14
jne 0x406e50
call fcn.00423ac6
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x1006c], 9
je 0x406e33
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
lea edx, [esp + 0x1007c]
push 0x43f2c8
push edx
push ecx
call fcn.0042401a
mov ecx, esi
call fcn.00403790
jmp 0x406e35
mov dword [esp + 0x1c], vtable.CFileException.0
mov byte [esp + 0x1006c], 8
jmp 0x40726c
xor eax, eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push 0x439070
push eax
mov byte [esp + 0x10074], 6
call fcn.0041381a
call fcn.00423ac6
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x1006c], 0xa
je 0x406eaf
push 0
lea ecx, [esp + 0x10078]
push 0x43f2c8
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.0042401a
mov dword [esp + 0x18], 1
push ecx
mov byte [esp + 0x10074], 0xb
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x43f298
push eax
push ecx
call fcn.0042401a
mov ecx, esi
call fcn.00403790
jmp 0x406eb1
xor eax, eax
lea edx, [esp + 0x10]
push 0x439070
push edx
mov dword [esp + 0x10074], 0xc
mov dword [esp + 0x18], eax
call fcn.0041381a
push 0x43fbe4
call fcn.004089b0
mov ecx, dword [esi + 0x84]
mov eax, 0x66666667
imul ecx
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x20]
sar edx, 1
mov eax, edx
add esp, 4
shr eax, 0x1f
add edx, eax
inc ebx
mov eax, ebx
mov dword [esi + 0x80], edx
push eax
push ecx
lea edx, [esp + 0x10080]
push str._s_05d.tmp
push edx
mov dword [esi + 0x5c], ebx
call fcn.00422bb2
mov eax, dword [esp + 0x10088]
add esp, 0x10
push eax
push 0x43fba4
call fcn.004089b0
mov ecx, dword [esp + 0x10080]
add esp, 8
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esp + 0x10078]
lea edx, [esp + 0x1c]
push edx
push 0x1011
push eax
lea ecx, [esp + 0x58]
call fcn.00423594
test eax, eax
jne 0x406fc5
push 0x14
call fcn.00423ac6
mov esi, eax
add esp, 4
mov dword [esp + 0x34], esi
test esi, esi
mov byte [esp + 0x1006c], 0xd
je 0x406fa8
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x10078]
push ecx
push 1
push ecx
mov edx, esp
mov dword [esp + 0x54], esp
push 0x43f2e0
push eax
push edx
call fcn.0042401a
mov ecx, esi
call fcn.00403810
jmp 0x406faa
xor eax, eax
lea ecx, [esp + 0x10]
push 0x439070
push ecx
mov byte [esp + 0x10074], 6
mov dword [esp + 0x18], eax
call fcn.0041381a
xor ebx, ebx
lea edx, [esp + 0x30]
push 4
push edx
mov ecx, esi
call fcn.004077b0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4071b6
mov ecx, eax
and ecx, 0xc0000000
cmp ecx, 0xc0000000
jne 0x40706c
mov edi, eax
shr edi, 8
and edi, 0x3fffff
xor ecx, ecx
cmp ecx, edi
jge 0x40700f
mov byte [esp + ecx + 0x64], al
inc ecx
cmp ecx, 0x1000
jl 0x406ffe
test edi, edi
jle 0x406fc7
mov al, byte [0x465739]
test al, al
jne 0x407177
cmp edi, 0x1000
mov ebp, 0x1000
jg 0x40702f
mov ebp, edi
mov edx, dword [esi + 0x80]
push ebp
add edx, ebp
lea ecx, [esp + 0x50]
mov dword [esi + 0x80], edx
lea edx, [esp + 0x68]
push edx
call fcn.004236eb
push ebx
lea eax, [esp + 0x68]
push ebp
push eax
call fcn.00407ec0
sub edi, 0x1000
add esp, 0xc
test edi, edi
mov ebx, eax
jg 0x407013
jmp 0x406fc7
mov ecx, eax
and ecx, 0x80000000
cmp ecx, 0x80000000
jne 0x4070eb
and eax, 0x7fffffff
mov ebp, eax
jle 0x406fc7
mov al, byte [0x465739]
test al, al
jne 0x40718c
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x4070a5
mov edi, ebp
mov eax, dword [esi + 0x80]
lea edx, [esp + 0x64]
add eax, edi
push edi
push edx
mov ecx, esi
mov dword [esi + 0x80], eax
call fcn.004077b0
lea eax, [esp + 0x64]
push edi
push eax
lea ecx, [esp + 0x54]
call fcn.004236eb
push ebx
lea ecx, [esp + 0x68]
push edi
push ecx
call fcn.00407ec0
sub ebp, edi
add esp, 0xc
test ebp, ebp
mov ebx, eax
jg 0x407089
jmp 0x406fc7
lea edx, [esp + 0x30]
push 4
push edx
mov ecx, esi
mov ebp, eax
call fcn.004077b0
mov eax, dword [esp + 0x30]
push 0
push eax
lea ecx, [esp + 0x40]
call fcn.00423736
test ebp, ebp
jle 0x406fc7
mov al, byte [0x465739]
test al, al
jne 0x4071a1
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x40712f
mov edi, ebp
mov ecx, dword [esi + 0x80]
push edi
add ecx, edi
mov dword [esi + 0x80], ecx
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x40]
call fcn.004236b1
lea edx, [esp + 0x64]
push edi
push edx
lea ecx, [esp + 0x54]
call fcn.004236eb
push ebx
lea eax, [esp + 0x68]
push edi
push eax
call fcn.00407ec0
sub ebp, edi
add esp, 0xc
test ebp, ebp
mov ebx, eax
jg 0x407113
jmp 0x406fc7
mov dword [esp + 0x1c], vtable.CFileException.0
mov byte [esp + 0x1006c], 0xe
jmp 0x40726c
mov dword [esp + 0x1c], vtable.CFileException.0
mov byte [esp + 0x1006c], 0xf
jmp 0x40726c
mov dword [esp + 0x1c], vtable.CFileException.0
mov byte [esp + 0x1006c], 0x10
jmp 0x40726c
cmp dword [esp + 0x5c], ebx
je 0x407234
push 0x14
call fcn.00423ac6
mov esi, eax
add esp, 4
mov dword [esp + 0x34], esi
test esi, esi
mov byte [esp + 0x1006c], 0x11
je 0x407214
lea ecx, [esp + 0x48]
push 0
push ecx
lea ecx, [esp + 0x40]
call fcn.00424761
mov dword [esp + 0x18], 2
push ecx
mov byte [esp + 0x10074], 0x12
mov edx, esp
mov dword [esp + 0x20], esp
push 0x43f2c8
push eax
push edx
call fcn.0042401a
mov ecx, esi
call fcn.00403790
jmp 0x407216
xor eax, eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push 0x439070
push eax
mov dword [esp + 0x10074], 0x13
call fcn.0041381a
mov ecx, dword [esi + 0x84]
push 0x43fbd0
mov dword [esi + 0x80], ecx
mov edx, dword [0x46573c]
add edx, 2
mov dword [0x46573c], edx
call fcn.004089b0
add esp, 4
mov dword [esp + 0x1c], vtable.CFileException.0
mov byte [esp + 0x1006c], 0x14
lea ecx, [esp + 0x2c]
call fcn.00423d85
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1006c], 2
call fcn.004234d7
lea ecx, [esp + 0x38]
mov byte [esp + 0x1006c], 1
call fcn.004234d7
lea ecx, [esp + 0x10074]
mov byte [esp + 0x1006c], 0
call fcn.00423d85
lea ecx, [esp + 0x10078]
mov dword [esp + 0x1006c], 0xffffffff
call fcn.00423d85
mov ecx, dword [esp + 0x10064]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10060
ret 8