Function at 0x10001539
Capabilities:
Check for debugger via api
Get disk information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov eax, 0x140
call fcn.101052f0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 4
mov dword [esi + 0x7c], eax
mov eax, ecx
call fcn.101052f0
mov eax, esp
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x283
mov dword [ecx], 0xa779c8
mov ecx, dword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
mov dword [esi + 0x78], eax
call ecx
xor ecx, ecx
mov edx, dword [esi + 0x7c]
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], edx
mov dword [esi + 0x6c], ecx
jmp 0x100016a7
mov eax, dword [esi + 0x68]
add eax, 1
cmp eax, 0x22
mov dword [esi + 0x6c], eax
je 0x100015e4
jmp 0x100016a7
mov eax, dword [esi + 0x64]
mov ecx, 0x88888889
mov dword [esi + 0x60], eax
mul ecx
shr edx, 3
imul eax, edx, 0xf
mov ecx, dword [esi + 0x60]
sub ecx, eax
mov dword [esi + 0x5c], ecx
je 0x10001726
jmp 0x100015d4
mov eax, dword [esi + 0x5c]
sub eax, 0xa
mov dword [esi + 0x58], eax
je 0x10001659
jmp 0x10001749
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [esi + 0x78]
mov dword [eax], 0x67b
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xa29d7a
mov ecx, dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
call ecx
sub esp, 0x14
mov ecx, esp
mov dword [ecx + 0x10], 0xcfe
mov dword [ecx + 0xc], 0xcc2
mov dword [ecx + 8], 0x7d3
mov dword [ecx + 4], 0x7d3
mov dword [ecx], 0x454c99
mov ecx, dword [sym.imp.KERNEL32.dll_UnlockFile]
mov dword [esi + 0x54], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x5cccae
mov ecx, dword [sym.imp.USER32.dll_GetMenuContextHelpId]
mov dword [esi + 0x50], eax
call ecx
mov dword [esi + 0x4c], eax
jmp 0x100017a3
xor eax, eax
mov ecx, 0x140
sub esp, 0xc
mov edx, dword [esi + 0x70]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x140
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], ecx
call fcn.10105320
add esp, 0xc
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x7c]
mov dword [eax + 4], ecx
mov dword [eax], 0x8a5aab
mov eax, dword [sym.imp.KERNEL32.dll_FindNextFileA]
call eax
mov dword [esi + 0x40], eax
jmp 0x10001749
mov eax, dword [esi + 0x6c]
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xe93be7
mov ecx, dword [sym.imp.KERNEL32.dll_LocalUnlock]
mov dword [esi + 0x68], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xcae0ba
mov ecx, dword [sym.imp.KERNEL32.dll_GetPriorityClass]
mov dword [esi + 0x3c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x9aafde
mov ecx, dword [sym.imp.USER32.dll_GetParent]
mov dword [esi + 0x38], eax
call ecx
sub esp, 0x10
mov ecx, esp
lea edx, [esi + 0x98]
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], 0x67f
mov dword [ecx + 4], 0x67f
mov dword [ecx], 0xf545d
mov ecx, dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov dword [esi + 0x34], eax
call ecx
xor ecx, ecx
mov dword [esi + 0x30], eax
mov dword [esi + 0x64], ecx
jmp 0x100015b1
sub esp, 8
mov eax, esp
lea ecx, [esi + 0x80]
mov dword [eax + 4], ecx
mov dword [eax], 0xee3460
mov eax, dword [sym.imp.GDI32.dll_GetWorldTransform]
call eax
mov dword [esi + 0x2c], eax
jmp 0x10001659
mov eax, dword [esi + 0x60]
add eax, 1
cmp eax, 0x1b0
mov dword [esi + 0x64], eax
jne 0x100015b1
xor eax, eax
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x4d311d
mov ecx, dword [sym.imp.GDI32.dll_PathToRegion]
mov dword [esi + 0x28], eax
call ecx
xor ecx, ecx
mov edx, dword [esi + 0x68]
sub edx, 0x56
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x1c], edx
je 0x100015ea
jmp 0x10001790
mov eax, dword [esi + 0x68]
sub eax, 8
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], ecx
jne 0x100017cf
jmp 0x100017a3
sub esp, 4
mov eax, esp
mov dword [eax], 0x34c
mov eax, dword [sym.imp.USER32.dll_PostQuitMessage]
call eax
sub esp, 4
mov eax, esp
mov dword [eax], 0xa13a01
mov eax, dword [sym.imp.GDI32.dll_GetBkColor]
call eax
mov dword [esi + 0x10], eax
jmp 0x1000159a
mov eax, dword [esi + 0x14]
mov ecx, dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [esi + 0xc], eax
call ecx
sub esp, 0xc
mov ecx, esp
mov dword [ecx + 8], 0x40e
mov dword [ecx + 4], 0xbfc
mov dword [ecx], 0x92ed52
mov ecx, dword [sym.imp.GDI32.dll_OffsetRgn]
mov dword [esi + 8], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x332
mov ecx, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esi + 4], eax
call ecx
mov ecx, dword [esi + 0xc]
add ecx, 1
cmp ecx, 0xa
mov dword [esi], eax
mov dword [esi + 0x14], ecx
je 0x1000159a
jmp 0x100017cf