Function at 0x41f160
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x70], xmm14
movdqa xmmword [rbp + 0x60], xmm13
movdqa xmmword [rbp + 0x50], xmm12
movdqa xmmword [rbp + 0x40], xmm11
movdqa xmmword [rbp + 0x30], xmm10
movdqa xmmword [rbp + 0x20], xmm9
movdqa xmmword [rbp + 0x10], xmm8
movdqa xmmword [rbp], xmm7
movdqa xmmword [rbp - 0x10], xmm6
mov r15, r9
mov esi, r8d
mov r12, rdx
mov rdi, rcx
cmp qword [0x00443458], 0
je 0x41f1df
test r15, r15
je 0x41f259
test rdi, rdi
je 0x41f756
xor r8d, r8d
jmp 0x41f287
lea rcx, [rbp - 0x58]
call sub.KERNEL32_GetSystemInfo
mov eax, dword [rbp - 0x30]
lea ecx, [rax - 1]
test rcx, rax
jne 0x41f7b0
mov edx, 0xffffffff
mov ecx, dword [rbp - 0x54]
add edx, ecx
test rdx, rcx
jne 0x41f7b0
mov qword [0x00443468], rax
mov qword [0x00443460], rcx
movdqa xmm0, xmmword [0x00436d80]
movdqu xmmword [0x00443470], xmm0
mov dword [0x00443480], 5
mov dword [0x00443420], 5
call sub.KERNEL32_GetTickCount
and eax, 0xfffffff0
xor eax, 0x55555558
mov qword [0x00443458], rax
test r15, r15
jne 0x41f1ce
test rdi, rdi
je 0x41f670
lea rax, [rdi*8]
lea rcx, [rdi*8 + 0x17]
and rcx, 0xfffffffffffffff0
cmp rax, 0x17
mov r8d, 0x20
cmovae r8, rcx
xor r15d, r15d
test sil, 1
mov dword [rbp - 0x14], esi
jne 0x41f2a0
cmp rdi, 4
jae 0x41f2c6
xor eax, eax
xor r14d, r14d
jmp 0x41f57d
mov rax, qword [r12]
lea rcx, [rax + 0x17]
and rcx, 0xfffffffffffffff0
cmp rax, 0x17
mov r13d, 0x20
cmovae r13, rcx
mov r14, r13
imul r14, rdi
jmp 0x41f5af
mov rax, rdi
and rax, 0xfffffffffffffffc
lea rdx, [rax - 4]
shr rdx, 2
lea ecx, [rdx + 1]
and ecx, 1
test rdx, rdx
je 0x41f798
lea rbx, [rcx - 1]
sub rbx, rdx
pxor xmm0, xmm0
xor edx, edx
movdqa xmm8, xmmword [0x00436d90]
movdqa xmm12, xmmword [0x00436da0]
movdqa xmm9, xmmword [0x00436db0]
movdqa xmm10, xmmword [0x00436dc0]
movdqa xmm11, xmmword [0x00436dd0]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm4, xmmword [r12 + rdx*8]
movdqu xmm6, xmmword [r12 + rdx*8 + 0x10]
movdqu xmm14, xmmword [r12 + rdx*8 + 0x20]
movdqu xmm13, xmmword [r12 + rdx*8 + 0x30]
movdqa xmm5, xmm4
pxor xmm5, xmm8
movdqa xmm3, xmm12
pcmpgtd xmm3, xmm5
pshufd xmm7, xmm3, 0xa0
pcmpeqd xmm5, xmm12
pshufd xmm5, xmm5, 0xf5
pand xmm5, xmm7
pshufd xmm3, xmm3, 0xf5
por xmm3, xmm5
movdqa xmm5, xmm6
pxor xmm5, xmm8
movdqa xmm7, xmm12
pcmpgtd xmm7, xmm5
pshufd xmm2, xmm7, 0xa0
pcmpeqd xmm5, xmm12
pshufd xmm5, xmm5, 0xf5
pand xmm5, xmm2
pshufd xmm2, xmm7, 0xf5
por xmm2, xmm5
paddq xmm4, xmm9
paddq xmm6, xmm9
movdqa xmm5, xmm3
pandn xmm5, xmm4
movdqa xmm4, xmm2
pandn xmm4, xmm6
pand xmm3, xmm11
pand xmm5, xmm10
por xmm5, xmm3
paddq xmm5, xmm0
pand xmm2, xmm11
pand xmm4, xmm10
por xmm4, xmm2
paddq xmm4, xmm1
movdqa xmm0, xmm14
pxor xmm0, xmm8
movdqa xmm1, xmm12
pcmpgtd xmm1, xmm0
pshufd xmm2, xmm1, 0xa0
pcmpeqd xmm0, xmm12
pshufd xmm0, xmm0, 0xf5
pand xmm0, xmm2
pshufd xmm2, xmm1, 0xf5
por xmm2, xmm0
movdqa xmm0, xmm13
pxor xmm0, xmm8
movdqa xmm1, xmm12
pcmpgtd xmm1, xmm0
pshufd xmm3, xmm1, 0xa0
pcmpeqd xmm0, xmm12
pshufd xmm0, xmm0, 0xf5
pand xmm0, xmm3
pshufd xmm3, xmm1, 0xf5
por xmm3, xmm0
paddq xmm14, xmm9
paddq xmm13, xmm9
movdqa xmm0, xmm2
pandn xmm0, xmm14
movdqa xmm1, xmm3
pandn xmm1, xmm13
pand xmm2, xmm11
pand xmm0, xmm10
por xmm0, xmm2
paddq xmm0, xmm5
pand xmm3, xmm11
pand xmm1, xmm10
por xmm1, xmm3
paddq xmm1, xmm4
add rdx, 8
add rbx, 2
jne 0x41f330
test rcx, rcx
je 0x41f561
movdqu xmm2, xmmword [r12 + rdx*8]
movdqu xmm5, xmmword [r12 + rdx*8 + 0x10]
movdqa xmm3, xmmword [0x00436d90]
movdqa xmm6, xmm5
pxor xmm6, xmm3
movdqa xmm8, xmmword [0x00436da0]
movdqa xmm7, xmm8
pcmpgtd xmm7, xmm6
pshufd xmm4, xmm7, 0xa0
pcmpeqd xmm6, xmm8
pshufd xmm6, xmm6, 0xf5
pand xmm6, xmm4
pshufd xmm4, xmm7, 0xf5
por xmm4, xmm6
movdqa xmm6, xmmword [0x00436db0]
paddq xmm5, xmm6
movdqa xmm7, xmm4
pandn xmm7, xmm5
movdqa xmm9, xmmword [0x00436dc0]
movdqa xmm5, xmmword [0x00436dd0]
pand xmm4, xmm5
pand xmm7, xmm9
por xmm7, xmm4
paddq xmm1, xmm7
pxor xmm3, xmm2
movdqa xmm4, xmm8
pcmpgtd xmm4, xmm3
pshufd xmm7, xmm4, 0xa0
pcmpeqd xmm3, xmm8
pshufd xmm3, xmm3, 0xf5
pand xmm3, xmm7
pshufd xmm4, xmm4, 0xf5
por xmm4, xmm3
paddq xmm2, xmm6
movdqa xmm3, xmm4
pandn xmm3, xmm2
pand xmm4, xmm5
pand xmm3, xmm9
por xmm3, xmm4
paddq xmm0, xmm3
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0x4e
paddq xmm1, xmm0
movq r14, xmm1
cmp rax, rdi
jne 0x41f57d
xor r13d, r13d
jmp 0x41f5af
lea rcx, [r12 + rax*8]
mov rdx, rdi
sub rdx, rax
mov eax, 0x20
xor r13d, r13d
nop
mov rbx, qword [rcx]
lea rsi, [rbx + 0x17]
and rsi, 0xfffffffffffffff0
cmp rbx, 0x17
cmovb rsi, rax
add r14, rsi
add rcx, 8
dec rdx
jne 0x41f590
mov esi, dword [0x00443420]
mov eax, esi
and eax, 0xfffffffe
mov dword [0x00443420], eax
mov qword [rbp - 0x28], r8
lea rcx, [r8 + r14 - 8]
call fcn.0041c0f0
mov rbx, rax
test sil, 1
je 0x41f5de
or byte [0x00443420], 1
test rbx, rbx
je 0x41f624
mov qword [rbp - 0x20], rdi
mov rdi, r15
mov rsi, rbx
mov r15, qword [rsi - 8]
and r15, 0xfffffffffffffff8
test byte [rbp - 0x14], 2
je 0x41f613
mov r8, 0xfffffffffffffff8
sub r8, qword [rbp - 0x28]
add r8, r15
xor edx, edx
mov rcx, rsi
call fcn.00420b60
add rbx, 0xfffffffffffffff0
test rdi, rdi
je 0x41f62c
mov r14, r15
mov rax, rdi
jmp 0x41f63d
xor r15d, r15d
jmp 0x41f756
sub r15, r14
lea rax, [rbx + r14 + 0x10]
or r15, 3
mov qword [rbx + r14 + 8], r15
mov qword [rax], rsi
mov rcx, qword [rbp - 0x20]
mov rdx, rcx
dec rdx
mov r15, rax
je 0x41f74e
mov r9d, edx
and r9d, 1
cmp rcx, 2
jne 0x41f67f
xor eax, eax
test r9, r9
jne 0x41f714
jmp 0x41f74e
xor ecx, ecx
call fcn.0041c0f0
mov r15, rax
jmp 0x41f756
sub rdx, r9
xor eax, eax
mov r8d, 0x20
nop word [rax + rax]
test r13, r13
mov rcx, r13
jne 0x41f6ac
mov rsi, qword [r12 + rax*8]
lea rcx, [rsi + 0x17]
and rcx, 0xfffffffffffffff0
cmp rsi, 0x17
cmovb rcx, r8
sub r14, rcx
mov rdi, rcx
or rdi, 3
lea rsi, [rbx + rcx]
test r13, r13
mov qword [rbx + 8], rdi
lea rcx, [rbx + rcx + 0x10]
mov qword [r15 + rax*8 + 8], rcx
mov rdi, r13
jne 0x41f6ea
mov rcx, qword [r12 + rax*8 + 8]
lea rbx, [rcx + 0x17]
and rbx, 0xfffffffffffffff0
cmp rcx, 0x17
mov edi, 0x20
cmovae rdi, rbx
sub r14, rdi
mov rcx, rdi
or rcx, 3
mov qword [rsi + 8], rcx
lea rbx, [rsi + rdi]
lea rcx, [rsi + rdi + 0x10]
mov qword [r15 + rax*8 + 0x10], rcx
add rax, 2
cmp rdx, rax
jne 0x41f690
test r9, r9
je 0x41f74e
test r13, r13
jne 0x41f733
mov rcx, qword [r12 + rax*8]
lea rdx, [rcx + 0x17]
and rdx, 0xfffffffffffffff0
cmp rcx, 0x17
mov r13d, 0x20
cmovae r13, rdx
mov rcx, r13
or rcx, 3
mov qword [rbx + 8], rcx
lea rcx, [rbx + r13 + 0x10]
add rbx, r13
mov qword [r15 + rax*8 + 8], rcx
sub r14, r13
or r14, 3
mov qword [rbx + 8], r14
mov rax, r15
movaps xmm6, xmmword [rbp - 0x10]
movaps xmm7, xmmword [rbp]
movaps xmm8, xmmword [rbp + 0x10]
movaps xmm9, xmmword [rbp + 0x20]
movaps xmm10, xmmword [rbp + 0x30]
movaps xmm11, xmmword [rbp + 0x40]
movaps xmm12, xmmword [rbp + 0x50]
movaps xmm13, xmmword [rbp + 0x60]
movaps xmm14, xmmword [rbp + 0x70]
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
pxor xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
test rcx, rcx
jne 0x41f49a
jmp 0x41f561
call fcn.0042e760
ud2