Function at 0x622c2580
Capabilities:
Get system information on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0xa8
call fcn.622c1590
call fcn.622c245c
test eax, eax
je 0x622c297c
mov esi, eax
mov eax, dword [0x622f8b40]
mov dword [esp], 0x2ae6c903
lea edi, [ebp - 0x3c]
mov dword [esp + 4], esi
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], 0
call fcn.622c23f8
mov dword [esp + 4], esi
mov dword [esp], 0xd2d9b147
mov dword [ebp - 0x5c], eax
call fcn.622c23f8
mov dword [esp + 4], esi
mov dword [esp], 0x43c80037
mov dword [ebp - 0x60], eax
call fcn.622c23f8
mov dword [esp + 4], esi
mov dword [esp], 0xb3ae062b
mov ebx, eax
call fcn.622c23f8
mov dword [esp + 8], 1
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.622c24ac
mov dword [esp + 8], 1
mov word [ebp - 0x66], ax
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.622c24ac
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], ebx
mov word [ebp - 0x68], ax
call fcn.622c24ac
mov dword [esp + 8], 1
mov word [ebp - 0x6a], ax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.622c24ac
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.622c2488
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.622c2488
mov dword [esp], ebx
mov dword [ebp - 0x78], eax
call fcn.622c2488
mov esi, eax
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.622c2488
mov ecx, 9
mov dword [ebp - 0x74], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [ebp - 0x3c], 9
mov edx, dword [ebp - 0x78]
push eax
jne 0x622c2816
lea edi, [ebp - 0x44]
lea esi, [ebp - 0x48]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x60]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], 0x3000
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], esi
call eax
mov eax, dword [ebp - 0x48]
sub esp, 0x18
test eax, eax
je 0x622c297c
mov edx, dword [0x622f8b40]
mov dword [esp + 4], 0x622c3020
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.622c2534
mov eax, dword [0x622f8b40]
mov dword [esp + 4], 0
mov dword [esp], 0x622c3020
mov dword [esp + 8], eax
call fcn.622c255c
lea eax, [ebp - 0x4c]
mov dword [esp + 8], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 0xc], 0x20
mov dword [esp + 4], esi
mov dword [esp], 0xffffffff
call eax
mov eax, dword [ebp - 0x48]
sub esp, 0x14
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1f03ff
call eax
mov eax, dword [ebp - 0x40]
sub esp, 0x2c
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call ebx
sub esp, 0xc
jmp 0x622c297c
movzx eax, word [ebp - 0x68]
lea edi, [ebp - 0x44]
lea ebx, [ebp - 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x3000
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0xffffffff
call fcn.622c14b0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x622c297c
mov edx, dword [0x622f8b40]
mov dword [esp + 4], 0x622c3020
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.622c2534
mov eax, dword [0x622f8b40]
mov dword [esp + 4], 0
mov dword [esp], 0x622c3020
mov dword [esp + 8], eax
call fcn.622c255c
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x18], eax
movzx eax, word [ebp - 0x66]
mov dword [esp + 8], edi
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp], 0xffffffff
call fcn.622c14ba
mov eax, dword [ebp - 0x74]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], eax
movzx eax, word [ebp - 0x6c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x40]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1f03ff
mov dword [esp], eax
call fcn.622c14ce
movzx ebx, word [ebp - 0x6a]
mov eax, dword [ebp - 0x40]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.622c14c4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call fcn.622c14c4
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret