Function at 0x506cf0
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7344fb
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x857060]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x10c], ebx
mov esi, dword [ebp + 8]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x12c], ebx
call fcn.0050b4e0
test al, al
je 0x5085b9
mov ecx, esi
call fcn.0050bac0
test al, al
je 0x5085b9
mov ecx, dword [ebp + 0xc]
call fcn.0050bdb0
test al, al
je 0x5085b9
xor eax, eax
lea ecx, [ebp - 0x90]
mov edx, esi
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], eax
call fcn.00506440
mov byte [ebp - 4], 1
cmp dword [ebp - 0x80], 0
push 0
push 0x798f50
jne 0x507057
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov edi, 4
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x78]
push 0
push 0x798f50
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.00426e90
mov byte [ebp - 4], 3
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x506df2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.00426e90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x44]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x30]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x506e58
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506e4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085dc
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x506ea2
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506e98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085dc
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x506eda
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506ed0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085dc
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x508410
push 0
push 0x798f50
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
push 0
push 0x798f50
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.00426e90
mov edx, dword [ebp - 0x10c]
mov byte [ebp - 4], 6
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov edx, dword [edx + 4]
mov ecx, edx
mov byte [ebp - 0x44], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x506f50
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.00426e90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x44]
call fcn.00535240
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Unable_to_retrieve_AppData_Roaming_Path_in__s
push 0x798f50
push ecx
call dword [eax + 0x24]
mov edx, dword [ebp - 0x30]
add esp, 0x10
cmp edx, 0x10
jb 0x506fc7
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506fbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e1
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x50700d
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507003
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e1
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x508410
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50703b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e1
push edx
push ecx
call fcn.006d0bf7
add esp, 8
lea ecx, [ebp - 0x90]
call fcn.00426ce0
mov eax, edi
jmp 0x5085be
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
push 0
push 0x798f50
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 9
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5070d0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x507145
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50713b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e6
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507198
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50718e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e6
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x5071d6
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5071cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085e6
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x50738a
push 0
push 0x798f50
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x108]
push 0
push 0x798f50
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov ebx, dword [ebp - 0x10c]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov edx, dword [ebx + 4]
mov ecx, edx
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507260
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
lea ecx, [ebp - 0x90]
cmp dword [ebp - 0x7c], 8
mov edx, eax
cmovae ecx, dword [ebp - 0x90]
push ecx
mov eax, dword [edx]
push str.SaveToVDIStorage
push str._s_:_Location_to_write_data_is__s
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0xc
add esp, 0x10
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x5072f7
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5072ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085eb
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507350
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507346
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085eb
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x507390
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50737e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085eb
push edx
push ecx
call fcn.006d0bf7
add esp, 8
jmp 0x507390
mov ebx, dword [ebp - 0x10c]
xor eax, eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], al
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 2
call fcn.004889c0
test eax, eax
je 0x5076f2
push 0
push 0x798f50
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov edi, 4
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x108]
push 0
push 0x798f50
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov byte [ebp - 4], 0x11
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507450
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x5074c5
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5074bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f0
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x50751e
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507514
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f0
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x507556
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50754c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f0
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x5083c2
push 0
push 0x798f50
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00426e90
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x108]
push 0
push 0x798f50
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov edx, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov edx, dword [edx + 4]
mov ecx, edx
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5075e0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Failed_in_fetching_encryption_key_in__s
push 0x798f50
push ecx
call dword [eax + 0x24]
mov edx, dword [ebp - 0xdc]
add esp, 0x10
cmp edx, 0x10
jb 0x507666
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50765c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f5
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x5076bb
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5076b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f5
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x5083c2
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5083b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085f5
jmp 0x5083b8
cmp dword [ebp - 0x64], 8
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x78]
call fcn.0053b970
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 0x17
cmp dword [edi + 0x14], 8
jb 0x507747
mov edi, dword [edi]
lea edx, [ebp - 0xa8]
mov ecx, edi
call fcn.0053b970
lea eax, [ebp - 0xc0]
push eax
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0x2c]
call fcn.00506690
add esp, 4
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x1c], 0
je 0x50808d
cmp dword [ebp - 0x34], 0
je 0x50808d
lea eax, [ebp - 0xd8]
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
call fcn.005475c0
add esp, 4
test eax, eax
jne 0x50808d
cmp dword [ebp - 0xc4], 0x10
lea eax, [ebp - 0xd8]
push dword [ebp - 0xc8]
cmovae eax, dword [ebp - 0xd8]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00486ab0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x124]
push 0
push 0x798f50
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x108]
push 0
push 0x798f50
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov byte [ebp - 4], 0x23
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507870
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x24
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x5078e8
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5078de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085fa
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507941
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507937
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085fa
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x50797f
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507975
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085fa
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x507b4b
push 0
push 0x798f50
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x124]
push 0
push 0x798f50
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov ebx, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov edx, dword [ebx + 4]
mov ecx, edx
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507a12
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x27
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
lea edx, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0x10
lea ecx, [ebp - 0x44]
mov esi, eax
cmovae edx, dword [ebp - 0x60]
cmp dword [ebp - 0x30], 0x10
push edx
cmovae ecx, dword [ebp - 0x44]
mov eax, dword [esi]
push ecx
push str.SaveToVDIStorage
push str._s_:_Encryption_key_used_is__s_to_encrypt__s
push esi
call dword [eax + 4]
mov byte [ebp - 4], 0x26
add esp, 0x14
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x507ab2
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507aa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085ff
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507b0b
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507b01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085ff
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x507b51
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507b3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5085ff
push edx
push ecx
call fcn.006d0bf7
add esp, 8
jmp 0x507b51
mov ebx, dword [ebp - 0x10c]
call fcn.00535000
lea eax, [ebp - 0x90]
push eax
call fcn.00538220
mov esi, dword [eax]
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 0x28
test esi, esi
je 0x507b78
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp - 0x7c], 8
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
test cl, 2
je 0x507bb3
cmp dword [ebp - 0x7c], 8
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
and ecx, 0xfffffffd
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x90]
call fcn.005450a0
test al, al
jne 0x507f18
push 0
push 0x798f50
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x128], 4
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], al
call fcn.00426e90
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x124]
push 0
push 0x798f50
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov byte [ebp - 4], 0x2a
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507c57
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x2b
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x507ccf
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507cc5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508604
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507d28
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507d1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508604
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x507d66
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507d5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508604
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x507f18
push 0
push 0x798f50
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00426e90
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x124]
push 0
push 0x798f50
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov edx, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov edx, dword [edx + 4]
mov ecx, edx
mov byte [ebp - 0xf0], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x507e00
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x2e
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Failed_in_writing_content_to_file_in__s
push 0x798f50
push ecx
call dword [eax + 0x24]
mov edx, dword [ebp - 0xdc]
add esp, 0x10
cmp edx, 0x10
jb 0x507e89
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507e7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508609
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x507ede
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507ed4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508609
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x507f18
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507f0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508609
push edx
push ecx
call fcn.006d0bf7
add esp, 8
cmp dword [ebp - 0x7c], 8
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
test cl, 2
jne 0x507f53
cmp dword [ebp - 0x7c], 8
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
or ecx, 2
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x507f8e
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507f84
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50860e
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd8]
cmp eax, 0x10
jb 0x507fd0
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x507fc6
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508613
push ecx
push edx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x508004
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x507ffa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508613
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp edx, 0x10
jb 0x508050
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x508046
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508613
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0xac]
cmp edx, 0x10
jb 0x5083c2
mov ecx, dword [ebp - 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5083b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508613
jmp 0x5083b8
push 0
push 0x798f50
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x114], 0
mov edi, 4
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x60]
push 0
push 0x798f50
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.00426e90
mov byte [ebp - 4], 0x1c
mov edx, dword [ebx + 4]
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x508110
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x1d
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x508185
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50817b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508618
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x5081d8
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5081ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508618
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x508216
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50820c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508618
push edx
push ecx
call fcn.006d0bf7
add esp, 8
test bl, bl
je 0x507f94
push 0
push 0x798f50
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00426e90
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x60]
push 0
push 0x798f50
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.00426e90
mov edx, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov edx, dword [edx + 4]
mov ecx, edx
mov byte [ebp - 0xf0], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5082a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00426e90
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x20
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
call fcn.00535240
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Error_in_encrypting_data__s
push 0x798f50
push ecx
call dword [eax + 0x24]
mov edx, dword [ebp - 0xdc]
add esp, 0x10
cmp edx, 0x10
jb 0x508326
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50831c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50861d
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x508375
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50836b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50861d
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x507f94
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5083a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50861d
push edx
push ecx
call fcn.006d0bf7
add esp, 8
jmp 0x507f94
push edx
push ecx
call fcn.006d0bf7
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x5083f6
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5083ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x508622
push edx
push ecx
call fcn.006d0bf7
add esp, 8
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00426ce0
lea ecx, [ebp - 0x90]
call fcn.00426ce0
mov eax, edi
jmp 0x5085be
mov eax, 5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.006d0965
mov esp, ebp
pop ebp
ret 0x14
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
call fcn.006f1bea
int3