Function at 0x4018b0
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd38
push ebx
push esi
push edi
mov dword [ebp - 8], 0x402ce0
mov dword [ebp - 4], 0x402d00
call fcn.00402dc0
mov dword [ebp - 0x10], 0x402d10
mov dword [ebp - 0xc], 0x402d30
lea edi, [ebp - 0x24]
push edi
call fcn.004032c0
push 0
lea edi, [ebp - 0x48]
push edi
call fcn.004036d0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push dword [0x41d204]
lea edi, [ebp - 0x1c]
push edi
call fcn.00402fd0
test eax, eax
je 0x401925
mov dword [ebp - 0xd34], 0xb
jmp 0x40195d
cmp dword [0x41d1fc], 0
je 0x401940
mov edi, dword [0x41d1fc]
mov edi, dword [edi]
mov esi, edi
xor edi, edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
push 0
lea edi, [ebp - 0x18]
push edi
lea edi, [ebp - 0x1c]
push edi
call fcn.00403140
test eax, eax
jne 0x401919
mov dword [ebp - 0xd34], 0
cmp dword [ebp - 0xd34], 0
jne 0x4019a0
push 0x40000
lea edi, [ebp - 8]
push edi
call dword [ebp - 8]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x401996
mov dword [ebp - 0x28], 0x40000
lea edi, [ebp - 0x24]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
jmp 0x4019a0
mov dword [ebp - 0xd34], 2
lea edi, [ebp - 0xc8]
push edi
call fcn.004038d0
cmp dword [ebp - 0xd34], 0
je 0x4019d2
cmp byte [0x41d1f4], 0
jne 0x401f65
push dword [ebp - 0xd34]
call fcn.00401770
jmp 0x401f65
lea edi, [ebp - 0x10]
push edi
lea edi, [ebp - 8]
push edi
lea edi, [ebp - 0x48]
push edi
lea edi, [ebp - 0xc8]
push edi
call fcn.004066e0
mov dword [ebp - 0xd34], eax
test eax, eax
jne 0x4019b5
or dword [ebp - 0xd04], 0xffffffff
mov dword [ebp - 0xd08], 0
mov dword [ebp - 0xd0c], 0
mov dword [0x41d210], 0
mov dword [0x41d214], 0
mov dword [0x41d208], 0
mov dword [0x41d20c], 0
cmp dword [ebp - 0x88], 0
jbe 0x401aae
xor edi, edi
mov esi, dword [ebp - 0x80]
mov ebx, edi
shr ebx, 3
movzx esi, byte [esi + ebx]
mov ebx, pe_nt_image_headers32
mov ecx, edi
and ecx, 7
sar ebx, cl
test esi, ebx
je 0x401a6e
add dword [0x41d210], 1
adc dword [0x41d214], 0
jmp 0x401aa5
mov esi, dword [ebp - 0x84]
lea ebx, [esi + edi*8 + 8]
mov ecx, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [esi + edi*8]
sub ecx, dword [esi]
sbb ebx, dword [esi + 4]
mov eax, dword [0x41d210]
mov edx, dword [0x41d214]
add eax, ecx
adc edx, ebx
add eax, 1
adc edx, 0
mov dword [0x41d210], eax
mov dword [0x41d214], edx
inc edi
cmp edi, dword [ebp - 0x88]
jb 0x401a42
mov dword [ebp - 0xd10], 0
mov dword [ebp - 0xd14], 0
cmp dword [ebp - 0x88], 0
ja 0x401d33
mov esi, dword [ebp - 0xd34]
mov dword [ebp - 0xd28], esi
jmp 0x401f3f
mov dword [ebp - 0xd28], 0xb
jmp 0x401f3f
cmp byte [0x41d1f4], 0
jne 0x401db4
mov esi, dword [ebp - 0xd2c]
lea esi, [ebp + esi*2 - 0x6e4]
push esi
push edi
lea ebx, [ebp - 0xc8]
push ebx
call fcn.004068f0
cmp byte [0x41d218], 0
jne 0x401b26
push esi
call fcn.004017d0
lea ebx, [ebp - 0x10]
push ebx
lea ebx, [ebp - 8]
push ebx
lea ebx, [ebp - 0xd1c]
push ebx
lea ebx, [ebp - 0xd18]
push ebx
lea ebx, [ebp - 0xd0c]
push ebx
lea ebx, [ebp - 0xd08]
push ebx
lea ebx, [ebp - 0xd04]
push ebx
push edi
lea ebx, [ebp - 0x48]
push ebx
lea ebx, [ebp - 0xc8]
push ebx
call fcn.00406720
mov dword [ebp - 0xd34], eax
test eax, eax
jne 0x401acf
mov ebx, dword [ebp - 0x80]
mov ecx, edi
shr ecx, 3
movzx ebx, byte [ebx + ecx]
mov edx, pe_nt_image_headers32
mov ecx, edi
and ecx, 7
sar edx, cl
test ebx, edx
setne al
movzx ebx, al
mov dword [ebp - 0xd30], ebx
cmp word [esi], 0
je 0x401bce
xor ebx, ebx
cmp word [esi + ebx*2], 0x2f
jne 0x401bc6
mov word [esi + ebx*2], 0
cmp dword [0x41bf88], 0
je 0x401bc0
lea ecx, [ebp - 0x6e4]
push ecx
call fcn.00413f80
mov word [esi + ebx*2], 0x5c
inc ebx
cmp word [esi + ebx*2], 0
jne 0x401b9e
cmp dword [ebp - 0xd30], 0
je 0x401ca0
cmp dword [0x41bf88], 0
je 0x401c08
lea esi, [ebp - 0x6e4]
push esi
call fcn.00413f80
cmp byte [0x41bf84], 0
je 0x401c08
lea esi, [ebp - 0x6e4]
push esi
push 1
call dword [0x4182b0]
add dword [0x41d208], 1
adc dword [0x41d20c], 0
call fcn.00401820
jmp 0x401c8e
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41d208], ecx
adc dword [0x41d20c], ebx
call fcn.00401820
jmp 0x401c8e
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41d208], ecx
adc dword [0x41d20c], ebx
call fcn.00401820
jmp 0x401c8e
cmp dword [ebp - 0x74], 0
je 0x401c8e
mov esi, dword [ebp - 0x74]
mov ebx, edi
shr ebx, 3
movzx esi, byte [esi + ebx]
mov ebx, pe_nt_image_headers32
mov ecx, edi
and ecx, 7
sar ebx, cl
test esi, ebx
je 0x401c8e
mov esi, dword [ebp - 0x70]
push dword [esi + edi*4]
lea esi, [ebp - 0x6e4]
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
inc edi
cmp edi, dword [ebp - 0x88]
jb 0x401d35
jmp 0x401acf
cmp dword [ebp - 0x6c], 0
je 0x401cd8
mov esi, dword [ebp - 0x6c]
mov ebx, edi
shr ebx, 3
movzx esi, byte [esi + ebx]
mov ebx, pe_nt_image_headers32
mov ecx, edi
and ecx, 7
sar ebx, cl
test esi, ebx
je 0x401cd8
mov esi, dword [ebp - 0x68]
mov ebx, dword [esi + edi*8 + 4]
mov dword [ebp - 0xd10], ebx
mov esi, dword [esi + edi*8]
mov dword [ebp - 0xd14], esi
lea esi, [ebp - 0xd14]
push esi
lea esi, [ebp - 0xd10]
push esi
mov esi, dword [ebp - 0xd1c]
mov ecx, esi
xor ebx, ebx
push ebx
push ecx
lea esi, [ebp - 0x6e4]
push esi
call dword [0x41d1f8]
cmp eax, 1
je 0x401d14
xor esi, esi
cmp eax, 2
jne 0x401d19
mov byte [0x41d1f4], 1
jmp 0x401d19
mov esi, 1
cmp byte [0x41d1f4], 0
jne 0x401db4
test esi, esi
je 0x401dc3
jmp 0x401c1d
xor edi, edi
mov dword [ebp - 0xd18], 0
mov dword [ebp - 0xd1c], 0
push 0
push edi
lea esi, [ebp - 0xc8]
push esi
call fcn.004068f0
mov dword [ebp - 0xd38], eax
lea esi, [ebp - 0x6e4]
mov ebx, dword [0x41d200]
xor ecx, ecx
mov ax, word [ebx + ecx]
mov word [esi + ecx], ax
add ecx, 2
test ax, ax
jne 0x401d6c
lea esi, [ebp - 0x6e4]
push esi
call fcn.00413e70
lea esi, [ebp - 0x6e4]
or ebx, 0xffffffff
inc ebx
cmp word [esi + ebx*2], 0
jne 0x401d91
mov dword [ebp - 0xd2c], ebx
cmp dword [ebp - 0xd38], 0x104
jb 0x401aef
jmp 0x401ae0
mov dword [ebp - 0xd28], 2
jmp 0x401f3f
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd20]
push esi
call fcn.00402ff0
test eax, eax
je 0x401e3f
push 0x61c
lea esi, [ebp - 0xd00]
push esi
push str.errorcreatefile
call dword [0x41829c]
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd00]
push esi
call fcn.0040d770
add esp, 8
push 0x116
push 0x41bd58
lea esi, [ebp - 0xd00]
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
je 0x401e35
cmp eax, 0xa
je 0x401dc3
cmp eax, 0xb
je 0x401c3b
jmp 0x401e3f
mov dword [ebp - 0xd34], 0xb
mov esi, dword [ebp - 0xd1c]
mov dword [ebp - 0xd24], esi
lea esi, [ebp - 0xd24]
push esi
mov esi, dword [ebp - 0xd08]
add esi, dword [ebp - 0xd18]
push esi
lea esi, [ebp - 0xd20]
push esi
call fcn.004030c0
test eax, eax
jne 0x401e7d
mov esi, dword [ebp - 0xd24]
cmp esi, dword [ebp - 0xd1c]
je 0x401ec0
push 0x61c
lea esi, [ebp - 0xd00]
push esi
push 0x415694
call dword [0x41829c]
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd00]
push esi
call fcn.0040d770
add esp, 8
lea esi, [ebp - 0xd00]
push esi
call fcn.00413e40
mov dword [ebp - 0xd34], 0xb
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41d208], ecx
adc dword [0x41d20c], ebx
call fcn.00401820
cmp dword [ebp - 0x6c], 0
je 0x401f18
mov esi, dword [ebp - 0x6c]
mov ebx, edi
shr ebx, 3
movzx esi, byte [esi + ebx]
mov ebx, pe_nt_image_headers32
mov ecx, edi
and ecx, 7
sar ebx, cl
test esi, ebx
je 0x401f18
lea esi, [ebp - 0xd14]
push esi
lea esi, [ebp - 0xd10]
push esi
lea esi, [ebp - 0xd20]
push esi
call fcn.00403320
lea esi, [ebp - 0xd20]
push esi
call fcn.00403010
cmp dword [ebp - 0xd34], 0
jne 0x401acf
test eax, eax
je 0x401c59
mov dword [ebp - 0xd28], eax
mov edi, dword [ebp - 0xd28]
mov dword [ebp - 0xd34], edi
push dword [ebp - 0xd08]
lea edi, [ebp - 8]
push edi
call dword [ebp - 4]
cmp dword [ebp - 0xd34], 0
jne 0x4019b5
lea edi, [ebp - 8]
push edi
lea edi, [ebp - 0xc8]
push edi
call fcn.00403960
push dword [ebp - 0x2c]
lea edi, [ebp - 8]
push edi
call dword [ebp - 4]
lea edi, [ebp - 0x1c]
push edi
call fcn.00403010
mov eax, dword [ebp - 0xd34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret