Function at 0x1020ce20
Capabilities:
Set file attributes

Disassembly:
mov eax, 0x1418
call fcn.102244a0
mov ecx, dword [0x107ab964]
push ebx
mov ebx, dword [esp + 0x1420]
push ebp
mov eax, dword [ecx]
push esi
push edi
push 0
push 0x8002
push ebx
call dword [eax + 4]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x14], ebp
je 0x1020d1fd
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x28]
push 0x400
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x42c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2c]
push ecx
call sub.platform.dll_Ordinal_2
add esp, 8
test eax, eax
jne 0x1020cea1
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, 0x1418
ret
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x27], 0x5c
je 0x1020cee4
mov edi, 0x1022722c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x428]
lea ecx, [esp + 0x28]
push eax
push str..tmp
push ecx
call sub.platform.dll_Ordinal_12
add esp, 0xc
test eax, eax
jne 0x1020cf1b
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, 0x1418
ret
or ecx, 0xffffffff
lea edi, [esp + 0x428]
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x428]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x828]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
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
lea edx, [esp + 0x28]
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 + 0x828]
push ecx
push edx
call sub.platform.dll_Ordinal_13
add esp, 8
test eax, eax
jne 0x1020cfd4
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x828]
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 + 0x428]
lea edx, [esp + 0x28]
push ecx
push edx
call sub.platform.dll_Ordinal_13
add esp, 8
test eax, eax
jne 0x1020d013
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x428]
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, dword [0x107ab964]
push 0
lea eax, [esp + 0x42c]
push 0x8102
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1020d04d
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, 0x1418
ret
lea eax, [esp + 0x428]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
mov ebp, dword [esp + 0x1434]
mov edi, dword [esp + 0x1430]
push ebp
mov edx, dword [ecx]
push edi
push esi
call dword [edx + 0x14]
cmp eax, ebp
je 0x1020d0a1
mov ecx, dword [0x107ab964]
mov edx, dword [esp + 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x1020d1ea
mov eax, dword [edi]
mov dword [esp + 0x10], 0
cmp eax, 0xe011cfd0
jne 0x1020d0bc
mov dword [esp + 0x10], 1
jmp 0x1020d0f5
cmp eax, 0x4034b50
jne 0x1020d0cd
mov dword [esp + 0x10], 2
jmp 0x1020d0f5
cmp eax, 0x4d54483c
jne 0x1020d0e6
cmp word [edi + 4], 0x3e4c
jne 0x1020d0e6
mov dword [esp + 0x10], 3
jmp 0x1020d0f5
cmp word [edi], 0x5a4d
jne 0x1020d0f5
mov dword [esp + 0x10], 4
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov ecx, dword [0x107ab964]
mov edx, dword [esp + 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
push 0x80
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x28]
lea edx, [esp + 0x28]
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 + 0x28]
push ecx
push ebx
call sub.platform.dll_Ordinal_13
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x1020d182
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x28]
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 + 0x1028]
lea edx, [esp + 0x1028]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x28]
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
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1020d1ea
mov ebp, ebx
lea ecx, [esp + 0x28]
sub ebp, ecx
test ebp, ebp
jg 0x1020d20a
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x428]
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
xor eax, eax
mov edi, str..doc
or ecx, 0xffffffff
lea esi, [esp + esi + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], eax
push ecx
push str..doc
push esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x1020d511
mov edi, str..xls
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str..xls
push esi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x1020d511
lea ecx, [esp + 0x28]
push 0x2e
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
test eax, eax
je 0x1020d519
cmp eax, ebx
jbe 0x1020d519
lea edx, [esp + 0x28]
mov word [eax], 0
sub eax, edx
lea esi, [ebp + 1]
mov edx, eax
mov dword [esp + 0x1c], 1
cmp esi, edx
mov dword [esp + 0x18], 0
jge 0x1020d2c8
lea ecx, [edx - 1]
cmp esi, ecx
jge 0x1020d2c3
mov al, byte [esp + esi + 0x28]
cmp al, 0x80
ja 0x1020d2ff
cmp al, 0x3b
jb 0x1020d2c3
cmp al, 0x40
jbe 0x1020d2ff
inc esi
cmp esi, edx
jl 0x1020d2af
mov ecx, dword [esp + 0x10]
cmp ecx, 1
je 0x1020d2da
cmp ecx, 2
jne 0x1020d3c8
mov al, byte [esp + edx + 0x27]
lea edx, [esp + edx + 0x28]
cmp al, 0x78
je 0x1020d2ee
cmp al, 0x58
jne 0x1020d3c8
mov byte [edx - 4], 0
mov dword [esp + 0x14], 1
jmp 0x1020d3c8
mov al, byte [esp + edx + 0x27]
lea ebx, [esp + edx + 0x27]
cmp al, 0x78
je 0x1020d376
cmp al, 0x58
je 0x1020d376
cmp al, 0x29
jne 0x1020d37e
mov ebp, 1
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0xc28]
cmp edx, ebp
rep stosd dword es:[edi], eax
jle 0x1020d37e
lea edi, [esp + 0xc28]
mov ecx, ebx
mov al, byte [ecx]
mov byte [edi], al
inc edi
cmp al, 0x28
je 0x1020d346
inc ebp
dec ecx
cmp ebp, edx
jl 0x1020d335
jmp 0x1020d37e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], 1
test eax, eax
jne 0x1020d37e
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x428]
push edx
mov eax, dword [ecx]
call dword [eax + 0x3c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
mov dword [esp + 0x14], 1
cmp esi, edx
jge 0x1020d2c8
mov eax, dword [esp + 0x18]
mov byte [esp + esi + 0x28], 0
cmp eax, 1
jne 0x1020d3c4
lea edi, [esp + 0xc28]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, 1
cmp ecx, eax
jne 0x1020d43b
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
cmp ecx, eax
jne 0x1020d40c
mov edi, str..xls
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
mov edi, str..doc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
cmp ecx, 2
jne 0x1020d4a7
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
cmp ecx, eax
jne 0x1020d47b
mov edi, str..xlsx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
mov edi, str..docx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
cmp ecx, 3
jne 0x1020d4dc
mov edi, str..html
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
cmp ecx, 4
jne 0x1020d519
mov edi, 0x102325e4
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1020d519
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, 1
jne 0x1020d66f
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x1020d66f
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x28]
push ebx
push edx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
jne 0x1020d5e0
cmp dword [esp + 0x10], 4
jne 0x1020d1ea
mov edi, dword [sym.imp.MSVCRT.dll_strrchr]
lea eax, [esp + 0x28]
push 0x5c
push eax
call edi
lea ecx, [esp + 0x1030]
push 0x5c
push ecx
mov esi, eax
call edi
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
test esi, esi
je 0x1020d5e0
test edx, edx
je 0x1020d5e0
push ecx
push edx
push esi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1020d5e0
mov ebx, 1
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x42c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x60]
mov ecx, dword [0x107ab964]
mov esi, eax
lea edx, [esp + 0x428]
mov eax, dword [ecx]
push edx
call dword [eax + 0x3c]
test esi, esi
jne 0x1020d646
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
mov ecx, dword [0x107ab964]
push 0
lea eax, [esp + 0x2c]
push 0x8102
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [0x107ab964]
cmp eax, 0xffffffff
mov edx, dword [ecx]
jne 0x1020d61c
lea eax, [esp + 0x428]
push eax
call dword [edx + 0x3c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
push eax
call dword [edx + 0x18]
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x28]
push edx
mov eax, dword [ecx]
call dword [eax + 0x3c]
cmp eax, 0xffffffff
jne 0x1020d5a2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
test ebx, ebx
jne 0x1020d6ae
mov ecx, dword [0x107ab964]
mov edx, dword [esp + 0x142c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x3c]
cmp eax, 0xffffffff
jne 0x1020d6ae
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x42c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x60]
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x428]
test eax, eax
mov eax, dword [ecx]
push edx
jne 0x1020d6ab
call dword [eax + 0x3c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1418
ret
call dword [eax + 0x3c]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1418
ret