Function at 0x1001ca5e
Capabilities:
Delete file
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
mov bl, dl
push 1
lea ecx, [ebp - 0x4c]
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x1001ca8d
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 1
jl 0x1001ca80
mov edi, dword [sym.imp.USER32.dll_CreateDialogParamA]
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x1001cab2
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call edi
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_RegisterClassW]
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x1001cac4
push eax
call esi
lea ecx, [ebp - 0x4c]
call fcn.1001b222
test bl, bl
je 0x1001cd84
mov dword [ebp - 0x18], 0xffffffff
xor edi, edi
inc edi
xor eax, eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], 0x34c865b4
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x83cc47d1
mov dword [ebp - 0x10], eax
jmp 0x1001cb0e
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x94], 0x4f16efa4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001cafd
mov dword [ebp - 0x10], eax
jmp 0x1001cb27
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x74], 0x79b69b2e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001cb19
mov dword [ebp - 0x74], 0x2fdad5a5
xor ebx, ebx
mov dword [ebp - 0x88], 0xb9dd952e
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
setl bl
imul ecx, ebx, 0xb9dd952e
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
cmp ecx, edx
setge bl
xor edx, edx
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
setle dl
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], eax
jmp 0x1001cb8a
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x24], 0xdb58
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001cb7c
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x1001cba1
push eax
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
xor eax, eax
inc dword [ebp - 0x24]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], 0xfffffffc
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x1001cbc0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov dword [ebp - 0xc], 0xfffffff8
cmp dword [ebp - 0xc], 0xe
jge 0x1001ccd2
jmp 0x1001cbd5
xor eax, eax
push dword [ebp - 0x20]
movdqa xmm0, xmmword [0x100093e0]
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x30], eax
push ecx
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], eax
movdqu xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x28], eax
call fcn.1001c04b
xor eax, eax
mov dword [ebp - 0x18], 0x1fc9a57b
mov dword [ebp - 0x10], eax
jmp 0x1001cc1d
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x6c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001cc13
mov esi, dword [ebp - 0x30]
mov dword [esi + 4], eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x1001cc42
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
inc dword [esi + 4]
cmp dword [esi + 4], edi
jle 0x1001cc29
cmp dword [ebp - 0x18], eax
jne 0x1001ccb1
mov ecx, eax
cmp dword [esi + 4], eax
je 0x1001cc58
mov ecx, edi
xor edx, edx
cmp ecx, 6
setg dl
sub edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp ecx, edx
mov ecx, dword [ebp - 0xc]
setge bl
sub ebx, 0xc6a3
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ecx, ebx
mov ecx, dword [ebp - 0x30]
setle dl
xor ebx, ebx
cmp edx, dword [ecx + 8]
setne bl
xor ecx, ecx
cmp ebx, 0xfffffffc
setg cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], ecx
sete dl
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x68]
lea ecx, [ebp - 0x30]
cmp dword [ebp - 0x14], eax
jne 0x1001cccd
call fcn.1001b222
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xe
jl 0x1001cbd3
jmp 0x1001ccd2
call fcn.1001b222
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [edi]
mov ecx, dword [ebx]
xor eax, eax
cmp dword [ecx], eax
jne 0x1001ccfc
mov ecx, dword [edi]
mov ecx, dword [edi]
mov esi, dword [edi]
mov edx, dword [ebx]
mov ecx, dword [edx + ecx*4]
add ecx, 0x4f6b903c
cmp ecx, dword [edx + esi*4]
jl 0x1001ccfa
mov ecx, dword [edi]
mov ecx, dword [edi]
mov ecx, dword [edi]
mov edx, dword [edi]
mov ecx, dword [ebx]
xor ebx, ebx
mov esi, dword [edi]
cmp dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x1c]
setne bl
mov edx, dword [ecx]
xor ecx, ecx
cmp ebx, dword [edx]
setle cl
cmp ecx, dword [edx + esi*4]
jl 0x1001cd1f
mov ecx, dword [edi]
mov ecx, dword [edi]
xor edx, edx
mov ecx, dword [edi]
mov ecx, dword [edi]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [edi]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebx]
mov ecx, dword [ecx]
cmp dword [esi + edi*4], ecx
mov esi, dword [ebp + 8]
setl dl
neg edx
jne 0x1001cd49
mov edx, dword [esi]
mov ecx, dword [ebx]
cmp dword [ecx + edx*4], eax
je 0x1001cd4c
xor eax, eax
inc eax
mov ecx, dword [esi]
mov esi, dword [esi]
mov edx, dword [ebx]
xor ebx, ebx
push 9
mov ecx, dword [edx + ecx*4]
add ecx, eax
cmp ecx, dword [edx]
pop ecx
setle bl
sub ebx, dword [edx + esi*4]
neg ebx
sbb ebx, ebx
xor eax, eax
inc ebx
cmp ebx, 0xffff
setne al
cmp ecx, eax
mov eax, dword [ebp + 0xc]
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
jmp 0x1001cf55
xor ebx, ebx
lea ecx, [ebp - 0x58]
inc ebx
push ebx
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x1001cda4
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x58]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1001cd97
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x1001cdc2
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call edi
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x1001cdce
push eax
call esi
lea ecx, [ebp - 0x58]
call fcn.1001b222
mov dword [ebp - 0xc], 0xfffffff9
xor eax, eax
mov dword [ebp - 0x1c], 0xf7e813a3
mov dword [ebp - 0x14], 0xf844
mov dword [ebp - 0x40], 0x739032f8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc], 0xffffffe3
cmp dword [ebp - 0xc], 0xfffffff1
jl 0x1001cf4e
push 3
pop edi
push ebx
lea ecx, [ebp - 0x3c]
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], eax
jmp 0x1001ce2e
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + edx*4], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1001ce1e
cmp dword [ebp - 0xc], eax
jne 0x1001cf44
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x12
jg 0x1001cef9
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x1001ce6b
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x64], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001ce61
mov edx, ebx
cmp dword [ebp - 0xc], eax
jne 0x1001ce79
mov edx, eax
mov ecx, dword [ebp - 0x10]
sub edx, ecx
sub edx, 0xc443
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0xc]
jne 0x1001ce95
mov edx, ebx
cmp dword [ebp - 0x14], eax
jne 0x1001ce97
mov edx, eax
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x1c]
setg bl
xor edx, edx
cmp ebx, ecx
setg dl
cmp edx, dword [ebp - 0x10]
jne 0x1001ceb3
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0xa5d
cmp dword [ebp - 0x1c], 0x2129
je 0x1001ced2
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
dec esi
neg esi
push 1
sbb esi, esi
xor edx, edx
neg esi
cmp esi, dword [ecx]
pop ebx
setge dl
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x12
jle 0x1001ce55
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x1001cf1f
push eax
push 0xf9d
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
xor eax, eax
mov ecx, dword [ebp - 0x3c]
inc dword [ecx]
cmp dword [ecx], 7
jle 0x1001ce41
lea ecx, [ebp - 0x3c]
call fcn.1001b222
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff1
jge 0x1001ce0b
jmp 0x1001cf4c
lea ecx, [ebp - 0x3c]
call fcn.1001b222
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret