Function at 0x10064cc0
Capabilities:
Set file attributes

Disassembly:
sub esp, 0x51c
push ebx
mov ebx, dword [esp + 0x524]
push ebp
mov ebp, dword [esp + 0x52c]
push esi
mov al, 0x77
mov dword [ebp], 0
mov ecx, dword [0x107ab964]
push edi
mov byte [esp + 0x14], al
mov byte [esp + 0x15], 0x73
mov byte [esp + 0x16], al
mov byte [esp + 0x17], 0x68
mov byte [esp + 0x18], 0x61
mov byte [esp + 0x19], 0x63
mov byte [esp + 0x1a], 0x6b
mov byte [esp + 0x1b], 0x65
mov byte [esp + 0x1c], 0x72
mov eax, dword [ecx]
push 0
push 0x8002
push ebx
call dword [eax + 4]
mov esi, eax
cmp esi, 0xffffffff
je 0x10064f59
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
mov edi, eax
test edi, edi
mov dword [esp + 0x24], edi
jg 0x10064d59
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret
mov edx, dword [0x107ab964]
lea ecx, [esp + 0x20]
push ecx
push esi
push edx
call fcn.10025680
add esp, 0xc
test eax, eax
jne 0x10064d8b
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret
mov ecx, dword [esp + 0x20]
add ecx, 0x100
cmp edi, ecx
jg 0x10064dc6
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [0x107ab964]
push ebp
push ebx
push eax
call fcn.1002bac0
add esp, 0xc
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x51c
ret
mov eax, dword [0x107ab964]
push 0
lea ecx, [esp + 0x18]
push 9
lea edx, [esp + 0x18]
push ecx
push edx
push esi
push eax
mov dword [esp + 0x28], 0
call fcn.1002a840
add esp, 0x18
test eax, eax
je 0x10064f4d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10064f4d
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [ebp - 8]
test ecx, ecx
jle 0x10064f4d
mov edi, dword [sym.imp.MSVCRT.dll_strncmp]
push 4
lea eax, [ebx + ebp - 4]
push 0x102325e4
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10064e7f
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x28]
push 1
lea eax, [esp + 0x30]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [0x107ab964]
push 0x100
push 0x100
push ecx
push edx
push esi
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10064f4d
lea eax, [esp + 0x2c]
push 4
lea ecx, [ebx + ebp - 8]
push eax
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x10064eb4
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [esp + 0x534]
mov ecx, dword [0x107ab964]
push eax
push ebx
push ecx
call fcn.1002bac0
add esp, 0xc
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x51c
ret
mov edx, dword [esp + 0x10]
mov eax, dword [0x107ab964]
add edx, 4
push edx
push esi
push eax
call fcn.10029b90
mov ecx, dword [0x107ab964]
add esp, 0xc
mov edi, eax
mov edx, dword [ecx]
push esi
call dword [edx + 0x18]
test edi, edi
je 0x10064f59
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x12c]
mov esi, ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 4]
lea edi, [esp + 0x12c]
mov eax, ecx
push 0x80
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
push 0x180
push ebx
mov edx, dword [ecx]
call dword [edx + 0x38]
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x12c]
push edx
push ebx
mov eax, dword [ecx]
call dword [eax + 0x4c]
xor ecx, ecx
cmp eax, 0xffffffff
pop edi
pop esi
setne cl
pop ebp
mov eax, ecx
pop ebx
add esp, 0x51c
ret
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret