Function at 0x448040
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4e50e8
push eax
mov dword fs:[0], esp
sub esp, 0x40
cmp dword [0x648e40], 0x28
je 0x448602
xor eax, eax
push ebx
push esi
mov dword [0x648e40], eax
push edi
mov dword [0x648e44], eax
mov dword [0x648e48], eax
mov dword [0x648e4c], eax
mov dword [0x648e50], eax
mov dword [0x648e54], eax
mov dword [0x648e58], eax
mov dword [0x648e5c], eax
mov dword [0x648e60], eax
mov dword [0x648e64], eax
mov dword [0x648e40], 0x28
call fcn.00447e40
mov dword [0x648e50], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x4c]
push eax
mov dword [0x648e54], edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [ebp - 0x38]
lea ecx, [ebp - 0x18]
push 0
call fcn.0044ad80
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0044b860
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], eax
call fcn.0044b7e0
mov esi, eax
xor ebx, ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x448148
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x448148
mov eax, edx
and eax, 1
shrd edx, ecx, 1
add ebx, eax
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x448135
mov ecx, 1
cmp dword [ebp - 0x14], ecx
cmova ecx, dword [ebp - 0x14]
cmp edi, ecx
mov byte [0x648e48], cl
mov eax, ecx
cmova eax, edi
cmp eax, esi
cmova esi, eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
cmp esi, ebx
push eax
lea eax, [ebp - 0x24]
cmova ebx, esi
push eax
lea eax, [ebp - 0x10]
mov byte [0x648e47], bl
push eax
push 1
call fcn.004488d0
add esp, 0x14
pop edi
pop esi
pop ebx
test al, al
jne 0x448196
xor dl, dl
jmp 0x44819f
mov edx, dword [ebp - 0x14]
shr edx, 4
and dl, 1
mov cl, byte [0x648e44]
mov al, cl
xor al, dl
and al, 1
xor cl, al
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
mov byte [0x648e44], cl
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4481d5
xor cl, cl
jmp 0x4481de
mov ecx, dword [ebp - 0x14]
shr ecx, 0xf
and cl, 1
mov al, byte [0x648e44]
add cl, cl
xor cl, al
and cl, 2
xor al, cl
mov byte [0x648e44], al
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x448213
xor cl, cl
jmp 0x44821c
mov ecx, dword [ebp - 0x14]
shr ecx, 0x10
and cl, 1
mov al, byte [0x648e44]
shl cl, 2
xor cl, al
and cl, 4
xor al, cl
mov byte [0x648e44], al
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x448252
xor cl, cl
jmp 0x44825b
mov ecx, dword [ebp - 0x14]
shr ecx, 0x17
and cl, 1
mov al, byte [0x648e45]
shl cl, 3
xor cl, al
and cl, 8
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x448291
xor cl, cl
jmp 0x44829a
mov ecx, dword [ebp - 0x14]
shr ecx, 0x19
and cl, 1
mov al, byte [0x648e44]
shl cl, 3
xor cl, al
and cl, 8
xor al, cl
mov byte [0x648e44], al
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4482d0
xor cl, cl
jmp 0x4482d9
mov ecx, dword [ebp - 0x14]
shr ecx, 0x1a
and cl, 1
mov al, byte [0x648e44]
shl cl, 4
xor cl, al
and cl, 0x10
xor al, cl
mov byte [0x648e44], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x44830f
xor cl, cl
jmp 0x448315
mov cl, byte [ebp - 0x14]
and cl, 1
mov al, byte [0x648e44]
shl cl, 5
xor cl, al
and cl, 0x20
xor al, cl
mov byte [0x648e44], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x44834b
xor cl, cl
jmp 0x448354
mov ecx, dword [ebp - 0x14]
shr ecx, 9
and cl, 1
mov al, byte [0x648e44]
shl cl, 6
xor cl, al
and cl, 0x40
xor al, cl
mov byte [0x648e44], al
call fcn.00448840
push 0x5030a8
push eax
call fcn.004535fb
add esp, 8
test eax, eax
je 0x448383
xor cl, cl
jmp 0x4483b1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push closesocket
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4483a8
xor cl, cl
jmp 0x4483b1
mov ecx, dword [ebp - 0x14]
shr ecx, 6
and cl, 1
mov al, byte [0x648e45]
add cl, cl
xor cl, al
and cl, 2
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4483e6
xor cl, cl
jmp 0x4483ef
mov ecx, dword [ebp - 0x14]
shr ecx, 0x13
and cl, 1
mov al, byte [0x648e44]
and al, 0x7f
shl cl, 7
or cl, al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
mov byte [0x648e44], cl
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x448423
xor cl, cl
jmp 0x44842c
mov ecx, dword [ebp - 0x14]
shr ecx, 0x14
and cl, 1
mov al, byte [0x648e45]
xor cl, al
and cl, 1
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x10]
push eax
push eax
push eax
lea eax, [ebp - 0x14]
push eax
push closesocket
call fcn.004488d0
add esp, 0x14
test al, al
je 0x448487
cmp dword [ebp - 0x14], 0x80000000
jbe 0x448487
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
push eax
push eax
push closesocket
call fcn.004488d0
add esp, 0x14
test al, al
je 0x448487
mov ecx, dword [ebp - 0x14]
shr ecx, 0x1f
and cl, 1
jmp 0x448489
xor cl, cl
mov al, byte [0x648e45]
shl cl, 2
xor cl, al
and cl, 4
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4484bf
xor cl, cl
jmp 0x4484c8
mov ecx, dword [ebp - 0x14]
shr ecx, 0x19
and cl, 1
mov al, byte [0x648e45]
shl cl, 5
xor cl, al
and cl, 0x20
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x4484fe
xor cl, cl
jmp 0x448507
mov ecx, dword [ebp - 0x14]
shr ecx, 0x1c
and cl, 1
mov al, byte [0x648e45]
shl cl, 6
xor cl, al
and cl, 0x40
xor al, cl
mov byte [0x648e45], al
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x44853d
xor cl, cl
jmp 0x448546
mov ecx, dword [ebp - 0x14]
shr ecx, 0xd
and cl, 1
mov al, byte [0x648e45]
and al, 0x7f
shl cl, 7
or cl, al
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
mov byte [0x648e45], cl
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push closesocket
call fcn.004488d0
add esp, 0x14
test al, al
jne 0x44857d
xor cl, cl
jmp 0x4485ad
cmp dword [ebp - 0x14], 0x80000000
jbe 0x448579
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push closesocket
call fcn.004488d0
add esp, 0x14
test al, al
je 0x448579
mov cl, byte [ebp - 0x10]
and cl, 1
mov al, byte [0x648e46]
xor cl, al
and cl, 1
xor al, cl
mov byte [0x648e46], al
call fcn.00447f60
mov cl, byte [0x648e46]
add al, al
xor al, cl
and al, 2
xor cl, al
mov byte [0x648e46], cl
call fcn.00448840
push 0x648e5c
mov dword [0x648e58], eax
call fcn.00448620
add esp, 4
mov dword [0x648e60], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0044b190
mov ecx, dword [ebp - 0xc]
mov eax, 0x648e40
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret