Function at 0x40dfd0
Capabilities:
Delete file
Get common file path
Get hostname
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x38]
mov eax, dword fs:[0]
sub esp, 0x38
push 0xffffffffffffffff
push 0x43f2d8
push eax
mov dword fs:[0], esp
sub esp, 0x260
cmp dword [ebp + 0x40], 0
push ebx
push esi
push edi
jne 0x40e47f
mov eax, dword [0x45c314]
inc eax
push 0x800
mov dword [0x45c100], eax
call fcn.004136b7
add esp, 4
mov esi, eax
push esi
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 0x45c100
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [0x45c31c], 0
je 0x40e045
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call fcn.00412c7b
xor eax, eax
mov dword [ebp + 0x14], 7
push str.Button
mov dword [ebp + 0x10], 0
mov word [ebp], ax
call fcn.004295b6
add esp, 8
lea ecx, [ebp]
push eax
push str.Button
call fcn.0040f480
mov edi, dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
lea eax, [ebp + 0x34]
push eax
xor esi, esi
mov dword [ebp - 4], 0
push esi
push 1
mov dword [ebp + 0x34], esi
call edi
test eax, eax
jne 0x40e117
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x459600]
xor edx, edx
cmp eax, 0xea
mov eax, dword [ebp + 0x34]
push 0x45cef0
cmovne ecx, edx
inc eax
mov dword [0x459600], ecx
mov edx, 2
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004136c0
mov ecx, dword [0x45cb04]
mov esi, eax
test esi, esi
cmove ecx, dword [0x45cc4c]
mov dword [0x45cb04], ecx
mov ecx, dword [ebp + 0x34]
inc ecx
push ecx
push 0
push esi
call fcn.0041c490
add esp, 0x14
lea eax, [ebp + 0x34]
push eax
push esi
push 1
call edi
test eax, eax
jne 0x40e117
test esi, esi
je 0x40e117
push esi
call fcn.00412c7b
add esp, 4
xor esi, esi
mov eax, dword [0x45c314]
add eax, 4
shl eax, 0xa
push eax
call fcn.004136b7
add esp, 4
mov edi, eax
cmp word [esi], 0
jne 0x40e137
xor eax, eax
jmp 0x40e140
push esi
call fcn.004295b6
add esp, 4
push eax
push esi
lea ecx, [ebp]
call fcn.0040f480
test edi, edi
je 0x40e157
push edi
call fcn.00412c7b
add esp, 4
push esi
call fcn.00412c7b
mov eax, dword [ebp + 0x14]
add esp, 4
cmp eax, 8
jb 0x40e175
inc eax
lea ecx, [ebp]
push eax
push dword [ebp]
call fcn.0040f600
mov edi, dword [0x45c314]
lea eax, [ebp + 0x34]
mov ebx, dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
push eax
push 0
push 0
push 1
push edi
mov dword [ebp + 0x34], 0
call ebx
test eax, eax
jne 0x40e1b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x459600]
xor edx, edx
cmp eax, 0x7a
cmovne ecx, edx
mov dword [0x459600], ecx
push dword [ebp + 0x34]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
je 0x40e222
lea eax, [ebp + 0x34]
mov dword [ebp + 0x30], 0
push eax
push dword [ebp + 0x34]
push esi
push 1
push edi
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
jne 0x40e1ef
push esi
call edi
mov dword [0x45c0fc], 1
cmp dword [0x45c314], 0
je 0x40e222
lea eax, [ebp + 0x30]
push eax
push dword [esi]
call sub.ADVAPI32.dll_ConvertSidToStringSidA
test eax, eax
je 0x40e21f
push dword [ebp + 0x30]
push 0x441644
call fcn.0040ac00
add esp, 8
push dword [ebp + 0x30]
call edi
push esi
call edi
push esi
call edi
push 0x104
lea eax, [ebp - 0x26c]
push 0
push eax
call fcn.0041c490
mov eax, dword [0x45c31c]
push 0x58
mov dword [ebp + 0x30], eax
lea eax, [ebp - 0x64]
push 0
push eax
call fcn.0041c490
mov eax, dword [0x45c31c]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x48], eax
mov al, byte [0x45cc54]
push 0x103
mov byte [ebp - 0x168], al
lea eax, [ebp - 0x167]
push 0
push eax
mov dword [ebp - 0x64], 0x58
mov dword [ebp - 0x58], str.Text_File
mov dword [ebp - 0x44], 0x100
mov dword [ebp - 0x38], 0x4420f8
call fcn.0041c490
mov edi, dword [0x45c314]
add esp, 0x24
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
test edi, edi
je 0x40e364
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
test eax, eax
je 0x40e35e
push 0x100000
call fcn.00428525
push dword [ebp - 0x48]
mov edi, eax
lea eax, [ebp - 0x168]
push eax
call fcn.00429890
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
mov esi, eax
lea eax, [ebp + 0x34]
push eax
push 0x100000
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp + 0x34]
push edi
push dword [ebp + 0x30]
mov byte [ecx + edi], 0
call dword [sym.imp.USER32.dll_SetWindowTextA]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x168]
push eax
push 0x4420fc
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edi
push dword [0x45cc5c]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push edi
call fcn.00424911
add esp, 4
push 0
push 0
push 0xb9
push dword [ebp + 0x30]
call ebx
mov edi, dword [0x45c314]
mov eax, dword [str..txt]
mov dword [ebp - 0x168], eax
mov al, byte [0x442104]
push 0xff
mov byte [ebp - 0x164], al
lea eax, [ebp - 0x163]
push 0
push eax
call fcn.0041c490
mov esi, dword [0x45cc5c]
add esp, 0xc
mov ecx, dword [0x45cb04]
mov edx, dword [0x45cc4c]
cmp edi, 0x10
ja 0x40e45f
je 0x40e425
lea eax, [edi - 1]
cmp eax, 6
ja case.0x40e3b9.3
jmp dword [eax*4 + 0x40ea60]
push 0
push 0
push 0x64
push esi
push 0x19
push 0xc8
push 0xa
push edi
push 0x503000c4
push 0
push str.edit
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x100000
push 0xc5
push eax
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push dword [ebp + 0x40]
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
mov eax, dword [ebp + 0x40]
cmp eax, 2
je case.0x40e3b9.3
cmp eax, 6
je case.0x40e3b9.3
push 1
mov eax, edx
shr eax, 0x10
push eax
movzx eax, dx
push eax
push 0
push 0
push dword [ebp + 0x40]
call dword [sym.imp.USER32.dll_MoveWindow]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
mov eax, edi
sub eax, 0x111
je 0x40e67c
sub eax, 5
je 0x40e58d
push edx
push ecx
push edi
push esi
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov edi, dword [0x45c31c]
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push dword [0x45c0fc]
push dword [0x459600]
push edi
call ebx
mov esi, dword [sym.imp.USER32.dll_CheckDlgButton]
xor eax, eax
cmp dword [0x45c314], 1
xorps xmm0, xmm0
mov word [ebp + 0x20], ax
movq qword [ebp + 0x22], xmm0
mov dword [ebp + 0x2a], eax
mov word [ebp + 0x2e], ax
jne 0x40e4cb
push 1
push dword [0x45cb04]
push edi
call esi
lea eax, [ebp + 0x20]
push eax
push 0
push 0
call sub.ACTIVEDS.dll_AdsTypeToPropVariant
mov ecx, dword [0x45c308]
add ecx, ecx
mov dword [0x45c314], eax
sub ecx, dword [0x45c31c]
add ecx, eax
mov eax, dword [0x459600]
inc eax
add ecx, eax
mov eax, dword [0x45c0fc]
add eax, dword [0x45c31c]
push 0
push ecx
push dword [0x45cc4c]
mov dword [0x459600], ecx
push edi
mov dword [0x45cb04], eax
call ebx
cmp dword [0x45cc54], 1
jne 0x40e52b
push 1
push dword [0x459600]
push edi
call esi
movups xmm0, xmmword [ebp + 0x20]
push 0
push 0
push 0
push 0
push 0
push 0
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call sub.ACTIVEDS.dll_SecurityDescriptorToBinarySD
cmp dword [0x45c314], 1
mov dword [0x45cc54], 0
jne 0x40e81f
push 1
push dword [0x459600]
push edi
call esi
imul eax, dword [0x45c308], 0x64
mov ecx, dword [0x45c310]
push 0
sub ecx, eax
mov eax, dword [0x45cc54]
inc eax
add eax, ecx
mov dword [0x45cc4c], eax
jmp 0x40e82c
push 0
push 0
push 0xc6
push dword [ebp + 0x40]
call ebx
mov edi, dword [sym.imp.USER32.dll_GetMenu]
cmp eax, 1
jne 0x40e5aa
push 0
jmp 0x40e5ac
push 1
push dword [0x459600]
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableMenuItem]
push eax
call ebx
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x30]
push eax
push 0xb0
push dword [ebp + 0x40]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0x30]
cmp eax, dword [ebp + 0x34]
je 0x40e602
push 0
push dword [0x459600]
push esi
call edi
push eax
call ebx
push 0
push dword [0x459600]
push esi
call edi
push eax
call ebx
push 0
push dword [0x45c0fc]
jmp 0x40e626
push 1
push dword [0x45c0fc]
push esi
call edi
push eax
call ebx
push 1
push dword [0x45c0fc]
push esi
call edi
push eax
call ebx
push 1
push dword [0x45cc4c]
push esi
call edi
push eax
call ebx
push 1
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x40e65a
push 0
push dword [0x45cc4c]
push esi
call edi
push eax
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 1
push dword [0x45cc4c]
push esi
call edi
push eax
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
movzx eax, cx
add eax, 0xffffffd3
cmp eax, 0x37
ja case.0x40e692.52
movzx eax, byte [eax + 0x40eaac]
jmp dword [eax*4 + 0x40ea7c]
push 0
push 0
push 0xc7
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0
push 0
push 0x300
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0
push 0
push 0x301
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0
push 0
push 0x302
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0
push 0
push 0x303
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0xffffffffffffffff
push 0
push 0xb1
push dword [ebp + 0x40]
call ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
mov eax, dword [ebp + 0x40]
cmp eax, 2
je case.0x40e692.52
cmp eax, 6
jne 0x40e784
push 0x440474
push dword [ebp + 0x40]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push str.SHEditor.txt
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea eax, [ebp - 0x168]
push str..txt
push eax
call fcn.00429890
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
mov eax, dword [ebp + 0x40]
cmp eax, 2
je case.0x40e692.52
cmp eax, 6
jne case.0x40e692.52
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
shr ecx, 0x10
cmp ecx, 0x501
jne case.0x40e692.52
push 0
push 0x440474
push 0x440474
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret
push 0
push dword [0x459600]
push edi
call esi
push 1
push dword [0x45c0fc]
push edi
call esi
push 0
push 0xa
push dword [0x459600]
mov dword [0x45c30c], 0x202
push edi
call ebx
push 1
push dword [0x45c0fc]
push edi
call esi
push 0
push 0xa
push dword [0x45cb04]
push edi
call ebx
mov eax, dword [0x45cc4c]
push 0
lea eax, [eax*2 + 0x58]
sub eax, dword [0x459600]
add eax, dword [0x45c31c]
push eax
push edi
mov dword [0x45cc4c], eax
call esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItemInt]
push 0
push 0
push dword [0x459600]
push edi
call esi
push 0
push edi
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0
push 0
push dword [0x45cc4c]
push edi
call esi
mov eax, dword [0x45cc54]
mov ebx, dword [0x45cc5c]
mov edi, dword [0x45cc4c]
mov dword [ebp + 0x18], eax
mov eax, dword [0x45cb04]
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x34], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov dword [0x45c308], eax
call esi
call esi
push dword [ebp + 0x40]
mov dword [0x45cb04], 6
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov ecx, dword [ebp + 0x40]
push 0
push ecx
push dword [0x45c314]
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
push ebx
push dword [0x45cc4c]
mov dword [0x45c674], eax
push dword [0x45cb04]
push 0
push 0
push 0x5000000b
push 0x440474
push str.button
push 0
call esi
push 0
push dword [ebp + 0x40]
mov ebx, eax
push dword [0x45c314]
push dword [ebp + 0x30]
push dword [0x45c0fc]
push dword [0x459600]
push 0
push 0
push 0x5000000b
push 0x440474
push str.button
push 0
call esi
push 0
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
add eax, dword [ebp + 0x40]
mov edx, dword [0x45c30c]
mov esi, dword [0x45c308]
mov dword [0x45cc60], eax
mov eax, edx
sub eax, dword [0x45c314]
add dword [0x45cb04], eax
sub edx, dword [0x45c314]
mov eax, dword [ebp + 0x34]
add esi, edx
shr eax, 0x10
mov ecx, eax
mov dword [ebp + 0x40], eax
push 1
push dword [0x45cc58]
mov eax, esi
shr ecx, 1
cdq
sub eax, edx
movzx edi, di
sar eax, 1
sub ecx, eax
mov dword [0x45c308], esi
push esi
push ecx
lea eax, [esi + esi*2]
mov ecx, edi
cdq
sub eax, edx
shr ecx, 1
sar eax, 1
sub ecx, eax
push ecx
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
lea eax, [ebp + 0x20]
push eax
push dword [ebp + 0x30]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ebx, dword [ebp + 0x20]
mov eax, 0xcccccccd
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x24]
mul edi
mov edi, dword [ebp + 0x28]
mov eax, 0xcccccccd
shr edx, 4
add ebx, edx
sub edi, edx
mul dword [ebp + 0x40]
mov eax, dword [0x45c308]
shr edx, 4
add esi, edx
mov dword [ebp + 0x28], edi
sub ecx, edx
mov dword [ebp + 0x20], ebx
push 1
mov dword [ebp + 0x2c], ecx
sub edi, ebx
sub ecx, esi
mov dword [ebp + 0x24], esi
push ecx
push edi
push esi
push ebx
mov ebx, dword [ebp + 0x30]
push ebx
mov dword [0x45cc58], eax
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [ebp + 0x34]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x38]
pop ebp
ret