Function at 0x10028eb0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004e075
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x1005d500]
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
xor edi, edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 4], edi
mov eax, dword [0x100a20e8]
mov esi, dword [eax]
xor ebx, ebx
cmp esi, eax
je 0x10029019
push 0xffffffffffffffff
lea eax, [esi + 0xc]
push 0
mov edi, 0xf
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.10002da0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x10028f39
lea eax, [ebp - 0x2c]
push 0
push eax
call fcn.100370ab
add esp, 8
cmp eax, 0xffffffff
jne 0x10028f52
mov dword [esi + 0x28], 0
jmp 0x10028fb0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2c]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10002da0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, ebx
call fcn.100295a0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x38], 0
je 0x10028f9e
lea ecx, [ebp - 0x48]
lea edi, [ebp - 0x90]
mov dword [esi + 0x28], 1
call fcn.1000b020
cmp dword [ebp - 0x34], 0x10
jb 0x10028fb0
mov edx, dword [ebp - 0x48]
push edx
call fcn.10032f50
add esp, 4
inc ebx
mov byte [ebp - 4], 0
cmp dword [ebp - 0x18], 0x10
jb 0x10028fc7
mov eax, dword [ebp - 0x2c]
push eax
call fcn.10032f50
add esp, 4
cmp byte [esi + 0x2d], 0
jne 0x10029007
mov eax, dword [esi + 8]
cmp byte [eax + 0x2d], 0
jne 0x10028fec
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], 0
jne 0x10029007
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], 0
je 0x10028fe0
jmp 0x10029007
mov eax, dword [esi + 4]
cmp byte [eax + 0x2d], 0
jne 0x10029005
cmp esi, dword [eax + 8]
jne 0x10029005
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x2d], 0
je 0x10028ff5
mov esi, eax
cmp esi, dword [0x100a20e8]
jne 0x10028f06
mov edi, dword [ebp - 0x90]
xor ebx, ebx
push 0x30
mov dword [ebp - 0x74], ebx
call fcn.10032f20
add esp, 4
cmp eax, ebx
je 0x10029570
mov dword [ebp - 0x78], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x78]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 0x2c], 1
mov edx, dword [ebp - 0x78]
mov byte [edx + 0x2d], 1
mov byte [ebp - 4], 3
mov dword [ebp - 0x80], edi
cmp edi, dword [ebp - 0x8c]
je 0x100291f3
mov eax, dword [ebp - 0x80]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.10002da0
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 4
call fcn.1002bed0
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0x78]
je 0x1002915b
mov edi, dword [eax + 0x1c]
add eax, 0xc
mov ecx, 0x10
cmp dword [eax + 0x14], ecx
jb 0x100290b0
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
cmp edx, edi
jb 0x100290b9
mov edx, edi
mov esi, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ecx
jae 0x100290c4
lea esi, [ebp - 0x2c]
mov ecx, eax
cmp edx, 4
jb 0x100290e4
jmp 0x100290d0
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x100290e8
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x100290d0
cmp edx, ebx
je 0x1002912f
movzx ebx, byte [ecx]
movzx eax, byte [esi]
sub eax, ebx
jne 0x10029123
cmp edx, 1
jbe 0x1002912d
movzx eax, byte [esi + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x10029123
cmp edx, 2
jbe 0x1002912d
movzx eax, byte [esi + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x10029123
cmp edx, 3
jbe 0x1002912d
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
xor ebx, ebx
jmp 0x10029131
xor ebx, ebx
xor eax, eax
cmp eax, ebx
jne 0x1002914c
mov eax, dword [ebp - 0x1c]
cmp eax, edi
jae 0x10029141
or eax, 0xffffffff
jmp 0x1002914a
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
cmp eax, ebx
setl al
test al, al
jne 0x1002915b
lea eax, [ebp - 0x98]
jmp 0x1002916a
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x94]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x78]
je 0x10029176
inc dword [eax + 0x28]
jmp 0x100291c8
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], 0
call fcn.10002da0
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x4c]
lea edx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.1002c740
push eax
lea edx, [ebp - 0xac]
push edx
lea eax, [ebp - 0x7c]
push eax
call fcn.1002c540
cmp dword [ebp - 0x38], 0x10
jb 0x100291c8
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.10032f50
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x18], 0x10
jb 0x100291de
mov edx, dword [ebp - 0x2c]
push edx
call fcn.10032f50
add esp, 4
mov eax, dword [ebp - 0x80]
add eax, 0x1c
mov dword [ebp - 0x80], eax
cmp eax, dword [ebp - 0x8c]
jne 0x10029062
push ebx
push 0x100534f8
lea ecx, [ebp - 0x68]
xor esi, esi
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], 0
call fcn.100028b0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x78]
mov edi, dword [ecx]
cmp edi, ecx
je 0x1002927e
mov edi, edi
cmp dword [edi + 0x28], esi
jle 0x1002923a
push 0xffffffffffffffff
lea eax, [edi + 0xc]
push ebx
push eax
lea ecx, [ebp - 0x68]
call fcn.10002da0
mov esi, dword [edi + 0x28]
mov ecx, dword [ebp - 0x78]
cmp byte [edi + 0x2d], 0
jne 0x1002927a
mov eax, dword [edi + 8]
cmp byte [eax + 0x2d], 0
jne 0x1002925f
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x2d], 0
jne 0x1002927a
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0x2d], 0
je 0x10029253
jmp 0x1002927a
mov eax, dword [edi + 4]
cmp byte [eax + 0x2d], 0
jne 0x10029278
cmp edi, dword [eax + 8]
jne 0x10029278
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x2d], 0
je 0x10029268
mov edi, eax
cmp edi, ecx
jne 0x10029220
mov eax, dword [ebp - 0x74]
mov edi, vtable.SysService.0
cmp eax, 1
jne 0x100292a7
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x68]
push eax
mov ecx, 0x100a2084
call fcn.10002da0
mov dword [0x100a20e0], ebx
jmp 0x1002936c
cmp eax, ebx
jne 0x10029351
mov dword [ebp - 0x6c], edi
lea ebx, [ebp - 0x48]
mov byte [ebp - 4], 7
call fcn.100300c0
mov esi, eax
cmp esi, 0x100a2084
je 0x10029335
cmp dword [0x100a2098], 0x10
jb 0x100292df
mov eax, dword [0x100a2084]
push eax
call fcn.10032f50
add esp, 4
xor ebx, ebx
mov dword [0x100a2098], 0xf
mov dword [0x100a2094], ebx
mov byte [0x100a2084], bl
cmp dword [esi + 0x14], 0x10
jae 0x10029312
mov eax, dword [esi + 0x10]
inc eax
push eax
push esi
push 0x100a2084
call fcn.100350b0
add esp, 0xc
jmp 0x1002931c
mov ecx, dword [esi]
mov dword [0x100a2084], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [0x100a2094], edx
mov eax, dword [esi + 0x14]
mov dword [0x100a2098], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
jmp 0x10029337
xor ebx, ebx
cmp dword [ebp - 0x34], 0x10
jb 0x10029349
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.10032f50
add esp, 4
mov dword [0x100a20e0], ebx
jmp 0x1002936c
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x68]
push edx
mov ecx, 0x100a2084
call fcn.10002da0
mov dword [0x100a20e0], 1
cmp dword [0x100a2094], 0
jne 0x100294c2
mov dword [ebp - 0x6c], edi
lea ebx, [ebp - 0x48]
mov byte [ebp - 4], 9
call fcn.100300c0
mov esi, eax
cmp esi, 0x100a2084
je 0x10029402
mov edi, 0x10
cmp dword [0x100a2098], edi
jb 0x100293ad
mov eax, dword [0x100a2084]
push eax
call fcn.10032f50
add esp, 4
xor ebx, ebx
mov dword [0x100a2098], 0xf
mov dword [0x100a2094], ebx
mov byte [0x100a2084], bl
cmp dword [esi + 0x14], edi
jae 0x100293df
mov eax, dword [esi + 0x10]
inc eax
push eax
push esi
push 0x100a2084
call fcn.100350b0
add esp, 0xc
jmp 0x100293e8
mov eax, dword [esi]
mov dword [0x100a2084], eax
mov dword [esi], ebx
mov ecx, dword [esi + 0x10]
mov dword [0x100a2094], ecx
mov edx, dword [esi + 0x14]
mov dword [0x100a2098], edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
jmp 0x10029404
xor ebx, ebx
mov edi, 0x10
mov byte [ebp - 4], 9
cmp dword [ebp - 0x34], edi
jb 0x1002941e
mov eax, dword [ebp - 0x48]
push eax
call fcn.10032f50
add esp, 4
mov eax, dword [0x100a20e8]
mov dword [0x100a20e0], ebx
mov esi, dword [eax]
cmp esi, eax
je 0x100294c7
xor ebx, ebx
push 0xffffffffffffffff
lea eax, [esi + 0xc]
push ebx
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.10002da0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x1002945c
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x18], edi
jb 0x10029474
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.10032f50
add esp, 4
cmp byte [esi + 0x2d], bl
jne 0x100294b4
mov eax, dword [esi + 8]
cmp byte [eax + 0x2d], bl
jne 0x1002949b
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], bl
jne 0x100294b4
lea ebx, [ebx]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x2d], bl
je 0x10029490
jmp 0x100294b4
mov eax, dword [esi + 4]
cmp byte [eax + 0x2d], bl
jne 0x100294b2
cmp esi, dword [eax + 8]
jne 0x100294b2
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x2d], bl
je 0x100294a3
mov esi, eax
cmp esi, dword [0x100a20e8]
jne 0x10029433
jmp 0x100294c7
mov edi, 0x10
cmp dword [ebp - 0x54], edi
jb 0x100294d8
mov edx, dword [ebp - 0x68]
push edx
call fcn.10032f50
add esp, 4
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x6c]
lea esi, [ebp - 0x7c]
call fcn.10029d40
mov eax, dword [ebp - 0x78]
push eax
call fcn.10032f50
mov ebx, dword [ebp - 0x90]
add esp, 4
test ebx, ebx
je 0x10029554
mov edi, dword [ebp - 0x8c]
mov esi, ebx
cmp ebx, edi
je 0x1002954b
cmp dword [esi + 0x14], 0x10
jb 0x10029533
mov ecx, dword [esi]
push ecx
call fcn.10032f50
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x1c
cmp esi, edi
jne 0x10029522
push ebx
call fcn.10032f50
add esp, 4
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.10034eea
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x6c], ebx
call fcn.10034f6f
push 0x10057568
lea eax, [ebp - 0xa4]
push eax
mov dword [ebp - 0xa4], vtable.std::bad_alloc.0
call fcn.10037977
int3