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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e911b
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x82d084]
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.005d3250
test al, al
je 0x506d7b
mov ecx, esi
call fcn.005d3890
test al, al
je 0x506d7b
mov ecx, dword [ebp + 0xc]
call fcn.005d3bc0
test al, al
je 0x506d7b
xor eax, eax
lea ecx, [ebp - 0x90]
mov edx, esi
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], eax
call fcn.00504b90
mov byte [ebp - 4], 1
cmp dword [ebp - 0x80], 0
push 0x854764
jne 0x505737
mov edi, 4
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506d9e
push eax
push 0x761dc7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], al
call fcn.00430160
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x78]
push 0
push 0x761dc7
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.00430160
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 0x5054c1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.00430160
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x44]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x30]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x505527
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50551d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da4
push edx
push ecx
call fcn.0067bc93
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 0x505571
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505567
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da4
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x5055a9
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50559f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da4
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x50571d
push 0
push 0x761dc7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00430160
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
push 0
push 0x761dc7
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.00430160
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 + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x505620
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.00430160
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x44]
call fcn.005f8830
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Unable_to_retrieve_AppData_Roaming_Path_in__s
push 0x761dc7
push ecx
call dword [eax + 0x24]
mov byte [ebp - 4], 6
add esp, 0x10
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x50569b
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505691
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da9
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x5056e5
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5056db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da9
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x50571d
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505713
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506da9
push edx
push ecx
call fcn.0067bc93
add esp, 8
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506dae
jmp 0x506bba
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506db4
push eax
push 0x761dc7
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], al
call fcn.00430160
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
push 0
push 0x761dc7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00430160
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 word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5057c0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x505835
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50582b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dba
push edx
push ecx
call fcn.0067bc93
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 0x505888
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50587e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dba
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x5058c6
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5058bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dba
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x505a7a
push 0
push 0x761dc7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00430160
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x108]
push 0
push 0x761dc7
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
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 0x505950
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
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 0x5059e7
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5059dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dbf
push edx
push ecx
call fcn.0067bc93
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 0x505a40
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505a36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dbf
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x505a80
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505a6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dbf
push edx
push ecx
call fcn.0067bc93
add esp, 8
jmp 0x505a80
mov ebx, dword [ebp - 0x10c]
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506dc4
mov dword [ebp - 0x68], eax
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.00556110
test eax, eax
je 0x505e25
push 0x854764
mov edi, 4
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506dca
push eax
push 0x761dc7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], al
call fcn.00430160
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x108]
push 0
push 0x761dc7
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
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 + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x505b60
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x505bd5
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505bcb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd0
push edx
push ecx
call fcn.0067bc93
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 0x505c2e
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505c24
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd0
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x505c66
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505c5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd0
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x505e0b
push 0
push 0x761dc7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00430160
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x108]
push 0
push 0x761dc7
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
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 0x505cf0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Failed_in_fetching_encryption_key_in__s
push 0x761dc7
push ecx
call dword [eax + 0x24]
mov byte [ebp - 4], 0x14
add esp, 0x10
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x505d7a
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505d70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd5
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x505dd3
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505dc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd5
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x505e0b
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x505e01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dd5
push edx
push ecx
call fcn.0067bc93
add esp, 8
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506dda
jmp 0x506b6c
cmp dword [ebp - 0x64], 8
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x78]
call fcn.0050b660
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 0x505e7a
mov edi, dword [edi]
lea edx, [ebp - 0xa8]
mov ecx, edi
call fcn.0050b660
lea eax, [ebp - 0xc0]
push eax
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0x2c]
call fcn.00504de0
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 0x506720
cmp dword [ebp - 0x34], 0
je 0x506720
lea eax, [ebp - 0xd8]
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
call fcn.0051fff0
add esp, 4
test eax, eax
jne 0x506720
cmp dword [ebp - 0xc4], 0x10
lea eax, [ebp - 0xd8]
push dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd8]
cmovae eax, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00554fb0
push 0x854764
mov byte [ebp - 4], 0x21
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506de0
push eax
push 0x761dc7
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], al
call fcn.00430160
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x108]
push 0
push 0x761dc7
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
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 0x505fb0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x24
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x506028
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50601e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506de6
push edx
push ecx
call fcn.0067bc93
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 0x506081
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506077
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506de6
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x5060bf
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5060b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506de6
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x50628b
push 0
push 0x761dc7
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x124]
push 0
push 0x761dc7
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00430160
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 0x506152
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x27
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
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 0x5061f2
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5061e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506deb
push edx
push ecx
call fcn.0067bc93
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 0x50624b
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506241
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506deb
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x506291
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50627f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506deb
push edx
push ecx
call fcn.0067bc93
add esp, 8
jmp 0x506291
mov ebx, dword [ebp - 0x10c]
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506df0
call fcn.005f8600
lea eax, [ebp - 0x90]
push eax
call fcn.005fbd20
mov esi, dword [eax]
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 0x28
test esi, esi
je 0x5062cd
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 0x506308
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.00519130
test al, al
jne 0x5066a1
push 0x854764
mov dword [ebp - 0x128], 4
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506df6
push eax
push 0x761dc7
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], al
call fcn.00430160
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x124]
push 0
push 0x761dc7
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00430160
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]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5063c0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x2b
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x506438
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50642e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dfc
push edx
push ecx
call fcn.0067bc93
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 0x506491
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506487
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dfc
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x5064cf
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5064c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506dfc
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x506686
push 0
push 0x761dc7
lea ecx, [ebp - 0x108]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.00430160
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x124]
push 0
push 0x761dc7
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00430160
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x506562
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x2e
push eax
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Failed_in_writing_content_to_file_in__s
push 0x761dc7
push ecx
call dword [eax + 0x24]
mov byte [ebp - 4], 0x2d
add esp, 0x10
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x5065ef
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5065e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e01
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x506648
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50663e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e01
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0xf4]
cmp edx, 0x10
jb 0x506686
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50667c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e01
push edx
push ecx
call fcn.0067bc93
add esp, 8
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506e06
mov edi, dword [ebp - 0xd8]
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 0x5066dc
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 0x506a76
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506711
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e0c
push edx
push ecx
call fcn.0067bc93
add esp, 8
jmp 0x506a76
push 0x854764
mov dword [ebp - 0x128], 4
call fcn.0067f606
add esp, 4
test eax, eax
jne 0x506e11
push eax
push 0x761dc7
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], al
call fcn.00430160
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x60]
push 0
push 0x761dc7
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.00430160
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5067b2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x1d
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0xdc]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x506827
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x50681d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e17
push edx
push ecx
call fcn.0067bc93
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 0x50687a
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506870
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e17
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x5068b8
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5068ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e17
push edx
push ecx
call fcn.0067bc93
add esp, 8
test bl, bl
je 0x506a5b
push 0
push 0x761dc7
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
call fcn.00430160
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x60]
push 0
push 0x761dc7
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call fcn.00430160
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x506940
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00430160
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x20
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
call fcn.005f8830
add esp, 4
mov ecx, eax
mov eax, dword [ecx]
push str.SaveToVDIStorage
push str.Error_in_encrypting_data__s
push 0x761dc7
push ecx
call dword [eax + 0x24]
mov byte [ebp - 4], 0x1f
add esp, 0x10
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x5069ca
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5069c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e1c
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x506a1d
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506a13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e1c
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x506a5b
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506a51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e1c
push edx
push ecx
call fcn.0067bc93
add esp, 8
push 0x854764
call fcn.0067f62b
add esp, 4
test eax, eax
jne 0x506e21
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc4]
cmp eax, 0x10
jb 0x506aac
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x506aa2
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e27
push ecx
push edi
call fcn.0067bc93
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x506ae0
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506ad6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e27
push edx
push ecx
call fcn.0067bc93
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 0x506b2c
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506b22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e27
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov edx, dword [ebp - 0xac]
cmp edx, 0x10
jb 0x506b66
mov ecx, dword [ebp - 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506b5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e27
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov edi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x506ba0
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x506b96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x506e2c
push edx
push ecx
call fcn.0067bc93
add esp, 8
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0042fd70
lea ecx, [ebp - 0x90]
call fcn.0042fd70
mov eax, edi
jmp 0x506d80
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.0067ba01
mov esp, ebp
pop ebp
ret 0x14
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
call fcn.00691015
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
push eax
call fcn.0067f8f8
call fcn.00691015
call fcn.00691015
int3