Function at 0x450260
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x52f]
push ebx
lea ebx, [ebp - 0x220]
sub esp, 0x55c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x540], 0
mov dword [esp + 4], ebx
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x534], 0
mov dword [esp + 8], 0x104
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
sub esp, 0xc
mov dword [esp + 0xc], ebx
lea ebx, [ebp - 0x327]
mov dword [esp + 8], 0x5a7116
mov dword [esp + 4], 0x104
mov dword [esp], esi
call fcn.004bf220
mov eax, dword [ebp + 8]
mov dword [esp + 8], str._dp_ls
mov dword [esp + 4], 0x107
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.004bf220
cmp eax, 0x100
jg 0x4506a0
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x42b]
mov dword [esp + 8], 0x5a7116
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x104
call fcn.004bf220
mov dword [esp], 0x40020
mov dword [ebp - 0x53c], ebx
mov dword [ebp - 0x538], edi
mov dword [ebp - 0x540], esi
call fcn.0056dda0
mov dword [esp + 8], 0x40020
mov dword [esp + 4], 0
mov edi, eax
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [edi], 0x5f729c
mov dword [esp], 0x4008c
call fcn.0056dda0
mov dword [esp], 3
mov ebx, eax
lea eax, [ebp - 0x540]
mov dword [esp + 4], eax
mov ecx, ebx
call fcn.0044d0e0
mov eax, dword [ebx + 0x40068]
sub esp, 8
test eax, eax
jne 0x450580
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], 0
mov eax, dword [ebx + 0x4004c]
lea esi, [ebx + 0x40044]
mov dword [ebx + 0x40044], 0x5f7354
test eax, eax
jns 0x4506f0
cmp byte [ebx + 0x40048], 0
jne 0x4507d0
mov eax, dword [ebx + 0x40050]
cmp eax, dword [ebx + 0x40054]
je 0x450400
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x4005c]
lea esi, [ebx + 0x40028]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40054]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40030]
mov dword [ebx + 0x40028], 0x5f7330
test eax, eax
jns 0x4509a0
cmp byte [ebx + 0x4002c], 0
jne 0x450780
mov dword [ebx + 0x40028], 0x5f7354
mov eax, dword [ebx + 0x40030]
test eax, eax
jns 0x4509d8
cmp byte [ebx + 0x4002c], 0
je 0x45047f
mov eax, dword [ebx + 0x40034]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wremove]
mov dword [esp], esi
call fcn.0042f270
mov eax, dword [ebx + 0x40034]
cmp eax, dword [ebx + 0x40038]
je 0x450495
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40040]
lea esi, [ebx + 0x4000c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40038]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40014]
mov dword [ebx + 0x4000c], 0x5f7330
test eax, eax
jns 0x450880
cmp byte [ebx + 0x40010], 0
je 0x4504f2
mov eax, dword [ebx + 0x4000c]
mov ecx, esi
call dword [eax + 0x14]
mov dword [esp], esi
call fcn.0042f270
mov byte [ebx + 0x40010], 0
mov dword [ebx + 0x4000c], 0x5f7354
mov eax, dword [ebx + 0x40014]
test eax, eax
jns 0x450910
cmp byte [ebx + 0x40010], 0
je 0x45052a
mov eax, dword [ebx + 0x40018]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wremove]
mov dword [esp], esi
call fcn.0042f270
mov eax, dword [ebx + 0x40018]
cmp eax, dword [ebx + 0x4001c]
je 0x450540
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x40024]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0x4001c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 4], 0x4008c
mov dword [esp], ebx
call fcn.0056dd60
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x4506dc
mov dword [esp], 0x400e0
call fcn.0056dda0
mov dword [esp + 4], edi
mov esi, eax
mov eax, dword [ebp + 0x14]
mov dword [esp], ebx
mov ecx, esi
mov dword [esp + 0xc], eax
movzx eax, byte [ebp - 0x550]
mov dword [esp + 8], eax
call fcn.0044f4e0
mov eax, dword [esi + 0x400c0]
mov edx, dword [esi + 0x400c4]
sub esp, 0x10
mov dword [esi + 0x94], 0x5f7354
mov dword [ebp - 0x550], eax
lea eax, [esi + 0x94]
mov dword [ebp - 0x554], eax
mov eax, dword [esi + 0x9c]
mov dword [ebp - 0x54c], edx
test eax, eax
jns 0x4507f0
cmp byte [esi + 0x98], 0
je 0x450613
mov eax, dword [esi + 0xa0]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wremove]
lea eax, [esi + 0x94]
mov dword [esp], eax
call fcn.0042f270
mov eax, dword [esi + 0xa0]
cmp eax, dword [esi + 0xa4]
je 0x450629
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esi + 0xac]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esi + 0xa4]
mov dword [esp], eax
call sub.msvcrt.dll_free
lea ecx, [esi + 0x78]
call fcn.004c7590
cmp byte [esi + 0x48], 0
je 0x450662
mov eax, dword [esi + 0x44]
test eax, eax
je 0x450662
mov dword [esp], eax
call fcn.0056dd30
cmp byte [esi + 0x38], 0
je 0x450677
mov eax, dword [esi + 0x34]
test eax, eax
je 0x450677
mov dword [esp], eax
call fcn.0056dd30
lea ecx, [esi + 0x14]
call fcn.004c7590
mov eax, dword [esi + 8]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp + 4], 0x400e0
mov dword [esp], esi
call fcn.0056dd60
jmp 0x4503bf
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0x5a7122
mov dword [esp + 4], str.UnarcMain:_snprintf_nInvalid_path.
mov dword [esp], 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x54c], 0
sub esp, 0x10
mov eax, dword [ebp - 0x550]
mov edx, dword [ebp - 0x54c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x4507a0
mov edi, dword [0x677e60]
test edi, edi
jne 0x4509be
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450ba1
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x450ba1
mov eax, dword [ebx + 0x40054]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], esi
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
mov eax, dword [ebx + 0x40028]
mov ecx, esi
call dword [eax + 0x14]
mov dword [esp], esi
call fcn.0042f270
mov byte [ebx + 0x4002c], 0
jmp 0x450447
cmp byte [ebx + 0x40048], 0
mov dword [ebx + 0x4004c], 0xffffffff
je 0x4503ea
mov eax, dword [ebx + 0x40044]
mov eax, dword [eax + 0x14]
cmp eax, 0x4c73c0
jne 0x450b98
lea esi, [esi]
nop
mov eax, dword [ebx + 0x40050]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wremove]
mov dword [esp], esi
call fcn.0042f270
jmp 0x4503ea
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x450aa8
mov eax, dword [0x677e60]
test eax, eax
jne 0x4509be
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450d9a
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov ebx, eax
test eax, eax
je 0x450d9a
mov eax, dword [esi + 0xa4]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
nop
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x450ae0
mov edx, dword [0x677e60]
test edx, edx
jne 0x4509be
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450c6b
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x450c6b
mov eax, dword [ebx + 0x4001c]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], esi
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x450b60
mov eax, dword [0x677e60]
test eax, eax
jne 0x4509be
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450c06
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x450c06
mov eax, dword [ebx + 0x4001c]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], esi
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
lea esi, [esi]
nop
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x450a60
mov esi, dword [0x677e60]
test esi, esi
je 0x450af0
mov dword [esp + 4], 1
mov dword [esp], 0x677e20
call dword [sym.imp.msvcrt.dll_longjmp]
lea esi, [esi]
nop
mov dword [esp], eax
call sub.msvcrt.dll__close
test eax, eax
je 0x450a70
mov ecx, dword [0x677e60]
test ecx, ecx
jne 0x4509be
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450cd0
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x450cd0
mov eax, dword [ebx + 0x40038]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], esi
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
mov dword [ebx + 0x40030], 0xffffffff
jmp 0x45043a
cmp byte [ebx + 0x4002c], 0
mov dword [ebx + 0x40030], 0xffffffff
je 0x45047f
mov eax, dword [ebx + 0x40028]
mov eax, dword [eax + 0x14]
cmp eax, 0x4c73c0
je 0x450468
mov ecx, esi
call eax
jmp 0x450477
cmp byte [esi + 0x98], 0
mov dword [esi + 0x9c], 0xffffffff
je 0x450613
mov eax, dword [esi + 0x94]
mov eax, dword [eax + 0x14]
cmp eax, 0x4c73c0
je 0x4505f6
lea ecx, [esi + 0x94]
call eax
jmp 0x450605
mov dword [ebx + 0x40014], 0xffffffff
jmp 0x4504cf
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov edi, eax
test eax, eax
je 0x450d35
mov dword [esp], 0x40000
call sub.msvcrt.dll_malloc
mov esi, eax
test eax, eax
je 0x450d35
mov eax, dword [ebx + 0x40038]
mov dword [esp + 4], str.ERROR:_cant_close_file__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004bf1f0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042e7f0
mov dword [esp + 4], esi
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
nop
cmp byte [ebx + 0x40010], 0
mov dword [ebx + 0x40014], 0xffffffff
je 0x45052a
mov eax, dword [ebx + 0x4000c]
mov eax, dword [eax + 0x14]
cmp eax, 0x4c73c0
je 0x450513
mov ecx, esi
call eax
jmp 0x450522
mov ecx, esi
call eax
jmp 0x4507df
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0042e7f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5a6d2c
call fcn.004bf160
mov dword [esp], 2
call sub.msvcrt.dll_exit
cmp dword [0x677e60], 0
jne 0x4509be
mov eax, 0x40000
call fcn.0044b100
mov esi, eax
mov eax, 0x40000
call fcn.0044b100
mov dword [esp + 8], 0x40000
mov dword [esp + 4], str.ERROR:_cant_alloc__lu_memory_bytes
mov ebx, eax
mov dword [esp], esi
call fcn.004bf1f0
mov dword [esp + 4], ebx
mov dword [esp], esi
jmp 0x45085a