Function at 0x53e640
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x50
call fcn.004d61c0
push 0x28
push 0
push 0x7d7d4c
call fcn.004d4a00
add esp, 0xc
cmp dword [ebp + 8], 0
jbe 0x53e66d
mov dword [ebp - 0x3c], 0
jmp 0x53e68b
push 0x1a1
push str.cryptomem_sec.c
push str.assertion_failed:_size___0
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp + 8]
sub eax, 1
and eax, dword [ebp + 8]
jne 0x53e69f
mov dword [ebp - 0x40], 0
jmp 0x53e6bd
push 0x1a2
push str.cryptomem_sec.c
push str.assertion_failed:__size___size___1____0
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x40], 1
cmp dword [ebp + 8], 0
je 0x53e6ce
mov ecx, dword [ebp + 8]
sub ecx, 1
and ecx, dword [ebp + 8]
je 0x53e6d3
jmp 0x53e9fe
cmp dword [ebp + 0xc], 8
ja 0x53e722
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 0x53e707
mov edx, dword [ebp + 0xc]
shr edx, 4
or edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
xor eax, eax
je 0x53e717
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 0x53e764
mov eax, dword [ebp + 0xc]
sub eax, 1
and eax, dword [ebp + 0xc]
jne 0x53e736
mov dword [ebp - 0x44], 0
jmp 0x53e754
push 0x1b7
push str.cryptomem_sec.c
push str.assertion_failed:__minsize___minsize___1____0
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp + 0xc]
sub ecx, 1
and ecx, dword [ebp + 0xc]
je 0x53e764
jmp 0x53e9fe
mov edx, dword [ebp + 8]
mov dword [0x7d7d58], edx
mov eax, dword [ebp + 0xc]
mov dword [0x7d7d64], eax
mov eax, dword [0x7d7d58]
xor edx, edx
div dword [0x7d7d64]
shl eax, 1
mov dword [0x7d7d70], eax
mov ecx, dword [0x7d7d70]
shr ecx, 3
test ecx, ecx
jne 0x53e79b
jmp 0x53e9fe
mov dword [0x7d7d60], 0xffffffff
mov edx, dword [0x7d7d70]
mov dword [ebp - 0xc], edx
jmp 0x53e7b8
mov eax, dword [ebp - 0xc]
shr eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x53e7cf
mov ecx, dword [0x7d7d60]
add ecx, 1
mov dword [0x7d7d60], ecx
jmp 0x53e7b0
push 0x1c8
push str.cryptomem_sec.c
mov edx, dword [0x7d7d60]
shl edx, 2
push edx
call fcn.0051c890
add esp, 0xc
mov dword [0x7d7d5c], eax
cmp dword [0x7d7d5c], 0
je 0x53e802
mov dword [ebp - 0x48], 0
jmp 0x53e820
push 0x1c9
push str.cryptomem_sec.c
push str.assertion_failed:_sh.freelist___NULL
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x48], 1
cmp dword [0x7d7d5c], 0
jne 0x53e82e
jmp 0x53e9fe
push 0x1cd
push str.cryptomem_sec.c
mov eax, dword [0x7d7d70]
shr eax, 3
push eax
call fcn.0051c890
add esp, 0xc
mov dword [0x7d7d68], eax
cmp dword [0x7d7d68], 0
je 0x53e860
mov dword [ebp - 0x4c], 0
jmp 0x53e87e
push 0x1ce
push str.cryptomem_sec.c
push str.assertion_failed:_sh.bittable___NULL
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x4c], 1
cmp dword [0x7d7d68], 0
jne 0x53e88c
jmp 0x53e9fe
push 0x1d2
push str.cryptomem_sec.c
mov ecx, dword [0x7d7d70]
shr ecx, 3
push ecx
call fcn.0051c890
add esp, 0xc
mov dword [0x7d7d6c], eax
cmp dword [0x7d7d6c], 0
je 0x53e8bf
mov dword [ebp - 0x50], 0
jmp 0x53e8dd
push 0x1d3
push str.cryptomem_sec.c
push str.assertion_failed:_sh.bitmalloc___NULL
call fcn.005c1240
add esp, 0xc
mov dword [ebp - 0x50], 1
cmp dword [0x7d7d6c], 0
jne 0x53e8eb
jmp 0x53e9fe
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 [0x7d7d58]
add ecx, dword [ebp - 4]
mov dword [0x7d7d50], ecx
push 4
push 0x3000
mov edx, dword [0x7d7d50]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x7d7d4c], eax
cmp dword [0x7d7d4c], 0
jne 0x53e936
jmp 0x53e9fe
mov eax, dword [0x7d7d4c]
add eax, dword [ebp - 4]
mov dword [0x7d7d54], eax
mov ecx, dword [0x7d7d68]
push ecx
push 0
mov edx, dword [0x7d7d54]
push edx
call fcn.0053ea10
add esp, 0xc
mov eax, dword [0x7d7d54]
push eax
mov ecx, dword [0x7d7d5c]
push ecx
call fcn.0053eb70
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 [0x7d7d4c]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x53e999
mov dword [ebp - 0x38], 2
mov edx, dword [ebp - 4]
add edx, dword [0x7d7d58]
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 [0x7d7d4c]
add edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x53e9db
mov dword [ebp - 0x38], 2
mov eax, dword [0x7d7d58]
push eax
mov ecx, dword [0x7d7d54]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualLock]
test eax, eax
jne 0x53e9f9
mov dword [ebp - 0x38], 2
mov eax, dword [ebp - 0x38]
jmp 0x53ea05
call fcn.0053ecd0
xor eax, eax
mov esp, ebp
pop ebp
ret