Function at 0x10009ad0
Capabilities:
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10022668
push 0x100220d0
mov eax, dword fs:[0]
push eax
sub esp, 0x310
mov eax, dword [0x10023f14]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
sub eax, 0
je 0x10009d05
sub eax, 1
jne 0x10009d6f
mov dword [ebp - 4], eax
push 0x10026860
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x10026720
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x10025cf0], esi
mov ecx, esi
call fcn.100097d0
mov dword [0x10025cf8], eax
test eax, eax
je 0x10009c15
push 0x100266e0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [0x10025ce4], 0
jne 0x10009ba8
xor esi, esi
xor edi, edi
mov dword [ebp - 0x320], esi
cmp edi, 0x100
jge 0x10009b9e
push esi
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
setne al
mov byte [esi + 0x100269a0], al
movzx eax, al
or dword [0x10025ce8], eax
lea esi, [edi + 1]
mov edi, esi
jmp 0x10009b6e
mov dword [0x10025ce4], 1
push 0
push 0x2000
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x10025d00], eax
test eax, eax
jne 0x10009c23
push 0x200
lea eax, [ebp - 0x31c]
push eax
push 0x232f
push dword [0x10025cf8]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x100
lea eax, [ebp - 0x11c]
push eax
push 0x2328
push dword [0x10025cf8]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x240010
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x31c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x10009d74
push 0x10025e58
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x10025e1c], 0
mov dword [0x10025e18], 0
push 0x10025e20
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x105
push 0x10026880
push dword [0x10025cf0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x10009c82
push 0x105
push 0x10026880
push 0x2333
push dword [0x10025cf8]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x5c
push 0x10026880
call dword [sym.imp.msvcrt.dll_strrchr]
add esp, 8
mov dword [0x100266c0], eax
test eax, eax
jne 0x10009ca7
mov dword [0x100266c0], 0x10026880
jmp 0x10009cad
inc eax
mov dword [0x100266c0], eax
push 0x105
push 0x10026740
push 0x2334
push dword [0x10025cf8]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x105
push 0x100263a0
push 0x233b
push dword [0x10025cf8]
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [0x10025cf0]
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
jmp 0x10009d68
mov dword [ebp - 4], 1
call fcn.1000a4f0
push 0x10025e58
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push dword [0x10025d00]
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov eax, dword [0x10025cec]
test eax, eax
je 0x10009d38
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.100101f0
push 0x10026720
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0x10026860
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x10025d00], 0
jmp 0x10009d68
mov dword [ebp - 4], 0xfffffffe
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10022100
mov esp, ebp
pop ebp
ret 0xc