Function at 0x53e910
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x50
call fcn.004d28e0
push 0x28
push 0
push 0x7cdd2c
call fcn.004d1020
add esp, 0xc
cmp dword [ebp + 8], 0
jbe 0x53e93d
mov dword [ebp - 0x3c], 0
jmp 0x53e95b
push 0x193
push str.cryptomem_sec.c
push str.assertion_failed:_size___0
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp + 8]
sub eax, 1
and eax, dword [ebp + 8]
jne 0x53e96f
mov dword [ebp - 0x40], 0
jmp 0x53e98d
push 0x194
push str.cryptomem_sec.c
push str.assertion_failed:__size___size___1____0
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x40], 1
cmp dword [ebp + 8], 0
je 0x53e99e
mov ecx, dword [ebp + 8]
sub ecx, 1
and ecx, dword [ebp + 8]
je 0x53e9a3
jmp 0x53ecce
cmp dword [ebp + 0xc], 8
ja 0x53e9f2
mov dword [ebp + 0xc], 7
mov edx, dword [ebp + 0xc]
shr edx, 1
or edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
shr eax, 2
or eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor ecx, ecx
je 0x53e9d7
mov edx, dword [ebp + 0xc]
shr edx, 4
or edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
xor eax, eax
je 0x53e9e7
mov ecx, dword [ebp + 0xc]
shr ecx, 8
or ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x53ea34
mov eax, dword [ebp + 0xc]
sub eax, 1
and eax, dword [ebp + 0xc]
jne 0x53ea06
mov dword [ebp - 0x44], 0
jmp 0x53ea24
push 0x1a9
push str.cryptomem_sec.c
push str.assertion_failed:__minsize___minsize___1____0
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp + 0xc]
sub ecx, 1
and ecx, dword [ebp + 0xc]
je 0x53ea34
jmp 0x53ecce
mov edx, dword [ebp + 8]
mov dword [0x7cdd38], edx
mov eax, dword [ebp + 0xc]
mov dword [0x7cdd44], eax
mov eax, dword [0x7cdd38]
xor edx, edx
div dword [0x7cdd44]
shl eax, 1
mov dword [0x7cdd50], eax
mov ecx, dword [0x7cdd50]
shr ecx, 3
test ecx, ecx
jne 0x53ea6b
jmp 0x53ecce
mov dword [0x7cdd40], 0xffffffff
mov edx, dword [0x7cdd50]
mov dword [ebp - 0xc], edx
jmp 0x53ea88
mov eax, dword [ebp - 0xc]
shr eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x53ea9f
mov ecx, dword [0x7cdd40]
add ecx, 1
mov dword [0x7cdd40], ecx
jmp 0x53ea80
push 0x1ba
push str.cryptomem_sec.c
mov edx, dword [0x7cdd40]
shl edx, 2
push edx
call fcn.0050e390
add esp, 0xc
mov dword [0x7cdd3c], eax
cmp dword [0x7cdd3c], 0
je 0x53ead2
mov dword [ebp - 0x48], 0
jmp 0x53eaf0
push 0x1bb
push str.cryptomem_sec.c
push str.assertion_failed:_sh.freelist___NULL
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x48], 1
cmp dword [0x7cdd3c], 0
jne 0x53eafe
jmp 0x53ecce
push 0x1bf
push str.cryptomem_sec.c
mov eax, dword [0x7cdd50]
shr eax, 3
push eax
call fcn.0050e390
add esp, 0xc
mov dword [0x7cdd48], eax
cmp dword [0x7cdd48], 0
je 0x53eb30
mov dword [ebp - 0x4c], 0
jmp 0x53eb4e
push 0x1c0
push str.cryptomem_sec.c
push str.assertion_failed:_sh.bittable___NULL
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x4c], 1
cmp dword [0x7cdd48], 0
jne 0x53eb5c
jmp 0x53ecce
push 0x1c4
push str.cryptomem_sec.c
mov ecx, dword [0x7cdd50]
shr ecx, 3
push ecx
call fcn.0050e390
add esp, 0xc
mov dword [0x7cdd4c], eax
cmp dword [0x7cdd4c], 0
je 0x53eb8f
mov dword [ebp - 0x50], 0
jmp 0x53ebad
push 0x1c5
push str.cryptomem_sec.c
push str.assertion_failed:_sh.bitmalloc___NULL
call fcn.005c09f0
add esp, 0xc
mov dword [ebp - 0x50], 1
cmp dword [0x7cdd4c], 0
jne 0x53ebbb
jmp 0x53ecce
lea edx, [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, dword [0x7cdd38]
add ecx, dword [ebp - 4]
mov dword [0x7cdd30], ecx
push 4
push 0x3000
mov edx, dword [0x7cdd30]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x7cdd2c], eax
cmp dword [0x7cdd2c], 0
jne 0x53ec06
jmp 0x53ecce
mov eax, dword [0x7cdd2c]
add eax, dword [ebp - 4]
mov dword [0x7cdd34], eax
mov ecx, dword [0x7cdd48]
push ecx
push 0
mov edx, dword [0x7cdd34]
push edx
call fcn.0053ece0
add esp, 0xc
mov eax, dword [0x7cdd34]
push eax
mov ecx, dword [0x7cdd3c]
push ecx
call fcn.0053ee40
add esp, 8
mov dword [ebp - 0x38], 1
lea edx, [ebp - 0x10]
push edx
push 1
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [0x7cdd2c]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x53ec69
mov dword [ebp - 0x38], 2
mov edx, dword [ebp - 4]
add edx, dword [0x7cdd38]
mov eax, dword [ebp - 4]
lea ecx, [edx + eax - 1]
mov edx, dword [ebp - 4]
sub edx, 1
not edx
and ecx, edx
mov dword [ebp - 8], ecx
lea eax, [ebp - 0x10]
push eax
push 1
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [0x7cdd2c]
add edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x53ecab
mov dword [ebp - 0x38], 2
mov eax, dword [0x7cdd38]
push eax
mov ecx, dword [0x7cdd34]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualLock]
test eax, eax
jne 0x53ecc9
mov dword [ebp - 0x38], 2
mov eax, dword [ebp - 0x38]
jmp 0x53ecd5
call fcn.0053efa0
xor eax, eax
mov esp, ebp
pop ebp
ret