Function at 0x10001662
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
mov eax, dword [0x10019138]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2f4], eax
lea eax, [ebp - 0x2e8]
xor esi, esi
push eax
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2e8], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov ecx, dword [0x1001a037]
add eax, ecx
sub eax, esi
mov dword [ebp - 0x2d8], ecx
je 0x100016c4
dec eax
jne 0x100016ca
mov dword [0x1001a054], ecx
push dword [ebp - 0x2f4]
lea edx, [ebp - 0x210]
lea ecx, [ebp - 0x2ec]
call fcn.1000134d
pop ecx
push esi
lea eax, [ebp - 0x210]
push 0x8002
push eax
call fcn.10001ebf
add esp, 0xc
mov dword [ebx], eax
cmp eax, 0xffffffff
je 0x1000193b
mov ecx, dword [0x1001b46c]
mov edx, dword [0x1001a040]
lea edx, [ecx + edx - 1]
imul ecx, ecx, 5
sub ecx, 3
or ecx, 8
shl edx, cl
push 2
mov ecx, 0xed
push esi
sub ecx, edx
push eax
mov dword [0x1001a040], ecx
call fcn.10003772
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [0x1001a048], eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.1000240a
mov eax, dword [ebp - 0x23c]
mov dword [edi], eax
movzx eax, byte [0x1001b476]
push 0x104
push eax
push str.V9onexQlw0aJf9zqEQocSXNVrjXnaMCzbYuvnAj
call fcn.1000a9e0
mov eax, dword [0x1001b364]
lea eax, [eax + eax + 1]
add esp, 0x14
test eax, eax
jne 0x10001794
mov dword [0x1001a040], 8
fild dword [0x1001b46c]
fsubr qword [0x10016488]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2ec]
call fcn.1000eec0
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2ec]
push str.bDgUEaTUeiXfVWkU
fchs
push str.PONRWP
fld qword [0x10016480]
fabs
fstp dword [ebp - 0x2ec]
fmul dword [ebp - 0x2ec]
fstp dword [0x1001a03c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100017fd
push str.bDgUEaTUeiXfVWkU
push str.QOBOUTE
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push esi
push esi
push dword [ebx]
call fcn.10003772
add esp, 0xc
push esi
push esi
push str.njowvSwyG
push str.DISPLAY
mov dword [0x1001a050], 0xf
call dword [sym.imp.GDI32.dll_CreateDCA]
movzx ecx, byte [0x1001a037]
push ecx
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
movzx ecx, byte [0x1001a037]
sub ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x103
inc ecx
mov dword [ebp - 0x2ec], ecx
push 8
fild dword [ebp - 0x2ec]
fstp dword [0x1001b344]
call fcn.10001ea5
pop ecx
mov dword [0x1001b340], eax
call fcn.100011d4
push dword [edi]
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x2f0]
mov dword [ecx], eax
cmp eax, esi
je 0x1000193b
movzx eax, byte [0x1001a037]
push eax
push esi
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push 8
call fcn.100039f5
pop ecx
mov edx, eax
push 8
pop eax
push edx
mov word [edx + 2], ax
call sym.xyxptsvteo.dll_ooocdsvzfxl
pop ecx
push edx
call fcn.100033b9
pop ecx
push 1
push 1
push esi
push esi
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.USER32.dll_SetRect]
push 1
lea eax, [ebp - 0x220]
push eax
push esi
push dword [0x1001b574]
call dword [sym.imp.USER32.dll_DrawCaption]
mov eax, dword [0x1001b46c]
xor ecx, ecx
cmp eax, esi
sete cl
imul ecx, eax
imul ecx, ecx, 0x57
test ecx, ecx
je 0x1000190f
mov eax, dword [0x1001a040]
push 0x57
cdq
pop ecx
idiv ecx
mov dword [0x1001a040], eax
push 0xc
call fcn.100021c6
mov eax, dword [ebp - 0x2f0]
pop ecx
push dword [edi]
push dword [eax]
push dword [ebx]
call fcn.1000325b
add esp, 0xc
test eax, eax
jg 0x1000193b
push dword [ebx]
call fcn.100038e2
pop ecx
xor eax, eax
jmp 0x1000193e
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10001eb0
leave
ret