Function at 0x100ddc68
Capabilities:
Get system information on windows

Disassembly:
push 0x160
push 0x10278048
call fcn.1023751c
xor edi, edi
inc edi
mov ebx, 0x102d2ca8
mov edx, 0x102d2cac
mov ecx, edi
mov eax, edi
lock cmpxchg dword [edx], ecx
cmp eax, edi
jne 0x100ddc98
xor eax, eax
call fcn.10237564
ret
mov ecx, edi
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
jne 0x100de015
and dword [eax + 0x102b29e8], 0
and dword [eax + 0x102b29ec], 0
add eax, 8
cmp eax, 0x80
jb 0x100ddca8
xor eax, eax
mov edx, pe_nt_image_headers32
cmp eax, edx
jae 0x100de010
mov byte [eax + 0x102cd7c0], 0
mov ecx, edi
test eax, ecx
je 0x100ddce2
inc byte [eax + 0x102cd7c0]
add ecx, ecx
cmp ecx, edx
jb 0x100ddcd8
inc eax
cmp eax, edx
jb 0x100ddccf
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x154]
mov dword [0x102b2aa8], eax
mov dword [ebp - 0x138], 0x114
lea eax, [ebp - 0x138]
push eax
call dword [0x102a9cac]
test eax, eax
jne 0x100ddd52
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x100ddd34
mov esi, 0x80004005
jmp 0x100ddffe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x100ddffc
movzx esi, si
or esi, 0x80070000
jmp 0x100ddffa
mov eax, dword [ebp - 0x128]
mov dword [0x102b2aa4], eax
cmp eax, 2
jne 0x100ddd78
mov ecx, 0x102a63cc
call fcn.10213a1c
mov esi, eax
test esi, esi
jne 0x100ddffe
jmp 0x100ddd82
mov dword [0x102cda50], 0x100ddad0
mov ecx, 0x102a63b4
call fcn.10213a1c
mov esi, eax
test esi, esi
jne 0x100ddffe
mov ecx, 0x102a639c
call fcn.10213a1c
mov esi, eax
test esi, esi
jne 0x100ddffe
lea eax, [ebp - 0x14c]
push eax
push 0x102d2b08
call fcn.10220100
mov esi, eax
test esi, esi
jne 0x100ddffe
cmp dword [0x102b2aa4], 2
jne 0x100ddddd
call fcn.100ddb36
mov esi, eax
test esi, esi
jne 0x100ddffe
xor esi, esi
push esi
push esi
push esi
push esi
call dword [0x102a9c58]
mov dword [0x102b4b08], eax
test eax, eax
je 0x100ddd20
push esi
push esi
push esi
push esi
call dword [0x102a9c58]
mov dword [0x102b4b20], eax
test eax, eax
je 0x100ddd20
push esi
push esi
push esi
push esi
call dword [0x102a9c58]
mov dword [0x102b4b18], eax
test eax, eax
je 0x100ddd20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, edi
mov ecx, eax
call fcn.10210c78
mov dword [0x102b2a78], eax
test eax, eax
je 0x100ddd2a
call fcn.10211514
mov esi, eax
test esi, esi
jne 0x100ddffe
and dword [ebp - 4], eax
push 0x102b2a8c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0xfffffffffffffffe
pop esi
mov dword [ebp - 4], esi
mov dword [0x102b2a88], edi
mov dword [ebp - 4], edi
push 0x102b2af0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], esi
mov dword [0x102b2a84], edi
mov dword [ebp - 4], 2
push 0x102b2ad4
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], esi
mov dword [0x102b2a80], edi
mov dword [ebp - 4], 3
push 0x102b2abc
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], esi
mov dword [0x102b2a7c], edi
call fcn.100c4a1d
mov esi, eax
test esi, esi
jne 0x100ddffe
push 0x1006056c
call dword [sym.imp.msvcrt.dll__wgetenv]
pop ecx
mov dword [0x102ba390], eax
test eax, eax
je 0x100ddee7
push eax
call dword [sym.imp.msvcrt.dll__wcsdup]
pop ecx
mov dword [0x102ba390], eax
push dword [0x102a5b74]
call dword [sym.imp.dbghelp.dll_SymSetOptions]
push 0x1006058c
call dword [sym.imp.msvcrt.dll__wgetenv]
pop ecx
test eax, eax
je 0x100ddf0d
or dword [0x1029b530], 0x2000
xor edx, edx
mov ecx, edi
call fcn.10147a52
push 0x1006059c
call dword [sym.imp.msvcrt.dll__wgetenv]
pop ecx
test eax, eax
je 0x100ddf36
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
shl eax, 0xa
mov dword [0x1029b4e4], eax
push 0x100605cc
call dword [sym.imp.msvcrt.dll__wgetenv]
pop ecx
test eax, eax
je 0x100ddf4d
mov ecx, eax
call fcn.100e8b2e
call fcn.10213da9
mov edx, 0x102b72d4
xor ecx, ecx
mov eax, dword [ecx + 0x1029c704]
mov dword [edx - 4], eax
mov eax, dword [ecx + 0x1029c708]
mov dword [edx], eax
add ecx, 0x48
lea edx, [edx + 8]
cmp ecx, 0xbd0
jb 0x100ddf59
mov eax, 0x102d2cac
xchg dword [eax], edi
xor esi, esi
jmp 0x100ddffa
test esi, esi
je 0x100de009
xor cl, cl
call fcn.100de027
xor eax, eax
xchg dword [ebx], eax
mov eax, esi
jmp 0x100ddc92
call fcn.10236265
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100ddc7f