Function at 0x10065240
Capabilities:
Set file attributes

Disassembly:
sub esp, 0x904
push ebx
mov ebx, dword [esp + 0x90c]
push ebp
mov ebp, dword [esp + 0x914]
push esi
push edi
mov dword [ebp], 0
mov ecx, dword [0x107ab964]
push 0
push 0x8002
mov eax, dword [ecx]
push ebx
call dword [eax + 4]
mov esi, eax
cmp esi, 0xffffffff
je 0x100654d1
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
mov edi, eax
test edi, edi
jle 0x100654c5
mov ecx, dword [0x107ab964]
push esi
push ecx
call fcn.10011230
add esp, 8
test eax, eax
jge 0x100652c0
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, 0x904
ret
cmp eax, 0x5a000
jge 0x100652f5
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [0x107ab964]
push ebp
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, 0x904
ret
mov edx, dword [0x107ab964]
push esi
push edx
call fcn.1000fca0
add esp, 8
test eax, eax
jle 0x100654c5
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x18]
push ecx
push edx
push 0x500
add eax, 0x1000
push 0x500
push eax
mov eax, dword [0x107ab964]
push edi
push esi
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x100654c5
cmp dword [esp + 0x10], 0x500
jne 0x100654c5
xor eax, eax
mov dl, 0xe8
mov ebp, 0x5653
cmp dword [esp + eax + 0x14], 0x8908c483
jne 0x100653a3
cmp word [esp + eax + 0x18], 0xfc45
jne 0x100653a3
cmp byte [esp + eax + 0x1a], 0x68
jne 0x100653a3
cmp dword [esp + eax + 0x1f], 0xfc75ff53
jne 0x100653a3
cmp byte [esp + eax + 0x23], dl
jne 0x100653a3
cmp dword [esp + eax + 0x28], 0x680cc483
jne 0x100653a3
cmp word [esp + eax + 0x30], bp
jne 0x100653a3
cmp byte [esp + eax + 0x32], dl
jne 0x100653a3
mov ecx, dword [esp + eax + 0x1b]
cmp dword [esp + eax + 0x2c], ecx
je 0x100653b0
inc eax
cmp eax, 0x4e0
jl 0x10065358
jmp 0x100652a7
cmp eax, 0x4e0
jge 0x100652a7
test ecx, ecx
je 0x100652a7
cmp edi, ecx
ja 0x100653fc
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [esp + 0x91c]
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, 0x904
ret
mov edx, dword [0x107ab964]
push ecx
push esi
push edx
call fcn.10029b90
mov ecx, dword [0x107ab964]
add esp, 0xc
test eax, eax
je 0x100654cb
mov edx, dword [ecx]
push esi
call dword [edx + 0x18]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x514]
mov esi, ebx
rep stosd dword es:[edi], eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x514]
mov eax, ecx
push 0x2e
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.MSVCRT.dll_strrchr]
lea ecx, [esp + 0x518]
push ecx
call edi
lea edx, [esp + 0x51c]
push 0x5c
push edx
mov esi, eax
call edi
add esp, 0x10
test esi, esi
je 0x100654b5
test eax, eax
je 0x100654b5
cmp eax, esi
jae 0x100654b5
mov byte [esi], 0
mov ecx, dword [0x107ab964]
push 0x180
push ebx
mov eax, dword [ecx]
call dword [eax + 0x38]
push 0x80
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x514]
push eax
push ebx
mov edx, dword [ecx]
call dword [edx + 0x4c]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x904
ret
mov ecx, dword [0x107ab964]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x904
ret