Function at 0x406480
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f52db
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x55a3d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], 0xffffffff
mov ecx, dword [ecx]
mov dword [ebp - 0x78], ecx
cmp eax, 0xc0000001
jg 0x4064fa
je 0x4064ec
cmp eax, 0x80000000
je 0x40652e
cmp eax, 0xc0000000
jne 0x406501
lea eax, [ebx + 4]
mov dword [ebp - 0x80], 2
jmp 0x40653a
mov eax, 8
mov dword [ebp - 0x80], 1
jmp 0x40653a
cmp eax, 0xc0000002
je 0x40652e
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], 0x11
call fcn.00409e40
push 0x52da88
lea ecx, [ebp - 0x44]
push ecx
call fcn.004b9b55
mov eax, 2
mov dword [ebp - 0x80], 4
push ebx
push ebx
push ebx
push eax
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x84], eax
cmp eax, ebx
jne 0x40659d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x8c], eax
mov ecx, 0x510f78
cmp eax, dword [ecx]
je 0x406598
add ecx, 8
cmp ecx, str.boost::interprocess_exception::library_error
jne 0x406561
mov ecx, 1
lea edx, [ebp - 0x44]
mov dword [ebp - 0x88], ecx
push edx
lea ecx, [ebp - 0x8c]
call fcn.00409e40
push 0x52da88
lea eax, [ebp - 0x44]
push eax
call fcn.004b9b55
mov ecx, dword [ecx + 4]
jmp 0x406575
mov dword [ebp - 0x88], eax
mov dword [ebp - 4], ebx
mov esi, dword [0x565200]
cmp esi, ebx
jne 0x4065bd
lea ecx, [ebp - 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov esi, dword [ebp - 0x1c]
push ebx
push esi
push ebx
push ebx
call fcn.004ba5c0
mov ebx, eax
imul ebx, esi
mov esi, 4
mov dword [ebp - 0x90], 0
call fcn.0040aea0
mov ecx, dword [ebp - 0x84]
push 0
push 0x10
lea edx, [ebp - 0xa4]
push edx
push 0
push ecx
call eax
test eax, eax
je 0x406623
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea eax, [ebp - 0x7c]
call fcn.00409d80
lea edx, [ebp - 0x44]
push edx
lea ecx, [ebp - 0x7c]
call fcn.00409e40
push 0x52da88
lea eax, [ebp - 0x44]
push eax
call fcn.004b9b55
mov edx, dword [ebp - 0x98]
test edx, edx
jl 0x4066c1
mov esi, dword [ebp - 0x9c]
jg 0x406641
test esi, esi
jb 0x4066c1
mov ecx, dword [ebp - 0x90]
mov eax, esi
add eax, ebx
adc edx, ecx
test edx, edx
ja 0x4066c1
jb 0x406658
cmp eax, 0xffffffff
ja 0x4066c1
push 0
add esi, ebx
mov eax, ebx
neg eax
lea edx, [ebx + esi]
push edx
adc ecx, 0
push eax
mov eax, dword [ebp - 0x80]
neg ecx
push ecx
mov ecx, dword [ebp - 0x84]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFileEx]
test eax, eax
jne 0x4066ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x7c], eax
mov ecx, 0x510f78
mov edi, edi
cmp eax, dword [ecx]
je 0x4066e9
add ecx, 8
cmp ecx, str.boost::interprocess_exception::library_error
jne 0x406690
mov ecx, 1
lea edx, [ebp - 0x44]
mov dword [ebp - 0x78], ecx
push edx
lea ecx, [ebp - 0x7c]
call fcn.00409e40
push 0x52da88
lea eax, [ebp - 0x44]
push eax
call fcn.004b9b55
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0x12
call fcn.00409e40
push 0x52da88
lea edx, [ebp - 0x44]
push edx
call fcn.004b9b55
mov ecx, dword [ecx + 4]
jmp 0x4066a4
mov edx, dword [ebp - 0x84]
lea ecx, [ebx + eax]
push edx
mov dword [edi], ecx
mov dword [edi + 8], ebx
mov dword [edi + 4], esi
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
push 0
push 0
lea eax, [edi + 0x10]
push eax
call esi
push eax
mov eax, dword [ebp - 0x78]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x406768
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea eax, [ebp - 0x94]
call fcn.00409d80
mov esi, edi
call fcn.00408380
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00409e40
push 0x52da88
lea edx, [ebp - 0x74]
push edx
call fcn.004b9b55
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004b58f8
mov esp, ebp
pop ebp
ret 4