Function at 0x1001840
Capabilities:
Check for time delay via queryperformancecounter
Get common file path
Get hostname
Get system information on windows

Disassembly:
push 0x100a64c
push dword [0x100303c]
mov dword [0x100a64c], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
sub eax, eax
cmp dword [ebp - 4], eax
jne 0x100187e
jmp 0x10019cc
cmp dword [ebx + 0xa4], 0
je 0x10015dc
jmp 0x100159c
inc esi
inc esi
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jb 0x1001250
jmp dword [0x1009ed8]
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push dword [esi + 0x3c]
pop ebx
mov word [0x100a4c4], ax
add ebx, esi
push dword [0x1009ea8]
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [0x100a4cc], eax
mov eax, dword [ebx]
not eax
cmp eax, 0xffffbaaf
jne 0x10015d2
jmp 0x1001430
movzx edx, word [esi]
mov eax, edx
and eax, 0xfff
add eax, dword [ecx]
shr edx, 0xc
add eax, dword [ebp - 4]
sub edx, 0
je 0x10011de
jmp dword [0x1003034]
push dword [0x100307c]
push 0xde60
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
add esi, edi
mov dword [0x100a944], eax
push 0
push 1
push edi
jmp dword [0x1009f0c]
cmp dword [ebx + 0x84], 0
je 0x10019dc
jmp 0x1001500
mov eax, dword [ebx + 0x54]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x10]
pop esi
push dword [ebp - 4]
pop edi
push dword [ebp - 0x14]
pop ecx
rep movsb byte es:[edi], byte [esi]
sub esi, esi
push esi
push dword [0x1009ec8]
call dword [sym.imp.KERNEL32.dll_IsBadStringPtrA]
mov dword [0x100a980], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp word [ebx + 6], si
mov dword [0x100a910], eax
mov dword [ebp - 8], esi
jbe 0x1001358
jmp dword [0x1003040]
push dword [0x1003018]
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [0x1009f20], eax
movzx eax, word [ebx + 0x14]
push 0x73
lea eax, [ebx + eax + 0x18]
jmp 0x1001994
push 2
call dword [sym.imp.USER32.dll_GetKeyboardType]
test byte [ebx + 0x17], 0x20
mov dword [0x100a4dc], eax
je 0x100190c
jmp 0x10012b8
push dword [0x1003060]
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push 1
push 0x394
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
mov edi, dword [ebp - 4]
jmp dword [0x1003054]
test byte [ebx + 0x16], 1
jne 0x10015dc
jmp 0x10011a0
push dword [ebx + 0xa0]
pop ecx
add ecx, edi
cmp dword [ecx], 0
je 0x10015dc
jmp 0x1001800
push dword [0x1003064]
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x7ae
push dword [0x1009ebc]
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
mov dword [0x100a654], eax
xor eax, eax
jmp 0x100195a
lea eax, [ebp - 0xc]
push eax
push 2
push dword [ebx + 0x54]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push dword [0x100301c]
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push dword [0x100300c]
push dword [0x100304c]
push 0x100a928
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov dword [0x100a634], eax
movzx eax, word [ebx + 6]
or eax, eax
jbe 0x10016d0
jmp dword [0x1003044]
push 2
push dword [0x1009ec4]
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
mov esi, dword [ebx + 0x28]
mov dword [0x100a608], eax
or esi, esi
je 0x100194d
jmp 0x10014b0
push dword [ecx + 4]
pop eax
and dword [ebp - 0x10], 0
add eax, 0xfffffff8
lea esi, [ecx + 8]
shr eax, 1
mov dword [ebp - 0x24], eax
je 0x100196c
jmp 0x1001250
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [0x100a190], eax
movzx eax, word [esi]
not eax
cmp eax, 0xffffa5b2
je 0x10011f4
jmp 0x10015b0
push dword [0x1009eac]
push 0x100a4e8
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp dword [ebp - 4], 0
jne 0x100137c
jmp dword [0x1009f04]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
add esi, edi
mov dword [0x100a4bc], eax
call esi
push dword [0x1009ee8]
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x100a194
push 0x100a4e4
push dword [0x1009f18]
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov dword [0x100a930], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [0x100a768], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [0x100a180], eax
push edi
pop eax
pop edi
pop esi
pop ebx
leave
ret
add ecx, dword [ecx + 4]
jmp 0x10015a5
mov dword [ebp - 0x18], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push dword [ebx + 0x50]
pop edi
push dword [sym.imp.KERNEL32.dll_VirtualAlloc]
pop esi
push 0x40
push 0x2000
push edi
mov dword [0x100a97c], eax
push dword [ebx + 0x34]
call esi
or eax, eax
mov dword [ebp - 4], eax
je 0x100100e
jmp dword [0x100305c]
test byte [ebx + 0x16], 1
jne 0x100187e
jmp dword [0x1003014]
push dword [ebp - 4]
pop edi
push dword [0x1003048]
mov dword [0x100a12c], 0x44
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov esi, edi
sub esi, dword [ebx + 0x34]
mov dword [ebp - 8], esi
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [0x100a63c], eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
test esi, esi
mov dword [0x100a968], eax
je 0x10015dc
jmp 0x1001524