Function at 0x1001b020
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d8fe3
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x10131c40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x874]
mov dword [ebp - 0x878], eax
test ebx, ebx
jne 0x1001b06d
xor eax, eax
mov dword [ebp - 0x878], eax
jmp 0x1001b0b7
mov esi, ebx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1001b072
sub esi, ecx
lea eax, [ebp - 0x874]
sar esi, 1
push ecx
inc esi
lea ecx, [ebp - 0x878]
push eax
mov edx, esi
call fcn.1000b4c0
lea eax, [esi + esi]
push eax
push ebx
push eax
push dword [ebp - 0x878]
call fcn.100b5ef4
push eax
call fcn.1000baa0
mov eax, dword [ebp - 0x878]
add esp, 0x1c
push 0
push 0x40000080
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 0x878]
mov esi, eax
lea eax, [ebp - 0x874]
cmp ecx, eax
je 0x1001b0eb
push ecx
call fcn.100b5f73
add esp, 4
cmp esi, 0xffffffff
jne 0x1001b0f7
xor eax, eax
jmp 0x1001b98d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
lea ecx, [ebp - 0x878]
call fcn.1000a6d0
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x878]
lea ecx, [ebp - 0x874]
cmp eax, ecx
je 0x1001b12b
push eax
call fcn.100b5f73
add esp, 4
push 0xc0
call fcn.100b5b5f
mov esi, eax
add esp, 4
mov dword [ebp - 0x87c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x1001b16c
push ecx
lea ecx, [esi + 8]
mov dword [esi], vtable.OutputStream.0
call fcn.1003b3e0
mov dword [esi + 0xb0], 0
mov dword [esi], vtable.FileOutputStream.0
jmp 0x1001b16e
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x28], esi
test esi, esi
je 0x1001b0f0
push ebx
lea ecx, [ebp - 0x668]
call fcn.1000a510
sub esp, 0x18
mov dword [ebp - 4], 1
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x668]
push eax
call fcn.1000ac10
mov ecx, dword [edi + 0x28]
call fcn.1003cd80
test eax, eax
je 0x1001b1e2
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1001b1d4
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [edi + 0x28], 0
xor esi, esi
jmp 0x1001b974
push 0x1010e7a0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.ColorProfile
mov esi, eax
push 0x66
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x67
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x1010e7d8
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.100b67c1
push 0x1010e7dc
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.100b67c1
lea edx, [ebx + 0xc10]
add esp, 0x18
mov ecx, edx
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b250
sub ecx, esi
sar ecx, 1
jne 0x1001b27e
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.100b669b
add esp, 0xc
jmp 0x1001b2b9
push edx
lea ecx, [ebp - 0x878]
call fcn.1000a6d0
push dword [eax]
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.100b669b
mov eax, dword [ebp - 0x878]
lea ecx, [ebp - 0x874]
add esp, 0xc
cmp eax, ecx
je 0x1001b2b9
push eax
call fcn.100b5f73
add esp, 4
lea edx, [ebx + 0xe18]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b2c4
sub ecx, esi
sar ecx, 1
jne 0x1001b2f2
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.100b669b
add esp, 0xc
jmp 0x1001b32d
push edx
lea ecx, [ebp - 0x878]
call fcn.1000a6d0
push dword [eax]
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.100b669b
mov eax, dword [ebp - 0x878]
lea ecx, [ebp - 0x874]
add esp, 0xc
cmp eax, ecx
je 0x1001b32d
push eax
call fcn.100b5f73
add esp, 4
lea ecx, [ebp - 0x774]
call fcn.10088310
lea eax, [ebx + 0x800]
mov byte [ebp - 4], 2
test eax, eax
je 0x1001b387
mov ecx, eax
lea edx, [ecx + 2]
jmp 0x1001b350
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b350
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b36e
xor eax, eax
jmp 0x1001b387
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0x800]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 3
cmp ecx, eax
je 0x1001b3ab
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b3c6
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
lea eax, [ebx + 0xa08]
test eax, eax
je 0x1001b40c
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b3d5
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b3f3
xor eax, eax
jmp 0x1001b40c
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0xa08]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x718]
mov byte [ebp - 4], 4
cmp ecx, eax
je 0x1001b430
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b44b
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
lea ecx, [ebp - 0x628]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b454
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b472
xor eax, eax
jmp 0x1001b48b
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebp - 0x628]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x748]
mov byte [ebp - 4], 5
cmp ecx, eax
je 0x1001b4af
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b4ca
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b4d3
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b4f1
xor eax, eax
jmp 0x1001b50a
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebp - 0x420]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x680]
mov byte [ebp - 4], 6
cmp ecx, eax
je 0x1001b52e
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b549
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
lea eax, [ebx + 0x1228]
test eax, eax
je 0x1001b597
mov ecx, eax
lea edx, [ecx + 2]
jmp 0x1001b560
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b560
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b57e
xor eax, eax
jmp 0x1001b597
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0x1228]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x6e8]
mov byte [ebp - 4], 7
cmp ecx, eax
je 0x1001b5bb
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b5d6
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
lea eax, [ebx + 0x1020]
test eax, eax
je 0x1001b61c
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b5e5
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b603
xor eax, eax
jmp 0x1001b61c
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0x1020]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [ebp - 0x700]
mov byte [ebp - 4], 8
cmp ecx, eax
je 0x1001b640
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
mov byte [ebp - 4], 2
cmp dword [ebp - 0x62c], 0x10
jb 0x1001b65b
push dword [ebp - 0x640]
call fcn.1003a540
add esp, 4
push dword [ebx + 0x1430]
lea ecx, [ebp - 0x650]
call fcn.1000cb00
push eax
lea ecx, [ebp - 0x774]
call fcn.10088720
push dword [ebx + 0x1438]
lea ecx, [ebp - 0x650]
call fcn.1000cb00
push 0x174
movdqu xmm0, xmmword [eax + 4]
movdqu xmmword [ebp - 0x6a4], xmm0
movdqu xmm0, xmmword [eax + 0x14]
movdqu xmmword [ebp - 0x694], xmm0
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x684], eax
call fcn.100b5b5f
add esp, 4
mov dword [ebp - 0x87c], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1001b6d7
lea ecx, [ebp - 0x774]
push ecx
mov ecx, eax
call fcn.10079d60
jmp 0x1001b6d9
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x24], eax
test eax, eax
jne 0x1001b6eb
xor esi, esi
jmp 0x1001b969
mov eax, dword [ebx + 0x1440]
mov dword [edi + 0x4a0], eax
test eax, eax
js 0x1001b700
cmp eax, 0x64
jle 0x1001b70a
mov dword [edi + 0x4a0], 0
mov eax, dword [ebx + 0x1444]
mov ecx, edi
mov dword [edi + 0x4a4], eax
push dword [ebx + 0x1448]
call fcn.1000eca0
push dword [ebx + 0x144c]
call fcn.1000ed00
mov eax, dword [ebx + 0x1450]
mov dword [edi + 0x4b0], eax
mov eax, dword [ebx + 0x1454]
mov dword [edi + 0x4b4], eax
mov eax, dword [ebx + 0x1458]
mov dword [edi + 0x4b8], eax
lea eax, [ebx + 0x145c]
test eax, eax
je 0x1001b798
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b761
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b77f
xor eax, eax
jmp 0x1001b798
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0x145c]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
lea ecx, [edi + 0x4bc]
mov byte [ebp - 4], 0xa
cmp ecx, eax
je 0x1001b7bc
push 0xffffffffffffffff
push 0
push eax
call fcn.10008240
lea ecx, [ebp - 0x640]
mov byte [ebp - 4], 2
call fcn.10008170
lea eax, [ebx + 0x1664]
test eax, eax
je 0x1001b817
mov ecx, eax
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001b7e0
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x1001b7fe
xor eax, eax
jmp 0x1001b817
add esi, esi
mov eax, esi
call fcn.100cd5d0
mov ecx, esp
lea edx, [ebx + 0x1664]
push 3
push esi
call fcn.10039a70
push eax
lea ecx, [ebp - 0x640]
call fcn.10008110
mov ecx, eax
lea eax, [edi + 0x4d4]
mov byte [ebp - 4], 0xb
cmp eax, ecx
je 0x1001b83f
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10008240
lea ecx, [ebp - 0x640]
mov byte [ebp - 4], 2
call fcn.10008170
mov eax, dword [ebx + 0x186c]
mov dword [edi + 0x4ec], eax
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x94]
mov dword [eax + 0x8c], 0x1013cd84
mov eax, 0x1013cd84
cmp eax, 0x1013cd54
setne al
mov byte [ecx + 4], al
mov eax, dword [edi + 0x24]
mov dword [eax + 0x90], 0x1013cef4
push dword [edi + 0x28]
mov ecx, dword [edi + 0x24]
call fcn.1007b8c0
mov eax, dword [edi + 0x24]
cmp dword [eax + 0x8c], 0x1013cd54
je 0x1001b8b6
push eax
mov ecx, edi
call fcn.1002d0a0
push dword [edi + 0x24]
mov ecx, edi
call fcn.1002d330
cmp dword [edi + 0x4cc], 0
jne 0x1001b8cc
cmp dword [edi + 0x4e4], 0
je 0x1001b951
push 0x34
call fcn.100b5b5f
mov esi, eax
add esp, 4
mov dword [ebp - 0x87c], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x1001b927
push dword [edi + 0x4ec]
lea eax, [edi + 0x4d4]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x880], esp
push eax
call fcn.1002da00
sub esp, 0x18
mov byte [ebp - 4], 0xd
lea eax, [edi + 0x4bc]
mov ecx, esp
push eax
call fcn.1002da00
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.100818a0
mov esi, eax
jmp 0x1001b929
xor esi, esi
mov byte [ebp - 4], 2
mov eax, dword [edi + 0x24]
mov dword [edi + 0x454], esi
mov dword [ebp - 0x87c], eax
test esi, esi
je 0x1001b951
call fcn.10081840
mov ecx, dword [ebp - 0x87c]
push esi
call fcn.1007b170
mov ecx, dword [edi + 0x24]
push ebx
call fcn.1007c370
mov dword [edi + 0x108], 0
mov esi, 1
lea ecx, [ebp - 0x774]
call fcn.100884d0
cmp dword [ebp - 0x654], 8
jb 0x1001b98b
push dword [ebp - 0x668]
call fcn.1003a540
add esp, 4
mov eax, esi
lea esp, [ebp - 0x894]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b54bf
mov esp, ebp
pop ebp
ret 4