Function at 0x100048c0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1084
call fcn.10043490
push ebx
push esi
push edi
push 0xb94
lea eax, [esp + 0x4fc]
mov byte [0x100563ad], 1
push 0
push eax
call fcn.10036180
sub esp, 8
lea ecx, [esp + 0x50c]
call fcn.1002b1a0
movaps xmm0, xmmword [0x1004e1f0]
lea eax, [esp + 0x104]
add esp, 0x14
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x70], xmm0
xor edx, edx
movaps xmmword [esp + 0x80], xmm0
xor ecx, ecx
movaps xmmword [esp + 0x90], xmm0
push eax
lea eax, [esp + 0x40]
movaps xmmword [esp + 0xa4], xmm0
movaps xmmword [esp + 0xb4], xmm0
movaps xmmword [esp + 0xc4], xmm0
movaps xmmword [esp + 0xd4], xmm0
movaps xmmword [esp + 0xe4], xmm0
xorps xmm0, xmm0
push eax
push 1
mov byte [esp + 0x534], 1
mov byte [esp + 0xfc], 0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x58], 0
call fcn.10001ec0
add esp, 0xc
lea eax, [esp + 0x3c]
lea edx, [esp + 0x60]
lea ecx, [esp + 0x4f8]
push 0
push eax
push 0
call fcn.10001ec0
add esp, 0xc
cmp byte [0x10051dd9], 0
je 0x100049ce
cmp byte [0x10051ddb], 0
jne 0x100049ce
push str._jemalloc_:_prof_leak_error_is_set_w_o_prof_final._n
call fcn.10028f60
add esp, 4
cmp byte [0x10051dd0], 0
jne 0x100050ae
jmp 0x100049d8
mov dword [0x10050924], 0
mov ecx, dword [0x1005094c]
cmp ecx, 0xffffffff
jne 0x100049e7
or eax, ecx
jmp 0x100049ef
mov eax, 1
shl eax, cl
dec eax
mov dword [0x10050950], eax
lea esi, [esp + 0x538]
xor eax, eax
mov ecx, 0x1000
cmp byte [0x10050905], al
cmovne eax, ecx
xor edi, edi
mov dword [0x10056a18], eax
lea ebx, [edi + 0x68]
cmp byte [esi + 4], 0
je 0x10004a36
mov edx, dword [esi]
mov eax, 1
mov ecx, dword [esi - 4]
shl edx, cl
mov ecx, dword [esi - 8]
shl eax, cl
add edx, eax
mov dword [edi*4 + 0x10056280], edx
inc edi
add esi, 0x1c
sub ebx, 1
jne 0x10004a15
cmp edi, 0x47
jg 0x10004a56
mov eax, dword [esp + 0x524]
add eax, 0x1000
mov dword [edi*4 + 0x10056280], eax
lea esi, [esp + 0x534]
xor edi, edi
nop
mov ecx, dword [esi - 4]
lea esi, [esi + 0x70]
mov eax, dword [esi - 0x6c]
mov edx, 1
shl edx, cl
mov ecx, dword [esi - 0x70]
shl eax, cl
mov ecx, dword [esi - 0x54]
add edx, eax
mov dword [edi + 0x10055e80], edx
mov eax, 1
mov edx, dword [esi - 0x50]
shl edx, cl
mov ecx, dword [esi - 0x58]
shl eax, cl
mov ecx, dword [esi - 0x38]
add edx, eax
mov dword [edi + 0x10055e84], edx
mov eax, 1
mov edx, dword [esi - 0x34]
shl edx, cl
mov ecx, dword [esi - 0x3c]
shl eax, cl
mov ecx, dword [esi - 0x1c]
add edx, eax
mov dword [edi + 0x10055e88], edx
mov eax, 1
mov edx, dword [esi - 0x18]
shl edx, cl
mov ecx, dword [esi - 0x20]
shl eax, cl
add edx, eax
mov dword [edi + 0x10055e8c], edx
add edi, 0x10
cmp edi, 0x1a0
jb 0x10004a60
xor eax, eax
lea edi, [esp + 0x534]
xor ebx, ebx
cmp eax, 0x201
jae 0x10004b20
mov ecx, dword [edi - 4]
mov esi, 1
mov edx, dword [edi + 4]
shl esi, cl
mov ecx, dword [edi]
shl edx, cl
lea ecx, [edx + 7]
add ecx, esi
shr ecx, 3
cmp eax, ecx
ja 0x10004b17
cmp eax, 0x201
jae 0x10004b17
mov byte [eax + 0x10056040], bl
inc eax
cmp eax, ecx
jbe 0x10004b05
inc ebx
add edi, 0x1c
cmp ebx, 0x68
jb 0x10004ae1
lea edi, [esp + 0x60]
mov dword [esp + 0x28], 0x24
lea esi, [esp + 0x534]
mov dword [esp + 0x24], edi
mov ebx, 0x10056a58
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ebx
mov ecx, dword [esi - 4]
mov edx, 1
mov eax, dword [esi + 4]
shl edx, cl
mov ecx, dword [esi]
shl eax, cl
lea ecx, [edx + eax]
mov eax, dword [esi + 0xc]
shl eax, 0xc
xor edx, edx
mov dword [ebx - 0x14], eax
div ecx
mov dword [ebx - 0x18], ecx
mov ecx, dword [edi]
mov dword [ebx - 0x10], eax
mov dword [ebx - 0xc], ecx
lea ecx, [eax + 0x1f]
shr ecx, 5
mov dword [esp + 0x1c], ecx
lea ebx, [ecx + 0x1f]
mov ecx, dword [esp + 0x18]
shr ebx, 5
mov dword [ecx - 8], eax
lea edi, [ebx + 0x1f]
shr edi, 5
lea esi, [edi + 0x1f]
shr esi, 5
lea edx, [esi + 0x1f]
shr edx, 5
cmp edx, esi
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x18]
sbb ecx, ecx
neg ecx
cmp ebx, dword [esp + 0x1c]
sbb eax, eax
neg eax
inc eax
add ecx, eax
cmp edi, ebx
sbb eax, eax
neg eax
add ecx, eax
cmp esi, edi
sbb eax, eax
neg eax
add ecx, eax
mov eax, dword [esp + 0x18]
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], ecx
lea eax, [ebx + ecx]
mov dword [edx + 8], eax
lea eax, [edi + ebx]
add eax, ecx
mov dword [edx + 0xc], eax
lea eax, [esi + edi]
add eax, ebx
add eax, ecx
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x30]
add eax, esi
mov esi, dword [esp + 0x20]
add eax, edi
add esi, 0x1c
mov edi, dword [esp + 0x24]
add eax, ebx
mov ebx, edx
mov dword [esp + 0x20], esi
add eax, ecx
add edi, 4
mov dword [esp + 0x24], edi
mov dword [ebx + 0x14], eax
add ebx, 0x30
sub dword [esp + 0x28], 1
mov dword [esp + 0x18], ebx
jne 0x10004b44
cmp byte [0x10051de1], 0
je 0x10004c91
push 0x10001d60
call fcn.10035214
add esp, 4
test eax, eax
je 0x10004c91
mov eax, dword [sym.jemalloc.dll_je_malloc_message]
test eax, eax
je 0x10004c58
push str._jemalloc_:_Error_in_atexit___n
push 0
call eax
add esp, 8
jmp 0x10004c84
xor esi, esi
nop word [eax + eax]
mov eax, 0x1e
sub eax, esi
push eax
lea eax, [esi + str._jemalloc_:_Error_in_atexit___n]
push eax
push 2
call fcn.10039d75
add esp, 0xc
test eax, eax
js 0x10004c84
add esi, eax
cmp esi, 0x1e
jb 0x10004c60
cmp byte [0x10051dc1], 0
jne 0x100050b3
mov esi, dword [0x10050974]
mov edx, dword [0x10050970]
test esi, esi
jg 0x10004cd2
jl 0x10004ca7
test edx, edx
jae 0x10004cc8
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
movlpd qword [esp + 0x28], xmm0
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
jmp 0x10004d06
test esi, esi
jl 0x10004cf8
jg 0x10004cd2
test edx, edx
je 0x10004cf8
mov edi, edx
mov ecx, esi
shrd edi, ecx, 6
shr ecx, 6
test ecx, ecx
jne 0x10004cf1
cmp edi, 0x400000
ja 0x10004cf1
mov eax, edi
or eax, ecx
jne 0x10004d06
jmp 0x10004cff
mov edi, 0x400000
jmp 0x10004d04
mov edx, 1
xor esi, esi
mov edi, 1
xor ecx, ecx
mov dword [0x1005685c], ecx
mov ecx, 0x10056800
push esi
push edx
mov dword [0x10056858], edi
call fcn.10016540
add esp, 8
test al, al
jne 0x100050a5
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x40]
mov dword [0x10056a20], eax
cmp eax, 0x1000
jbe 0x10004d96
mov eax, dword [sym.jemalloc.dll_je_malloc_message]
test eax, eax
je 0x10004d5b
push str._jemalloc_:_Unsupported_system_page_size_n
push 0
call eax
add esp, 8
jmp 0x10004d84
xor esi, esi
nop dword [eax]
mov eax, 0x29
sub eax, esi
push eax
lea eax, [esi + str._jemalloc_:_Unsupported_system_page_size_n]
push eax
push 2
call fcn.10039d75
add esp, 0xc
test eax, eax
js 0x10004d84
add esi, eax
cmp esi, 0x29
jb 0x10004d60
cmp byte [0x10051dc1], 0
jne 0x100050b3
jmp 0x100050a5
cmp dword [0x10055e0c], 0
mov byte [0x100564ed], 0
je 0x10004db3
cmp byte [0x10051dc1], 0
jne 0x100050b8
mov edi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 4
push 0x2000
push 0x1000
push 0
mov dword [0x10056a1c], 3
mov dword [0x10055e1c], 3
call edi
mov esi, eax
test esi, esi
je 0x100050a5
cmp byte [0x100512f1], 0
je 0x10004e01
push 4
push 0x80000
push 0x1000
push esi
call edi
jmp 0x10004e08
mov byte [0x100512f1], 0
mov ecx, esi
call fcn.1002a610
push 1
push 0x1004c768
xor edx, edx
xor ecx, ecx
call fcn.100159a0
add esp, 8
mov dword [0x100564d8], eax
test eax, eax
je 0x100050a5
push 0x40
push 0
push 0x10057268
mov dword [0x10057260], eax
call fcn.10036180
mov ecx, dword [0x1004c978]
add esp, 0xc
mov eax, dword [0x1004c97c]
mov edi, dword [sym.imp.KERNEL32.dll_InitializeSRWLock]
mov dword [0x10057270], ecx
push 0x100572ac
mov dword [0x10057274], eax
mov dword [0x10057268], ecx
mov dword [0x1005726c], eax
mov dword [0x10057298], 0
call edi
mov ecx, dword [0x1004c978]
xorps xmm0, xmm0
mov eax, dword [0x1004c97c]
push 0x10056554
movlpd qword [0x10056520], xmm0
movlpd qword [0x10056528], xmm0
movlpd qword [0x10056530], xmm0
movlpd qword [0x10056538], xmm0
movlpd qword [0x10056544], xmm0
mov dword [0x1005654c], 0
mov dword [0x10056518], ecx
mov dword [0x1005651c], eax
mov dword [0x10056510], ecx
mov dword [0x10056514], eax
mov dword [0x10056540], 0
call edi
cmp byte [0x10051dcf], 0
mov esi, str.aborting
mov byte [0x100563af], 0
mov ebx, str.disabling
je 0x10004f2c
cmp byte [0x10051dd0], 0
mov eax, esi
cmove eax, ebx
push eax
push str._jemalloc_:_HPA_not_supported_in_the_current_configuration___s.
call fcn.10028f60
add esp, 8
cmp byte [0x10051dd0], 0
jne 0x100050c7
mov byte [0x10051dcf], 0
mov edx, dword [0x100564d8]
push ecx
lea ecx, [esp + 0x4fc]
call fcn.100127f0
add esp, 4
test al, al
jne 0x100050a5
call fcn.100322c0
test al, al
jne 0x100050a5
sub esp, 8
mov ecx, 0x100563b0
call fcn.10029120
add esp, 8
test al, al
jne 0x100050a5
mov ecx, dword [0x1004c978]
xorps xmm0, xmm0
mov eax, dword [0x1004c97c]
push 0x1005660c
movlpd qword [0x100565d8], xmm0
movlpd qword [0x100565e0], xmm0
movlpd qword [0x100565e8], xmm0
movlpd qword [0x100565f0], xmm0
movlpd qword [0x100565fc], xmm0
mov dword [0x10056604], 0
mov dword [0x100565d0], ecx
mov dword [0x100565d4], eax
mov dword [0x100565c8], ecx
mov dword [0x100565cc], eax
mov dword [0x100565f8], 0
call edi
push 0x100498c8
xor edx, edx
mov dword [0x100582b8], 1
xor ecx, ecx
mov dword [0x100582b4], 2
mov dword [0x10051e00], 0
call fcn.100018f0
add esp, 4
test eax, eax
je 0x100050a5
mov eax, dword [0x10051e00]
nop
nop
cmp byte [0x10051dcf], 0
mov dword [0x100563f8], eax
je 0x1000504e
cmp byte [0x10051dd0], 0
cmove esi, ebx
push esi
push str._jemalloc_:_HPA_not_supported_in_the_current_configuration___s.
call fcn.10028f60
add esp, 8
cmp byte [0x10051dd0], 0
jne 0x100050c7
mov byte [0x10051dcf], 0
lea ecx, [esp + 0xf0]
mov dword [0x10050928], 2
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005062
sub ecx, edx
je 0x1000509c
lea edi, [ecx + 1]
xor dl, dl
push 1
mov ecx, edi
call fcn.100017a0
mov esi, eax
add esp, 4
test esi, esi
je 0x1000509c
push edi
lea eax, [esp + 0xf4]
push eax
push esi
call fcn.10036c90
add esp, 0xc
mov dword [0x10051dc8], esi
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10001e50
call fcn.10038150
mov ecx, str._jemalloc_:_no_MADV_HUGEPAGE_support_n
call fcn.10027c00
call fcn.10038150
call fcn.10001e50
int3