Function at 0x405fe0
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x43e446
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 ebp, ebp
mov esi, ecx
mov dword [esp + 0x18], ebp
mov ebx, 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x10074], ebx
call fcn.0041a1c6
lea ecx, [esp + 0x50]
mov byte [esp + 0x10074], 2
call fcn.0041a1c6
push ebp
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x48]
mov byte [esp + 0x10080], 3
call fcn.004042f0
mov eax, dword [esp + 0x10080]
mov ecx, dword [esp + 0x1007c]
push eax
push ecx
push 0x442848
mov byte [esp + 0x10080], 4
mov dword [esi + 0x90], ebp
call fcn.00408cc0
add esp, 0xc
push 4
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.00405180
push 4
lea eax, [esp + 0x68]
push eax
mov ecx, esi
call fcn.00405180
mov edx, dword [esp + 0x1007c]
lea ecx, [esp + 0x3c]
push ecx
push 0x10
push edx
lea ecx, [esp + 0x34]
call fcn.0041a5ab
test eax, eax
jne 0x40612a
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
mov byte [esp + 0x10074], 5
cmp esi, ebp
je 0x40610d
mov eax, dword [esp + 0x48]
push eax
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x442808
lea edx, [esp + 0x1008c]
push edx
push ecx
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404dd0
jmp 0x40610f
xor eax, eax
mov dword [esp + 0x18], eax
push 0x44b444
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x1007c], 4
call fcn.0042a1fa
lea ecx, [esp + 0x28]
call fcn.0041a0b1
mov edi, eax
mov dword [esi + 0x94], edi
test edi, edi
jle 0x406186
cmp byte [0x4551b1], 0
jne 0x40620a
cmp edi, 0x10000
mov ebx, 0x10000
jg 0x40615b
mov ebx, edi
push ebx
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x30]
call fcn.00419eba
push ebp
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004084d0
sub edi, ebx
add esp, 0xc
mov ebp, eax
test edi, edi
jg 0x40613f
mov ebx, 1
cmp dword [esp + 0x60], ebp
je 0x40635d
mov eax, dword [esp + 0x1007c]
cmp dword [eax - 0xc], 0
jl 0x4061bf
push str..exe
push eax
call fcn.0042a0a5
add esp, 8
test eax, eax
je 0x4061bf
sub eax, dword [esp + 0x1007c]
cmp eax, 0xffffffff
jne 0x4062db
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 0x4062be
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 0x4062c0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [esp + 0x3c], vtable.CFileException.0
mov byte [esp + 0x10074], 3
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40623a
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], 2
call fcn.0041a2a1
lea ecx, [esp + 0x28]
mov byte [esp + 0x10074], 1
call fcn.0041a2a1
mov eax, dword [esp + 0x1007c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x10074], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406287
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10080]
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 0x406706
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x406706
xor eax, eax
mov dword [esp + 0x18], eax
push 0x44b444
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x1007c], 4
call fcn.0042a1fa
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x10074], 7
test esi, esi
je 0x40633d
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], 8
mov dword [esp + 0x2c], ebx
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404d00
jmp 0x40633f
xor eax, eax
push 0x44b444
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1007c], 9
mov dword [esp + 0x1c], eax
call fcn.0042a1fa
push 0x442830
call fcn.00408cc0
mov ecx, dword [esi + 0x94]
add dword [esi + 0x5c], ebx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esi + 0x20]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x5c]
push eax
push ecx
lea edx, [esp + 0x1008c]
push str._s_05d.tmp
push edx
call fcn.00401480
mov eax, dword [esp + 0x10094]
push eax
push 0x442818
call fcn.00408cc0
mov ecx, dword [esp + 0x1009c]
add esp, 0x1c
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esp + 0x10080]
lea edx, [esp + 0x3c]
push edx
push 0x1011
push eax
lea ecx, [esp + 0x5c]
call fcn.0041a5ab
test eax, eax
jne 0x40644c
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 0x40642f
mov ecx, dword [esp + 0x48]
push ecx
push ebx
push ecx
mov edx, esp
mov dword [esp + 0x44], esp
push 0x442808
lea eax, [esp + 0x10090]
push eax
push edx
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404dd0
jmp 0x406431
xor eax, eax
push 0x44b444
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x1007c], 4
mov dword [esp + 0x1c], eax
call fcn.0042a1fa
push 4
lea edx, [esp + 0x20]
push edx
mov ecx, esi
xor ebx, ebx
call fcn.00405180
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x406611
jmp 0x406470
mov ecx, eax
and ecx, 0xc0000000
cmp ecx, 0xc0000000
jne 0x4064fa
mov edi, eax
shr edi, 8
and edi, 0x3fffff
xor ecx, ecx
lea ecx, [ecx]
cmp ecx, edi
jge 0x4064a1
mov byte [esp + ecx + 0x68], al
inc ecx
cmp ecx, 0x1000
jl 0x406490
test edi, edi
jle 0x4065f7
cmp byte [0x4551b1], 0
jne 0x40620a
cmp edi, 0x1000
mov ebp, 0x1000
jg 0x4064c5
mov ebp, edi
add dword [esi + 0x90], ebp
push ebp
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x58]
call fcn.00419efc
push ebx
lea eax, [esp + 0x6c]
push ebp
push eax
call fcn.004084d0
sub edi, 0x1000
add esp, 0xc
mov ebx, eax
test edi, edi
jg 0x4064a9
jmp 0x4065f7
mov ecx, eax
and ecx, 0x80000000
cmp ecx, 0x80000000
jne 0x40657a
and eax, 0x7fffffff
mov ebp, eax
jle 0x4065f7
jmp 0x406520
cmp byte [0x4551b1], 0
jne 0x4066bb
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x40653c
mov edi, ebp
add dword [esi + 0x90], edi
push edi
lea edx, [esp + 0x6c]
push edx
mov ecx, esi
call fcn.00405180
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 0x406520
jmp 0x4065f7
push 4
lea edx, [esp + 0x20]
push edx
mov ecx, esi
mov ebp, eax
call fcn.00405180
mov eax, dword [esp + 0x1c]
push 0
push 0
push eax
lea ecx, [esp + 0x34]
call fcn.00419f49
test ebp, ebp
jle 0x4065f7
cmp byte [0x4551b1], 0
jne 0x4066bb
cmp ebp, 0x10000
mov edi, 0x10000
jg 0x4065bc
mov edi, ebp
add dword [esi + 0x90], edi
push edi
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x30]
call fcn.00419eba
push edi
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x58]
call fcn.00419efc
push ebx
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.004084d0
sub ebp, edi
add esp, 0xc
mov ebx, eax
test ebp, ebp
jg 0x4065a0
push 4
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.00405180
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x406470
cmp dword [esp + 0x64], ebx
je 0x406696
push 0x14
call fcn.0040bdea
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov byte [esp + 0x10074], 0xb
test esi, esi
je 0x406676
push 0
lea edx, [esp + 0x3c]
push edx
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], 0xc
mov dword [esp + 0x2c], 2
call fcn.004027c0
add esp, 0xc
mov ecx, esi
call fcn.00404d00
jmp 0x406678
xor eax, eax
push 0x44b444
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1007c], 0xd
mov dword [esp + 0x1c], eax
call fcn.0042a1fa
mov eax, dword [esi + 0x94]
mov dword [esi + 0x90], eax
add dword [0x4551b4], 2
push 0x4427bc
call fcn.00408cc0
add esp, 4
jmp 0x40620a
lea ecx, [esp + 0x3c]
mov byte [esp + 0x10074], 3
call fcn.004037b0
lea ecx, [esp + 0x50]
mov byte [esp + 0x10074], 2
call fcn.0041a2a1
lea ecx, [esp + 0x28]
mov byte [esp + 0x10074], 1
call fcn.0041a2a1
lea ecx, [esp + 0x1007c]
call fcn.004012f0
lea ecx, [esp + 0x10080]
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 8