Function at 0x40ab81
Capabilities:
Delete file

Disassembly:
mov eax, 0x443175
call fcn.0041ad44
sub esp, 0x24c
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
mov esi, ecx
mov dword [eax], edi
cmp dword [0x45a10c], edi
je 0x40abb0
mov dword [0x45a10c], edi
jmp 0x40af4e
mov eax, dword [0x457bcc]
mov dword [ebp - 0x10], eax
mov ecx, 0x45a018
mov dword [ebp - 4], edi
call fcn.0040664f
push 0x114
call fcn.0043310d
pop ecx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
cmp ecx, edi
mov byte [ebp - 4], 1
je 0x40abe6
call fcn.00419039
mov ebx, eax
jmp 0x40abe8
xor ebx, ebx
and byte [ebp - 4], 0
push 0x4573a0
lea ecx, [ebx + 0xd4]
call fcn.00432cd9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.0042f531
push eax
push 0x67
mov ecx, ebx
call fcn.0042e894
mov ecx, esi
call fcn.0043266b
cmp dword [0x45a108], edi
je 0x40ac46
mov dword [ebp - 0x1c], edi
cmp dword [0x45a108], edi
jne 0x40ac71
push dword [esi + 0x60]
call fcn.0040524e
mov edi, eax
pop ecx
test edi, edi
jge 0x40ac71
mov ecx, esi
call fcn.00432680
test ebx, ebx
jmp 0x40ac5f
push dword [esi + 0x5c]
call fcn.0040524e
cmp eax, edi
pop ecx
mov dword [ebp - 0x1c], eax
jge 0x40ac24
mov ecx, esi
call fcn.00432680
cmp ebx, edi
je 0x40ac6a
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 4]
xor esi, esi
jmp 0x40ae53
cmp dword [ebp - 0x1c], 1
je 0x40ae66
cmp edi, 1
je 0x40ae66
mov eax, dword [0x457bcc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 3
call fcn.0040bc43
test eax, eax
jne 0x40acc9
mov ecx, esi
call fcn.00432680
test ebx, ebx
je 0x40acc2
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 4]
xor esi, esi
jmp 0x40ae3b
xor edi, edi
cmp dword [ebp - 0x20], edi
jne 0x40acdc
lea eax, [esi + 0x5c]
lea ecx, [ebp - 0x18]
push eax
call fcn.00432c89
cmp dword [ebp - 0x24], edi
jne 0x40aced
lea eax, [esi + 0x60]
lea ecx, [ebp - 0x14]
push eax
call fcn.00432c89
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
push eax
push ecx
call fcn.0041b0f0
pop ecx
test eax, eax
pop ecx
jne 0x40ad4f
mov ecx, esi
call fcn.00432680
push dword [esi + 0x68]
lea eax, [ebp - 0x10]
push dword [esi + 0x64]
push str.The_files__s_and__s_are_identical._Press_Cancel_to_quit
push eax
call fcn.0042c3c4
add esp, 0x10
call fcn.0043ec13
mov eax, dword [eax + 0x10]
push 0x31
push eax
push dword [ebp - 0x10]
call fcn.004092bf
mov ecx, eax
call fcn.00430c15
cmp eax, 2
jne 0x40ae0c
mov eax, dword [ebp + 8]
mov dword [eax], 1
jmp 0x40ae0c
lea eax, [esi + 0x478]
push edi
push eax
push dword [0x45a108]
push edi
push 1
push dword [0x45a104]
push dword [0x45a100]
push dword [0x45a0fc]
push dword [0x45a0f4]
push dword [0x45a0f8]
push dword [ebp - 0x14]
push edi
push dword [ebp - 0x18]
push edi
call fcn.00402d6e
add esp, 0x38
test eax, eax
jge 0x40ada0
mov ecx, esi
call fcn.00432680
cmp ebx, edi
jmp 0x40acb7
cmp dword [ebp - 0x20], edi
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
je 0x40adb0
push dword [ebp - 0x18]
call edi
cmp dword [ebp - 0x24], 0
je 0x40adbb
push dword [ebp - 0x14]
call edi
cmp dword [esi + 0x480], 0
jne 0x40ae0a
mov ecx, esi
call fcn.00432680
push dword [esi + 0x68]
lea eax, [ebp - 0x10]
push dword [esi + 0x64]
push str.The_files__s_and__s_are_identical._Press_Cancel_to_quit
push eax
call fcn.0042c3c4
add esp, 0x10
call fcn.0043ec13
mov eax, dword [eax + 0x10]
push 0x31
push eax
push dword [ebp - 0x10]
call fcn.004092bf
mov ecx, eax
call fcn.00430c15
cmp eax, 2
jne 0x40ae0a
mov eax, dword [ebp + 8]
mov dword [eax], 1
xor edi, edi
mov ecx, esi
call fcn.00432680
mov ecx, esi
call fcn.0040806b
mov ecx, esi
call fcn.0040a07d
push ebx
mov ecx, esi
call fcn.0040c702
cmp dword [0x45a124], edi
je 0x40ae38
mov ecx, esi
call fcn.0040da71
push 1
pop esi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00432b9c
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00432b9c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00432b9c
mov eax, esi
jmp 0x40af50
mov eax, dword [esi + 0x5c]
lea ecx, [ebp - 0x140]
push ecx
push eax
call fcn.00433e2a
mov eax, dword [esi + 0x60]
lea ecx, [ebp - 0x258]
push ecx
push eax
call fcn.00433e2a
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x24c]
jne 0x40aeb0
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
push edx
push eax
push ecx
call fcn.00405335
add esp, 0xc
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
je 0x40aee2
cmp dword [ebp - 0x1c], 1
jne 0x40aec3
cmp edi, 1
je 0x40aed5
push dword [esi + 0x68]
push dword [esi + 0x64]
jmp 0x40aece
cmp edi, 1
jne 0x40aed5
push dword [esi + 0x64]
push dword [esi + 0x68]
push str.File__s_is_binary__and_is_different_from_the_file__s
jmp 0x40aeed
push dword [esi + 0x68]
push dword [esi + 0x64]
push str.Binary_files__s_and__s_are_different
jmp 0x40aeed
push dword [esi + 0x68]
push dword [esi + 0x64]
push str.Binary_files__s_and__s_are_identical
lea eax, [ebp - 0x10]
push eax
call fcn.0042c3c4
add esp, 0x10
mov ecx, esi
call fcn.00432680
push str.._Press_Cancel_to_quit
lea ecx, [ebp - 0x10]
call fcn.00432f2c
call fcn.0043ec13
mov eax, dword [eax + 0x10]
push 0x31
push eax
push dword [ebp - 0x10]
call fcn.004092bf
mov ecx, eax
call fcn.00430c15
cmp eax, 2
jne 0x40af35
mov eax, dword [ebp + 8]
mov dword [eax], 1
test ebx, ebx
je 0x40af42
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 4]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00432b9c
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4