Function at 0x469ac0
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58ec6c
mov eax, dword fs:[0]
push eax
sub esp, 0x76c
mov eax, dword [0x600f80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [0x606ca0], 5
jl 0x469b8c
call fcn.004107c0
mov edx, dword [eax]
mov ecx, dword [edx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469b8c
lea eax, [ebp - 0x130]
push eax
call fcn.0046aa70
mov esi, eax
sub esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2b8]
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.Log_class_Output2stream_.0
call fcn.00413e00
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.FILELog.0
push 5
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 1
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0
call fcn.0041b7f0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x11c], 0x10
jb 0x469b8c
push dword [ebp - 0x130]
call fcn.0053e195
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x612c70]
mov esi, eax
mov eax, 0x612c74
mov edi, 0x612c70
cmp ecx, esi
jne 0x469bb0
inc dword [0x612c6c]
jmp 0x469bc3
mov ecx, eax
call fcn.00440290
xchg dword [edi], esi
mov dword [0x612c6c], 1
lea edx, [ebp - 0x118]
mov ecx, ebx
call fcn.004697a0
test eax, eax
je 0x469c71
cmp dword [0x606ca0], 1
jl 0x469f85
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469f85
lea eax, [ebp - 0x178]
push eax
call fcn.0046abe0
mov esi, eax
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x498]
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.Log_class_Output2stream_.0
call fcn.00413e00
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.FILELog.0
push ebx
push ecx
push 1
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 3
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
add esp, 4
mov ecx, eax
call fcn.0045f540
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 2
call fcn.0041b7f0
lea ecx, [ebp - 0x178]
jmp 0x469f79
cmp dword [0x606ca0], 4
jl 0x469d50
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469d50
lea eax, [ebp - 0x1a8]
push eax
call fcn.0046b0e0
mov edi, eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 4], 4
push eax
call fcn.0046aeb0
mov esi, eax
sub esp, 8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x358]
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.Log_class_Output2stream_.0
call fcn.00413e00
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.FILELog.0
push ebx
push ecx
push 4
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 6
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
lea edx, [ebp - 0x118]
mov ecx, eax
call fcn.0041b540
mov edx, edi
mov ecx, eax
call fcn.0041b2e0
add esp, 4
mov ecx, eax
call fcn.0045f540
mov edx, 0x5dc154
mov ecx, eax
call fcn.0041b540
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 5
call fcn.0041b7f0
lea ecx, [ebp - 0x1d8]
call fcn.00407cb0
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 0xffffffff
call fcn.00407cb0
cmp dword [ebx*4 + 0xa9582c], 0
je 0x469dcc
cmp dword [0x606ca0], 4
jl 0x469f85
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469f85
lea eax, [ebp - 0x190]
push eax
call fcn.0046b1d0
mov esi, eax
lea ecx, [ebp - 0x778]
mov dword [ebp - 4], 7
call fcn.00410a10
push 4
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
lea ecx, [ebp - 0x778]
mov byte [ebp - 4], 7
call fcn.0041b7f0
lea ecx, [ebp - 0x190]
jmp 0x469f79
push 0x80
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
push 0x80
push 3
push 0
push 3
push bind
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebx*4 + 0xa9582c], eax
cmp eax, 0xffffffff
jne 0x469ed9
cmp dword [0x606ca0], 1
mov dword [ebx*4 + 0xa9582c], 0
jl 0x469f85
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469f85
push ecx
lea ecx, [ebp - 0x598]
call fcn.004957df
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 4], 9
push ecx
mov ecx, eax
call fcn.0049599b
mov edi, eax
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0xa
push eax
call fcn.0046b3e0
mov esi, eax
lea ecx, [ebp - 0x6d8]
mov byte [ebp - 4], 0xb
call fcn.00410a10
push 1
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
mov edx, edi
mov ecx, eax
call fcn.0041b2e0
lea ecx, [ebp - 0x6d8]
mov byte [ebp - 4], 0xb
call fcn.0041b7f0
lea ecx, [ebp - 0x1f0]
call fcn.00407cb0
lea ecx, [ebp - 0x1c0]
call fcn.00407cb0
lea ecx, [ebp - 0x598]
mov dword [ebp - 4], 0xffffffff
call fcn.0043bd00
jmp 0x469f85
cmp dword [0x606ca0], 2
jl 0x469f85
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x469f85
lea eax, [ebp - 0x208]
push eax
call fcn.0046b740
mov edi, eax
lea eax, [ebp - 0x220]
mov dword [ebp - 4], 0xd
push eax
call fcn.0046b5f0
mov esi, eax
lea ecx, [ebp - 0x638]
mov byte [ebp - 4], 0xe
call fcn.00410a10
push 2
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
lea edx, [ebp - 0x118]
mov ecx, eax
call fcn.0041b540
mov edx, edi
mov ecx, eax
call fcn.0041b2e0
lea ecx, [ebp - 0x638]
mov byte [ebp - 4], 0xe
call fcn.0041b7f0
lea ecx, [ebp - 0x220]
call fcn.00407cb0
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0xffffffff
call fcn.00407cb0
mov eax, dword [0x60e7c0]
test eax, eax
je 0x46a0da
dec eax
cmp dword [0x606ca0], 4
mov dword [0x60e7c0], eax
jl 0x46a042
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x46a03d
lea eax, [ebp - 0x160]
push eax
call fcn.0046b870
mov esi, eax
sub esp, 8
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x3f8]
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.Log_class_Output2stream_.0
call fcn.00413e00
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.FILELog.0
mov byte [ebp - 4], 0x11
push dword [0x60e7c0]
push ecx
push 4
lea ecx, [ebp - 0x400]
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
add esp, 4
mov ecx, eax
call fcn.0041cc10
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x10
call fcn.0041b7f0
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00407cb0
mov eax, dword [0x60e7c0]
test eax, eax
je 0x46a0da
cmp dword [0x606ca0], 5
jl 0x46a0da
call fcn.004107c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
cmp dword [ecx + eax + 0x38], 0
je 0x46a0da
lea eax, [ebp - 0x148]
push eax
call fcn.0046bb00
mov esi, eax
sub esp, 8
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x538]
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.Log_class_Output2stream_.0
call fcn.00413e00
mov dword [ebp - method.Log_class_Output2stream_.virtual_0], vtable.FILELog.0
push 5
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x13
call fcn.0041b8b0
mov edx, esi
mov ecx, eax
call fcn.0041b2e0
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x12
call fcn.0041b7f0
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
call fcn.00407cb0
dec dword [0x612c6c]
jne 0x46a11a
mov ecx, 0x612c70
xor eax, eax
xchg dword [ecx], eax
mov ecx, 0x612c74
mov eax, bind
lock xadd dword [ecx], eax
test eax, 0x40000000
jne 0x46a11a
cmp eax, 0x80000000
jle 0x46a11a
lock bts dword [ecx], 0x1e
jb 0x46a11a
call fcn.00406700
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053cd12
mov esp, ebp
pop ebp
ret