Function at 0x1000890a
Capabilities:
Delete file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov dword [ebp - 0x54], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xac], 0
push 0x23
push 0
lea eax, [ebp - 0x84]
push eax
call fcn.1000f350
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
call fcn.1000ef40
add esp, 4
test eax, eax
jne 0x10008976
mov eax, 0x3ea
jmp 0x10009174
mov edx, dword [ebp + 0x14]
push edx
call fcn.1000ef40
add esp, 4
test eax, eax
jne 0x10008990
mov eax, 0x3ea
jmp 0x10009174
cmp dword [ebp + 0xc], 0
jl 0x1000899f
cmp dword [ebp + 0xc], 0x270f
jle 0x100089a9
mov eax, 0x3ea
jmp 0x10009174
cmp dword [ebp + 0x10], 0
jl 0x100089b8
cmp dword [ebp + 0x10], 0x270f
jle 0x100089c2
mov eax, 0x3ea
jmp 0x10009174
cmp dword [ebp + 0x18], 0
jge 0x100089d2
mov eax, 0x3ea
jmp 0x10009174
cmp dword [ebp + 0x1c], 0
jge 0x100089e2
mov eax, 0x3ea
jmp 0x10009174
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x8c], 1
push 0
push 0
push 0
push 0x1001c808
call dword [sym.imp.GDI32.dll_CreateDCA]
mov dword [ebp - 0x5c], eax
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x25], 1
mov byte [ebp - 0x24], 7
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x21], 0x50
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x26], 0
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x2c], 0x2bc
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.1000f2f5
add esp, 8
lea ecx, [ebp - 0x3c]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0x50]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.1000ef40
add esp, 4
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x94]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x60], 0x270f
jle 0x10008b43
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, 0x3ea
jmp 0x10009174
mov eax, dword [ebp - 0x60]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 5
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xb4], eax
push 0xf00021
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x98], eax
lea edx, [ebp - 0x3c]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x88], 0xff0000
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1000ef40
add esp, 4
push eax
mov edx, dword [ebp + 8]
push edx
push 0
push 0
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.10001458
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
push 0
push 1
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.10001716
add esp, 0x10
mov dword [ebp - 0x40], eax
push 0x1001c810
mov edx, dword [ebp - 0x40]
push edx
call fcn.1000154a
add esp, 8
test eax, eax
jne 0x10008cc6
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, 0x3ed
jmp 0x10009174
mov eax, dword [ebp - 0x60]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
shl eax, 3
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], edx
push 0x23
push 0
lea eax, [ebp - 0x84]
push eax
call fcn.1000f350
add esp, 0xc
mov eax, dword [ebp - 0xac]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov ecx, dword [ebp - 0xac]
and ecx, 0x800000ff
jns 0x10008d26
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov eax, dword [ebp - 0xbc]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov edx, dword [ebp - 0xbc]
and edx, 0x800000ff
jns 0x10008d50
dec edx
or edx, 0xffffff00
inc edx
push edx
push 0xd
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x1001c81c
lea edx, [ebp - 0x84]
push edx
call fcn.1000f2f5
add esp, 0x24
mov eax, dword [0x1001fb18]
push eax
push 0x14
lea ecx, [ebp - 0x84]
push ecx
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x3e8
je 0x10008de4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x90]
jmp 0x10009174
push 0
push 0
push 3
push 0
push 0
push bind
push 0x1001c838
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0xffffffff
jne 0x10008e4c
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, 0x3eb
jmp 0x10009174
mov eax, dword [ebp - 0xbc]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x9c], eax
jmp 0x10008e87
mov ecx, dword [ebp - 0x9c]
sub ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0
jbe 0x10009114
push 0
push 0
mov eax, dword [ebp - 0x54]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0x9c]
sub edx, 1
imul eax, edx
add eax, 0x3e
push eax
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea ecx, [ebp - 0x44]
push ecx
mov eax, dword [ebp - 0xbc]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov edx, dword [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0xbc]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp dword [ebp - 0x44], eax
je 0x10008f58
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x3ec
jmp 0x10009174
mov edx, dword [ebp - 0x60]
and edx, reloc.WS2_32.dll_getsockopt
jns 0x10008f68
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebp - 0xc8], edx
mov byte [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 7
ja case.default.0x10008f90
mov ecx, dword [ebp - 0xd4]
jmp dword [ecx*4 + 0x1000917a]
mov byte [ebp - 0xc4], 0
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 0x7f
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 0x3f
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 0x1f
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 0xf
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 7
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 3
jmp case.default.0x10008f90
mov byte [ebp - 0xc4], 1
mov eax, dword [ebp - 0x60]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0xa4]
movsx ecx, byte [edx + eax - 1]
mov edx, dword [ebp - 0xc4]
and edx, 0xff
or ecx, edx
mov eax, dword [ebp - 0x60]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0xa4]
mov byte [edx + eax - 1], cl
mov eax, dword [ebp - 0x44]
add eax, 1
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], 0
jmp 0x1000904e
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0x44]
jae 0x1000907f
mov eax, dword [ebp - 0xa4]
add eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
mov edx, 0xff
sub edx, ecx
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0xcc]
mov byte [eax], dl
jmp 0x1000903f
mov ecx, dword [0x1001fb18]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x90], 0x3e8
je 0x1000910f
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp - 0xb8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
jmp 0x10009174
jmp 0x10008e78
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [ebp - 0xa4]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x1001c844
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x90]
mov esp, ebp
pop ebp
ret 0x18