Function at 0x1005dc80
Capabilities:
Set file attributes

Disassembly:
sub esp, 0xe20
mov ecx, 0x100
xor eax, eax
lea edx, [esp + 0x220]
push ebx
push ebp
push esi
push edi
mov ebx, dword [esp + 0xe34]
lea edi, [esp + 0x230]
rep stosd dword es:[edi], eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x230]
push ecx
push ebx
call sub.platform.dll_Ordinal_13
add esp, 8
test eax, eax
jne 0x1005dcfe
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x230]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0xa30]
lea edx, [esp + 0xa30]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x230]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5c
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x234]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
add esp, 8
test edx, edx
je 0x1005e080
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x630]
lea ebp, [edx + 1]
rep stosd dword es:[edi], eax
mov al, byte [ebp]
mov byte [esp + 0x630], 0x5f
test al, al
mov ecx, 1
je 0x1005dda6
lea esi, [esp + 0x630]
mov eax, ebp
sub esi, edx
cmp ecx, 0x50
jge 0x1005e080
mov dl, byte [eax]
inc ecx
mov byte [esi + eax], dl
mov dl, byte [eax + 1]
inc eax
test dl, dl
jne 0x1005dd86
cmp ecx, 0x50
jge 0x1005e080
mov byte [esp + ecx + 0x630], 0
lea edi, [esp + 0x630]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x234]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x107ab964]
mov edx, dword [ecx]
call dword [edx]
test eax, eax
je 0x1005de19
mov ecx, dword [esp + 0xe38]
mov eax, dword [0x107ab964]
lea edx, [esp + 0xa30]
push ecx
push edx
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, 0xe20
ret
mov ecx, dword [0x107ab964]
push 0
lea eax, [esp + 0x234]
push 0x8002
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x20], ebp
je 0x1005e080
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x20]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x24], ebx
jg 0x1005de71
mov ecx, dword [0x107ab964]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe20
ret
mov eax, dword [0x107ab964]
lea ecx, [esp + 0x18]
push 1
lea edx, [esp + 0x34]
mov esi, 0x200
push ecx
push edx
push esi
push esi
push 0
push ebx
push ebp
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005e074
cmp dword [esp + 0x18], esi
jne 0x1005e074
mov cl, byte [esp + 0x31]
xor cl, 1
mov byte [esp + 0x31], cl
cmp word [esp + 0x30], 0x5a4d
jne 0x1005e074
mov edx, ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], edx
jmp 0x1005ded8
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
cmp esi, 0x200
jne 0x1005dfeb
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x30]
cmp edx, esi
rep stosd dword es:[edi], eax
jge 0x1005def7
mov esi, edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push 1
lea ecx, [esp + 0x34]
push eax
mov eax, dword [0x107ab964]
push ecx
push esi
push esi
push edx
push ebx
push ebp
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005e074
cmp dword [esp + 0x18], esi
jne 0x1005e074
xor bl, bl
mov cl, 1
xor edx, edx
xor edi, edi
test esi, esi
mov byte [esp + 0x10], bl
mov byte [esp + 0x28], cl
jle 0x1005dfa3
mov ebp, 1
lea eax, [esp + 0x30]
sub ebp, eax
mov dword [esp + 0x2c], ebp
jmp 0x1005df55
mov ebp, dword [esp + 0x2c]
lea eax, [esp + edi + 0x30]
add ebp, eax
cmp ebp, esi
jge 0x1005df9f
xor byte [eax], bl
xor byte [eax + 1], cl
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
and eax, 0xff
and ebp, 0xff
sub ebp, eax
mov al, dl
sub ebp, edx
jns 0x1005df8a
add al, cl
sub bl, al
inc edx
mov byte [esp + 0x10], bl
jmp 0x1005df98
add al, cl
sub bl, al
inc cl
mov byte [esp + 0x10], bl
mov byte [esp + 0x28], cl
add edi, 2
cmp edi, esi
jl 0x1005df51
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov edx, dword [0x107ab964]
push esi
lea ecx, [esp + 0x34]
push esi
push ecx
push edi
push ebp
push edx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005de58
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add edi, 0x400
sub ecx, 0x400
cmp edi, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ecx
jl 0x1005ded0
mov ecx, dword [0x107ab964]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [esp + 0xe38]
mov eax, dword [0x107ab964]
lea edx, [esp + 0xa30]
push ecx
push edx
push eax
call fcn.1002bac0
add esp, 0xc
test eax, eax
je 0x1005e080
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x230]
push 0
push eax
mov edx, dword [ecx]
call dword [edx]
test eax, eax
jne 0x1005e064
lea ecx, [esp + 0x230]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
lea eax, [esp + 0xa30]
push eax
lea eax, [esp + 0x234]
mov edx, dword [ecx]
push eax
call dword [edx + 0x4c]
cmp eax, 0xffffffff
je 0x1005e080
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xe20
ret
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe20
ret