Function at 0x423f60
Capabilities:
Delete file

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
cmp dword [esi], 2
push edi
jne 0x423f9e
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
add esi, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push esi
push 5
push 4
mov edi, eax
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
lea eax, [esi + 0x214]
push eax
call fcn.0042e2b0
add esp, 4
push str.IsWow64Process
push 0x49be00
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x423fe0
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
cmp dword [esp + 0x24], 0
je 0x4240ac
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
jmp 0x423ff6
jmp 0x423ffa
lea ebx, [ecx + 0x796f]
xor ebx, 0x501
or ebx, 0x781a
add ebx, 0x12
jmp 0x424012
lea edx, [ebx - 0xc]
and edx, 0x14
or edx, 0x199d6a
mov eax, 0x110
sub eax, edx
mov dword [esp + 0x24], eax
jmp 0x42402c
mov edx, ecx
and edx, 0x3844
xor edx, eax
or edx, 0x41ab
mov edi, 0x796f
sub edi, edx
jmp 0x424047
jmp 0x42404a
jmp 0x42404e
jmp 0x424052
lea eax, [edi + edi*8]
add eax, eax
cdq
mov ebp, 0x18
idiv ebp
lea esi, [edi + ecx - 0x123]
and esi, 0x332
lea eax, [edi + 0x422b]
and edx, 0x154
xor esi, edx
mov edx, edi
sub edx, ecx
and esi, ebx
xor esi, eax
add edx, 0x332
lea eax, [edi - 0x3f55]
and edx, eax
or esi, edx
mov edx, 0x332
shl edx, cl
add edi, 0xffffbe31
and edi, edx
and edi, dword [esp + 0x24]
or esi, edi
jmp 0x42429a
mov dword [esp + 0x20], 0x110
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebp, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], 0x8456
mov dword [esp + 0x18], 0x4287
mov dword [esp + 0x14], 0x332
mov dword [esp + 0x10], 0x3678
mov dword [esp + 0x1c], 0x12
jmp 0x4240eb
pushaw
mov eax, dword [esp + 0x34]
jmp 0x4240f5
mov ebx, dword [esp + 0x28]
jmp 0x4240fc
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
jmp 0x42410c
mov edi, dword [esp + 0x24]
and eax, ebx
jmp 0x424116
or eax, esi
and ebx, dword [esp + 0x38]
jmp 0x424120
add ebx, eax
sub ecx, eax
sub esi, eax
mov dword [esp + 0x30], ebx
jmp 0x42412d
add edi, esi
and ebx, eax
jmp 0x424136
xor esi, edi
add esi, ebx
jmp 0x42413d
sub ecx, esi
add edi, ebx
jmp 0x424145
xor ecx, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], eax
jmp 0x424153
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
jmp 0x424162
popaw
jmp 0x424167
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x10]
add esi, eax
and edx, esi
lea esi, [eax + eax*8]
add esi, esi
and esi, 0x23
xor edx, esi
and ecx, eax
or edx, ecx
or edx, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], eax
jmp 0x42419a
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add edx, dword [esp + 0x24]
lea ecx, [eax + ebp]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add eax, ecx
xor eax, 0x19b
or edx, eax
add ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x4241c5
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
sub ecx, dword [esp + 0x18]
lea edx, [ecx + eax + 5]
and edx, eax
mov eax, dword [esp + 0x10]
imul eax, eax, 0xd8
sar eax, 2
or edx, eax
sub dword [esp + 0x20], edx
jmp 0x4241ed
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, eax
and ecx, ebp
xor ecx, dword [esp + 0x20]
add edx, 0x12
xor edx, dword [esp + 0x14]
or ecx, edx
sub eax, ecx
mov dword [esp + 0x10], eax
jmp 0x424210
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add eax, dword [esp + 0x18]
mov ecx, ebp
shl edx, cl
and eax, edx
and dword [esp + 0x20], eax
jmp 0x42422d
mov esi, dword [esp + 0x24]
mov eax, esi
cdq
idiv dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx*8]
add eax, eax
mov edi, edx
cdq
mov ebx, 0x18
idiv ebx
mov eax, dword [esp + 0x18]
add ecx, eax
add ecx, esi
add ecx, ebp
and ecx, dword [esp + 0x14]
and edi, edx
xor edi, ecx
and dword [esp + 0x1c], edi
jmp 0x424265
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, ecx
sub esi, dword [esp + 0x18]
mov edx, ecx
add esi, eax
sub edx, ebp
add edx, eax
mov eax, dword [esp + 0x24]
and esi, edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor eax, dword [esp + 0x1c]
or esi, eax
or dword [esp + 0x20], esi
jmp 0x424296
mov esi, dword [esp + 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, dword [esp + 0x34]
push esi
call ebx
push eax
call fcn.00402090
add esp, 8
push 1
call ebx
push eax
call fcn.00402320
add esp, 8
call ebx
push eax
call fcn.00402410
add esp, 4
call ebx
push eax
push str.CryptDiskProtectedSetProcess:_pid_d
call fcn.00424900
lea esi, [edi + 0x214]
push esi
xor ebp, ebp
call fcn.00423e60
add esp, 0xc
test eax, eax
jne 0x424322
mov eax, dword [edi]
sub eax, 1
je 0x424308
sub eax, 3
jne 0x424362
lea eax, [edi + 0x624]
push eax
push esi
call fcn.00433ee0
add esp, 8
jmp 0x424360
push 0
push 0
lea ecx, [edi + 0x624]
push ecx
lea edx, [edi + 0x41c]
push esi
push edx
call fcn.004339d0
jmp 0x42435d
cmp eax, 1
jne 0x424362
mov eax, dword [edi]
sub eax, 1
je 0x424345
sub eax, 3
jne 0x424362
lea eax, [edi + 0x624]
push eax
push esi
call fcn.00433640
add esp, 8
jmp 0x424360
push 0
push 0
lea ecx, [edi + 0x624]
push ecx
lea edx, [edi + 0x41c]
push esi
push edx
call fcn.00432f50
add esp, 0x14
mov ebp, eax
lea esi, [edi + 0xc]
push esi
call fcn.0042e520
add esp, 4
test eax, eax
je 0x42437b
push esi
call fcn.004277c0
add esp, 4
call ebx
push eax
call fcn.00402420
add esp, 4
call ebx
push eax
push str.CryptDiskProtectedDelProcess:_pid_d
call fcn.00424900
add esp, 8
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x1c
ret