Function at 0x1004d4f0
Capabilities:
Set file attributes

Disassembly:
mov eax, 0x2a20
call fcn.102244a0
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x1380]
call fcn.1002c170
mov dl, 0x89
mov bl, 0xff
mov byte [esp + 0x6a], dl
mov byte [esp + 0x70], dl
mov cl, 0x3d
mov al, 0x40
mov dl, 0x83
mov byte [esp + 0x54], 0xb8
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], 0x8d
mov byte [esp + 0x5a], cl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], 0
mov byte [esp + 0x5f], 0x8b
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], al
mov byte [esp + 0x64], 0
mov byte [esp + 0x65], 0xa3
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], bl
mov byte [esp + 0x68], al
mov byte [esp + 0x69], 0
mov byte [esp + 0x6b], cl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], al
mov byte [esp + 0x6f], 0
mov byte [esp + 0x71], 0x1d
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], al
mov byte [esp + 0x75], 0
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], cl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], al
mov byte [esp + 0x41], 0
mov byte [esp + 0x42], 0
mov byte [esp + 0x43], 0x74
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], 0
mov byte [esp + 0x4b], 4
mov byte [esp + 0x4c], 0x75
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 0xa1
mov byte [esp + 0x4f], bl
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], al
mov byte [esp + 0x52], 0
mov byte [esp + 0x14], 0x81
mov byte [esp + 0x15], 0xf9
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], bl
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0xf
mov byte [esp + 0x1b], 0x8c
mov byte [esp + 0x1c], 0xdb
mov byte [esp + 0x1d], 0xfe
mov byte [esp + 0x1e], bl
mov byte [esp + 0x2d], al
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x2a3c]
mov byte [esp + 0x2a], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x1f], bl
mov dword [eax], 0
mov ecx, dword [0x107ab964]
mov eax, dword [esp + 0x2a34]
mov byte [esp + 0x20], 0x90
mov byte [esp + 0x21], 0x90
mov byte [esp + 0x22], 0x90
mov byte [esp + 0x23], 0xc3
mov byte [esp + 0x24], 0xe8
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x29], dl
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x30], 0x74
mov byte [esp + 0x31], bl
mov byte [esp + 0x32], dl
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x37], 0
mov byte [esp + 0x38], 4
mov byte [esp + 0x39], 0x75
mov edx, dword [ecx]
push 0
push 0x8002
push eax
call dword [edx + 4]
mov esi, eax
cmp esi, 0xffffffff
je 0x1004da06
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
mov ebp, eax
test ebp, ebp
jg 0x1004d714
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, 0x2a20
ret
mov ecx, dword [esp + 0x2a38]
mov edx, dword [0x107ab964]
push ecx
push edx
lea ecx, [esp + 0x1388]
call fcn.1002c1c0
test eax, eax
jne 0x1004d74c
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, 0x2a20
ret
mov ecx, 0x284
xor eax, eax
lea edi, [esp + 0x96c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
mov ecx, 0xe
lea edi, [esp + 0xb4]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x107
xor eax, eax
lea edi, [esp + 0x150]
cmp ebp, 0xea60
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xb8], bl
mov dword [esp + 0xc1], ecx
mov dword [esp + 0xcd], 0x22
mov dword [esp + 0xe1], 0x14
mov edi, 1
jge 0x1004d7df
lea edx, [esp + 0x14]
mov dword [esp + 0x164], edi
mov dword [esp + 0xc1], edx
mov dword [esp + 0xcd], 0x10
mov ecx, dword [0x107ab964]
lea eax, [esp + 0xf0]
push eax
xor ebx, ebx
push esi
push ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0xc0000000
mov dword [esp + 0xa0], 0x10000000
mov dword [esp + 0xb8], 2
mov dword [esp + 0x94], edi
mov dword [esp + 0xb0], 0x10155420
mov dword [esp + 0x90], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x16c], edi
xor ebp, ebp
call fcn.1000fc50
add esp, 0xc
test eax, eax
je 0x1004d9fa
cmp dword [esp + 0xf8], 0xf000
jbe 0x1004d8bb
lea eax, [esp + 0x24]
lea ecx, [esp + 0xb4]
mov ebp, edi
mov dword [esp + 0xc1], eax
mov dword [esp + 0xcd], 0x16
mov dword [esp + 0x154], ecx
mov dword [esp + 0x15c], edi
mov dword [esp + 0x90], 0x10000000
mov dword [esp + 0xac], 3
lea edx, [esp + 0x150]
lea eax, [esp + 0xb4]
mov dword [esp + 0xa8], edx
lea ecx, [esp + 0x96c]
mov dword [esp + 0xb0], eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x2a44]
lea eax, [esp + 0x98]
push edx
push eax
push ecx
push esi
lea ecx, [esp + 0x13a0]
call fcn.1002c200
lea ecx, [esp + 0x1380]
mov edi, eax
call fcn.1002c5f0
mov eax, dword [esp + 0xdd]
cmp eax, ebx
mov eax, dword [esp + 0x168]
jne 0x1004da13
cmp eax, ebx
jne 0x1004da13
cmp edi, 1
jne 0x1004da13
cmp ebp, ebx
jne 0x1004da17
mov edx, dword [esp + 0x2a38]
mov eax, dword [0x107ab964]
push edx
push eax
lea ecx, [esp + 0x1388]
call fcn.1002c1c0
test eax, eax
je 0x1004d9fa
mov ebp, dword [esp + 0x2a34]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x96c]
mov dword [esp + 0xc1], eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x88]
push ecx
lea eax, [esp + 0x98]
push edx
push eax
push ebp
push esi
lea ecx, [esp + 0x13a0]
mov dword [esp + 0xed], 0x17
call fcn.1002c200
lea ecx, [esp + 0x1380]
mov edi, eax
call fcn.1002c5f0
cmp edi, ebx
je 0x1004d9fa
cmp dword [esp + 0xdd], ebx
je 0x1004d9fa
cmp dword [esp + 0x168], ebx
je 0x1004d9fa
cmp dword [esp + 0x10], ebx
je 0x1004da28
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, 0x2a20
ret
cmp edi, ebx
je 0x1004d9fa
cmp dword [esp + 0x10], ebx
jne 0x1004d9fa
cmp eax, ebx
je 0x1004d9fa
mov ebp, dword [esp + 0x2a34]
cmp dword [esp + 0x164], 1
jne 0x1004dba2
mov eax, dword [esp + 0x160]
mov ecx, dword [0x107ab964]
push 1
push 0x13a3
push eax
push esi
push ecx
call fcn.10013800
mov ecx, dword [0x107ab964]
add esp, 0x14
mov edx, dword [ecx]
push esi
call dword [edx + 0x18]
mov eax, dword [esp + 0x15c]
add eax, 2
cmp eax, 0x400
mov dword [esp + 0x80], eax
ja 0x1004da06
lea ecx, [esp + 0x80]
lea edx, [esp + 0x16c]
push ecx
push edx
call fcn.10027d60
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x574]
lea edx, [esp + 0x574]
rep stosd dword es:[edi], eax
mov edi, ebp
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 + 0x578]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 0x10
cmp eax, ebx
je 0x1004da06
lea edx, [esp + 0x56c]
sub eax, edx
inc eax
mov edx, eax
xor eax, eax
cmp edx, 0x400
jae 0x1004da06
mov esi, dword [esp + 0x80]
cmp eax, esi
jge 0x1004db27
mov cl, byte [esp + eax + 0x16c]
mov byte [esp + edx + 0x56c], cl
inc edx
inc eax
cmp edx, 0x400
jb 0x1004dafe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a20
ret
cmp edx, 0x400
jae 0x1004da06
mov ecx, 0x400
lea edi, [esp + edx + 0x56c]
sub ecx, edx
xor eax, eax
mov edx, ecx
push 0x80
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esp + 0x570]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x56c]
push 0x180
push eax
mov edx, dword [ecx]
call dword [edx + 0x38]
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x56c]
push eax
push ebp
mov edx, dword [ecx]
call dword [edx + 0x4c]
cmp eax, 0xffffffff
jne 0x1004dbce
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a20
ret
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [esp + 0x2a3c]
mov ecx, dword [0x107ab964]
push eax
push ebp
push ecx
call fcn.1002bac0
add esp, 0xc
test eax, eax
je 0x1004da06
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2a20
ret