Function at 0x180424e20
Capabilities:
Check for time delay via gettickcount
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
cmp qword [0x18042c1d8], 0
je 0x180424e59
test byte [0x18042c190], 2
je 0x180424f23
jmp 0x180424fc0
cmp dword [0x18042c1d0], 0
jne 0x180424e50
mov eax, 1
xchg dword [0x18042c1d0], eax
test eax, eax
jne 0x180424e50
cmp qword [0x18042c1d8], 0
je 0x180424e8e
mov dword [0x18042c1d0], 0
test byte [0x18042c190], 2
jne 0x180424fc0
jmp 0x180424f23
mov rsi, rcx
mov edi, 0xffffffff
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp - 8]
lea ecx, [rdi + rax]
test ecx, eax
jne 0x180426184
mov ecx, dword [rbp - 0x2c]
add edi, ecx
test edi, ecx
jne 0x180426184
mov qword [0x18042c1e8], rax
mov qword [0x18042c1e0], rcx
mov qword [0x18042c1f0], 0x40000
mov qword [0x18042c1f8], 0x200000
mov dword [0x18042c200], 7
mov qword [0x18042c190], 7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
and eax, 0xfffffff0
xor eax, 0x55555558
mov qword [0x18042c1d8], rax
mov rcx, rsi
mov dword [0x18042c1d0], 0
test byte [0x18042c190], 2
jne 0x180424fc0
cmp rcx, 0xe8
ja 0x180424fde
lea eax, [rcx + 0x17]
and eax, 0x1f0
cmp rcx, 0x17
mov esi, 0x20
cmovae rsi, rax
mov ecx, esi
shr ecx, 3
mov r8d, dword [0x18042be20]
mov r9d, r8d
shr r9d, cl
test r9b, 3
je 0x18042504e
and r9d, 1
or r9d, ecx
xor r9d, 1
mov ecx, r9d
shl ecx, 4
lea rdx, [0x18042be20]
lea rax, [rcx + rdx]
add rax, 0x48
mov rcx, qword [rcx + rdx + 0x58]
mov rdx, qword [rcx + 0x10]
cmp rax, rdx
je 0x1804250cb
cmp rdx, qword [0x18042be38]
jb 0x180426184
cmp qword [rdx + 0x18], rcx
jne 0x180426184
mov qword [rdx + 0x18], rax
mov qword [rax + 0x10], rdx
jmp 0x1804250d6
mov eax, 1
xchg dword [0x18042c194], eax
test eax, eax
je 0x180424f23
cmp dword [0x18042c194], 0
jne 0x180424fd3
jmp 0x180424fc0
mov rsi, 0xffffffffffffffff
cmp rcx, 0xffffffffffffff7f
ja 0x180425343
add rcx, 0x17
mov rsi, rcx
and rsi, 0xfffffffffffffff0
mov r10d, dword [0x18042be24]
test r10d, r10d
je 0x180425343
shr rcx, 8
test ecx, ecx
je 0x1804250f3
mov r8d, 0x1f
cmp ecx, 0xffff
ja 0x1804250f6
bsr eax, ecx
xor eax, 0x1f
mov cl, 0x26
sub cl, al
movzx ecx, cl
xor edx, edx
bt rsi, rcx
setb dl
lea r8d, [rdx + rax*2]
xor r8d, 0x3e
jmp 0x1804250f6
mov rdx, qword [0x18042be28]
cmp rsi, rdx
jbe 0x180425343
test r9d, r9d
je 0x180425284
shl r9d, cl
mov eax, 2
shl eax, cl
mov ecx, eax
neg ecx
or ecx, eax
and ecx, r9d
tzcnt r10d, ecx
mov r9d, r10d
shl r9d, 4
lea rcx, [0x18042be20]
lea rax, [r9 + rcx]
add rax, 0x48
mov r9, qword [r9 + rcx + 0x58]
mov r11, qword [r9 + 0x10]
cmp rax, r11
je 0x18042562d
cmp r11, qword [0x18042be38]
jb 0x180426184
cmp qword [r11 + 0x18], r9
jne 0x180426184
mov qword [r11 + 0x18], rax
mov qword [rax + 0x10], r11
jmp 0x180425638
btr r8d, r9d
mov dword [0x18042be20], r8d
lea rax, [rcx + 0x10]
mov edx, r9d
lea r8, [rdx*8 + 3]
mov qword [rcx + 8], r8
or byte [rcx + rdx*8 + 8], 1
jmp 0x18042560b
xor r8d, r8d
mov rdx, rsi
neg rdx
mov eax, r8d
lea r9, [0x18042be20]
mov r11, qword [r9 + rax*8 + 0x258]
xor eax, eax
test r11, r11
je 0x180425191
mov ecx, r8d
shr ecx, 1
mov bl, 0x39
sub bl, cl
cmp r8d, 0x1f
movzx ecx, bl
cmove ecx, eax
mov rdi, rsi
shl rdi, cl
xor ecx, ecx
xor eax, eax
jmp 0x180425169
mov rbx, qword [r11 + 0x28]
mov r14, rdi
shr r14, 0x3f
mov r11, qword [r11 + r14*8 + 0x20]
cmp rbx, r11
mov r14, rbx
cmove r14, rcx
test rbx, rbx
cmovne rcx, r14
add rdi, rdi
test r11, r11
je 0x180425195
mov rbx, qword [r11 + 8]
and rbx, 0xfffffffffffffff8
sub rbx, rsi
cmp rbx, rdx
jae 0x180425140
mov rdx, rbx
mov rax, r11
test rbx, rbx
jne 0x180425140
xor edx, edx
mov rcx, r11
mov rax, r11
jmp 0x18042525c
xor ecx, ecx
xor eax, eax
mov r11, rcx
or r11, rax
jne 0x1804251c8
mov r11d, 2
mov ecx, r8d
shl r11d, cl
mov eax, r11d
neg eax
or eax, r11d
and eax, r10d
je 0x180425343
tzcnt eax, eax
mov rcx, qword [r9 + rax*8 + 0x258]
xor eax, eax
test rcx, rcx
jne 0x18042525c
test rax, rax
je 0x180425343
mov rcx, qword [0x18042be28]
sub rcx, rsi
cmp rdx, rcx
jae 0x180425343
mov r11, qword [0x18042be38]
cmp rax, r11
jb 0x180426184
test rsi, rsi
jle 0x180426184
mov r8, qword [rax + 0x18]
mov rcx, qword [rax + 0x30]
cmp r8, rax
je 0x1804256c5
mov rdi, qword [rax + 0x10]
cmp rdi, r11
jb 0x180426184
cmp qword [rdi + 0x18], rax
jne 0x180426184
cmp qword [r8 + 0x10], rax
jne 0x180426184
mov qword [rdi + 0x18], r8
mov qword [r8 + 0x10], rdi
test rcx, rcx
jne 0x1804257e9
jmp 0x180425c6b
mov rcx, r8
test r8, r8
je 0x1804251d1
mov r8, rdx
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffff8
sub rdx, rsi
cmp rdx, r8
cmovae rdx, r8
mov r8, qword [rcx + 0x20]
cmovb rax, rcx
test r8, r8
jne 0x180425250
mov r8, qword [rcx + 0x28]
jmp 0x180425250
mov r10d, dword [0x18042be24]
test r10d, r10d
je 0x180425343
tzcnt eax, r10d
lea rcx, [0x18042be20]
mov rax, qword [rcx + rax*8 + 0x258]
mov r9, qword [rax + 8]
and r9, 0xfffffffffffffff8
sub r9, rsi
mov rdi, rax
jmp 0x1804252d9
mov rdi, qword [r11 + 8]
and rdi, 0xfffffffffffffff8
sub rdi, rsi
cmp rdi, r9
cmovb r9, rdi
cmovb rax, r11
mov rdi, r11
mov r11, qword [rdi + 0x20]
test r11, r11
jne 0x1804252c0
mov r11, qword [rdi + 0x28]
test r11, r11
jne 0x1804252c0
mov rbx, qword [0x18042be38]
cmp rax, rbx
jb 0x180426184
mov rdi, qword [rax + 0x18]
mov r11, qword [rax + 0x30]
cmp rdi, rax
je 0x18042574d
mov r14, qword [rax + 0x10]
cmp r14, rbx
jb 0x180426184
cmp qword [r14 + 0x18], rax
jne 0x180426184
cmp qword [rdi + 0x10], rax
jne 0x180426184
mov qword [r14 + 0x18], rdi
mov qword [rdi + 0x10], r14
test r11, r11
jne 0x18042606a
jmp 0x18042610f
mov rdx, qword [0x18042be28]
mov rcx, rdx
sub rcx, rsi
jae 0x18042538d
mov rcx, qword [0x18042be30]
sub rcx, rsi
jbe 0x1804253bf
mov qword [0x18042be30], rcx
mov rax, qword [0x18042be48]
lea rdx, [rax + rsi]
mov qword [0x18042be48], rdx
or rcx, 1
mov qword [rax + rsi + 8], rcx
or rsi, 3
mov qword [rax + 8], rsi
jmp 0x180425607
mov rax, qword [0x18042be40]
cmp rcx, 0x20
jb 0x1804255e4
lea r8, [rax + rsi]
mov r9, rcx
or r9, 1
mov qword [rax + rsi + 8], r9
mov qword [rax + rdx], rcx
or rsi, 3
mov qword [rax + 8], rsi
jmp 0x1804255f9
cmp qword [0x18042c1d8], 0
je 0x1804253e9
test byte [0x18042c190], 1
jne 0x18042548d
jmp 0x180425502
cmp dword [0x18042c1d0], 0
jne 0x1804253e0
mov eax, 1
xchg dword [0x18042c1d0], eax
test eax, eax
jne 0x1804253e0
cmp qword [0x18042c1d8], 0
jne 0x18042547a
mov edi, 0xffffffff
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp - 8]
lea ecx, [rdi + rax]
test ecx, eax
jne 0x180426184
mov ecx, dword [rbp - 0x2c]
add edi, ecx
test edi, ecx
jne 0x180426184
mov qword [0x18042c1e8], rax
mov qword [0x18042c1e0], rcx
mov qword [0x18042c1f0], 0x40000
mov qword [0x18042c1f8], 0x200000
mov dword [0x18042c200], 7
mov qword [0x18042c190], 7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
and eax, 0xfffffff0
xor eax, 0x55555558
mov qword [0x18042c1d8], rax
mov dword [0x18042c1d0], 0
test byte [0x18042c190], 1
je 0x180425502
cmp qword [0x18042c1f0], rsi
ja 0x180425502
cmp qword [0x18042be30], 0
je 0x180425502
mov rdi, qword [0x18042c1e8]
lea rax, [rsi + rdi]
add rax, 0x3e
neg rdi
and rdi, rax
mov rax, qword [0x18042c188]
test rax, rax
je 0x1804254d6
mov rdx, qword [0x18042c178]
lea rcx, [rdx + rdi]
cmp rcx, rdx
jbe 0x180425502
cmp rcx, rax
ja 0x180425502
cmp rdi, rsi
jbe 0x180425502
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x103000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, rax
inc rax
cmp rax, 2
jae 0x1804256db
mov rdi, qword [0x18042c1e8]
lea rax, [rsi + rdi]
add rax, 0x5f
neg rdi
and rdi, rax
cmp rdi, rsi
jbe 0x180425c27
mov rcx, qword [0x18042c188]
test rcx, rcx
je 0x18042554b
mov r8, qword [0x18042c178]
lea rdx, [r8 + rdi]
xor eax, eax
cmp rdx, r8
jbe 0x18042560b
cmp rdx, rcx
ja 0x18042560b
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, rax
xor eax, eax
lea rdx, [rcx + 1]
xor r10d, r10d
mov r9, rdx
and r9, 0xfffffffffffffffe
setne r11b
cmovne r9, rdi
cmp rdx, 2
jb 0x18042560b
mov rax, qword [0x18042c178]
add rax, rdi
mov qword [0x18042c178], rax
cmp rax, qword [0x18042c180]
jbe 0x1804255a8
mov qword [0x18042c180], rax
mov r8, qword [0x18042be48]
test r8, r8
je 0x180425883
mov r10b, r11b
lea rax, [0x18042c198]
mov rdi, qword [rax]
mov rdx, qword [rax + 8]
lea rbx, [rdi + rdx]
cmp rcx, rbx
je 0x180425ba5
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1804255c2
jmp 0x180425c2e
mov rcx, rdx
or rcx, 3
mov qword [rax + 8], rcx
or byte [rax + rdx + 8], 1
xor r8d, r8d
xor ecx, ecx
mov qword [0x18042be40], r8
mov qword [0x18042be28], rcx
add rax, 0x10
test byte [0x18042c190], 2
je 0x18042561e
mov dword [0x18042c194], 0
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
btr r8d, r10d
mov dword [0x18042be20], r8d
lea rax, [r9 + 0x10]
mov r11d, r10d
shl r11, 3
mov r10, r11
sub r10, rsi
cmp r10, 0x1f
ja 0x180425662
mov rcx, r11
or rcx, 3
mov qword [r9 + 8], rcx
or byte [r9 + r11 + 8], 1
jmp 0x18042560b
mov rdi, rsi
or rdi, 3
mov qword [r9 + 8], rdi
mov rdi, r10
or rdi, 1
mov qword [r9 + rsi + 8], rdi
mov qword [r9 + r11], r10
test rdx, rdx
je 0x180425780
mov r11, qword [0x18042be40]
shr rdx, 3
lea edi, [rdx + rdx]
lea rdi, [rcx + rdi*8]
add rdi, 0x48
mov ebx, 1
mov ecx, edx
shl ebx, cl
bt r8d, edx
jae 0x180425763
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [0x18042be38]
jae 0x180425770
jmp 0x180426184
mov rdi, qword [rax + 0x28]
test rdi, rdi
je 0x180425796
lea rbx, [rax + 0x28]
jmp 0x1804257b0
mov edx, 0xfffffff0
sub edx, ecx
and edx, 0xf
mov r8, rdi
sub r8, rdx
lea r9, [r8 - 0x20]
lea rax, [rcx + rdx]
mov qword [rcx + rdx], rdx
mov qword [rcx + rdx + 8], r9
mov qword [r8 + rax - 0x18], 0xb
mov qword [rcx + rdi - 0x10], 0
mov rdx, qword [0x18042be38]
test rdx, rdx
je 0x18042571f
cmp rcx, rdx
jae 0x180425726
mov qword [0x18042be38], rcx
add rdi, qword [0x18042c178]
mov qword [0x18042c178], rdi
cmp rdi, qword [0x18042c180]
jbe 0x180425607
mov qword [0x18042c180], rdi
jmp 0x180425607
mov r14, qword [rax + 0x28]
test r14, r14
je 0x180426016
lea r15, [rax + 0x28]
jmp 0x180426030
or r8d, ebx
mov dword [0x18042be20], r8d
mov rcx, rdi
mov qword [rdi + 0x10], r11
mov qword [rcx + 0x18], r11
mov qword [r11 + 0x10], rcx
mov qword [r11 + 0x18], rdi
add r9, rsi
mov qword [0x18042be28], r10
mov qword [0x18042be40], r9
jmp 0x18042560b
mov rdi, qword [rax + 0x20]
test rdi, rdi
je 0x1804260f3
lea rbx, [rax + 0x20]
nop word [rax + rax]
mov r8, rdi
mov r14, rbx
lea rbx, [rdi + 0x28]
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1804257b0
lea rbx, [r8 + 0x20]
mov rdi, qword [r8 + 0x20]
test rdi, rdi
jne 0x1804257b0
cmp r14, r11
jb 0x180426184
mov qword [r14], 0
test rcx, rcx
je 0x180425c6b
mov r11d, dword [rax + 0x38]
cmp rax, qword [r9 + r11*8 + 0x258]
je 0x180425821
mov r10, qword [0x18042be38]
cmp rcx, r10
jb 0x180426184
xor r11d, r11d
cmp qword [rcx + 0x20], rax
setne r11b
mov qword [rcx + r11*8 + 0x20], r8
test r8, r8
jne 0x180425839
jmp 0x180425c6b
mov qword [r9 + r11*8 + 0x258], r8
test r8, r8
je 0x180425c60
mov r10, qword [0x18042be38]
cmp r8, r10
jb 0x180426184
mov qword [r8 + 0x30], rcx
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x180425860
cmp rcx, r10
jb 0x180426184
mov qword [r8 + 0x20], rcx
mov qword [rcx + 0x30], r8
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x180425c6b
cmp rcx, r10
jb 0x180426184
mov qword [r8 + 0x28], rcx
mov qword [rcx + 0x30], r8
jmp 0x180425c6b
mov rax, qword [0x18042be38]
test rax, rax
je 0x180425894
cmp rcx, rax
jae 0x18042589b
mov qword [0x18042be38], rcx
mov qword [0x18042c198], rcx
mov qword [0x18042c1a0], rdi
mov dword [0x18042c1b0], 1
mov rax, qword [0x18042c1d8]
mov qword [0x18042be60], rax
mov qword [0x18042be58], 0xfff
lea rax, [0x18042be68]
mov qword [0x18042be80], rax
mov qword [0x18042be78], rax
lea rax, [0x18042be78]
mov qword [0x18042be90], rax
mov qword [0x18042be88], rax
lea rax, [0x18042be88]
mov qword [0x18042bea0], rax
mov qword [0x18042be98], rax
lea rax, [0x18042be98]
mov qword [0x18042beb0], rax
mov qword [0x18042bea8], rax
lea rax, [0x18042bea8]
mov qword [0x18042bec0], rax
mov qword [0x18042beb8], rax
lea rax, [0x18042beb8]
mov qword [0x18042bed0], rax
mov qword [0x18042bec8], rax
lea rax, [0x18042bec8]
mov qword [0x18042bee0], rax
mov qword [0x18042bed8], rax
lea rax, [0x18042bed8]
mov qword [0x18042bef0], rax
mov qword [0x18042bee8], rax
lea rax, [0x18042bee8]
mov qword [0x18042bf00], rax
mov qword [0x18042bef8], rax
lea rax, [0x18042bef8]
mov qword [0x18042bf10], rax
mov qword [0x18042bf08], rax
lea rax, [0x18042bf08]
mov qword [0x18042bf20], rax
mov qword [0x18042bf18], rax
lea rax, [0x18042bf18]
mov qword [0x18042bf30], rax
mov qword [0x18042bf28], rax
lea rax, [0x18042bf28]
mov qword [0x18042bf40], rax
mov qword [0x18042bf38], rax
lea rax, [0x18042bf38]
mov qword [0x18042bf50], rax
mov qword [0x18042bf48], rax
lea rax, [0x18042bf48]
mov qword [0x18042bf60], rax
mov qword [0x18042bf58], rax
lea rax, [0x18042bf58]
mov qword [0x18042bf70], rax
mov qword [0x18042bf68], rax
lea rax, [0x18042bf68]
mov qword [0x18042bf80], rax
mov qword [0x18042bf78], rax
lea rax, [0x18042bf78]
mov qword [0x18042bf90], rax
mov qword [0x18042bf88], rax
lea rax, [0x18042bf88]
mov qword [0x18042bfa0], rax
mov qword [0x18042bf98], rax
lea rax, [0x18042bf98]
mov qword [0x18042bfb0], rax
mov qword [0x18042bfa8], rax
lea rax, [0x18042bfa8]
mov qword [0x18042bfc0], rax
mov qword [0x18042bfb8], rax
lea rax, [0x18042bfb8]
mov qword [0x18042bfd0], rax
mov qword [0x18042bfc8], rax
lea rax, [0x18042bfc8]
mov qword [0x18042bfe0], rax
mov qword [0x18042bfd8], rax
lea rax, [0x18042bfd8]
mov qword [0x18042bff0], rax
mov qword [0x18042bfe8], rax
lea rax, [0x18042bfe8]
mov qword [0x18042c000], rax
mov qword [0x18042bff8], rax
lea rax, [0x18042bff8]
mov qword [0x18042c010], rax
mov qword [0x18042c008], rax
lea rax, [0x18042c008]
mov qword [0x18042c020], rax
mov qword [0x18042c018], rax
lea rax, [0x18042c018]
mov qword [0x18042c030], rax
mov qword [0x18042c028], rax
lea rax, [0x18042c028]
mov qword [0x18042c040], rax
mov qword [0x18042c038], rax
lea rax, [0x18042c038]
mov qword [0x18042c050], rax
mov qword [0x18042c048], rax
lea rax, [0x18042c048]
mov qword [0x18042c060], rax
mov qword [0x18042c058], rax
lea rax, [0x18042c058]
mov qword [0x18042c070], rax
mov qword [0x18042c068], rax
lea rax, [rdi - 0x50]
mov edx, 0xfffffff0
sub edx, ecx
and edx, 0xf
mov r8, rcx
add r8, rdx
sub rax, rdx
mov qword [0x18042be48], r8
mov qword [0x18042be30], rax
or rax, 1
mov qword [rcx + rdx + 8], rax
mov qword [rcx + rdi - 0x48], 0x50
jmp 0x180425c09
cmp r8, rcx
jae 0x180425c2e
cmp r8, rdi
jb 0x180425c2e
mov edi, dword [rax + 0x18]
mov ebx, edi
and ebx, 8
jne 0x180425c2e
xor edi, r10d
test dil, 1
jne 0x180425c2e
add rdx, r9
mov qword [rax + 8], rdx
add r9, qword [0x18042be30]
mov eax, 0xfffffff0
sub eax, r8d
and eax, 0xf
lea rcx, [r8 + rax]
mov rdx, r9
sub rdx, rax
mov qword [0x18042be48], rcx
mov qword [0x18042be30], rdx
or rdx, 1
mov qword [r8 + rax + 8], rdx
mov qword [r8 + r9 + 8], 0x50
mov rax, qword [0x18042c1f8]
mov qword [0x18042be50], rax
mov rcx, qword [0x18042be30]
sub rcx, rsi
ja 0x18042535e
xor eax, eax
jmp 0x18042560b
cmp rcx, qword [0x18042be38]
jae 0x180425c3e
mov qword [0x18042be38], rcx
lea rdx, [rcx + r9]
lea rax, [0x18042c198]
cmp qword [rax], rdx
je 0x180425e07
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180425c49
jmp 0x180425e30
btr r10d, r11d
mov dword [0x18042be24], r10d
cmp rdx, 0x1f
ja 0x180425c89
add rdx, rsi
mov rcx, rdx
or rcx, 3
mov qword [rax + 8], rcx
or byte [rax + rdx + 8], 1
jmp 0x180425607
lea r8, [rax + rsi]
mov rcx, rsi
or rcx, 3
mov qword [rax + 8], rcx
mov rcx, rdx
or rcx, 1
mov qword [rax + rsi + 8], rcx
mov qword [r8 + rdx], rdx
cmp rdx, 0xff
ja 0x180425ced
shr rdx, 3
mov rcx, rdx
shl rcx, 4
add r9, rcx
add r9, 0x48
mov r10d, dword [0x18042be20]
mov r11d, 1
mov ecx, edx
shl r11d, cl
bt r10d, edx
jae 0x180425d2c
mov rcx, qword [r9 + 0x10]
cmp rcx, qword [0x18042be38]
jae 0x180425d39
jmp 0x180426184
mov r10, rdx
shr r10, 8
test r10d, r10d
je 0x180425d4e
mov ecx, 0x1f
cmp r10d, 0xffff
ja 0x180425d50
bsr ecx, r10d
xor ecx, 0x1f
mov r10b, 0x26
sub r10b, cl
movzx r10d, r10b
xor r11d, r11d
bt rdx, r10
setb r11b
lea ecx, [r11 + rcx*2]
xor ecx, 0x3e
jmp 0x180425d50
or r10d, r11d
mov dword [0x18042be20], r10d
mov rcx, r9
mov qword [r9 + 0x10], r8
mov qword [rcx + 0x18], r8
mov qword [r8 + 0x10], rcx
mov qword [r8 + 0x18], r9
jmp 0x180425607
xor ecx, ecx
mov r10d, ecx
lea r9, [r9 + r10*8]
add r9, 0x258
mov dword [r8 + 0x38], ecx
xorps xmm0, xmm0
movups xmmword [r8 + 0x20], xmm0
mov r10d, dword [0x18042be24]
mov r11d, 1
shl r11d, cl
bt r10d, ecx
jae 0x180425de9
mov r9, qword [r9]
mov r10d, ecx
shr r10d, 1
mov r11b, 0x39
sub r11b, r10b
xor r10d, r10d
cmp ecx, 0x1f
movzx ecx, r11b
cmove ecx, r10d
mov r10, rdx
shl r10, cl
mov rcx, r9
mov r9, qword [r9 + 8]
and r9, 0xfffffffffffffff8
cmp r9, rdx
je 0x180425fdc
mov r11, r10
shr r11, 0x3f
add r10, r10
mov r9, qword [rcx + r11*8 + 0x20]
test r9, r9
jne 0x180425da3
lea rdx, [rcx + r11*8]
add rdx, 0x20
cmp rdx, qword [0x18042be38]
jb 0x180426184
mov qword [rdx], r8
mov qword [r8 + 0x30], rcx
jmp 0x180425dfa
or r10d, r11d
mov dword [0x18042be24], r10d
mov qword [r9], r8
mov qword [r8 + 0x30], r9
mov qword [r8 + 0x18], r8
mov qword [r8 + 0x10], r8
jmp 0x180425607
mov edi, dword [rax + 0x18]
test dil, 1
sete bl
test dil, 8
jne 0x180425e30
xor r11b, bl
je 0x180425e30
mov qword [rax], rcx
add qword [rax + 8], r9
mov r8, rsi
call fcn.180426320
jmp 0x18042560b
lea rdx, [0x18042c198]
jmp 0x180425e44
mov rdx, qword [rdx + 0x10]
mov rax, qword [rdx]
cmp rax, r8
ja 0x180425e40
add rax, qword [rdx + 8]
cmp rax, r8
jbe 0x180425e40
mov edx, 0x4f
sub edx, eax
and edx, 0xf
lea r11, [rax + rdx]
add r11, 0xffffffffffffffa1
lea rdx, [r8 + 0x20]
cmp r11, rdx
cmovb r11, r8
lea rbx, [r11 + 0x10]
lea rdi, [r11 + 0x30]
lea r14, [r9 - 0x50]
mov r15d, 0xfffffff0
sub r15d, ecx
and r15d, 0xf
mov r12, rcx
add r12, r15
sub r14, r15
mov qword [0x18042be48], r12
mov qword [0x18042be30], r14
or r14, 1
mov qword [rcx + r15 + 8], r14
mov qword [rcx + r9 - 0x48], 0x50
mov r14, qword [0x18042c1f8]
mov qword [0x18042be50], r14
mov qword [r11 + 8], 0x33
movups xmm0, xmmword [0x18042c1a8]
movups xmmword [r11 + 0x20], xmm0
movups xmm0, xmmword [0x18042c198]
movups xmmword [r11 + 0x10], xmm0
mov qword [0x18042c198], rcx
mov qword [0x18042c1a0], r9
mov dword [0x18042c1b0], r10d
lea rcx, [r11 + 0x40]
cmp rax, rcx
cmova rcx, rax
mov qword [0x18042c1a8], rbx
sub rcx, r11
add rcx, 0xffffffffffffffc7
cmp rcx, 0x18
jb 0x180425f52
shr rcx, 3
inc rcx
mov r10, rcx
and r10, 0xfffffffffffffffc
lea r9, [r10*8]
xor ebx, ebx
movaps xmm0, xmmword [0x180428450]
movups xmmword [r11 + rbx*8 + 0x38], xmm0
movups xmmword [r11 + rbx*8 + 0x48], xmm0
add rbx, 4
cmp r10, rbx
jne 0x180425f35
cmp rcx, r10
je 0x180425f66
add rdi, r9
add rdi, 8
mov qword [rdi], 0xb
add rdi, 8
cmp rdi, rax
jb 0x180425f56
mov rax, r11
sub rax, r8
je 0x180425c17
and byte [r11 + 8], 0xfe
mov rcx, rax
or rcx, 1
mov qword [r8 + 8], rcx
mov qword [r11], rax
cmp rax, 0xff
ja 0x1804261b9
shr rax, 3
mov rcx, rax
shl rcx, 4
lea rdx, [0x18042be20]
add rdx, rcx
add rdx, 0x48
mov r9d, dword [0x18042be20]
mov r10d, 1
mov ecx, eax
shl r10d, cl
bt r9d, eax
jae 0x180426208
mov rax, qword [rdx + 0x10]
cmp rax, qword [0x18042be38]
jae 0x180426215
jmp 0x180426184
mov r9, qword [0x18042be38]
cmp rcx, r9
jb 0x180426184
mov rdx, qword [rcx + 0x10]
cmp rdx, r9
jb 0x180426184
mov qword [rdx + 0x18], r8
mov qword [rcx + 0x10], r8
mov qword [r8 + 0x10], rdx
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x30], 0
jmp 0x180425607
mov r14, qword [rax + 0x20]
test r14, r14
je 0x1804261f8
lea r15, [rax + 0x20]
nop word [rax + rax]
mov rdi, r14
mov r12, r15
lea r15, [r14 + 0x28]
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x180426030
lea r15, [rdi + 0x20]
mov r14, qword [rdi + 0x20]
test r14, r14
jne 0x180426030
cmp r12, rbx
jb 0x180426184
mov qword [r12], 0
test r11, r11
je 0x18042610f
mov ebx, dword [rax + 0x38]
cmp rax, qword [rcx + rbx*8 + 0x258]
je 0x18042609c
mov r10, qword [0x18042be38]
cmp r11, r10
jb 0x180426184
xor ebx, ebx
cmp qword [r11 + 0x20], rax
setne bl
mov qword [r11 + rbx*8 + 0x20], rdi
test rdi, rdi
jne 0x1804260b0
jmp 0x18042610f
mov qword [rcx + rbx*8 + 0x258], rdi
test rdi, rdi
je 0x180426104
mov r10, qword [0x18042be38]
cmp rdi, r10
jb 0x180426184
mov qword [rdi + 0x30], r11
mov r11, qword [rax + 0x20]
test r11, r11
je 0x1804260d7
cmp r11, r10
jb 0x180426184
mov qword [rdi + 0x20], r11
mov qword [r11 + 0x30], rdi
mov r11, qword [rax + 0x28]
test r11, r11
je 0x18042610f
cmp r11, r10
jb 0x180426184
mov qword [rdi + 0x28], r11
mov qword [r11 + 0x30], rdi
jmp 0x18042610f
xor r8d, r8d
test rcx, rcx
jne 0x1804257e9
jmp 0x180425c6b
btr r10d, ebx
mov dword [0x18042be24], r10d
cmp r9, 0x1f
ja 0x18042612e
add r9, rsi
mov rcx, r9
or rcx, 3
mov qword [rax + 8], rcx
or byte [rax + r9 + 8], 1
jmp 0x180425607
lea r10, [rax + rsi]
mov r11, rsi
or r11, 3
mov qword [rax + 8], r11
mov r11, r9
or r11, 1
mov qword [rax + rsi + 8], r11
mov qword [r10 + r9], r9
test rdx, rdx
je 0x1804261a6
mov r11, qword [0x18042be40]
shr rdx, 3
lea esi, [rdx + rdx]
lea rsi, [rcx + rsi*8]
add rsi, 0x48
mov edi, 1
mov ecx, edx
shl edi, cl
bt r8d, edx
jae 0x180426189
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [0x18042be38]
jae 0x180426196
call fcn.18041e0c0
or r8d, edi
mov dword [0x18042be20], r8d
mov rcx, rsi
mov qword [rsi + 0x10], r11
mov qword [rcx + 0x18], r11
mov qword [r11 + 0x10], rcx
mov qword [r11 + 0x18], rsi
mov qword [0x18042be28], r9
mov qword [0x18042be40], r10
jmp 0x180425607
mov r9, rax
shr r9, 8
test r9d, r9d
je 0x18042622a
mov ecx, 0x1f
cmp r9d, 0xffff
ja 0x18042622c
bsr ecx, r9d
xor ecx, 0x1f
mov r9b, 0x26
sub r9b, cl
movzx r9d, r9b
xor r10d, r10d
bt rax, r9
setb r10b
lea ecx, [r10 + rcx*2]
xor ecx, 0x3e
jmp 0x18042622c
xor edi, edi
test r11, r11
jne 0x18042606a
jmp 0x18042610f
or r9d, r10d
mov dword [0x18042be20], r9d
mov rax, rdx
mov qword [rdx + 0x10], r8
mov qword [rax + 0x18], r8
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rdx
jmp 0x180425c17
xor ecx, ecx
mov r9d, ecx
lea r10, [0x18042be20]
lea r9, [r10 + r9*8]
add r9, 0x258
mov dword [r8 + 0x38], ecx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov edx, dword [0x18042be24]
mov r10d, 1
shl r10d, cl
bt edx, ecx
jae 0x1804262c4
mov rdx, qword [r9]
mov r9d, ecx
shr r9d, 1
mov r10b, 0x39
sub r10b, r9b
xor r9d, r9d
cmp ecx, 0x1f
movzx ecx, r10b
cmove ecx, r9d
mov r9, rax
shl r9, cl
mov rcx, rdx
mov rdx, qword [rdx + 8]
and rdx, 0xfffffffffffffff8
cmp rdx, rax
je 0x1804262e1
mov r10, r9
shr r10, 0x3f
add r9, r9
mov rdx, qword [rcx + r10*8 + 0x20]
test rdx, rdx
jne 0x180426282
lea rax, [rcx + r10*8]
add rax, 0x20
cmp rax, qword [0x18042be38]
jb 0x180426184
mov qword [rax], r8
mov qword [r8 + 0x30], rcx
jmp 0x1804262d4
or edx, r10d
mov dword [0x18042be24], edx
mov qword [r9], r8
mov qword [r8 + 0x30], r9
mov qword [r8 + 0x18], r8
mov qword [r8 + 0x10], r8
jmp 0x180425c17
mov rdx, qword [0x18042be38]
cmp rcx, rdx
jb 0x180426184
mov rax, qword [rcx + 0x10]
cmp rax, rdx
jb 0x180426184
mov qword [rax + 0x18], r8
mov qword [rcx + 0x10], r8
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x30], 0
jmp 0x180425c17