Function at 0x101405a9
Capabilities:
Set file attributes

Disassembly:
push ebp
sub esp, 0x70
lea ebp, [esp - 4]
mov eax, dword [0x101b01e4]
xor eax, ebp
mov dword [ebp + 0x70], eax
push 0x88
mov eax, 0x10182116
call fcn.1014d24e
mov eax, dword [ebp + 0x7c]
mov edi, dword [ebp + 0x88]
mov esi, ecx
mov ecx, dword [ebp + 0x8c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x80]
mov dword [ebp - 0x30], ecx
push eax
lea ecx, [esi + 0x28]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edi
call fcn.100043c0
push edi
lea ecx, [esi + 8]
call fcn.1013ce1c
mov eax, dword [ebp + 0x84]
mov ecx, dword [ebp - 0x1c]
xor edi, edi
mov dword [esi + 0x38], eax
xor ebx, ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], edi
call fcn.100010a0
test eax, eax
jbe 0x10140647
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.100a24f0
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
add ebx, ecx
adc dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
inc dword [ebp - 0x14]
call fcn.100010a0
cmp dword [ebp - 0x14], eax
jb 0x10140621
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp - 0x28]
push edi
push eax
push ecx
push ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ecx
call fcn.1014ea40
push edi
push dword [ebp + 0x84]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x28]
mov dword [esi + 0x3c], eax
push ebx
call fcn.1014a590
cmp dword [ebp - 0x14], edi
mov ebx, eax
jne 0x10140681
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
jmp 0x10140682
inc ebx
mov ecx, dword [ebp - 0x18]
call fcn.1012cb52
cmp ebx, eax
je 0x101406af
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x70]
xor ecx, ebp
call fcn.10149c5e
add ebp, 0x74
leave
ret 0x18
push dword [ebp - 0x20]
call fcn.1013e387
test al, al
pop ecx
je 0x1014068e
mov ecx, dword [ebp - 0x1c]
call fcn.100010a0
push eax
lea ecx, [esi + 0xf4]
call fcn.10140586
push dword [ebp - 0x20]
lea ecx, [ebp + 0x38]
call fcn.100021d0
mov eax, dword [ebp + 0x4c]
dec eax
push eax
lea ecx, [ebp + 0x38]
mov dword [ebp - 4], edi
call fcn.100014b0
cmp byte [eax], 0x5c
jne 0x101406ff
mov eax, dword [ebp + 0x4c]
push 0xffffffffffffffff
dec eax
push eax
lea ecx, [ebp + 0x38]
call fcn.10001850
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x38]
push eax
lea ecx, [esi + 0x8c]
call fcn.10001ec0
mov ecx, dword [ebp - 0x18]
lea ebx, [esi + 0xd8]
call fcn.1012cb52
push eax
mov ecx, ebx
call fcn.1013ec76
push ebx
lea eax, [ebp + 0x38]
push eax
mov ecx, esi
call fcn.10140350
test al, al
je 0x10140803
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.1013e34d
mov ebx, 0x10184474
push ebx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 1
call fcn.10002a70
lea ecx, [ebp + 0x54]
push ecx
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 2
call fcn.10002230
push str..idx
push eax
lea eax, [ebp + 0x1c]
push eax
mov byte [ebp - 4], 3
call fcn.10002a70
add esp, 0x2c
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 4
call fcn.10001ec0
push edi
push 1
lea ecx, [ebp + 0x1c]
call fcn.10001800
push edi
push 1
lea ecx, [ebp - 0x68]
call fcn.10001800
push edi
push 1
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 1
call fcn.10001800
cmp dword [ebp + 0x6c], 0x10
mov eax, dword [ebp + 0x58]
jae 0x101407ce
lea eax, [ebp + 0x58]
push 0x80
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
push 7
lea eax, [ebp + 0x54]
push eax
lea ecx, [esi + 0xa8]
call fcn.100ec3a5
push edi
push 1
lea ecx, [ebp + 0x54]
mov byte [esi + 0xd4], 1
mov byte [ebp - 4], 0
call fcn.10001800
jmp 0x10140808
mov ebx, 0x10184474
cmp byte [esi + 0xd4], 0
jne 0x101408d8
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.1013d677
mov byte [ebp - 0x21], al
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.1013e34d
push ebx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 5
call fcn.10002a70
lea ecx, [ebp + 0x1c]
push ecx
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 6
call fcn.10002230
push str..qdl
push eax
lea eax, [ebp + 0x54]
push eax
mov byte [ebp - 4], 7
call fcn.10002a70
add esp, 0x2c
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [ebp - 0x84]
call fcn.10001800
push edi
push ebx
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa
call fcn.10001800
cmp dword [ebp + 0x6c], 0x10
mov eax, dword [ebp + 0x58]
jae 0x10140896
lea eax, [ebp + 0x58]
push edi
push eax
call fcn.10149cf4
test eax, eax
pop ecx
pop ecx
jne 0x101408a7
mov byte [ebp - 0x21], 1
cmp byte [ebp - 0x21], 0
je 0x1014098b
lea eax, [ebp + 0x54]
push eax
mov ecx, esi
call fcn.1013db8f
test al, al
je 0x1014098b
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x54]
push eax
lea ecx, [esi + 0x70]
call fcn.10001ec0
jmp 0x1014098b
push 0x2c
call fcn.1014979e
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, edi
mov byte [ebp - 4], 0xb
je 0x101408f4
mov ecx, eax
call fcn.100ec346
jmp 0x101408f6
xor eax, eax
mov dword [esi + 0x6c], eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x1c]
push eax
mov byte [ebp - 4], 0
call fcn.1013e34d
push ebx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0xc
call fcn.10002a70
lea ecx, [ebp + 0x1c]
push ecx
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0xd
call fcn.10002230
push str..qdl
push eax
lea eax, [ebp + 0x54]
push eax
mov byte [ebp - 4], 0xe
call fcn.10002a70
add esp, 0x2c
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [ebp - 0x84]
call fcn.10001800
push edi
push ebx
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x11
call fcn.10001800
cmp dword [ebp + 0x6c], 0x10
mov eax, dword [ebp + 0x58]
jae 0x10140971
lea eax, [ebp + 0x58]
push 0x80
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
mov ecx, dword [esi + 0x6c]
push 7
lea eax, [ebp + 0x54]
push eax
call fcn.100ec3a5
push edi
push ebx
lea ecx, [ebp + 0x54]
call fcn.10001800
push edi
push ebx
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0
call fcn.10001800
push dword [ebp - 0x30]
lea ecx, [ebp - 0x94]
call fcn.10008ed0
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x20], edi
call fcn.1000cbf0
test al, al
jne 0x10140a0f
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x13
call fcn.1013d498
mov ecx, dword [ebp - 0x1c]
call fcn.100010a0
cmp dword [ebp - 0x20], eax
je 0x101409f4
lea ecx, [ebp - 0x94]
call fcn.1000dae0
mov dword [ebp - 4], 0x12
jmp 0x10140a0f
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
push edi
lea ecx, [ebp]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp + 0x18], 0xf
call fcn.100011d0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x1c]
call fcn.100010a0
cmp dword [ebp - 0x18], eax
jae 0x10140cc3
push edi
push dword [ebp + 0x84]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.1014ea40
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
call fcn.100a24f0
mov ecx, dword [eax + 0x20]
add dword [ebp - 0x2c], ecx
mov eax, dword [eax + 0x24]
mov ebx, dword [ebp + 0x84]
adc dword [ebp - 0x28], eax
push edi
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.1014ea40
cmp eax, edi
mov dword [ebp - 0x20], eax
jne 0x10140a8f
mov dword [ebp - 0x20], ebx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
call fcn.100a24f0
cmp edi, dword [eax + 0x24]
jl 0x10140aba
jg 0x10140aa9
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 0x20]
jbe 0x10140aba
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
call fcn.100a24f0
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x20], eax
cmp byte [esi + 0xd4], 0
push 0x148
je 0x10140af1
call fcn.1014979e
mov ebx, eax
pop ecx
mov dword [ebp - 0x14], ebx
cmp ebx, edi
mov byte [ebp - 4], 0x17
je 0x10140aea
mov ecx, ebx
call fcn.10147273
mov dword [ebx], 0x1018a520
jmp 0x10140aec
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x10140b17
call fcn.1014979e
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, edi
mov byte [ebp - 4], 0x18
je 0x10140b12
lea ecx, [esi + 0x124]
push ecx
mov ecx, eax
call fcn.1014731f
jmp 0x10140b14
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
mov byte [ebp - 4], 0x16
je 0x10140d6e
cmp byte [esi + 0xd4], 0
jne 0x10140b60
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.1013eb0c
mov dword [ebp - 4], 0x16
jmp 0x10140b60
push 0x10184474
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.10002a70
add esp, 0xc
mov ebx, eax
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1b
call fcn.100a24f0
push eax
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10002230
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x1c
call fcn.100e56bc
add esp, 0x14
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp]
mov byte [ebp - 4], 0x1d
call fcn.10001ec0
push edi
push 1
lea ecx, [ebp - 0x84]
call fcn.10001800
push edi
push 1
lea ecx, [ebp - 0x68]
call fcn.10001800
push edi
push 1
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x16
call fcn.10001800
lea ecx, [ebp - 0x44]
call fcn.1000cbf0
test al, al
jne 0x10140c06
lea eax, [ebp]
push eax
call fcn.100ec1a0
test al, al
pop ecx
jne 0x10140c06
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp]
push eax
call fcn.100f0d59
pop ecx
pop ecx
push 0x10184474
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10002a70
add esp, 0xc
mov ebx, eax
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1e
call fcn.100a24f0
push eax
lea eax, [ebp - 0x84]
push ebx
push eax
call fcn.10002230
add esp, 0xc
mov ebx, eax
push dword [ebp + 0x90]
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x18]
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x18]
call fcn.100a24f0
movzx eax, byte [eax + 0x28]
mov ecx, dword [ebp - 0x1c]
push eax
push dword [esi + 0x6c]
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp + 0x84]
push dword [ebp - 0x18]
call fcn.100a24f0
push dword [eax + 0x24]
mov ecx, dword [ebp - 0x14]
push dword [eax + 0x20]
lea eax, [ebp]
push eax
push ebx
call fcn.10146a18
mov bl, al
neg bl
push edi
sbb bl, bl
push 1
lea ecx, [ebp - 0x84]
inc bl
call fcn.10001800
push edi
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x16
call fcn.10001800
test bl, bl
je 0x10140d29
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov dword [esi + 0x68], eax
call fcn.1013e1f9
cmp byte [esi + 0xd4], 0
jne 0x10140cde
mov ecx, esi
call fcn.1013e14e
test al, al
je 0x10140cde
mov ecx, esi
call fcn.1013ff79
cmp dword [esi + 0x68], 0xffffffff
jne 0x10140d82
lea eax, [esi + 0x18]
push eax
lea ecx, [esi + 0x124]
call fcn.101485a0
mov bl, 1
push edi
push 1
lea ecx, [ebp]
call fcn.10001800
lea ecx, [ebp - 0x44]
call fcn.10037160
lea ecx, [ebp - 0x94]
call fcn.10037160
push edi
push 1
lea ecx, [ebp + 0x38]
call fcn.10001800
mov al, bl
jmp 0x10140690
cmp byte [esi + 0x170], 0
mov ebx, dword [ebp - 0x14]
jne 0x10140d42
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
mov byte [esi + 0x170], al
cmp byte [esi + 0x171], 0
je 0x10140d58
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
mov byte [esi + 0x171], al
cmp byte [esi + 0x172], 0
jne 0x10140d6e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x38]
mov byte [esi + 0x172], al
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x18]
call fcn.101214b5
inc dword [ebp - 0x18]
jmp 0x10140a35
xor bl, bl
jmp 0x10140cf9