Function at 0x1000919a
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 0x10009217
mov eax, 0x3ea
jmp 0x100099c0
mov edx, dword [ebp + 0x14]
push edx
call fcn.1000ef40
add esp, 4
test eax, eax
jne 0x10009231
mov eax, 0x3ea
jmp 0x100099c0
cmp dword [ebp + 0xc], 0
jl 0x10009240
cmp dword [ebp + 0xc], 0x270f
jle 0x1000924a
mov eax, 0x3ea
jmp 0x100099c0
cmp dword [ebp + 0x10], 0
jl 0x10009259
cmp dword [ebp + 0x10], 0x270f
jle 0x10009263
mov eax, 0x3ea
jmp 0x100099c0
cmp dword [ebp + 0x18], 0
jge 0x10009273
mov eax, 0x3ea
jmp 0x100099c0
cmp dword [ebp + 0x1c], 0
jge 0x10009283
mov eax, 0x3ea
jmp 0x100099c0
cmp dword [ebp + 0x20], 1
jl 0x1000928f
cmp dword [ebp + 0x20], 4
jle 0x10009299
mov eax, 0x3ea
jmp 0x100099c0
mov eax, dword [ebp + 0x20]
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.0x100092c0
mov edx, dword [ebp - 0xdc]
jmp dword [edx*4 + 0x100099c6]
mov dword [ebp - 0xbc], 0
jmp case.default.0x100092c0
mov dword [ebp - 0xbc], 0x384
jmp case.default.0x100092c0
mov dword [ebp - 0xbc], 0x708
jmp case.default.0x100092c0
mov dword [ebp - 0xbc], 0xa8c
push 0
push 0
push 0
push 0x1001c850
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 byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov dword [ebp - 0x2c], 0x2bc
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.1000f2f5
add esp, 8
lea edx, [ebp - 0x3c]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.1000ef40
add esp, 4
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x98]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
sub ecx, 1
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xe0], 3
ja case.default.0x100093f6
mov edx, dword [ebp - 0xe0]
jmp dword [edx*4 + 0x100099d6]
mov eax, dword [ebp - 0x50]
sub eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xa8], 0
jmp case.default.0x100093f6
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x50]
sub eax, 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x90], 0
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
jmp case.default.0x100093f6
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], edx
jmp case.default.0x100093f6
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x50]
sub ecx, 1
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x90], edx
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 0x100094cb
mov eax, 0x3ea
jmp 0x100099c0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x54], eax
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 ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xc0], eax
push 0xf00021
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0x58]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_PatBlt]
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x9c], eax
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 - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x8c], 0xff0000
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [ebp + 8]
push eax
call fcn.1000ef40
add esp, 4
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.GDI32.dll_TextOutA]
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x98]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.10001458
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
push ecx
push 0
push 1
mov edx, dword [ebp - 0xc0]
push edx
call fcn.10001716
add esp, 0x10
mov dword [ebp - 0x40], eax
push 0x1001c858
mov eax, dword [ebp - 0x40]
push eax
call fcn.1000154a
add esp, 8
push 0x23
push 0
lea ecx, [ebp - 0x88]
push ecx
call fcn.1000f350
add esp, 0xc
mov eax, dword [ebp - 0xb4]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov edx, dword [ebp - 0xb4]
and edx, 0x800000ff
jns 0x10009657
dec edx
or edx, 0xffffff00
inc edx
push edx
mov eax, dword [ebp - 0xc8]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
push eax
mov eax, dword [ebp - 0xc8]
and eax, 0x800000ff
jns 0x1000967f
dec eax
or eax, 0xffffff00
inc eax
push eax
push 0xd
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0x1001c864
lea eax, [ebp - 0x88]
push eax
call fcn.1000f2f5
add esp, 0x24
mov ecx, dword [0x1001fb18]
push ecx
push 0x14
lea edx, [ebp - 0x88]
push edx
call fcn.100021c0
add esp, 0xc
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x3e8
je 0x100096d3
mov eax, dword [ebp - 0x94]
jmp 0x100099c0
push 0
push 0
push 3
push 0
push 0
push bind
push 0x1001c880
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x10009706
mov eax, 0x3eb
jmp 0x100099c0
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 eax, dword [ebp - 0x54]
mov dword [ebp - 0xa4], eax
jmp 0x1000973e
mov ecx, dword [ebp - 0xa4]
sub ecx, 1
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0xa4], 0
jbe 0x10009960
push 0
push 0
mov eax, dword [ebp - 0xa0]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp - 0xa4]
sub edx, 1
imul eax, edx
add eax, 0x3e
push eax
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea ecx, [ebp - 0x44]
push ecx
mov eax, dword [ebp - 0xc8]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xc4]
push eax
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 0x100097dd
mov ecx, dword [ebp - 0xc4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0xac]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x3ec
jmp 0x100099c0
mov eax, dword [ebp - 0x58]
and eax, reloc.WS2_32.dll_getsockopt
jns 0x100097ec
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 7
ja case.default.0x10009814
mov edx, dword [ebp - 0xe4]
jmp dword [edx*4 + 0x100099e6]
mov byte [ebp - 0xcc], 0
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 0x7f
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 0x3f
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 0x1f
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 0xf
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 7
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 3
jmp case.default.0x10009814
mov byte [ebp - 0xcc], 1
mov eax, dword [ebp - 0x58]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0xac]
movsx ecx, byte [ecx + 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 0x100098cf
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x44]
jae 0x10009900
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 0x100098c0
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 0x1000995b
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 0x100099c0
jmp 0x1000972f
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 0x1001c88c
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x94]
mov esp, ebp
pop ebp
ret 0x1c