Function at 0x402320
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd38
push ebx
push esi
push edi
mov dword [ebp - 8], 0x403970
mov dword [ebp - 4], 0x403990
call fcn.00403a50
mov dword [ebp - 0x10], 0x4039a0
mov dword [ebp - 0xc], 0x4039c0
lea edi, [ebp - 0x24]
push edi
call fcn.00403f50
push 0
lea edi, [ebp - 0x48]
push edi
call fcn.00404360
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push dword [0x41e23c]
lea edi, [ebp - 0x1c]
push edi
call fcn.00403c60
test eax, eax
je 0x402395
mov dword [ebp - 0xd34], 0xb
jmp 0x4023cd
cmp dword [0x41e234], 0
je 0x4023b0
mov edi, dword [0x41e234]
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.00403dd0
test eax, eax
jne 0x402389
mov dword [ebp - 0xd34], 0
cmp dword [ebp - 0xd34], 0
jne 0x402410
push 0x40000
lea edi, [ebp - 8]
push edi
call dword [ebp - 8]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x402406
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 0x402410
mov dword [ebp - 0xd34], 2
lea edi, [ebp - 0xc8]
push edi
call fcn.00404560
cmp dword [ebp - 0xd34], 0
je 0x402442
cmp byte [0x41e22c], 0
jne 0x4029d5
push dword [ebp - 0xd34]
call fcn.004021e0
jmp 0x4029d5
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.00407370
mov dword [ebp - 0xd34], eax
test eax, eax
jne 0x402425
or dword [ebp - 0xd04], 0xffffffff
mov dword [ebp - 0xd08], 0
mov dword [ebp - 0xd0c], 0
mov dword [0x41e248], 0
mov dword [0x41e24c], 0
mov dword [0x41e240], 0
mov dword [0x41e244], 0
cmp dword [ebp - 0x88], 0
jbe 0x40251e
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 0x4024de
add dword [0x41e248], 1
adc dword [0x41e24c], 0
jmp 0x402515
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 [0x41e248]
mov edx, dword [0x41e24c]
add eax, ecx
adc edx, ebx
add eax, 1
adc edx, 0
mov dword [0x41e248], eax
mov dword [0x41e24c], edx
inc edi
cmp edi, dword [ebp - 0x88]
jb 0x4024b2
mov dword [ebp - 0xd10], 0
mov dword [ebp - 0xd14], 0
cmp dword [ebp - 0x88], 0
ja 0x4027a3
mov esi, dword [ebp - 0xd34]
mov dword [ebp - 0xd28], esi
jmp 0x4029af
mov dword [ebp - 0xd28], 0xb
jmp 0x4029af
cmp byte [0x41e22c], 0
jne 0x402824
mov esi, dword [ebp - 0xd2c]
lea esi, [ebp + esi*2 - 0x6e4]
push esi
push edi
lea ebx, [ebp - 0xc8]
push ebx
call fcn.00407580
cmp byte [0x41e250], 0
jne 0x402596
push esi
call fcn.00402240
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.004073b0
mov dword [ebp - 0xd34], eax
test eax, eax
jne 0x40253f
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 0x40263e
xor ebx, ebx
cmp word [esi + ebx*2], 0x2f
jne 0x402636
mov word [esi + ebx*2], 0
cmp dword [0x41cfc0], 0
je 0x402630
lea ecx, [ebp - 0x6e4]
push ecx
call fcn.00414de0
mov word [esi + ebx*2], 0x5c
inc ebx
cmp word [esi + ebx*2], 0
jne 0x40260e
cmp dword [ebp - 0xd30], 0
je 0x402710
cmp dword [0x41cfc0], 0
je 0x402678
lea esi, [ebp - 0x6e4]
push esi
call fcn.00414de0
cmp byte [0x41cfbc], 0
je 0x402678
lea esi, [ebp - 0x6e4]
push esi
push 1
call dword [0x4192c4]
add dword [0x41e240], 1
adc dword [0x41e244], 0
call fcn.00402290
jmp 0x4026fe
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41e240], ecx
adc dword [0x41e244], ebx
call fcn.00402290
jmp 0x4026fe
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41e240], ecx
adc dword [0x41e244], ebx
call fcn.00402290
jmp 0x4026fe
cmp dword [ebp - 0x74], 0
je 0x4026fe
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 0x4026fe
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 0x4027a5
jmp 0x40253f
cmp dword [ebp - 0x6c], 0
je 0x402748
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 0x402748
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 [0x41e230]
cmp eax, 1
je 0x402784
xor esi, esi
cmp eax, 2
jne 0x402789
mov byte [0x41e22c], 1
jmp 0x402789
mov esi, 1
cmp byte [0x41e22c], 0
jne 0x402824
test esi, esi
je 0x402833
jmp 0x40268d
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.00407580
mov dword [ebp - 0xd38], eax
lea esi, [ebp - 0x6e4]
mov ebx, dword [0x41e238]
xor ecx, ecx
mov ax, word [ebx + ecx]
mov word [esi + ecx], ax
add ecx, 2
test ax, ax
jne 0x4027dc
lea esi, [ebp - 0x6e4]
push esi
call fcn.00414cd0
lea esi, [ebp - 0x6e4]
or ebx, 0xffffffff
inc ebx
cmp word [esi + ebx*2], 0
jne 0x402801
mov dword [ebp - 0xd2c], ebx
cmp dword [ebp - 0xd38], 0x104
jb 0x40255f
jmp 0x402550
mov dword [ebp - 0xd28], 2
jmp 0x4029af
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd20]
push esi
call fcn.00403c80
test eax, eax
je 0x4028af
push 0x61c
lea esi, [ebp - 0xd00]
push esi
push str.errorcreatefile
call dword [0x4192b8]
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd00]
push esi
call fcn.0040e410
add esp, 8
push 0x116
push 0x41cd90
lea esi, [ebp - 0xd00]
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
je 0x4028a5
cmp eax, 0xa
je 0x402833
cmp eax, 0xb
je 0x4026ab
jmp 0x4028af
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.00403d50
test eax, eax
jne 0x4028ed
mov esi, dword [ebp - 0xd24]
cmp esi, dword [ebp - 0xd1c]
je 0x402930
push 0x61c
lea esi, [ebp - 0xd00]
push esi
push 0x415fa4
call dword [0x4192b8]
lea esi, [ebp - 0x6e4]
push esi
lea esi, [ebp - 0xd00]
push esi
call fcn.0040e410
add esp, 8
lea esi, [ebp - 0xd00]
push esi
call fcn.00414ca0
mov dword [ebp - 0xd34], 0xb
mov esi, dword [ebp - 0xd1c]
inc esi
mov ecx, esi
xor ebx, ebx
add dword [0x41e240], ecx
adc dword [0x41e244], ebx
call fcn.00402290
cmp dword [ebp - 0x6c], 0
je 0x402988
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 0x402988
lea esi, [ebp - 0xd14]
push esi
lea esi, [ebp - 0xd10]
push esi
lea esi, [ebp - 0xd20]
push esi
call fcn.00403fb0
lea esi, [ebp - 0xd20]
push esi
call fcn.00403ca0
cmp dword [ebp - 0xd34], 0
jne 0x40253f
test eax, eax
je 0x4026c9
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 0x402425
lea edi, [ebp - 8]
push edi
lea edi, [ebp - 0xc8]
push edi
call fcn.004045f0
push dword [ebp - 0x2c]
lea edi, [ebp - 8]
push edi
call dword [ebp - 4]
lea edi, [ebp - 0x1c]
push edi
call fcn.00403ca0
mov eax, dword [ebp - 0xd34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret