Function at 0x402480
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4371b2
mov eax, dword fs:[0]
push eax
sub esp, 0x6e0
mov eax, dword [0x44c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x44fb5a], 0
jne 0x40274a
mov byte [ebp - 0x6d8], 0
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 4], 0
xor edi, edi
mov dword [ebp - method.t_mutex::t_locker.virtual_0], vtable.t_mutex::t_locker.0
mov dword [ebp - 0x6e8], edi
push ecx
lea eax, [ebp - 0x6dc]
mov byte [ebp - 4], 1
mov esi, 0x451b70
push eax
mov ecx, esi
call fcn.004090a0
test al, al
lea ecx, [ebp - 0x258]
cmove esi, edi
mov dword [ebp - 0x6e8], esi
call fcn.00403a00
lea edx, [ebp - 0x258]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6dc]
call fcn.00405410
test al, al
je 0x4026fd
cmp byte [ebp - 0x13c], 0
lea eax, [ebp - 0x24c]
lea ecx, [ebp - 0x134]
cmove eax, dword [ebp - 0x250]
sub esp, 0x10
add eax, 4
push edi
push eax
call fcn.00405860
push ecx
lea eax, [ebp - 0x6dc]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x134]
call fcn.00406010
sub esp, 0x10
lea ecx, [ebp - 0x37c]
push edi
push str.temp.dll
call fcn.00405860
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x134]
call fcn.00405ae0
cmp byte [ebp - 0x260], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4025bf
mov eax, dword [ebp - 0x374]
lea ecx, [ebp - 0x370]
cmp eax, ecx
je 0x4025bf
push eax
call fcn.00427afc
add esp, 4
push ecx
lea ecx, [ebp - 0x6d4]
call fcn.004031d0
mov dword [ebp - method.t_fileWrite.virtual_0], vtable.t_fileWrite.0
mov dword [ebp - 0x380], 0x4444f8
mov byte [ebp - 4], 4
lea eax, [ebp - 0x128]
cmp byte [ebp - 0x18], 0
push 0x80
cmove eax, dword [ebp - 0x12c]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 1
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x6dc]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.00403330
test al, al
je 0x4026b5
push 0x3490
push 0x43eac0
lea eax, [ebp - 0x6dc]
push eax
lea ecx, [ebp - 0x380]
call fcn.004046e0
lea ecx, [ebp - 0x6d4]
call fcn.004035e0
cmp byte [ebp - 0x18], 0
lea ecx, [ebp - 0x128]
push 0
cmove ecx, dword [ebp - 0x12c]
mov edi, 1
push 0
add ecx, 4
mov edx, edi
call fcn.00402290
movzx ecx, byte [0x44fb5b]
test eax, eax
mov byte [ebp - 0x6e0], 0
cmove ecx, edi
mov dword [ebp - 0x6e4], 0
mov byte [0x44fb5b], cl
lea eax, [ebp - 0x6e4]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x134]
call fcn.00405ed0
lea ecx, [ebp - 0x6e4]
call fcn.00406fb0
lea ecx, [ebp - 0x6d4]
mov dword [ebp - method.t_fileWrite.virtual_0], vtable.t_fileWrite.0
mov dword [ebp - method.t_byteStreamWrite.virtual_0], vtable.t_byteStreamWrite.0
call fcn.00403270
cmp byte [ebp - 0x18], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4026fd
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x128]
cmp eax, ecx
je 0x4026fd
push eax
call fcn.00427afc
add esp, 4
cmp byte [ebp - 0x13c], 0
mov byte [0x44fb5a], 1
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x402730
mov eax, dword [ebp - 0x250]
lea ecx, [ebp - 0x24c]
cmp eax, ecx
je 0x402730
push eax
call fcn.00427afc
add esp, 4
mov byte [ebp - 4], 0xe
test esi, esi
je 0x40273f
mov ecx, esi
call fcn.00409150
lea ecx, [ebp - 0x6dc]
call fcn.00406fb0
mov al, byte [0x44fb5b]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00421b57
mov esp, ebp
pop ebp
ret