Function at 0x41c0f0
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, 0x58
lea rbp, [rsp + 0x50]
mov rdx, rcx
cmp rdx, 0xe8
ja 0x41c18f
lea rax, [rdx + 0x17]
and rax, 0xfffffffffffffff0
cmp rdx, 0x17
mov r15d, 0x20
cmovae r15, rax
mov rcx, r15
shr rcx, 3
mov r13d, dword [0x004430b0]
mov eax, r13d
shr eax, cl
test al, 3
je 0x41c22e
and eax, 1
or eax, ecx
xor eax, 1
lea edx, [rax + rax]
lea rbx, [0x004430b0]
lea rcx, [rbx + rdx*8 + 0x48]
mov rdx, qword [rbx + rdx*8 + 0x58]
mov rbx, qword [rdx + 0x10]
cmp rbx, rcx
je 0x41c2e0
cmp qword [0x004430c8], rbx
ja 0x41c7e2
cmp qword [rbx + 0x18], rdx
jne 0x41c7e2
mov qword [rbx + 0x18], rcx
mov qword [rcx + 0x10], rbx
jmp 0x41c2f3
mov r15, 0xffffffffffffffff
cmp rdx, 0xffffffffffffff7f
ja 0x41c89e
add rdx, 0x17
mov r15, rdx
and r15, 0xfffffffffffffff0
mov r10d, dword [0x004430b4]
test r10d, r10d
je 0x41c89e
shr rdx, 8
je 0x41c30c
mov r9d, 0x1f
cmp r15, 0xffffff
ja 0x41c30f
lea eax, [rdx + 0xfff00]
shr eax, 0x10
and eax, 8
mov ecx, eax
shl edx, cl
lea ecx, [rdx + 0x7f000]
shr ecx, 0x10
and ecx, 4
or eax, ecx
shl edx, cl
lea ecx, [rdx + 0x3c000]
shr ecx, 0x10
and ecx, 2
or eax, ecx
mov ebx, 0xe
sub ebx, eax
shl edx, cl
shr edx, 0xf
lea eax, [rbx + rdx]
lea ecx, [rbx + rdx + 7]
mov rdx, r15
shr rdx, cl
and edx, 1
lea r9d, [rdx + rax*2]
jmp 0x41c30f
mov r8, qword [0x004430b8]
cmp r15, r8
jbe 0x41c89e
test eax, eax
je 0x41c42a
shl eax, cl
mov edx, 2
shl edx, cl
mov ecx, edx
neg ecx
or ecx, edx
and ecx, eax
mov eax, ecx
neg eax
and eax, ecx
dec eax
mov edx, eax
shr edx, 0xc
and edx, 0x10
mov ecx, edx
shr eax, cl
mov ecx, eax
shr ecx, 5
and ecx, 8
or edx, ecx
shr eax, cl
mov ecx, eax
shr ecx, 2
and ecx, 4
or edx, ecx
shr eax, cl
mov ecx, eax
shr ecx, 1
and ecx, 2
or edx, ecx
shr eax, cl
mov ecx, eax
shr ecx, 1
and ecx, 1
or edx, ecx
shr eax, cl
add eax, edx
lea edx, [rax + rax]
lea r9, [0x004430b0]
lea rcx, [r9 + rdx*8 + 0x48]
mov rdx, qword [r9 + rdx*8 + 0x58]
mov rbx, qword [rdx + 0x10]
cmp rbx, rcx
je 0x41c550
cmp qword [0x004430c8], rbx
ja 0x41c7e2
cmp qword [rbx + 0x18], rdx
jne 0x41c7e2
mov qword [rbx + 0x18], rcx
mov qword [rcx + 0x10], rbx
jmp 0x41c563
mov ebx, 0xfffffffe
mov ecx, eax
rol ebx, cl
and r13d, ebx
mov dword [0x004430b0], r13d
shl eax, 3
lea rcx, [rax + 3]
mov qword [rdx + 8], rcx
or byte [rdx + rax + 8], 1
lea r12, [rdx + 0x10]
jmp 0x41c920
xor r9d, r9d
mov r13, r15
neg r13
mov ecx, r9d
lea r8, [0x004430b0]
mov rsi, qword [r8 + rcx*8 + 0x258]
test rsi, rsi
je 0x41c336
cmp r9d, 0x1f
jne 0x41c33d
xor ecx, ecx
jmp 0x41c34d
xor ecx, ecx
xor r12d, r12d
jmp 0x41c3a8
mov edx, r9d
shr edx, 1
add edx, 6
mov ecx, 0x3f
sub rcx, rdx
mov rax, r15
shl rax, cl
xor ecx, ecx
xor r12d, r12d
nop dword [rax + rax]
mov rdx, qword [rsi + 8]
and rdx, 0xfffffffffffffff8
sub rdx, r15
cmp rdx, r13
jae 0x41c37f
test rdx, rdx
mov r13, rdx
mov r12, rsi
je 0x41c542
mov rbx, qword [rsi + 0x28]
mov rdi, rax
shr rdi, 0x3f
mov rsi, qword [rsi + rdi*8 + 0x20]
cmp rbx, rsi
mov rdx, rbx
cmove rdx, rcx
test rbx, rbx
cmovne rcx, rdx
add rax, rax
test rsi, rsi
jne 0x41c360
mov rax, rcx
or rax, r12
jne 0x41c825
mov edx, 2
mov ecx, r9d
shl edx, cl
mov eax, edx
neg eax
or eax, edx
and eax, r10d
je 0x41c89e
mov edx, eax
neg edx
and edx, eax
dec edx
mov eax, edx
shr eax, 0xc
and eax, 0x10
mov ecx, eax
shr edx, cl
mov ecx, edx
shr ecx, 5
and ecx, 8
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 2
and ecx, 4
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 1
and ecx, 2
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 1
and ecx, 1
or eax, ecx
shr edx, cl
add edx, eax
mov rcx, qword [r8 + rdx*8 + 0x258]
xor r12d, r12d
test rcx, rcx
jne 0x41c800
jmp 0x41c82a
mov r11d, dword [0x004430b4]
test r11d, r11d
je 0x41c89e
mov edx, r11d
neg edx
and edx, r11d
dec edx
mov eax, edx
shr eax, 0xc
and eax, 0x10
mov ecx, eax
shr edx, cl
mov ecx, edx
shr ecx, 5
and ecx, 8
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 2
and ecx, 4
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 1
and ecx, 2
or eax, ecx
shr edx, cl
mov ecx, edx
shr ecx, 1
and ecx, 1
or eax, ecx
shr edx, cl
add edx, eax
lea r9, [0x004430b0]
mov r12, qword [r9 + rdx*8 + 0x258]
mov rax, qword [r12 + 8]
and rax, 0xfffffffffffffff8
sub rax, r15
xor ecx, ecx
cmp qword [r12 + 0x20], 0
sete cl
mov rcx, qword [r12 + rcx*8 + 0x20]
test rcx, rcx
je 0x41c4da
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffff8
sub rdx, r15
cmp rdx, rax
cmovb rax, rdx
cmovb r12, rcx
xor edx, edx
cmp qword [rcx + 0x20], 0
sete dl
mov rcx, qword [rcx + rdx*8 + 0x20]
test rcx, rcx
jne 0x41c4b0
mov rbx, qword [0x004430c8]
cmp rbx, r12
ja 0x41c7e2
lea r10, [r12 + r15]
cmp r10, r12
jbe 0x41c7e2
mov rdx, qword [r12 + 0x18]
mov r14, qword [r12 + 0x30]
cmp rdx, r12
je 0x41c5ea
mov rcx, qword [r12 + 0x10]
cmp rbx, rcx
ja 0x41c7e2
cmp qword [rcx + 0x18], r12
jne 0x41c7e2
cmp qword [rdx + 0x10], r12
jne 0x41c7e2
mov qword [rcx + 0x18], rdx
mov qword [rdx + 0x10], rcx
test r14, r14
jne 0x41c689
jmp 0x41c7c6
xor r13d, r13d
mov rcx, rsi
mov r12, rsi
jmp 0x41c800
mov ebx, 0xfffffffe
mov ecx, eax
rol ebx, cl
and r13d, ebx
mov dword [0x004430b0], r13d
lea r12, [rdx + 0x10]
shl eax, 3
mov rsi, rax
sub rsi, r15
cmp rsi, 0x1f
ja 0x41c58b
mov rcx, rax
or rcx, 3
mov qword [rdx + 8], rcx
or byte [rdx + rax + 8], 1
jmp 0x41c920
mov rcx, r15
or rcx, 3
mov qword [rdx + 8], rcx
mov rcx, rsi
or rcx, 1
mov qword [rdx + r15 + 8], rcx
mov qword [rdx + rax], rsi
test r8, r8
je 0x41c618
mov rax, qword [0x004430d0]
mov rcx, r8
shr rcx, 3
movabs rbx, 0x3fffffff8
and rbx, r8
lea r8, [r9 + rbx*2 + 0x48]
mov ebx, 1
shl ebx, cl
bt r13d, ecx
jae 0x41c5fb
mov rcx, qword [r8 + 0x10]
cmp qword [0x004430c8], rcx
jbe 0x41c608
jmp 0x41c7e2
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x41c62e
lea rcx, [r12 + 0x28]
jmp 0x41c650
or r13d, ebx
mov dword [0x004430b0], r13d
mov rcx, r8
mov qword [r8 + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], r8
add rdx, r15
mov qword [0x004430b8], rsi
mov qword [0x004430d0], rdx
jmp 0x41c920
mov rsi, qword [r12 + 0x20]
test rsi, rsi
je 0x41c7d5
lea rcx, [r12 + 0x20]
nop word cs:[rax + rax]
mov rdx, rsi
mov rdi, rcx
lea rcx, [rdx + 0x28]
mov rsi, qword [rdx + 0x28]
test rsi, rsi
jne 0x41c650
lea rcx, [rdx + 0x20]
mov rsi, qword [rdx + 0x20]
test rsi, rsi
jne 0x41c650
cmp rbx, rdi
ja 0x41c7e2
mov qword [rdi], 0
test r14, r14
je 0x41c7c6
mov ecx, dword [r12 + 0x38]
cmp r12, qword [r9 + rcx*8 + 0x258]
je 0x41c6c0
mov rcx, qword [0x004430c8]
cmp rcx, r14
ja 0x41c7e2
xor ebx, ebx
cmp qword [r14 + 0x20], r12
setne bl
mov qword [r14 + rbx*8 + 0x20], rdx
test rdx, rdx
jne 0x41c6d8
jmp 0x41c7c6
mov qword [r9 + rcx*8 + 0x258], rdx
test rdx, rdx
je 0x41c7b5
mov rcx, qword [0x004430c8]
cmp rcx, rdx
ja 0x41c7e2
mov qword [rdx + 0x30], r14
mov rbx, qword [r12 + 0x20]
test rbx, rbx
je 0x41c700
cmp rcx, rbx
ja 0x41c7e2
mov qword [rdx + 0x20], rbx
mov qword [rbx + 0x30], rdx
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x41c7c6
cmp rcx, rbx
ja 0x41c7e2
mov qword [rdx + 0x28], rbx
mov qword [rbx + 0x30], rdx
cmp rax, 0x1f
jbe 0x41c7d0
mov rcx, r15
or rcx, 3
mov qword [r12 + 8], rcx
mov rcx, rax
or rcx, 1
mov qword [r12 + r15 + 8], rcx
mov qword [r10 + rax], rax
test r8, r8
je 0x41c7a2
mov rdx, qword [0x004430d0]
mov rcx, r8
shr rcx, 3
movabs rbx, 0x3fffffff8
and rbx, r8
lea rsi, [r9 + rbx*2 + 0x48]
mov ebx, 1
shl ebx, cl
bt r13d, ecx
jae 0x41c786
mov rcx, qword [rsi + 0x10]
cmp qword [0x004430c8], rcx
jbe 0x41c792
jmp 0x41c7e2
or ebx, r13d
mov dword [0x004430b0], ebx
mov rcx, rsi
mov qword [rsi + 0x10], rdx
mov qword [rcx + 0x18], rdx
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rsi
mov qword [0x004430b8], rax
mov qword [0x004430d0], r10
jmp 0x41c91c
mov edx, 0xfffffffe
rol edx, cl
and r11d, edx
mov dword [0x004430b4], r11d
cmp rax, 0x1f
ja 0x41c729
add rax, r15
jmp 0x41c7e9
xor edx, edx
test r14, r14
jne 0x41c689
jmp 0x41c7c6
call fcn.0042e760
ud2
mov rcx, rax
or rcx, 3
mov qword [r12 + 8], rcx
or byte [r12 + rax + 8], 1
jmp 0x41c91c
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffff8
sub rax, r15
cmp rax, r13
cmovb r13, rax
cmovb r12, rcx
xor eax, eax
cmp qword [rcx + 0x20], 0
sete al
mov rcx, qword [rcx + rax*8 + 0x20]
test rcx, rcx
jne 0x41c800
test r12, r12
je 0x41c89e
mov rax, qword [0x004430b8]
sub rax, r15
cmp r13, rax
jae 0x41c89e
mov r14, qword [0x004430c8]
cmp r14, r12
ja 0x41c7e2
lea r9, [r12 + r15]
cmp r9, r12
jbe 0x41c7e2
mov rsi, qword [r12 + 0x18]
mov r11, qword [r12 + 0x30]
cmp rsi, r12
je 0x41cb3b
mov rax, qword [r12 + 0x10]
cmp r14, rax
ja 0x41c7e2
cmp qword [rax + 0x18], r12
jne 0x41c7e2
cmp qword [rsi + 0x10], r12
jne 0x41c7e2
mov qword [rax + 0x18], rsi
mov qword [rsi + 0x10], rax
test r11, r11
jne 0x41cc29
jmp 0x41d225
mov rax, qword [0x004430b8]
mov rcx, rax
sub rcx, r15
jae 0x41c8e0
mov rax, qword [0x004430c0]
mov rcx, rax
sub rcx, r15
jbe 0x41c934
mov qword [0x004430c0], rcx
mov r12, qword [0x004430d8]
lea rax, [r12 + r15]
mov qword [0x004430d8], rax
or rcx, 1
mov qword [r12 + r15 + 8], rcx
jmp 0x41c913
mov r12, qword [0x004430d0]
cmp rcx, 0x20
jb 0x41ca0f
lea rdx, [r12 + r15]
mov qword [0x004430d0], rdx
mov qword [0x004430b8], rcx
mov rdx, rcx
or rdx, 1
mov qword [r12 + r15 + 8], rdx
mov qword [r12 + rax], rcx
or r15, 3
mov qword [r12 + 8], r15
add r12, 0x10
mov rax, r12
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp qword [0x00443458], 0
jne 0x41c9b6
lea rcx, [rbp - 0x28]
call sub.KERNEL32_GetSystemInfo
mov eax, dword [rbp]
lea ecx, [rax - 1]
test rcx, rax
jne 0x41c7e2
mov edx, 0xffffffff
mov ecx, dword [rbp - 0x24]
add edx, ecx
test rdx, rcx
jne 0x41c7e2
mov qword [0x00443468], rax
mov qword [0x00443460], rcx
movdqa xmm0, xmmword [0x00436d40]
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
mov rax, qword [0x004430c0]
test byte [0x00443420], 1
je 0x41ca53
cmp qword [0x00443470], r15
ja 0x41ca53
test rax, rax
je 0x41ca53
mov rdi, qword [0x00443468]
lea rax, [r15 + rdi + 0x3e]
neg rdi
and rdi, rax
mov rax, qword [0x00443418]
test rax, rax
je 0x41ca2a
cmp rdi, r15
jbe 0x41ca53
mov rcx, qword [0x00443408]
lea rdx, [rcx + rdi]
cmp rdx, rax
ja 0x41ca53
cmp rdx, rcx
ja 0x41ca2f
jmp 0x41ca53
mov qword [0x004430b8], 0
mov qword [0x004430d0], 0
jmp 0x41c7e9
cmp rdi, r15
jbe 0x41ca53
xor ecx, ecx
mov r8d, 0x103000
mov r9d, 4
mov rdx, rdi
call sub.KERNEL32_VirtualAlloc
lea rcx, [rax + 1]
cmp rcx, 2
jae 0x41cb53
mov rdi, qword [0x00443468]
lea rax, [r15 + rdi + 0x5f]
neg rdi
and rdi, rax
cmp rdi, r15
jbe 0x41d509
mov rax, qword [0x00443418]
test rax, rax
je 0x41ca9a
mov rdx, qword [0x00443408]
lea rcx, [rdx + rdi]
xor r12d, r12d
cmp rcx, rdx
jbe 0x41c920
cmp rcx, rax
ja 0x41c920
xor r12d, r12d
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
mov rdx, rdi
call sub.KERNEL32_VirtualAlloc
test rax, rax
sete dl
cmp rax, 0xffffffffffffffff
sete bl
lea rsi, [rax + 1]
xor r11d, r11d
cmp rsi, 1
seta cl
or bl, dl
cmovne rdi, r12
cmp rsi, 2
jb 0x41c920
mov rdx, qword [0x00443408]
add rdx, rdi
mov qword [0x00443408], rdx
cmp rdx, qword [0x00443410]
jbe 0x41caff
mov qword [0x00443410], rdx
mov r11b, cl
mov r14, qword [0x004430d8]
test r14, r14
je 0x41cda8
lea rbx, [0x00443428]
mov rcx, qword [rbx]
mov rsi, qword [rbx + 8]
lea rdx, [rcx + rsi]
cmp rax, rdx
je 0x41ce9e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x41cb19
jmp 0x41cf0a
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x41cbcf
lea rax, [r12 + 0x28]
jmp 0x41cbf0
lea rcx, [rax + 0x10]
mov edx, ecx
and edx, 0xf
neg ecx
and ecx, 0xf
test rdx, rdx
cmove rcx, rdx
mov rdx, rdi
sub rdx, rcx
lea rbx, [rdx - 0x20]
lea r12, [rax + rcx]
mov qword [rax + rcx], rcx
mov qword [rax + rcx + 8], rbx
mov ecx, 0xb
movq xmm0, rcx
movdqu xmmword [rdx + r12 - 0x18], xmm0
mov rcx, qword [0x004430c8]
test rcx, rcx
je 0x41cba1
cmp rax, rcx
jae 0x41cba8
mov qword [0x004430c8], rax
add rdi, qword [0x00443408]
mov qword [0x00443408], rdi
cmp rdi, qword [0x00443410]
jbe 0x41c91c
mov qword [0x00443410], rdi
jmp 0x41c91c
mov rdi, qword [r12 + 0x20]
test rdi, rdi
je 0x41d2d2
lea rax, [r12 + 0x20]
nop word cs:[rax + rax]
mov rsi, rdi
mov rcx, rax
lea rax, [rsi + 0x28]
mov rdi, qword [rsi + 0x28]
test rdi, rdi
jne 0x41cbf0
lea rax, [rsi + 0x20]
mov rdi, qword [rsi + 0x20]
test rdi, rdi
jne 0x41cbf0
cmp r14, rcx
ja 0x41c7e2
mov qword [rcx], 0
test r11, r11
je 0x41d225
mov ecx, dword [r12 + 0x38]
cmp r12, qword [r8 + rcx*8 + 0x258]
je 0x41cc60
mov rcx, qword [0x004430c8]
cmp rcx, r11
ja 0x41c7e2
xor eax, eax
cmp qword [r11 + 0x20], r12
setne al
mov qword [r11 + rax*8 + 0x20], rsi
test rsi, rsi
jne 0x41cc78
jmp 0x41d225
mov qword [r8 + rcx*8 + 0x258], rsi
test rsi, rsi
je 0x41d214
mov rcx, qword [0x004430c8]
cmp rcx, rsi
ja 0x41c7e2
mov qword [rsi + 0x30], r11
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x41cca0
cmp rcx, rax
ja 0x41c7e2
mov qword [rsi + 0x20], rax
mov qword [rax + 0x30], rsi
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x41d225
cmp rcx, rax
ja 0x41c7e2
mov qword [rsi + 0x28], rax
mov qword [rax + 0x30], rsi
cmp r13, 0x1f
jbe 0x41d22f
mov rax, r15
or rax, 3
mov qword [r12 + 8], rax
mov rax, r13
or rax, 1
mov qword [r12 + r15 + 8], rax
mov qword [r9 + r13], r13
cmp r13, 0xff
ja 0x41cd37
mov rcx, r13
shr rcx, 3
movabs rax, 0x3fffffff8
and rax, r13
lea rax, [r8 + rax*2 + 0x48]
mov edx, dword [0x004430b0]
mov ebx, 1
shl ebx, cl
bt edx, ecx
jae 0x41d1a8
mov rcx, qword [rax + 0x10]
cmp qword [0x004430c8], rcx
ja 0x41c7e2
lea rdx, [rax + 0x10]
jmp 0x41d1b7
mov rdi, r13
shr rdi, 8
je 0x41d1cb
mov ecx, 0x1f
cmp r13, 0xffffff
ja 0x41d1cd
lea eax, [rdi + 0xfff00]
shr eax, 0x10
and eax, 8
mov ecx, eax
shl edi, cl
lea ecx, [rdi + 0x7f000]
shr ecx, 0x10
and ecx, 4
or eax, ecx
shl edi, cl
lea ecx, [rdi + 0x3c000]
shr ecx, 0x10
and ecx, 2
or eax, ecx
mov edx, 0xe
sub edx, eax
shl edi, cl
shr edi, 0xf
lea eax, [rdx + rdi]
lea ecx, [rdx + rdi + 7]
mov rdx, r13
shr rdx, cl
and edx, 1
lea ecx, [rdx + rax*2]
jmp 0x41d1cd
mov rcx, qword [0x004430c8]
test rcx, rcx
je 0x41cdb9
cmp rax, rcx
jae 0x41cdc0
mov qword [0x004430c8], rax
mov qword [0x00443428], rax
mov qword [0x00443430], rdi
mov dword [0x00443440], r11d
mov rcx, qword [0x00443458]
mov qword [0x004430f0], rcx
mov qword [0x004430e8], 0xfff
xor ecx, ecx
lea rdx, [0x004430b0]
lea rbx, [rcx + rdx + 0x48]
mov qword [rcx + rdx + 0x60], rbx
lea rsi, [rcx + rdx + 0x58]
mov qword [rcx + rdx + 0x58], rbx
mov qword [rcx + rdx + 0x70], rsi
lea rbx, [rcx + rdx + 0x68]
mov qword [rcx + rdx + 0x68], rsi
mov qword [rcx + rdx + 0x80], rbx
lea rsi, [rcx + rdx + 0x78]
mov qword [rcx + rdx + 0x78], rbx
mov qword [rcx + rdx + 0x90], rsi
mov qword [rcx + rdx + 0x88], rsi
add rcx, 0x40
cmp rcx, 0x200
jne 0x41cdf7
lea rcx, [rdi - 0x50]
lea rdx, [rax + 0x10]
mov ebx, edx
and ebx, 0xf
neg edx
and edx, 0xf
test rbx, rbx
cmove rdx, rbx
mov rbx, rax
add rbx, rdx
sub rcx, rdx
mov qword [0x004430d8], rbx
mov qword [0x004430c0], rcx
or rcx, 1
mov qword [rax + rdx + 8], rcx
mov qword [rax + rdi - 0x48], 0x50
mov rax, qword [0x00443478]
mov qword [0x004430e0], rax
jmp 0x41d4d6
mov r8d, dword [rbx + 0x18]
test r8b, 8
jne 0x41cf0a
and r8d, 1
cmp r8d, r11d
jne 0x41cf0a
cmp rax, r14
jbe 0x41cf0a
cmp rcx, r14
ja 0x41cf0a
add rsi, rdi
mov qword [rbx + 8], rsi
add rdi, qword [0x004430c0]
lea rax, [r14 + 0x10]
mov ecx, eax
and ecx, 0xf
neg eax
and eax, 0xf
test rcx, rcx
cmove rax, rcx
lea rcx, [r14 + rax]
mov rdx, rdi
sub rdx, rax
mov qword [0x004430d8], rcx
mov qword [0x004430c0], rdx
or rdx, 1
mov qword [r14 + rax + 8], rdx
mov qword [r14 + rdi + 8], 0x50
jmp 0x41ce8b
mov r10, qword [0x004430c8]
cmp rax, r10
jae 0x41cf20
mov qword [0x004430c8], rax
mov r10, rax
lea rsi, [rax + rdi]
lea rbx, [0x00443428]
cmp qword [rbx], rsi
je 0x41cf3e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x41cf2b
jmp 0x41d044
mov ecx, dword [rbx + 0x18]
test cl, 8
jne 0x41d044
and ecx, 1
cmp ecx, r11d
jne 0x41d044
mov qword [rbx], rax
add qword [rbx + 8], rdi
lea rcx, [rax + 0x10]
mov edx, ecx
and edx, 0xf
neg ecx
and ecx, 0xf
test rdx, rdx
cmove rcx, rdx
mov r12, rax
add r12, rcx
lea rdi, [rsi + 0x10]
mov edx, edi
and edx, 0xf
neg edi
and edi, 0xf
test rdx, rdx
cmove rdi, rdx
add rdi, rsi
mov r9, rdi
sub r9, r12
lea r8, [r12 + r15]
sub r9, r15
or r15, 3
mov qword [rax + rcx + 8], r15
cmp r14, rdi
je 0x41d376
cmp qword [0x004430d0], rdi
je 0x41d48c
mov r14, qword [rdi + 8]
mov eax, r14d
and eax, 3
cmp rax, 1
jne 0x41d669
cmp r14, 0xff
ja 0x41d511
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
movabs rax, 0x3fffffff8
and rax, r14
lea rbx, [0x004430b0]
lea rax, [rbx + rax*2 + 0x48]
cmp rcx, rax
je 0x41d016
cmp r10, rcx
ja 0x41c7e2
cmp qword [rcx + 0x18], rdi
jne 0x41c7e2
cmp rdx, rcx
je 0x41d551
cmp rdx, rax
je 0x41d037
cmp r10, rdx
ja 0x41c7e2
cmp qword [rdx + 0x10], rdi
jne 0x41c7e2
mov qword [rcx + 0x18], rdx
mov qword [rdx + 0x10], rcx
jmp 0x41d65f
lea rcx, [0x00443428]
jmp 0x41d054
mov rcx, qword [rcx + 0x10]
mov rbx, qword [rcx]
cmp rbx, r14
ja 0x41d050
add rbx, qword [rcx + 8]
cmp rbx, r14
jbe 0x41d050
lea rcx, [rbx - 0x4f]
mov edx, ecx
and edx, 0xf
neg ecx
and ecx, 0xf
test rdx, rdx
cmove rcx, rdx
lea r10, [rbx + rcx - 0x5f]
lea r8, [r14 + 0x20]
cmp r10, r8
cmovb r10, r14
lea r9, [r10 + 0x10]
lea rcx, [rdi - 0x50]
lea rdx, [rax + 0x10]
mov esi, edx
and esi, 0xf
neg edx
and edx, 0xf
test rsi, rsi
cmove rdx, rsi
mov rsi, rax
add rsi, rdx
sub rcx, rdx
mov qword [0x004430d8], rsi
mov qword [0x004430c0], rcx
or rcx, 1
mov qword [rax + rdx + 8], rcx
mov qword [rax + rdi - 0x48], 0x50
mov rcx, qword [0x00443478]
mov qword [0x004430e0], rcx
mov qword [r10 + 8], 0x33
movups xmm0, xmmword [0x00443438]
movups xmmword [r10 + 0x20], xmm0
movdqu xmm0, xmmword [0x00443428]
movdqu xmmword [r10 + 0x10], xmm0
mov qword [0x00443428], rax
mov qword [0x00443430], rdi
mov dword [0x00443440], r11d
mov qword [0x00443438], r9
lea rax, [r10 + 0x38]
mov qword [rax], 0xb
add rax, 8
cmp rax, rbx
jb 0x41d120
mov rdi, r10
sub rdi, r14
je 0x41d4d6
and byte [r10 + 8], 0xfe
mov rax, rdi
or rax, 1
mov qword [r14 + 8], rax
mov qword [r10], rdi
cmp rdi, 0xff
ja 0x41d2e2
mov rcx, rdi
shr rcx, 3
movabs rax, 0x3fffffff8
and rax, rdi
lea rdx, [0x004430b0]
lea rax, [rdx + rax*2 + 0x48]
mov ebx, dword [0x004430b0]
mov edi, 1
shl edi, cl
bt ebx, ecx
jae 0x41d398
mov rcx, qword [rax + 0x10]
cmp qword [0x004430c8], rcx
jbe 0x41d3a3
jmp 0x41c7e2
or edx, ebx
mov dword [0x004430b0], edx
lea rdx, [rax + 0x10]
mov rcx, rax
mov qword [rdx], r9
mov qword [rcx + 0x18], r9
mov qword [r9 + 0x10], rcx
mov qword [r9 + 0x18], rax
jmp 0x41c91c
xor ecx, ecx
mov eax, ecx
lea rax, [r8 + rax*8 + 0x258]
mov dword [r9 + 0x38], ecx
pxor xmm0, xmm0
movdqu xmmword [r9 + 0x20], xmm0
mov edx, 1
shl edx, cl
bt r10d, ecx
jae 0x41d1fe
mov rdi, qword [rax]
cmp ecx, 0x1f
jne 0x41d249
xor eax, eax
jmp 0x41d256
or r10d, edx
mov dword [0x004430b4], r10d
mov qword [rax], r9
mov qword [r9 + 0x30], rax
jmp 0x41d369
mov eax, 0xfffffffe
rol eax, cl
and r10d, eax
mov dword [0x004430b4], r10d
cmp r13, 0x1f
ja 0x41ccc9
add r13, r15
mov rax, r13
or rax, 3
mov qword [r12 + 8], rax
or byte [r12 + r13 + 8], 1
jmp 0x41c91c
shr ecx, 1
add ecx, 6
mov eax, 0x3f
sub rax, rcx
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, r13
jne 0x41d268
mov rax, rdi
jmp 0x41d298
mov rsi, r13
mov ecx, eax
shl rsi, cl
mov rcx, rsi
shr rcx, 0x3f
mov rax, qword [rdi + rcx*8 + 0x20]
test rax, rax
je 0x41d350
add rsi, rsi
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, r13
mov rdi, rax
jne 0x41d270
mov rdx, qword [0x004430c8]
cmp rdx, rax
ja 0x41c7e2
mov rcx, qword [rax + 0x10]
cmp rdx, rcx
ja 0x41c7e2
mov qword [rcx + 0x18], r9
mov qword [rax + 0x10], r9
mov qword [r9 + 0x10], rcx
mov qword [r9 + 0x18], rax
mov qword [r9 + 0x30], 0
jmp 0x41c91c
xor esi, esi
test r11, r11
jne 0x41cc29
jmp 0x41d225
mov rbx, rdi
shr rbx, 8
je 0x41d3b8
mov ecx, 0x1f
cmp rdi, 0xffffff
ja 0x41d3ba
lea eax, [rbx + 0xfff00]
shr eax, 0x10
and eax, 8
mov ecx, eax
shl ebx, cl
lea ecx, [rbx + 0x7f000]
shr ecx, 0x10
and ecx, 4
or eax, ecx
shl ebx, cl
lea ecx, [rbx + 0x3c000]
shr ecx, 0x10
and ecx, 2
or eax, ecx
mov edx, 0xe
sub edx, eax
shl ebx, cl
shr ebx, 0xf
lea eax, [rdx + rbx]
lea ecx, [rdx + rbx + 7]
mov rdx, rdi
shr rdx, cl
and edx, 1
lea ecx, [rdx + rax*2]
jmp 0x41d3ba
lea rax, [rdi + rcx*8 + 0x20]
cmp qword [0x004430c8], rax
ja 0x41c7e2
mov qword [rax], r9
mov qword [r9 + 0x30], rdi
mov qword [r9 + 0x18], r9
mov qword [r9 + 0x10], r9
jmp 0x41c91c
add r9, qword [0x004430c0]
mov qword [0x004430c0], r9
mov qword [0x004430d8], r8
or r9, 1
mov qword [r8 + 8], r9
jmp 0x41c91c
or ebx, edi
mov dword [0x004430b0], ebx
mov rcx, rax
mov qword [rax + 0x10], r14
mov qword [rcx + 0x18], r14
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rax
jmp 0x41d4d6
xor ecx, ecx
mov eax, ecx
lea rdx, [0x004430b0]
lea rax, [rdx + rax*8 + 0x258]
mov dword [r14 + 0x38], ecx
pxor xmm0, xmm0
movdqu xmmword [r8], xmm0
mov ebx, dword [0x004430b4]
mov esi, 1
shl esi, cl
bt ebx, ecx
jae 0x41d3f6
mov rbx, qword [rax]
cmp ecx, 0x1f
jne 0x41d40a
xor eax, eax
jmp 0x41d417
or ebx, esi
mov dword [0x004430b4], ebx
mov qword [rax], r14
mov qword [r14 + 0x30], rax
jmp 0x41d4ce
shr ecx, 1
add ecx, 6
mov eax, 0x3f
sub rax, rcx
mov rcx, qword [rbx + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, rdi
jne 0x41d429
mov rax, rbx
jmp 0x41d455
mov rsi, rdi
mov ecx, eax
shl rsi, cl
mov rcx, rsi
shr rcx, 0x3f
mov rax, qword [rbx + rcx*8 + 0x20]
test rax, rax
je 0x41d4b5
add rsi, rsi
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, rdi
mov rbx, rax
jne 0x41d431
mov rbx, qword [0x004430c8]
cmp rbx, rax
ja 0x41c7e2
mov rcx, qword [rax + 0x10]
cmp rbx, rcx
ja 0x41c7e2
mov qword [rcx + 0x18], r14
mov qword [rax + 0x10], r14
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x30], 0
jmp 0x41d4d6
add r9, qword [0x004430b8]
mov qword [0x004430b8], r9
mov qword [0x004430d0], r8
mov rax, r9
or rax, 1
mov qword [r8 + 8], rax
mov qword [r8 + r9], r9
jmp 0x41c91c
lea rax, [rbx + rcx*8 + 0x20]
cmp qword [0x004430c8], rax
ja 0x41c7e2
mov qword [rax], r14
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x18], r14
mov qword [r14 + 0x10], r14
mov rax, qword [0x004430c0]
sub rax, r15
jbe 0x41d509
mov qword [0x004430c0], rax
mov r12, qword [0x004430d8]
lea rcx, [r12 + r15]
mov qword [0x004430d8], rcx
or rax, 1
mov qword [r12 + r15 + 8], rax
jmp 0x41c913
xor r12d, r12d
jmp 0x41c920
mov rsi, qword [rdi + 0x18]
mov r11, qword [rdi + 0x30]
cmp rsi, rdi
je 0x41d56a
mov rax, qword [rdi + 0x10]
cmp r10, rax
ja 0x41c7e2
cmp qword [rax + 0x18], rdi
jne 0x41c7e2
cmp qword [rsi + 0x10], rdi
jne 0x41c7e2
mov qword [rax + 0x18], rsi
mov qword [rsi + 0x10], rax
test r11, r11
jne 0x41d5c2
jmp 0x41d65f
mov rcx, r14
shr rcx, 3
mov eax, 0xfffffffe
rol eax, cl
and dword [0x004430b0], eax
jmp 0x41d65f
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x41d579
lea rcx, [rdi + 0x28]
jmp 0x41d589
lea rcx, [rdi + 0x20]
mov rdx, qword [rcx]
test rdx, rdx
je 0x41d85d
mov rsi, rdx
mov rax, rcx
lea rcx, [rsi + 0x28]
mov rdx, qword [rsi + 0x28]
test rdx, rdx
jne 0x41d589
lea rcx, [rsi + 0x20]
mov rdx, qword [rsi + 0x20]
test rdx, rdx
jne 0x41d589
cmp r10, rax
ja 0x41c7e2
mov qword [rax], 0
test r11, r11
je 0x41d65f
mov ecx, dword [rdi + 0x38]
lea rax, [0x004430b0]
cmp qword [rax + rcx*8 + 0x258], rdi
je 0x41d5fb
mov rcx, qword [0x004430c8]
cmp rcx, r11
ja 0x41c7e2
xor eax, eax
cmp qword [r11 + 0x20], rdi
setne al
mov qword [r11 + rax*8 + 0x20], rsi
test rsi, rsi
jne 0x41d60f
jmp 0x41d65f
mov qword [rax + rcx*8 + 0x258], rsi
test rsi, rsi
je 0x41d652
mov rcx, qword [0x004430c8]
cmp rcx, rsi
ja 0x41c7e2
mov qword [rsi + 0x30], r11
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x41d636
cmp rcx, rax
ja 0x41c7e2
mov qword [rsi + 0x20], rax
mov qword [rax + 0x30], rsi
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x41d65f
cmp rcx, rax
ja 0x41c7e2
mov qword [rsi + 0x28], rax
mov qword [rax + 0x30], rsi
jmp 0x41d65f
mov eax, 0xfffffffe
rol eax, cl
and dword [0x004430b4], eax
and r14, 0xfffffffffffffff8
add rdi, r14
add r9, r14
and byte [rdi + 8], 0xfe
mov rax, r9
or rax, 1
mov qword [r8 + 8], rax
mov qword [r8 + r9], r9
cmp r9, 0xff
ja 0x41d6d2
mov rcx, r9
shr rcx, 3
movabs rax, 0x3fffffff8
and rax, r9
lea rdx, [0x004430b0]
lea rax, [rdx + rax*2 + 0x48]
mov edx, dword [0x004430b0]
mov ebx, 1
shl ebx, cl
bt edx, ecx
jae 0x41d73c
mov rcx, qword [rax + 0x10]
cmp qword [0x004430c8], rcx
ja 0x41c7e2
lea rdx, [rax + 0x10]
jmp 0x41d74b
mov rdx, r9
shr rdx, 8
je 0x41d75f
mov ecx, 0x1f
cmp r9, 0xffffff
ja 0x41d761
lea eax, [rdx + 0xfff00]
shr eax, 0x10
and eax, 8
mov ecx, eax
shl edx, cl
lea ecx, [rdx + 0x7f000]
shr ecx, 0x10
and ecx, 4
or eax, ecx
shl edx, cl
lea ecx, [rdx + 0x3c000]
shr ecx, 0x10
and ecx, 2
or eax, ecx
mov ebx, 0xe
sub ebx, eax
shl edx, cl
shr edx, 0xf
lea eax, [rbx + rdx]
lea ecx, [rbx + rdx + 7]
mov rdx, r9
shr rdx, cl
and edx, 1
lea ecx, [rdx + rax*2]
jmp 0x41d761
or edx, ebx
mov dword [0x004430b0], edx
lea rdx, [rax + 0x10]
mov rcx, rax
mov qword [rdx], r8
mov qword [rcx + 0x18], r8
mov qword [r8 + 0x10], rcx
mov qword [r8 + 0x18], rax
jmp 0x41c91c
xor ecx, ecx
mov eax, ecx
lea rdx, [0x004430b0]
lea rax, [rdx + rax*8 + 0x258]
mov dword [r8 + 0x38], ecx
pxor xmm0, xmm0
movdqu xmmword [r8 + 0x20], xmm0
mov edx, dword [0x004430b4]
mov ebx, 1
shl ebx, cl
bt edx, ecx
jae 0x41d79e
mov rdx, qword [rax]
cmp ecx, 0x1f
jne 0x41d7b2
xor eax, eax
jmp 0x41d7bf
or edx, ebx
mov dword [0x004430b4], edx
mov qword [rax], r8
mov qword [r8 + 0x30], rax
jmp 0x41d850
shr ecx, 1
add ecx, 6
mov eax, 0x3f
sub rax, rcx
mov rcx, qword [rdx + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, r9
jne 0x41d7d1
mov rax, rdx
jmp 0x41d7fd
mov rdi, r9
mov ecx, eax
shl rdi, cl
mov rcx, rdi
shr rcx, 0x3f
mov rax, qword [rdx + rcx*8 + 0x20]
test rax, rax
je 0x41d837
add rdi, rdi
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffff8
cmp rcx, r9
mov rdx, rax
jne 0x41d7d9
mov rdx, qword [0x004430c8]
cmp rdx, rax
ja 0x41c7e2
mov rcx, qword [rax + 0x10]
cmp rdx, rcx
ja 0x41c7e2
mov qword [rcx + 0x18], r8
mov qword [rax + 0x10], r8
mov qword [r8 + 0x10], rcx
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x30], 0
jmp 0x41c91c
lea rax, [rdx + rcx*8 + 0x20]
cmp qword [0x004430c8], rax
ja 0x41c7e2
mov qword [rax], r8
mov qword [r8 + 0x30], rdx
mov qword [r8 + 0x18], r8
mov qword [r8 + 0x10], r8
jmp 0x41c91c
xor esi, esi
test r11, r11
jne 0x41d5c2
jmp 0x41d65f