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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb4], 0
push 0x23
push 0
lea eax, [ebp - 0x88]
push eax
call fcn.1000f350
add esp, 0xc
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.1000ef40
add esp, 4
test eax, eax
jne 0x10009a83
mov eax, 0x3ea
jmp 0x1000a249
mov edx, dword [ebp + 0x14]
push edx
call fcn.1000ef40
add esp, 4
test eax, eax
jne 0x10009a9d
mov eax, 0x3ea
jmp 0x1000a249
cmp dword [ebp + 0xc], 0
jl 0x10009aac
cmp dword [ebp + 0xc], 0x270f
jle 0x10009ab6
mov eax, 0x3ea
jmp 0x1000a249
cmp dword [ebp + 0x10], 0
jl 0x10009ac5
cmp dword [ebp + 0x10], 0x270f
jle 0x10009acf
mov eax, 0x3ea
jmp 0x1000a249
cmp dword [ebp + 0x18], 0
jge 0x10009adf
mov eax, 0x3ea
jmp 0x1000a249
cmp dword [ebp + 0x1c], 0
jge 0x10009aef
mov eax, 0x3ea
jmp 0x1000a249
cmp dword [ebp + 0x24], 1
jl 0x10009afb
cmp dword [ebp + 0x24], 4
jle 0x10009b05
mov eax, 0x3ea
jmp 0x1000a249
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
sub ecx, 1
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 3
ja case.default.0x10009b2c
mov edx, dword [ebp - 0xdc]
jmp dword [edx*4 + 0x1000a24f]
mov dword [ebp - 0xbc], 0
jmp case.default.0x10009b2c
mov dword [ebp - 0xbc], 0x384
jmp case.default.0x10009b2c
mov dword [ebp - 0xbc], 0x708
jmp case.default.0x10009b2c
mov dword [ebp - 0xbc], 0xa8c
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov dword [ebp - 0x60], eax
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x34], edx
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 eax, dword [ebp + 0x20]
mov cl, byte [eax + 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp + 0x20]
mov al, byte [edx + 8]
mov byte [ebp - 0x27], al
mov ecx, dword [ebp + 0x20]
cmp dword [ecx], 0
jne 0x10009bd7
mov dword [ebp - 0x2c], 0x190
jmp 0x10009bde
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 - 0x98], eax
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb0], 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 - 0x60]
push ecx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov edx, dword [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x98]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp + 0x24]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
sub eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 3
ja case.default.0x10009c7d
mov ecx, dword [ebp - 0xe0]
jmp dword [ecx*4 + 0x1000a25f]
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xa8], 0
jmp case.default.0x10009c7d
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], eax
jmp case.default.0x10009c7d
mov ecx, dword [ebp - 0x50]
sub ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
jmp case.default.0x10009c7d
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x50]
sub eax, 1
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x58]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 5
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x270f
jle 0x10009d52
mov eax, 0x3ea
jmp 0x1000a249
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x58]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
shl eax, 3
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xc0], eax
push 0xf00021
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp - 0x58]
push edx
push 0
push 0
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x8c], 0xff0000
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
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 - 0xa8]
push ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [ebp - 0x9c]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x98]
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 - 0xc0]
push ecx
call fcn.10001716
add esp, 0x10
mov dword [ebp - 0x40], eax
push 0x1001c8a0
mov edx, dword [ebp - 0x40]
push edx
call fcn.1000154a
add esp, 8
push 0x23
push 0
lea eax, [ebp - 0x88]
push eax
call fcn.1000f350
add esp, 0xc
mov eax, dword [ebp - 0xb4]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov ecx, dword [ebp - 0xb4]
and ecx, 0x800000ff
jns 0x10009ede
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov eax, dword [ebp - 0xc8]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov edx, dword [ebp - 0xc8]
and edx, 0x800000ff
jns 0x10009f08
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 str.1Y11001_04d_04d_c_c_c_c_c
lea edx, [ebp - 0x88]
push edx
call fcn.1000f2f5
add esp, 0x24
mov eax, dword [0x1001fb18]
push eax
push 0x14
lea ecx, [ebp - 0x88]
push ecx
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x3e8
je 0x10009f5b
mov eax, dword [ebp - 0x94]
jmp 0x1000a249
push 0
push 0
push 3
push 0
push 0
push bind
push 0x1001c8c8
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x10009f8e
mov eax, 0x3eb
jmp 0x1000a249
mov eax, dword [ebp - 0xc8]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xa4], edx
jmp 0x10009fc6
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jbe 0x1000a1e9
push 0
push 0
mov eax, dword [ebp - 0xa0]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0xa4]
sub ecx, 1
imul eax, ecx
add eax, 0x3e
push eax
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc8]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0xc8]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp dword [ebp - 0x44], eax
je 0x1000a065
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x3ec
jmp 0x1000a249
mov edx, dword [ebp - 0x58]
and edx, reloc.WS2_32.dll_getsockopt
jns 0x1000a075
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebp - 0xd0], edx
mov byte [ebp - 0xcc], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 7
ja case.default.0x1000a09d
mov ecx, dword [ebp - 0xe4]
jmp dword [ecx*4 + 0x1000a26f]
mov byte [ebp - 0xcc], 0
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 0x7f
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 0x3f
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 0x1f
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 0xf
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 7
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 3
jmp case.default.0x1000a09d
mov byte [ebp - 0xcc], 1
mov eax, dword [ebp - 0x58]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0xac]
movsx ecx, byte [edx + eax - 1]
mov edx, dword [ebp - 0xcc]
and edx, 0xff
or ecx, edx
mov eax, dword [ebp - 0x58]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0xac]
mov byte [edx + eax - 1], cl
mov eax, dword [ebp - 0x44]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], 0
jmp 0x1000a158
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x44]
jae 0x1000a189
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0xd4]
movsx ecx, byte [eax]
mov edx, 0xff
sub edx, ecx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xd4]
mov byte [eax], dl
jmp 0x1000a149
mov ecx, dword [0x1001fb18]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x94], 0x3e8
je 0x1000a1e4
mov edx, dword [ebp - 0xac]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
jmp 0x1000a249
jmp 0x10009fb7
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x60]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
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]
push str.btptemp.bmp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x94]
mov esp, ebp
pop ebp
ret 0x20