Function at 0x180020440
Capabilities:
Encode data using base64
Get system information on windows
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov rbx, rcx
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov eax, dword [0x1800a6698]
test eax, eax
je 0x180021f73
test rbx, rbx
je 0x180021c27
cmp rbx, 0x1f0
ja 0x1800205f8
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 8]
test r15, r15
je 0x180021dac
cmp rbx, 8
jbe 0x180020b13
add rbx, 0xf
mov r12, rbx
and r12, 0xfffffffffffffff0
shr rbx, 4
dec rbx
lea r13, [rbx + rbx*2]
shl r13, 4
lea rsi, [r15 + r13]
add rsi, 0x98
cmp byte [r15 + 0x70], 0
je 0x1800204f8
cmp qword [r15 + 0x78], 0
je 0x180021f0b
lea r14, [r15 + 0x18]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rsi]
test rbx, rbx
je 0x18002062a
cmp dword [rbx + 0xc], 0
je 0x18002062a
mov eax, dword [rbx + 8]
mov edx, dword [rbx + rax*4 + 0x10]
test edx, edx
je 0x1800206b5
mov rbp, qword [r15 + 0x78]
test rbp, rbp
jne 0x1800205ac
bsf ebp, edx
mov edi, eax
shl edi, 5
or edi, ebp
mov ecx, dword [r15 + r13 + 0xc0]
imul rdi, qword [r15 + r13 + 0xa8]
add rcx, rbx
add rdi, rcx
btc edx, ebp
mov dword [rbx + rax*4 + 0x10], edx
dec dword [rbx + 0xc]
test rdi, rdi
je 0x180021552
add qword [r15 + 0x50], r12
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x18002155b
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.18004b970
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rbp], rcx
mov rdi, rsi
shl rdi, 0x17
xor rdi, rsi
mov rsi, rcx
shr rsi, 0x1a
xor rsi, rcx
xor rsi, rdi
shr rdi, 0x11
xor rsi, rdi
mov qword [rbp + 8], rsi
add ecx, esi
mov ebp, edx
ror ebp, cl
test ebp, ebp
je 0x1800205f1
bsf ebp, ebp
add ebp, ecx
and ebp, 0x1f
jmp 0x180020536
mov ebp, 0x20
jmp 0x1800205e7
mov r15, qword [0x1800a66c8]
cmp rbx, 0xf01
jae 0x180020714
add rbx, 0xff
mov r12d, ebx
and r12d, 0x1f00
shr rbx, 8
add rbx, 0x1d
jmp 0x1800204d3
mov rdx, qword [r15 + r13 + 0xa0]
test rdx, rdx
je 0x180020dfe
lea r11, [r15 + r13]
add r11, 0xa0
mov rax, rdx
nop dword [rax]
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x180020650
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0
xor ecx, ecx
cmp rdx, rdi
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x180020b61
mov rbx, qword [rdx]
test rbx, rbx
je 0x1800248f3
mov rax, qword [rbx + 8]
test al, 1
je 0x1800209c7
xor eax, eax
mov qword [rsp + 0x38], rax
mov r8d, 0xffffffff
xor r10d, r10d
jmp 0x1800234bd
mov ecx, dword [r15 + r13 + 0xbc]
mov edi, eax
shl edi, 5
inc eax
cmp eax, ecx
jae 0x18002154f
mov r9d, eax
mov ebp, dword [rbx + r9*4 + 0x10]
add edi, 0x20
test ebp, ebp
je 0x1800206c2
mov rsi, qword [r15 + 0x78]
test rsi, rsi
jne 0x180020acc
bsf esi, ebp
or edi, esi
mov ecx, dword [r15 + r13 + 0xc0]
add rcx, rbx
imul rdi, qword [r15 + r13 + 0xa8]
add rdi, rcx
btc ebp, esi
mov dword [rbx + r9*4 + 0x10], ebp
mov dword [rbx + 8], eax
jmp 0x18002055b
cmp rbx, 0xfc000
ja 0x180021eb1
add rbx, 0xfff
mov r13, rbx
and r13, 0xfffffffffffff000
lea rcx, [r15 + 0x18]
mov qword [rsp + 0x40], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r14, qword [r15 + 0x90]
test r14, r14
mov qword [rsp + 0x30], r13
je 0x180020d5d
xor eax, eax
mov rcx, 0xfffffffffffff000
mov edx, 0xffffffff
mov rbp, r14
mov rsi, qword [rbp + 0x10]
and rsi, rcx
xor edi, edi
cmp r13, rsi
seta dil
cmovb edi, edx
lea esi, [rdi + 1]
cmp esi, 2
jae 0x180020790
mov rax, rbp
mov rbp, qword [rbp]
test rbp, rbp
jne 0x180020767
jmp 0x1800207a6
cmp edi, 1
jne 0x1800221da
mov rbp, qword [rbp + 8]
and rbp, 0xfffffffffffffffe
test rbp, rbp
jne 0x180020767
test rax, rax
je 0x1800221e2
mov rcx, rax
and rcx, 0xfffffffffff00000
and eax, 0xfffff
add rax, 0xffffffffffffffe0
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r10, rdx
and r10, 0xfffffffffffffff0
shl r10, 8
add r10, rcx
mov r11, r10
and r11, 0xfffffffffff00000
mov rax, qword [r11 + 0x18]
mov qword [rsp + 0x88], rax
mov eax, r10d
shr eax, 0xc
movzx r8d, al
lea rax, [r8*8]
lea r9, [rax + rax*2]
or r9, r11
mov rax, qword [r9 + 0x30]
mov qword [rsp + 0x68], rax
shr rbx, 0xc
test r13, r13
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x28], r10
je 0x180020bfd
cmp rbx, 2
mov edx, 1
cmovae rdx, rbx
lea rax, [r8 + r8*2]
lea r14, [r11 + rax*8]
add r14, 0x30
lea r13, [r11 + rax*8]
add r13, 0x48
mov cl, 1
xor ebp, ebp
lea rsi, [r8 + rbp]
lea rax, [rsi + rsi*2]
test byte [r11 + rax*8 + 0x30], 0x60
jne 0x18002087c
inc rbp
cmp rbp, rbx
setb cl
add r14, 0x18
add r13, 0x18
cmp rbp, rdx
jne 0x180020851
jmp 0x180020a35
cmp rbp, rbx
jae 0x1800210c3
mov dword [rsp + 0x50], ecx
mov rax, r14
xor r12d, r12d
mov rcx, qword [rax]
test cl, 0x60
je 0x1800208b1
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [r12 + rbp]
inc rcx
inc r12
add rax, 0x18
cmp rcx, rbx
jb 0x18002088f
mov qword [rsp + 0x38], r9
mov rdi, r12
shl rdi, 0xc
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x80], rsi
je 0x180020df7
mov rcx, rsi
shl rcx, 0xc
mov qword [rsp + 0x58], r11
add rcx, r11
mov eax, ecx
and eax, 0xff000
mov esi, 0x100000
sub rsi, rax
cmp rsi, rdi
cmovae rsi, rdi
mov qword [rsp + 0x60], rdi
mov rdi, rcx
mov rdx, rsi
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18002238c
mov rcx, rdi
add rcx, rsi
mov rdi, qword [rsp + 0x60]
sub rdi, rsi
mov eax, 0x100000
cmp rdi, rax
mov esi, 0x100000
cmovb rsi, rdi
test rdi, rdi
jne 0x1800208f8
mov al, 1
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x58]
mov r8, qword [rsp + 0x48]
test r12, r12
je 0x1800209a9
test al, al
mov ecx, 0x20
mov edx, 4
cmovne rcx, rdx
cmp r12, 1
jne 0x180020972
xor edx, edx
jmp 0x180020992
mov rdi, r12
and rdi, 0xfffffffffffffffe
mov rsi, r13
xor edx, edx
or qword [rsi - 0x18], rcx
or qword [rsi], rcx
add rdx, 2
add rsi, 0x30
cmp rdi, rdx
jne 0x18002097e
test r12b, 1
je 0x1800209a9
add rdx, qword [rsp + 0x80]
lea rdx, [rdx + rdx*2]
or qword [r11 + rdx*8 + 0x30], rcx
test al, al
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xa0]
je 0x1800240c7
add qword [r15 + 0x48], r12
jmp 0x180020861
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800209d9
test byte [rcx + 8], 1
jne 0x1800206a0
or rax, 1
mov qword [rbx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800238e9
mov rbx, qword [rax]
test rbx, rbx
je 0x180020a08
mov rbp, qword [rbx + 8]
test bpl, 1
jne 0x180021618
or rcx, 1
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rbx, rax
and byte [rbx + 8], 0xfe
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbx
jmp 0x1800206a0
mov dword [rsp + 0x50], ecx
mov r14, qword [r15 + 0x90]
mov r13, qword [rsp + 0x30]
lea r12, [r9 + 0x20]
add r9, 0x30
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 0
mov rax, qword [r9]
mov rcx, rax
and rcx, 0xfffffffffffff000
mov rdx, 0xfffffffffffff000
and rdx, qword [r14 + 0x10]
xor ebp, ebp
cmp rcx, rdx
seta bpl
mov ecx, 0xffffffff
cmovae ecx, ebp
test ecx, ecx
mov qword [rsp + 0x38], r9
je 0x180020c0a
cmp ecx, 0xffffffff
jne 0x180020c2b
mov rdi, qword [r14]
test rdi, rdi
je 0x1800248f3
mov rax, qword [rdi + 8]
test al, 1
je 0x180020b90
xor esi, esi
mov r8, 0xfffffffffffff000
mov r10d, 0xffffffff
jmp 0x180023eb0
mov r8, qword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsi], rcx
mov r10, r8
shl r10, 0x17
xor r10, r8
mov rdx, rcx
shr rdx, 0x1a
xor rdx, rcx
xor rdx, r10
shr r10, 0x11
xor rdx, r10
mov qword [rsi + 8], rdx
add ecx, edx
mov esi, ebp
ror esi, cl
test esi, esi
je 0x180020cc0
bsf esi, esi
add esi, ecx
and esi, 0x1f
jmp 0x1800206eb
cmp rbx, 2
jb 0x180021611
mov ecx, 0x40
mov eax, 0x40
dec rbx
je 0x180020b34
bsr rax, rbx
xor rax, 0x3f
sub rcx, rax
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov r12d, 0x10
cmovae r12, rax
mov rax, r12
shr rax, 4
or rax, 1
bsr rbx, rax
jmp 0x1800204d3
test eax, eax
jne 0x180020cca
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x180021c31
mov rax, qword [rdx]
test rax, rax
jne 0x180021ccf
mov qword [rsp + 0xd0], rax
jmp 0x180022a19
mov rcx, qword [rdi]
test rcx, rcx
je 0x180020ba2
test byte [rcx + 8], 1
jne 0x180020ab8
or rax, 1
mov qword [rdi + 8], rax
mov rcx, qword [r14 + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800221a6
mov rdi, qword [rax]
test rdi, rdi
je 0x180020bd0
mov rdx, qword [rdi + 8]
test dl, 1
jne 0x1800219b7
or rcx, 1
mov qword [r14 + 8], rcx
mov rcx, qword [rax]
or rcx, 1
mov qword [r14 + 8], rcx
mov qword [rax], r14
mov rdi, rax
and byte [rdi + 8], 0xfe
lea r14, [rsp + 0xd0]
mov qword [r14], rdi
jmp 0x180020ab8
mov dword [rsp + 0x50], 0
jmp 0x180020a45
xor edx, edx
test al, 0x10
cmove rdx, r12
xor ecx, ecx
cmp rdx, r14
seta al
jb 0x180020aa0
mov cl, al
cmp ecx, 0xffffffff
je 0x180020aa0
test ecx, ecx
je 0x180020dd0
mov rax, qword [r14 + 8]
xor esi, esi
mov rdi, rax
and rdi, 0xfffffffffffffffe
je 0x180020c54
mov rcx, qword [rdi]
test rcx, rcx
je 0x180020c54
test byte [rcx + 8], 1
jne 0x180020aba
mov rcx, qword [r14]
test rcx, rcx
je 0x1800221b3
test byte [rcx + 8], 1
jne 0x18002167a
or rax, 1
mov qword [r14 + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x180020c87
mov rdx, qword [rax + 8]
test dl, 1
jne 0x18002190f
or byte [rcx + 8], 1
mov rax, qword [r14 + 8]
mov rdi, rax
and rdi, 0xfffffffffffffffe
je 0x18002342d
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [r14 + 8], rax
mov qword [rdi], r14
lea r14, [rsp + 0xd0]
mov qword [r14], rdi
jmp 0x180020aba
mov esi, 0x20
jmp 0x180020b09
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x180020cf0
mov rcx, qword [rbx]
test rcx, rcx
je 0x180020cf0
test byte [rcx + 8], 1
jne 0x1800206a7
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800221cd
test byte [rcx + 8], 1
jne 0x180021998
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x180020d24
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x180021b5b
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x18002342d
mov rcx, qword [rbx]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbx], rdx
lea rdx, [rsp + 0xd0]
mov qword [rdx], rbx
jmp 0x1800206a7
mov rdx, qword [r15 + 0x68]
test rdx, rdx
jne 0x1800210cb
lea r12, [0x1800a6660]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800a6690]
test rax, rax
je 0x1800215c8
xor edi, edi
mov ecx, 0xffffffff
mov rbp, qword [rax + 0x28]
xor edx, edx
cmp rbp, 0x100000
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
jne 0x180020db9
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x180020d91
jmp 0x18002111b
test edx, edx
jne 0x1800225b0
cmp qword [rax + 0x20], 0
jne 0x180020da9
mov rdi, rax
jmp 0x180021128
mov rax, qword [r14 + 8]
cmp rax, 1
ja 0x180021afc
mov rax, qword [r14]
test rax, rax
jne 0x1800216e4
mov qword [rsp + 0xd0], rax
jmp 0x180024037
mov al, 1
jmp 0x180020953
mov r11, qword [r15 + r13 + 0xb0]
lea r9, [r15 + 0x90]
mov rcx, qword [r15 + 0x90]
test rcx, rcx
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x50], r9
je 0x180021a19
mov rdx, r11
and rdx, 0xfffffffffffff000
xor eax, eax
mov r8, 0xfffffffffffff000
mov ebx, 0xffffffff
mov rbp, rsi
mov rsi, qword [rcx + 0x10]
and rsi, r8
xor edi, edi
cmp rdx, rsi
seta dil
cmovb edi, ebx
lea esi, [rdi + 1]
cmp esi, 2
jae 0x180020e70
mov rax, rcx
mov rcx, qword [rcx]
mov rsi, rbp
test rcx, rcx
jne 0x180020e42
jmp 0x180020e83
cmp edi, 1
jne 0x18002248f
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180020e66
test rax, rax
je 0x180021a19
mov rcx, rax
and rcx, 0xfffffffffff00000
and eax, 0xfffff
add rax, 0xffffffffffffffe0
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rbx, rdx
and rbx, 0xfffffffffffffff0
shl rbx, 8
add rbx, rcx
mov rdx, rbx
and rdx, 0xfffffffffff00000
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0xa0], rax
mov eax, ebx
shr eax, 0xc
movzx ebp, al
lea rax, [rbp*8]
lea rax, [rax + rax*2]
or rax, rdx
mov qword [rsp + 0x38], rax
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x58], rax
mov rcx, r11
shr rcx, 0xc
cmp r11, 0x1000
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x30], rcx
jb 0x180021721
cmp rcx, 2
mov eax, 1
cmovae rax, rcx
mov qword [rsp + 0x28], rax
mov r8, rbp
lea rax, [rbp + rbp*2]
mov r10, rdx
lea rbp, [rdx + rax*8]
add rbp, 0x30
mov dl, 1
xor edi, edi
lea r11, [rdi + r8]
lea rax, [r11 + r11*2]
test byte [r10 + rax*8 + 0x30], 0x60
jne 0x180020f6a
inc rdi
cmp rdi, rcx
setb dl
add rbp, 0x18
cmp rdi, qword [rsp + 0x28]
jne 0x180020f41
jmp 0x180021729
mov qword [rsp + 0x80], r11
cmp rdi, rcx
jae 0x180021bee
mov qword [rsp + 0x78], rbp
mov rax, rbp
xor ebp, ebp
mov rcx, qword [rax]
test cl, 0x60
je 0x180020fa9
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [rdi + rbp]
inc rcx
inc rbp
add rax, 0x18
cmp rcx, qword [rsp + 0x30]
jb 0x180020f85
mov qword [rsp + 0x60], rbp
mov rcx, rbp
shl rcx, 0xc
mov dword [rsp + 0x48], edx
je 0x180021abf
mov rax, qword [rsp + 0x80]
shl rax, 0xc
add rax, r10
mov ebp, eax
and ebp, 0xff000
mov edx, 0x100000
sub rdx, rbp
cmp rdx, rcx
cmovae rdx, rcx
mov rbp, qword [rsp + 0x78]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov rcx, rax
mov qword [rsp + 0x80], rax
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180022680
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
add r8, rax
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov eax, 0x100000
cmp rcx, rax
mov edx, 0x100000
cmovb rdx, rcx
test rcx, rcx
mov rax, r8
jne 0x180020fea
mov r11b, 1
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
cmp qword [rsp + 0x60], 0
je 0x18002109e
test r11b, r11b
mov ecx, 0x20
mov eax, 4
cmovne rcx, rax
mov rax, qword [rsp + 0x60]
lea rax, [rax*8]
lea rdx, [rax + rax*2]
xor eax, eax
or qword [rbp + rax], rcx
add rax, 0x18
cmp rdx, rax
jne 0x180021090
test r11b, r11b
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x30]
je 0x180022d9c
mov rax, qword [rsp + 0x60]
add qword [r15 + 0x48], rax
jmp 0x180020f51
xor r12d, r12d
jmp 0x1800209be
xor ebp, ebp
mov qword [r15 + 0x68], rbp
lea rax, [rdx + 0x68]
lea r10, [rdx + 0x3000]
xorps xmm0, xmm0
lea rcx, [rsp + 0xd0]
movaps xmmword [rcx], xmm0
mov qword [rdx + 0x68], rbp
mov qword [rdx + 0x70], 1
mov qword [rcx], rax
mov r14, qword [rsp + 0xd0]
test r14, r14
je 0x1800248f3
and byte [r14 + 8], 0xfe
mov qword [r15 + 0x90], r14
jmp 0x1800207dd
test rdi, rdi
je 0x1800215c8
mov rbp, qword [rdi + 0x28]
mov rsi, qword [rdi + 0x20]
lea r14, [rsi + 0xfffff]
mov rax, 0xfffffffffff00000
and r14, rax
mov rcx, r14
sub rcx, rsi
sub rbp, rcx
add rbp, rax
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x38], eax
mov rcx, rdi
call fcn.180001ae0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.1800015f0
mov rax, r14
sub rax, rsi
mov qword [rsp + 0x28], r14
jne 0x18002249a
test rbp, rbp
je 0x1800216a5
lea rax, [r14 + 0x100000]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rbp
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x30], eax
mov rcx, rdi
call fcn.1800012f0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.180001040
lock add qword [0x1800a6658], 0xfffffffffff00000
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x100000
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1800224f8
test rsi, rsi
je 0x1800215d5
lea rcx, [0x1800a65d0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r12d, r12d
mov ebp, 0xe
mov r14, qword [0x1800a65f8]
xorps xmm6, xmm6
mov rdx, qword [rsp + 0x28]
xor esi, esi
cmp ebp, 0xe
sete sil
mov rdi, rdx
mov ecx, r12d
shl rdi, cl
xor esi, 3
mov ecx, esi
neg cl
shr rdi, cl
mov rax, qword [r14 + rdi*8]
test rax, rax
je 0x180021acc
add r12d, esi
mov r14, rax
dec ebp
jne 0x180021218
mov rbp, rdx
mov ecx, r12d
shl rbp, cl
shr rbp, 0x3d
mov qword [rax + rbp*8], rdx
lea rcx, [0x1800a65d0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x180024583
add qword [r15 + 0x40], 0x100000
mov qword [rcx], r15
xor eax, eax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x48], rax
mov qword [rcx + 0x60], 0x20
mov qword [rcx + 0x78], 0xfc024
mov eax, 0xf0
nop word cs:[rax + rax]
mov qword [rcx + rax - 0x60], 0x24
mov qword [rcx + rax - 0x48], 0x24
mov qword [rcx + rax - 0x30], 0x24
mov qword [rcx + rax - 0x18], 0x24
mov qword [rcx + rax], 0x24
add rax, 0x78
cmp rax, 0x1860
jne 0x1800212b0
mov qword [rcx + 0x1800], 0xfc024
mov qword [rcx + 0x1818], 0x20
lea rdi, [rcx + 0x2000]
mov eax, edi
and eax, 0xfffff
mov r14d, 0x100000
mov ebp, 0x100000
sub rbp, rax
mov esi, 0xfe000
cmp rbp, rsi
cmovae rbp, rsi
mov r12, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rdi
mov rdx, rbp
mov r8d, 0x4000
call r12
test eax, eax
je 0x18002242b
add rdi, rbp
sub rsi, rbp
cmp rsi, r14
mov ebp, 0x100000
cmovb rbp, rsi
test rsi, rsi
jne 0x18002132d
add qword [r15 + 0x48], 3
mov r10, qword [rsp + 0x28]
lea r9, [r10 + 0x68]
mov rcx, qword [r15 + 0x90]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 0
test rcx, rcx
je 0x18002197b
lea rdi, [rsp + 0xd0]
xor ebp, ebp
mov r10, 0xfffffffffffff000
mov r8d, 0xffffffff
mov r11, rbp
mov rbp, rdi
mov rdi, qword [rcx]
test rdi, rdi
je 0x1800213c9
mov rdx, qword [rdi + 8]
test dl, 1
je 0x1800213c9
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800213c9
test byte [rsi + 8], 1
jne 0x180021431
mov rdi, rcx
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x78]
mov rdx, rax
and rdx, r10
mov rsi, qword [rdi + 0x10]
and rsi, r10
xor ecx, ecx
cmp rdx, rsi
seta cl
cmovb ecx, r8d
cmp ecx, 0xffffffff
jne 0x180021405
mov rcx, qword [rdi]
mov edx, 0xffffffff
test rcx, rcx
jne 0x1800213a4
jmp 0x180021509
test ecx, ecx
jne 0x18002142a
test al, 0x10
mov eax, 0
cmove rax, r9
xor edx, edx
cmp rax, rdi
seta al
jb 0x1800213f3
mov dl, al
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x1800213fb
mov edx, 1
jmp 0x180021420
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rsi, rcx
and rsi, 0xfffffffffffffffe
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
and eax, 1
or rax, rsi
mov qword [rdi + 8], rax
test rdx, rdx
je 0x1800248f3
and byte [rdx + 8], 0xfe
cmp qword [rbp], rcx
jne 0x18002146c
mov qword [rbp], rdi
jmp 0x1800213cc
and rdi, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
lea rax, [rcx + rdi]
mov qword [rbp + 8], rax
test rdi, rdi
je 0x18002342d
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rbp + 8], rax
mov qword [rdi], rbp
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
or byte [rbp + 8], 1
test r11, r11
je 0x18002344d
cmp qword [r11], rbp
je 0x180021b09
jmp 0x180021b11
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x78]
mov rax, rcx
and rax, r10
mov rdx, qword [rdi + 0x10]
and rdx, r10
xor ebp, ebp
cmp rax, rdx
seta bpl
cmovb ebp, r8d
test ebp, ebp
jne 0x180021a78
jmp 0x180021bc7
mov rbp, rdi
test rcx, rcx
jne 0x1800213aa
mov rbp, r11
mov r10, qword [rsp + 0x28]
mov qword [r10 + 0x68], 0
mov qword [r10 + 0x70], 1
cmp edx, 1
je 0x18002156e
mov qword [rdi], r9
mov r14, qword [rsp + 0xd0]
test r14, r14
je 0x1800248f3
and byte [r14 + 8], 0xfe
mov qword [r15 + 0x90], r14
add r10, 0x3000
jmp 0x1800207dd
dec dword [rbx + 0xc]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [0x1800a2f10]
mov dword [rax], 0xc
xor edi, edi
jmp 0x18002057d
and r9, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
and eax, 1
lea rcx, [rax + r9]
mov qword [rdi + 8], rcx
test r9, r9
je 0x18002342d
mov rcx, qword [r9]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
mov qword [r9], rdi
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, qword [r9 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r9 + 8], rcx
or byte [rdi + 8], 1
cmp qword [rbp], rdi
jne 0x1800218ec
mov qword [rbp], r9
jmp 0x180021526
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x100000
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rcx, rax
test rax, rax
je 0x1800225d4
mov rax, rcx
shl rax, 0x2c
jne 0x180021c3e
mov qword [rsp + 0x28], rcx
jmp 0x1800211f4
xor ecx, ecx
jmp 0x180020b37
and rbp, 0xfffffffffffffffe
mov qword [rax], rbp
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
and rbx, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rbx]
mov qword [rdx + 8], rcx
test rbx, rbx
je 0x18002342d
mov rcx, qword [rbx]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x180021671
mov rcx, qword [rax + 8]
test cl, 1
jne 0x180021b24
mov qword [rdx + 8], rax
jmp 0x180020a21
lea rcx, [rsp + 0xb0]
mov rdx, r14
mov rdi, r11
call fcn.180024c30
mov r11, rdi
mov r9, qword [rsp + 0x38]
lea rax, [rsp + 0xb0]
mov rdi, qword [rax]
jmp 0x180020cb0
lock add qword [0x1800a6658], 0xfffffffffff00000
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r12, [0x1800a6600]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800a6560]
mov qword [rdi], rax
mov qword [0x1800a6560], rdi
jmp 0x1800211ba
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [r14], rcx
mov rcx, r14
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
mov rdx, qword [r14 + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
or byte [r14 + 8], 1
and qword [rax + 8], 1
jmp 0x180020dea
mov r8, rbp
mov r10, rdx
xor edx, edx
mov dword [rsp + 0x48], edx
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x28], rcx
add rax, 0x30
mov rdx, qword [r9]
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x38], rax
mov rbp, qword [rax]
mov rcx, 0xfffffffffffff000
mov rax, rbp
and rax, rcx
and rcx, qword [rdx + 0x10]
xor edi, edi
cmp rax, rcx
seta dil
mov ecx, 0xffffffff
cmovae ecx, edi
test ecx, ecx
mov rdi, r8
je 0x1800218cb
cmp ecx, 0xffffffff
jne 0x1800217c1
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800248f3
mov rax, qword [rcx + 8]
test al, 1
je 0x18002185d
xor eax, eax
mov qword [rsp + 0x60], rax
mov r8, 0xfffffffffffff000
mov r9d, 0xffffffff
jmp 0x1800239bf
test ecx, ecx
je 0x180021a93
mov rax, qword [rdx + 8]
xor edi, edi
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov qword [rsp + 0x60], rdi
je 0x1800217eb
mov rbp, qword [rcx]
test rbp, rbp
je 0x1800217eb
test byte [rbp + 8], 1
jne 0x1800217af
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800221cd
test byte [rcx + 8], 1
jne 0x180021d53
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002181f
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x180021dd2
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rcx]
and rbp, 0xfffffffffffffffe
and eax, 1
or rax, rbp
mov qword [rdx + 8], rax
mov qword [rcx], rdx
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
mov r10, qword [rsp + 0x40]
jmp 0x1800217af
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002186f
test byte [rbp + 8], 1
jne 0x1800217a8
or rax, 1
mov qword [rcx + 8], rax
mov rbp, qword [rdx + 8]
mov rax, rbp
and rax, 0xfffffffffffffffe
je 0x1800221c0
mov rcx, qword [rax]
test rcx, rcx
je 0x18002189e
mov rdi, qword [rcx + 8]
test dil, 1
jne 0x180021e40
or rbp, 1
mov qword [rdx + 8], rbp
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, rax
and byte [rcx + 8], 0xfe
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
jmp 0x1800217a8
xor eax, eax
test bpl, 0x10
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x180021790
mov cl, al
jmp 0x18002178b
mov rax, qword [rbp + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
jne 0x180021526
and eax, 1
or rax, r9
mov qword [rbp + 8], rax
jmp 0x180021526
and rdx, 0xfffffffffffffffe
mov qword [rax + 8], rdx
mov rdi, qword [r14]
test rdi, rdi
je 0x180023de5
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
mov qword [r14], rax
mov rax, r14
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
mov rcx, qword [r14 + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rdx, qword [rax]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [r14 + 8], rcx
mov qword [rax], r14
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
jmp 0x180020cb0
mov qword [r10 + 0x68], 0
mov qword [r10 + 0x70], 1
lea rdi, [rsp + 0xd0]
jmp 0x180021523
lea rbp, [rsp + 0xb0]
mov rcx, rbp
mov rbx, r11
call fcn.180002010
mov r11, rbx
mov rbx, qword [rbp]
jmp 0x180020d4d
and rdx, 0xfffffffffffffffe
mov qword [rax], rdx
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
and rdi, 0xfffffffffffffffe
mov rax, qword [r14 + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [r14 + 8], rcx
test rdi, rdi
je 0x18002342d
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r14 + 8], rcx
mov qword [rdi], r14
mov rax, qword [r14 + 8]
and rax, 0xfffffffffffffffe
je 0x180021a10
mov rcx, qword [rax + 8]
test cl, 1
jne 0x180021d12
mov qword [r14 + 8], rax
jmp 0x180020be9
mov rdx, qword [r15 + 0x68]
test rdx, rdx
jne 0x180021bfa
lea r9, [rsp + 0xd0]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.18004c1a0
test rax, rax
je 0x180023099
mov rbx, rax
mov r8b, byte [rsp + 0xd0]
mov rcx, r15
mov rdx, rax
call fcn.18004bc90
add rbx, 0x3000
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0x50]
jmp 0x180020eba
mov edx, 1
cmp ebp, 0xffffffff
je 0x180021be1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x1800214fa
mov rax, qword [rdx + 8]
cmp rax, 1
mov rcx, qword [rsp + 0x30]
ja 0x180021ea4
mov rax, qword [rdx]
test rax, rax
jne 0x180021d6b
mov qword [rsp + 0xd0], rax
jmp 0x180022a46
mov r11b, 1
mov rbp, qword [rsp + 0x78]
jmp 0x180021064
mov ecx, 0x40
call fcn.180002230
test rax, rax
je 0x180022444
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [r14 + rdi*8], rax
mov rdx, qword [rsp + 0x28]
jmp 0x180021241
lea rsi, [rsp + 0xd0]
jmp 0x180020c39
mov qword [r11], rdi
jmp 0x1800214ca
mov rax, qword [r11 + 8]
and eax, 1
or rax, rdi
mov qword [r11 + 8], rax
jmp 0x1800214ca
and rcx, 0xfffffffffffffffe
mov qword [rax + 8], rcx
mov rax, qword [rdx + 8]
mov rcx, rax
or rcx, 1
mov qword [rdx + 8], rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbx], rax
jmp 0x180020a21
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbx, qword [rdx]
test rbx, rbx
je 0x180023446
mov rax, qword [rbx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rax]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
jmp 0x180020d4d
test cl, 0x10
mov eax, 0
cmove rax, r9
xor edx, edx
cmp rax, rdi
seta cl
jae 0x180021d0b
mov rcx, qword [rdi]
mov edx, 0xffffffff
jmp 0x1800214fa
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x1800210b5
mov qword [r15 + 0x68], 0
lea rbx, [rdx + 0x3000]
add rdx, 0x68
mov rcx, r9
call fcn.18004be60
mov r9, qword [rsp + 0x50]
mov r11, qword [rsp + 0x88]
jmp 0x180020eba
mov ebx, 1
jmp 0x180020487
lea rcx, [rsp + 0xd0]
jmp 0x180020cd0
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x180022881
xor edi, edi
mov rbp, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov r13, qword [rsp + 0x30]
mov edx, 0x1ff000
xor ecx, ecx
mov r8d, 0x3000
call fcn.18004bbb0
test rax, rax
je 0x1800240e1
mov rsi, rax
add rsi, 0xfffff
and rsi, 0xfffffffffff00000
mov rcx, rax
xor edx, edx
mov r8d, 0x8000
call rbp
test eax, eax
je 0x180022899
mov edx, 0x100000
mov rcx, rsi
mov r8d, 0x3000
call fcn.18004bbb0
cmp rax, rsi
jne 0x1800228b1
mov qword [rsp + 0x28], rsi
test rsi, rsi
jne 0x1800211f4
jmp 0x180021c62
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rax + 8]
and ebp, 1
or rbp, rcx
mov qword [rax + 8], rbp
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov qword [rax + 8], rbp
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x180020b83
mov dl, cl
jmp 0x180021a86
and rcx, 0xfffffffffffffffe
mov qword [rax + 8], rcx
mov rax, qword [r14 + 8]
mov rcx, rax
or rcx, 1
mov qword [r14 + 8], rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rcx, qword [rax]
or rcx, 1
mov qword [r14 + 8], rcx
mov qword [rax], r14
mov qword [rdi], rax
mov r13, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp 0x180020be9
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call fcn.180024c30
mov rcx, qword [rdi]
jmp 0x180021848
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rax + 8]
and ebp, 1
or rbp, rcx
mov qword [rax + 8], rbp
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov rcx, qword [rsp + 0x30]
mov qword [rax + 8], rbp
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x180021ab2
mov r15, qword [0x1800a66c8]
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], r15
jmp 0x1800204b7
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rcx, qword [rdx]
test rcx, rcx
je 0x180023446
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
mov rax, qword [rdx + 8]
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002342d
mov rdi, qword [rbp]
and rdi, 0xfffffffffffffffe
and eax, 1
or rax, rdi
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov rax, qword [rcx + 8]
and eax, 1
or rax, rbp
mov qword [rcx + 8], rax
jmp 0x180021848
and rdi, 0xfffffffffffffffe
mov qword [rax], rdi
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
and rcx, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rbp, [rax + rcx]
mov qword [rdx + 8], rbp
test rcx, rcx
je 0x18002342d
mov rbp, qword [rcx]
and rbp, 0xfffffffffffffffe
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x180021e96
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x180021ecd
mov qword [rdx + 8], rax
mov r10, qword [rsp + 0x40]
jmp 0x1800218b7
lea rdi, [rsp + 0xd0]
jmp 0x1800217cf
mov r8d, 0x100000
mov rcx, r15
mov rdx, rbx
xor r9d, r9d
call fcn.180004050
mov rdi, rax
jmp 0x180020574
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbp, qword [rdx + 8]
mov rax, rbp
or rax, 1
mov qword [rdx + 8], rax
and rbp, 0xfffffffffffffffe
je 0x18002342d
mov rax, qword [rbp]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov qword [rcx], rbp
mov r10, qword [rsp + 0x40]
jmp 0x1800218b7
mov byte [r15 + 0x70], 0
lea rcx, [rsp + 0xd0]
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
mov ecx, 0x10
call fcn.180002230
xor ecx, ecx
cmp byte [rdi + 8], 0
mov edx, 0
je 0x180021f4c
mov rdx, qword [rsp + 0xb0]
cmp byte [rsp + 0xd8], 0
je 0x180021f5e
mov rcx, qword [rsp + 0xd0]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov qword [r15 + 0x78], rax
mov byte [r15 + 0x70], 1
jmp 0x1800204f8
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1800a6698]
test eax, eax
jne 0x180022194
mov eax, dword [0x1800a66f8]
mov ecx, dword [0x1800a64f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x180021feb
lea rcx, [0x1800a66f8]
call fcn.18004a330
cmp dword [0x1800a66f8], 0xffffffff
jne 0x180021feb
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov qword [0x1800a66f0], rax
lea rcx, [0x1800a66f8]
call fcn.18004a398
mov eax, 0x1000
xor edx, edx
div qword [0x1800a66f0]
test rdx, rdx
jne 0x180022919
lea rcx, str.MALLOC_OPTIONS
lea rsi, [0x1800a6700]
mov rdx, rsi
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor edi, edi
test eax, eax
cmovne rdi, rsi
je 0x18002206c
mov al, byte [rdi]
test al, al
je 0x18002206c
xor ebp, ebp
movsx eax, al
add eax, 0xffffffd0
mov esi, 1
cmp eax, 9
jbe 0x18002296f
mov r15d, ebp
mov al, byte [rdi + r15]
movsx ecx, al
cmp ecx, 0x72
jne 0x1800228eb
mov byte [0x1800a6588], 1
dec esi
jne 0x180022048
inc ebp
mov al, byte [rdi + rbp]
test al, al
jne 0x180022031
mov qword [0x1800a6658], 0
lea rcx, [0x1800a6660]
mov rsi, qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov edx, 0x1388
call rsi
xor edi, edi
mov qword [0x1800a6690], rdi
mov qword [0x1800a6688], rdi
lea rcx, [0x1800a6590]
mov edx, 0x1388
call rsi
mov qword [0x1800a65b8], rdi
mov qword [0x1800a65c0], rdi
mov qword [0x1800a65c8], rdi
lea rcx, [0x1800a6600]
mov edx, 0x1388
call rsi
mov qword [0x1800a6650], rdi
mov qword [0x1800a6640], rdi
xorps xmm0, xmm0
movups xmmword [0x1800a66d8], xmm0
lea rcx, [0x1800a66a0]
mov dword [rsp + 0xd8], 0
mov rax, qword [0x1800a6038]
mov qword [rsp + 0xd0], rax
mov edx, 0x1388
call rsi
test eax, eax
je 0x180022945
lea rdx, [rsp + 0xd0]
xor ecx, ecx
call fcn.18003dc70
mov qword [0x1800a66c8], rax
test rax, rax
je 0x18002295d
mov ecx, dword [0x1800a64f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 8], rax
lea rcx, [0x1800a65d0]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x20
call fcn.180002230
test rax, rax
je 0x180022952
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [0x1800a65f8], rax
mov eax, 1
xchg dword [0x1800a6698], eax
call fcn.180002560
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18002047e
or rcx, 1
mov qword [r14 + 8], rcx
jmp 0x18002342d
or rax, 1
mov qword [r14 + 8], rax
jmp 0x1800248f3
or rbp, 1
mov qword [rdx + 8], rbp
jmp 0x18002342d
or rax, 1
mov qword [rdx + 8], rax
jmp 0x1800248f3
mov rax, rbp
jmp 0x1800207af
mov r11, qword [r15 + 0x68]
test r11, r11
je 0x180020d6a
xor r12d, r12d
mov qword [r15 + 0x68], r12
lea rax, [r11 + 0x3000]
mov qword [rsp + 0x28], rax
lea rax, [r11 + 0x68]
lea rcx, [rsp + 0xd0]
mov qword [rcx], r14
mov qword [rcx + 8], r12
mov r9, 0xfffffffffffff000
mov r8d, 0xffffffff
mov r10, r12
mov r12, rcx
mov rcx, qword [r14]
test rcx, rcx
je 0x180022247
mov rdx, qword [rcx + 8]
test dl, 1
je 0x180022247
mov rbp, qword [rcx]
test rbp, rbp
je 0x180022247
test byte [rbp + 8], 1
jne 0x1800222ae
mov rcx, r14
mov rsi, qword [r11 + 0x78]
mov rdx, rsi
and rdx, r9
mov rdi, qword [rcx + 0x10]
and rdi, r9
xor ebp, ebp
cmp rdx, rdi
seta bpl
cmovb ebp, r8d
cmp ebp, 0xffffffff
jne 0x18002227f
mov r14, qword [rcx]
mov ebp, 0xffffffff
test r14, r14
jne 0x180022222
jmp 0x180022794
test ebp, ebp
jne 0x1800222a7
test sil, 0x10
mov edx, 0
cmove rdx, rax
xor ebp, ebp
cmp rdx, rcx
seta dl
jb 0x18002226d
mov bpl, dl
mov r14, qword [rcx + 8]
and r14, 0xfffffffffffffffe
jmp 0x180022275
mov ebp, 1
jmp 0x18002229d
and rdx, 0xfffffffffffffffe
mov qword [r14], rdx
mov rsi, r14
and rsi, 0xfffffffffffffffe
mov rdx, qword [rcx]
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rsi
mov qword [rcx + 8], rbp
test rdx, rdx
je 0x1800248f3
and byte [rdx + 8], 0xfe
cmp qword [r12], r14
jne 0x180022325
mov qword [r12], rcx
jmp 0x18002224a
mov rdx, qword [r11 + 0x78]
mov rdi, rdx
and rdi, r9
mov rbp, qword [rcx + 0x10]
and rbp, r9
xor esi, esi
cmp rdi, rbp
seta sil
cmovb esi, r8d
test esi, esi
jne 0x180022582
jmp 0x180022658
mov r12, rcx
test r14, r14
jne 0x180022228
jmp 0x180022791
and rcx, 0xfffffffffffffffe
mov rdx, qword [r12 + 8]
and edx, 1
lea rsi, [rdx + rcx]
mov qword [r12 + 8], rsi
test rcx, rcx
je 0x18002342d
mov rsi, qword [rcx]
and rsi, 0xfffffffffffffffe
or rsi, rdx
mov qword [r12 + 8], rsi
mov qword [rcx], r12
mov rdx, qword [r12 + 8]
and edx, 1
mov rsi, qword [rcx + 8]
and rsi, 0xfffffffffffffffe
or rsi, rdx
mov qword [rcx + 8], rsi
or byte [r12 + 8], 1
test r10, r10
je 0x18002344d
cmp qword [r10], r12
jne 0x18002259d
mov qword [r10], rcx
jmp 0x1800222e9
mov qword [rsp + 0x98], rdi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x1800223a6
cmp eax, 8
jne 0x180022424
xor eax, eax
cmp dword [sym.mozglue.dll_gsChildProcessType_startup_mozilla__3W4GeckoProcessType__A], 0
sete al
lea rax, [rax + rax*4]
add rax, 5
mov qword [rsp + 0x90], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x98]
mov rdx, rsi
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rdi, rdi
jne 0x18002246a
cmp eax, 0x5af
je 0x180022404
cmp eax, 8
jne 0x180022424
xor eax, eax
dec qword [rsp + 0x90]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x58]
mov r8, qword [rsp + 0x48]
jne 0x1800223c2
jmp 0x180020953
xor eax, eax
jmp 0x180020944
lea rax, str.MOZ_CRASH__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rcx, [0x1800a65d0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edi, edi
mov edx, 0x100000
mov rcx, qword [rsp + 0x28]
xor r8d, r8d
call fcn.180029710
jmp 0x1800240e1
cmp eax, 0x5af
mov rdi, qword [rsp + 0x98]
je 0x180022482
cmp eax, 8
jne 0x18002091e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x18002091e
mov rax, rcx
mov rsi, rbp
jmp 0x180020e8c
mov qword [rdi + 0x28], rax
mov rcx, rdi
call fcn.1800012f0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.180001040
test rbp, rbp
je 0x1800211ae
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.180051640
test rax, rax
je 0x180022773
mov rdi, rax
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jmp 0x180021181
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x18002250e
cmp eax, 8
jne 0x1800215d5
xor eax, eax
cmp dword [sym.mozglue.dll_gsChildProcessType_startup_mozilla__3W4GeckoProcessType__A], 0
sete al
lea rsi, [rax + rax*4 + 5]
mov r14, qword [sym.imp.KERNEL32.dll_Sleep]
mov r12, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13, qword [rsp + 0x30]
mov ecx, 0x32
call r14
mov edx, 0x100000
mov rcx, qword [rsp + 0x28]
mov r8d, 0x1000
mov r9d, 4
call r12
mov rdi, rax
call rbp
test rdi, rdi
jne 0x18002274c
cmp eax, 0x5af
je 0x180022578
cmp eax, 8
jne 0x1800215d5
dec rsi
jne 0x180022539
jmp 0x1800215d5
mov ebp, 1
cmp esi, 0xffffffff
je 0x180022673
mov r14, qword [rcx + 8]
and r14, 0xfffffffffffffffe
jmp 0x180022314
mov rdx, qword [r10 + 8]
and edx, 1
or rdx, rcx
mov qword [r10 + 8], rdx
jmp 0x1800222e9
cmp edx, 1
jne 0x1800225c7
mov rax, qword [rax + 8]
and rax, 0xfffffffffffffffe
mov r13, qword [rsp + 0x30]
jmp 0x180020daf
mov rdi, rax
mov r13, qword [rsp + 0x30]
jmp 0x180021128
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x1800225ea
cmp eax, 8
jne 0x180024583
xor eax, eax
cmp dword [sym.mozglue.dll_gsChildProcessType_startup_mozilla__3W4GeckoProcessType__A], 0
sete al
lea rsi, [rax + rax*4]
add rsi, 5
xor edi, edi
mov r12, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0x100000
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call r12
mov rbp, rax
call r13
test rbp, rbp
jne 0x18002285d
cmp eax, 0x5af
je 0x18002264e
cmp eax, 8
jne 0x1800240e1
dec rsi
jne 0x18002260e
jmp 0x1800240e1
test dl, 0x10
mov edx, 0
cmove rdx, rax
xor ebp, ebp
cmp rdx, rcx
seta sil
jae 0x180022744
mov r14, qword [rcx]
mov ebp, 0xffffffff
jmp 0x180022314
mov qword [rsp + 0x70], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x18002269b
cmp eax, 8
jne 0x180022728
xor eax, eax
cmp dword [sym.mozglue.dll_gsChildProcessType_startup_mozilla__3W4GeckoProcessType__A], 0
sete al
lea rax, [rax + rax*4]
add rax, 5
mov qword [rsp + 0xa8], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rsi, rsi
jne 0x180022836
cmp eax, 0x5af
je 0x180022702
cmp eax, 8
jne 0x180022728
xor r11d, r11d
dec qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
jne 0x1800226b7
jmp 0x180021064
xor r11d, r11d
mov rsi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
jmp 0x180021064
mov bpl, sil
jmp 0x180022590
cmp eax, 0x5af
mov r13, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
je 0x180022766
cmp eax, 8
jne 0x1800211eb
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1800211eb
mov edx, 0x100000
mov rcx, qword [rsp + 0x28]
mov r8d, dword [rsp + 0x38]
call fcn.180029710
mov r13, qword [rsp + 0x30]
jmp 0x1800215d5
mov r12, r10
mov qword [r11 + 0x68], 0
mov qword [r11 + 0x70], 1
cmp ebp, 1
je 0x1800227b8
mov r13, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
jmp 0x1800210f6
and rax, 0xfffffffffffffffe
mov rdx, qword [rcx + 8]
and edx, 1
lea rbp, [rdx + rax]
mov qword [rcx + 8], rbp
test rax, rax
je 0x18002342d
mov rbp, qword [rax]
and rbp, 0xfffffffffffffffe
or rbp, rdx
mov qword [rcx + 8], rbp
mov qword [rax], rcx
mov rdx, qword [rcx + 8]
and edx, 1
mov rbp, qword [rax + 8]
and rbp, 0xfffffffffffffffe
or rbp, rdx
mov qword [rax + 8], rbp
or byte [rcx + 8], 1
cmp qword [r12], rcx
jne 0x180022818
mov qword [r12], rax
mov r13, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
jmp 0x1800210f9
mov rbp, qword [r12 + 8]
mov rdx, rbp
and rdx, 0xfffffffffffffffe
cmp rcx, rdx
jne 0x180022809
and ebp, 1
or rbp, rax
mov qword [r12 + 8], rbp
jmp 0x180022809
cmp eax, 0x5af
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
je 0x180022850
cmp eax, 8
jne 0x180021020
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x180021020
mov r14, rbp
cmp eax, 0x5af
je 0x18002286c
cmp eax, 8
jne 0x180022874
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r13, qword [rsp + 0x30]
mov rcx, r14
jmp 0x1800215fa
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.1800515f0
jmp 0x180021c54
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.1800515f0
jmp 0x180021ca3
test rax, rax
je 0x1800228e4
mov rcx, rax
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor esi, esi
test eax, eax
jne 0x180021cbf
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.1800515f0
xor esi, esi
jmp 0x180021cbf
cmp ecx, 0x46
jne 0x180022992
mov rax, qword [0x1800a6038]
test rax, rax
je 0x1800229b4
add rax, rax
je 0x18002205f
mov qword [0x1800a6038], rax
jmp 0x18002205f
lea rcx, str._jemalloc_
lea rdx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.1800515f0
lea rax, str.MOZ_CRASH__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [0x1800a66c8], 0
jmp 0x18002295d
mov qword [0x1800a65f8], 0
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18002155b
xor esi, esi
lea ecx, [rsi + rsi*4]
lea esi, [rax + rcx*2]
inc ebp
movsx eax, byte [rdi + rbp]
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x180022971
test esi, esi
je 0x180022063
jmp 0x180022045
cmp ecx, 0x52
jne 0x1800229a3
mov byte [0x1800a6588], 0
jmp 0x18002205f
cmp ecx, 0x66
jne 0x1800229c4
shr qword [0x1800a6038], 1
jmp 0x18002205f
mov qword [0x1800a6038], 1
jmp 0x18002205f
lea r14, [rsp + 0xd0]
mov byte [r14], al
mov byte [r14 + 1], 0
lea rdx, str._jemalloc_
mov r12, qword [0x1800a2e88]
mov ecx, 2
mov r8d, 0xa
call r12
lea rdx, str.:__malloc__Unsupported_character_in_malloc_options:_
mov ecx, 2
mov r8d, 0x35
call r12
lea rdx, [0x18009ac18]
mov rcx, r14
call fcn.1800515f0
jmp 0x18002205f
mov rax, qword [rsp + 0xd0]
mov qword [r11], rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rbx, 0xfffffffffffff000
and rbx, qword [rdi + 0x10]
mov qword [rsi], rbx
test rbx, rbx
jne 0x18002051b
jmp 0x180021552
mov rdx, qword [rsp + 0x58]
shr rdx, 0xc
mov rax, qword [rsp + 0xd0]
mov qword [r9], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
cmp rdx, rcx
jne 0x180022b5b
cmp qword [rsp + 0x88], 0x1000
jb 0x180022ac7
mov rax, rbx
or rax, 1
cmp rcx, 2
mov rdx, rcx
mov ecx, 1
cmovae rcx, rdx
shl rcx, 3
lea rcx, [rcx + rcx*2]
lea rdx, [rdi + rdi*2]
lea rdx, [r10 + rdx*8]
add rdx, 0x30
xor ebp, ebp
test byte [rdx + rbp], 8
je 0x180022aba
dec qword [r10 + 0x18]
dec qword [r15 + 0x80]
mov qword [rdx + rbp], rax
add rbp, 0x18
cmp rcx, rbp
jne 0x180022aa9
cmp qword [r10 + 0x18], 0
jne 0x180022d98
cmp qword [rsp + 0xa0], 0
mov edx, dword [rsp + 0x48]
je 0x180022d9c
mov rbp, qword [r15 + 0x60]
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], 0
xor ecx, ecx
cmp rbp, r10
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x180022ea3
cmp eax, 0xffffffff
je 0x180022f2c
test rbp, rbp
je 0x1800248f3
mov rcx, qword [rbp + 0x10]
xor r8d, r8d
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800230fb
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800230fb
test byte [rdx + 0x10], 1
je 0x1800230fb
mov edx, dword [rsp + 0x48]
jmp 0x180022f4f
mov rax, rcx
lea rcx, [rdi + rdx]
sub rdx, rax
shl rdx, 0xc
mov r8, rdi
add rax, rdi
lea rax, [rax + rax*2]
lea r11, [r10 + rax*8 + 0x20]
mov rdi, rdx
mov edx, 0xfff
mov rbp, qword [r11 + 0x10]
and rbp, rdx
or rbp, rdi
mov qword [r11 + 0x10], rbp
lea rcx, [rcx + rcx*2]
and rdx, qword [r10 + rcx*8 + 0x18]
or rdx, rdi
mov qword [r10 + rcx*8 + 0x18], rdx
mov rcx, qword [r9]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 0
test rcx, rcx
je 0x180022f10
lea r10, [r10 + rax*8]
add r10, 0x30
lea rdi, [rsp + 0xd0]
xor edx, edx
mov rbp, rdx
mov rdx, rdi
mov rdi, qword [rcx]
mov r9, rsi
test rdi, rdi
je 0x180022bf8
mov rax, qword [rdi + 8]
test al, 1
je 0x180022bf8
mov rsi, qword [rdi]
test rsi, rsi
je 0x180022bf8
test byte [rsi + 8], 1
jne 0x180022c6d
mov rdi, rcx
mov rbp, qword [r10]
mov rax, rbp
mov rcx, 0xfffffffffffff000
and rax, rcx
mov rsi, qword [rdi + 0x10]
and rsi, rcx
xor ecx, ecx
cmp rax, rsi
seta cl
mov eax, 0xffffffff
cmovb ecx, eax
cmp ecx, 0xffffffff
jne 0x180022c3c
mov rcx, qword [rdi]
mov eax, 0xffffffff
mov rsi, r9
test rcx, rcx
jne 0x180022bd1
jmp 0x180022d4e
test ecx, ecx
jne 0x180022c66
test bpl, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
jb 0x180022c27
mov al, cl
mov rsi, r9
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180022c32
mov eax, 1
jmp 0x180022c59
and rax, 0xfffffffffffffffe
mov qword [rcx], rax
mov rsi, rcx
and rsi, 0xfffffffffffffffe
mov rax, qword [rdi]
mov r8, qword [rdi + 8]
and r8d, 1
or r8, rsi
mov qword [rdi + 8], r8
test rax, rax
je 0x1800248f3
and byte [rax + 8], 0xfe
cmp qword [rdx], rcx
mov r8, qword [rsp + 0x68]
jne 0x180022cac
mov qword [rdx], rdi
jmp 0x180022bfb
and rdi, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [rdx + 8], rcx
test rdi, rdi
je 0x18002342d
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rdi], rdx
mov rax, qword [rdx + 8]
and eax, 1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
or byte [rdx + 8], 1
test rbp, rbp
je 0x18002344d
cmp qword [rbp], rdx
je 0x1800230d7
jmp 0x1800230e0
mov rax, qword [r10]
mov rdx, rax
mov rcx, 0xfffffffffffff000
and rdx, rcx
mov rsi, qword [rdi + 0x10]
and rsi, rcx
xor ecx, ecx
cmp rdx, rsi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1800230b9
jmp 0x180023168
mov rdx, rdi
test rcx, rcx
jne 0x180022bd7
mov rdx, rbp
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp eax, 1
je 0x180022e2f
mov r10, qword [rsp + 0x40]
mov qword [rdi], r11
mov rdi, r8
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1800248f3
and byte [rax + 8], 0xfe
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x30]
jmp 0x180022a6e
mov edx, dword [rsp + 0x48]
test dl, 1
jne 0x180023099
test rbx, rbx
je 0x180023099
cmp qword [rsi], rbx
je 0x180022a35
mov qword [rbx], rsi
xor eax, eax
cmp dword [r15 + r13 + 0xbc], 1
jne 0x180022e0c
xor edx, edx
mov ebp, dword [r15 + r13 + 0xb8]
and ebp, 0x1f
mov ecx, ebp
neg cl
mov edi, 0xffffffff
shr edi, cl
cmp ebp, 1
sbb eax, eax
or eax, edi
mov dword [rbx + rdx*4 + 0x10], eax
mov dword [rbx + 8], 0
mov eax, dword [r15 + r13 + 0xb8]
mov dword [rbx + 0xc], eax
inc dword [r15 + r13 + 0xc4]
mov qword [rsi], rbx
jmp 0x18002051b
lea rcx, [r15 + r13]
add rcx, 0xbc
xor edx, edx
mov dword [rbx + rdx*4 + 0x10], 0xffffffff
inc rdx
mov ebp, dword [rcx]
dec ebp
cmp rdx, rbp
jae 0x180022dc9
jmp 0x180022e19
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, rax
or rcx, r11
mov qword [rdi + 8], rcx
mov rcx, qword [r11]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
mov qword [r11], rdi
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, qword [r11 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r11 + 8], rcx
or byte [rdi + 8], 1
cmp qword [rdx], rdi
mov r10, qword [rsp + 0x40]
jne 0x180022e7d
mov qword [rdx], r11
jmp 0x180022d6e
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
mov rdi, r8
jne 0x180022d71
and eax, 1
or rax, r11
mov qword [rdx + 8], rax
jmp 0x180022d71
test rbp, rbp
je 0x180023191
mov rcx, qword [rbp + 0x10]
cmp rcx, 1
ja 0x180023312
mov rax, qword [rbp + 8]
test rax, rax
je 0x180023191
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rbp + 8], rcx
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
or byte [rbp + 0x10], 1
and qword [rax + 0x10], 1
mov qword [rsp + 0xd8], rax
mov edx, dword [rsp + 0x48]
jmp 0x180023074
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rdi, [rsp + 0xd0]
jmp 0x180022d6b
test rbp, rbp
je 0x1800231ab
mov rax, qword [rbp + 8]
test rax, rax
je 0x1800231ab
test byte [rax + 0x10], 1
je 0x180023198
xor r8d, r8d
mov r11d, 0xffffffff
xor r9d, r9d
mov rdi, rbp
mov rbp, rax
xor eax, eax
cmp rbp, r10
setb al
cmova eax, r11d
test eax, eax
je 0x180022f94
cmp eax, 0xffffffff
jne 0x180022fac
test rbp, rbp
je 0x18002331f
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002331f
test byte [rax + 0x10], 1
jne 0x180022f58
jmp 0x1800231d7
test rbp, rbp
je 0x18002306a
mov rax, qword [rbp + 0x10]
mov r8, rdi
cmp rax, 1
jbe 0x180023025
jmp 0x180022fb5
test rbp, rbp
je 0x180022fca
mov rax, qword [rbp + 0x10]
and rax, 0xfffffffffffffffe
je 0x180022fca
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180022fca
test byte [rcx + 0x10], 1
jne 0x180022f58
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rsp + 0xc0]
cmp qword [rdi + 8], rbp
je 0x180023306
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rbp, rdi
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rdi + 0x10], rdx
mov r10, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov r11d, 0xffffffff
jmp 0x180022f58
mov r9, qword [rbp + 8]
test r9, r9
je 0x1800230f3
mov rax, qword [r9 + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rbp + 8], rax
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r9 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r9 + 0x10], rcx
mov rcx, qword [rbp + 0x10]
and ecx, 1
or rcx, rax
mov qword [r9 + 0x10], rcx
or byte [rbp + 0x10], 1
and qword [r9 + 0x10], 1
cmp qword [rdi + 8], rbp
jne 0x1800230a5
mov qword [rdi + 8], r9
mov rax, qword [rsp + 0xd8]
mov qword [r15 + 0x60], rax
test r10, r10
je 0x18002342d
xorps xmm0, xmm0
movups xmmword [r10 + 8], xmm0
test dl, dl
je 0x180022dae
mov qword [rsi], 0
jmp 0x180021552
and r9, 0xfffffffffffffffe
mov rax, qword [rdi + 0x10]
and eax, 1
or rax, r9
mov qword [rdi + 0x10], rax
jmp 0x180023074
mov eax, 1
cmp ecx, 0xffffffff
mov rsi, r9
je 0x180023184
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180022d3f
mov qword [rbp], rdi
jmp 0x180022d0b
mov rax, qword [rbp + 8]
and eax, 1
or rax, rdi
mov qword [rbp + 8], rax
jmp 0x180022d0b
xor r9d, r9d
jmp 0x18002306a
mov qword [rsp + 0x70], rsi
mov rax, qword [rbp + 8]
test rax, rax
je 0x1800233ba
mov rdi, r8
test byte [rax + 0x10], 1
jne 0x180023219
or rcx, 1
mov qword [rbp + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023138
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x180023251
or byte [rax + 0x10], 1
mov rcx, qword [rbp + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rdx, qword [rax + 8]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [rbp + 0x10], rcx
mov qword [rax + 8], rbp
jmp 0x18002322f
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
mov rsi, r9
jae 0x180023212
mov rcx, qword [rdi]
mov eax, 0xffffffff
jmp 0x180022d3f
xor eax, eax
jmp 0x180022eff
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800231ab
test byte [rcx + 0x10], 1
jne 0x180022f4c
mov qword [rsp + 0x70], rsi
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov rdx, rbp
call fcn.180003340
mov rax, qword [rdi]
test rax, rax
je 0x1800248f3
and byte [rax + 0x10], 0xfe
xor edi, edi
jmp 0x18002322f
mov qword [rsp + 0x38], r8
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800232c1
test byte [rcx + 0x10], 1
je 0x1800232c1
mov rdi, rbp
mov r10, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov r11d, 0xffffffff
jmp 0x180022f5b
mov al, cl
jmp 0x1800230ca
lea rsi, [rsp + 0xb0]
mov rcx, rsi
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rsi]
lea rbp, [rsp + 0xd0]
mov qword [rbp + 8], rax
mov rsi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, rdi
jmp 0x180022f4f
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rbp + 8]
test rax, rax
je 0x1800233c7
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rbp + 8], rcx
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rbp + 0x10]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov r8, qword [rcx + 8]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
mov qword [rbp + 0x10], rdx
mov qword [rcx + 8], rbp
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
jmp 0x18002322f
lea rcx, [rsp + 0xc8]
mov rdx, rbp
call fcn.180003340
mov rax, qword [rsp + 0xc8]
cmp qword [rdi + 8], rbp
jne 0x1800233d1
mov qword [rdi + 8], rax
mov rbp, rax
mov r10, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov r11d, 0xffffffff
jmp 0x180022f5e
mov rbp, rdi
mov qword [rdi + 8], rax
jmp 0x180023009
lea r8, [rsp + 0xd0]
jmp 0x180022b2e
test r8, r8
je 0x1800233eb
mov rcx, r8
mov rax, qword [rsp + 0x40]
cmp qword [r8 + 8], rax
jne 0x1800233a0
mov qword [rcx + 8], rbp
cmp qword [rsp + 0x40], 0
je 0x180023404
test rbp, rbp
je 0x18002342d
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx + 8]
mov qword [rbp + 8], rax
mov rcx, qword [rdx + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [rbp + 0x10]
and eax, 1
or rax, rcx
mov qword [rbp + 0x10], rax
mov rcx, qword [rdx + 0x10]
and ecx, 1
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rbp + 0x10], rax
cmp qword [rdi + 8], rbp
jne 0x180023423
mov qword [rdi + 8], 0
mov r10, qword [rsp + 0x40]
jmp 0x180022f07
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rdx, rcx
mov rcx, qword [rcx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
jmp 0x18002333a
or rcx, 1
mov qword [rbp + 0x10], rcx
jmp 0x1800248f3
mov qword [rbp + 8], 0
jmp 0x18002344d
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rdi + 0x10], rdx
jmp 0x1800232e7
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rbp, rbp
je 0x18002342d
mov qword [rbp + 8], 0
mov rax, qword [rbp + 0x10]
and eax, 1
mov qword [rbp + 0x10], rax
xor ecx, ecx
jmp 0x180023379
and qword [rdi + 0x10], 1
jmp 0x180023396
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
mov rdx, rbp
nop
xor ecx, ecx
cmp rdx, rdi
setb cl
cmova ecx, r8d
cmp ecx, 0xffffffff
jne 0x1800234c5
test rdx, rdx
je 0x18002377a
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002377a
mov rcx, qword [rbx + 8]
test cl, 1
jne 0x1800234bd
mov rbp, qword [rbx]
test rbp, rbp
je 0x1800234e5
test byte [rbp + 8], 1
je 0x1800234e5
mov rax, rdx
mov rdx, rbx
jmp 0x180023480
test ecx, ecx
jne 0x180023547
test rdx, rdx
je 0x180023650
mov rbp, qword [rdx + 8]
mov rcx, rax
cmp rbp, 1
jbe 0x180023645
jmp 0x180023559
or rcx, 1
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x1800238e9
mov r9, rsi
mov rbp, qword [rbx]
test rbp, rbp
je 0x180023517
mov rsi, qword [rbp + 8]
test sil, 1
jne 0x18002369a
or rcx, 1
mov qword [rdx + 8], rcx
mov rcx, qword [rbx]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
mov rbp, rbx
mov rsi, r9
cmp qword [rax], rdx
jne 0x180023466
mov qword [rax], rbp
mov rdx, rbp
jmp 0x180023480
test rdx, rdx
je 0x1800248f3
mov rbp, qword [rdx + 8]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x38], rcx
mov rbx, rbp
and rbx, 0xfffffffffffffffe
je 0x180023579
mov rcx, qword [rbx]
test rcx, rcx
je 0x180023579
test byte [rcx + 8], 1
jne 0x1800234bd
mov r9, qword [rdx]
test r9, r9
je 0x1800248f3
mov rbx, qword [r9 + 8]
test bl, 1
je 0x180023715
and rbx, 0xfffffffffffffffe
je 0x1800238f6
mov qword [rsp + 0x28], r11
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800235b3
test byte [rcx + 8], 1
jne 0x1800237dc
and ebp, 1
or rbp, rbx
mov qword [r9 + 8], rbp
or byte [rbx + 8], 1
mov rbx, qword [rdx]
test rbx, rbx
je 0x180023446
mov r11, rsi
mov rcx, qword [rbx + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rbx + 8], rbp
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x18002342d
mov rsi, qword [rbp]
and rsi, 0xfffffffffffffffe
and ecx, 1
or rcx, rsi
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rbp
mov qword [rbx + 8], rcx
or byte [rdx + 8], 1
mov rsi, r11
mov r11, qword [rsp + 0x28]
cmp qword [rax], rdx
jne 0x18002375d
mov qword [rax], rbx
mov rdx, rax
jmp 0x1800234bd
mov r10, qword [rdx]
test r10, r10
jne 0x180023661
xor r10d, r10d
cmp qword [rax], rdx
jne 0x1800236fe
mov qword [rax], r10
jmp 0x180022a19
mov rcx, qword [r10 + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [r10 + 8]
and ebp, 1
or rbp, rcx
mov qword [r10 + 8], rbp
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov qword [r10 + 8], rbp
or byte [rdx + 8], 1
and qword [r10 + 8], 1
jmp 0x180023650
and rsi, 0xfffffffffffffffe
mov qword [rbx], rsi
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rbx
mov qword [rbp + 8], rcx
and rbp, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
lea rbx, [rcx + rbp]
mov qword [rdx + 8], rbx
test rbp, rbp
je 0x18002342d
mov rbx, qword [rbp]
and rbx, 0xfffffffffffffffe
or rbx, rcx
mov qword [rdx + 8], rbx
mov qword [rbp], rdx
mov rcx, qword [rdx + 8]
and rcx, 0xfffffffffffffffe
je 0x1800236f5
mov rbx, qword [rcx + 8]
test bl, 1
jne 0x180023894
mov qword [rdx + 8], rcx
jmp 0x180023530
and r10, 0xfffffffffffffffe
mov rcx, qword [rax + 8]
and ecx, 1
or rcx, r10
mov qword [rax + 8], rcx
jmp 0x180022a19
or rbx, 1
mov qword [r9 + 8], rbx
mov rcx, qword [r9]
test rcx, rcx
je 0x180023733
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x180023822
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rbx]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
jmp 0x180023631
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
mov rdx, rax
jmp 0x1800234bd
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x18002344d
cmp qword [rbx], rdi
jne 0x1800238cf
mov qword [rbx], rdx
test rdx, rdx
je 0x18002342d
mov rcx, qword [rdi]
mov qword [rdx], rcx
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov qword [rdx + 8], rbp
mov rbp, qword [rdi + 8]
and ebp, 1
or rbp, rcx
mov qword [rdx + 8], rbp
cmp qword [rax], rdx
jne 0x180023902
mov qword [rax], 0
jmp 0x180022a19
mov r11, rsi
and ebp, 1
mov rsi, qword [rbx + 8]
and rsi, 0xfffffffffffffffe
or rsi, rbp
mov qword [rbx + 8], rsi
and byte [rcx + 8], 0xfe
mov rcx, qword [r9 + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rbx]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [r9 + 8], rcx
mov qword [rbx], r9
mov qword [rdx], rbx
jmp 0x1800235d0
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rbx, qword [rdx]
test rbx, rbx
je 0x180023446
mov rcx, qword [rbx + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rbx + 8], rbp
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov r9, rsi
mov rsi, qword [rcx]
and rsi, 0xfffffffffffffffe
and ebp, 1
or rbp, rsi
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rbx + 8], rbp
mov rsi, r9
jmp 0x180023631
and rbx, 0xfffffffffffffffe
mov qword [rcx + 8], rbx
mov rbx, qword [rdx + 8]
mov rcx, rbx
or rcx, 1
mov qword [rdx + 8], rcx
and rbx, 0xfffffffffffffffe
je 0x18002342d
mov rsi, r9
mov rcx, qword [rbx]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
mov qword [rbp], rbx
jmp 0x180023533
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rbx + 8], rbp
jmp 0x180023794
or rcx, 1
mov qword [rdx + 8], rcx
jmp 0x18002342d
and ebp, 1
mov qword [r9 + 8], rbp
jmp 0x1800248f3
and qword [rax + 8], 1
jmp 0x180022a19
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, rbp
mov rax, qword [rsp + 0x38]
mov rbp, qword [rax]
mov rax, rbp
and rax, 0xfffffffffffff000
mov rdi, qword [rdx + 0x10]
and rdi, r8
xor ecx, ecx
cmp rax, rdi
seta cl
cmovb ecx, r9d
test ecx, ecx
je 0x180023977
cmp ecx, 0xffffffff
jne 0x180023994
mov rcx, qword [rdx]
test rcx, rcx
je 0x180023c44
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x1800239bf
mov rdi, qword [rcx]
test rdi, rdi
je 0x1800239e2
test byte [rdi + 8], 1
jne 0x1800239bf
jmp 0x1800239e2
test bpl, 0x10
mov eax, 0
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x180023951
mov cl, al
jmp 0x18002394c
test ecx, ecx
je 0x1800239ca
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x180023a49
mov rdi, qword [rcx]
test rdi, rdi
je 0x180023a49
test byte [rdi + 8], 1
je 0x180023a49
mov r11, rdx
mov rdx, rcx
jmp 0x180023924
mov rbp, qword [rdx + 8]
mov rax, r11
mov qword [rsp + 0x60], r11
cmp rbp, 1
jbe 0x180023b0b
jmp 0x18002399c
or rbp, 1
mov qword [rcx + 8], rbp
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x180023dc2
mov r10, rsi
mov rbp, qword [rcx]
test rbp, rbp
je 0x180023a14
mov rsi, qword [rbp + 8]
test sil, 1
jne 0x180023bdf
or rdi, 1
mov qword [rdx + 8], rdi
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov rbp, rcx
mov rsi, r10
cmp qword [r11], rdx
mov r10, qword [rsp + 0x40]
jne 0x18002390c
mov qword [r11], rbp
mov rdx, rbp
jmp 0x180023924
mov rdi, qword [rdx]
test rdi, rdi
je 0x1800248f3
mov rcx, qword [rdi + 8]
test cl, 1
je 0x180023b7a
and rcx, 0xfffffffffffffffe
je 0x180023dcf
mov r10, qword [rcx]
test r10, r10
je 0x180023a7f
test byte [r10 + 8], 1
jne 0x180023d2c
and ebp, 1
or rbp, rcx
mov qword [rdi + 8], rbp
or byte [rcx + 8], 1
mov rcx, qword [rdx]
test rcx, rcx
je 0x180023446
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
mov rdi, qword [rdx + 8]
mov rbp, rdi
and rbp, 0xfffffffffffffffe
mov r10, qword [rsp + 0x40]
je 0x18002342d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and edi, 1
or rdi, rax
mov qword [rdx + 8], rdi
mov qword [rbp], rdx
mov rax, qword [rcx + 8]
and eax, 1
or rax, rbp
mov qword [rcx + 8], rax
or byte [rdx + 8], 1
cmp qword [r11], rdx
jne 0x180023bc2
mov qword [r11], rcx
mov rdx, r11
jmp 0x1800239bf
mov rcx, qword [rdx]
test rcx, rcx
je 0x180023b4a
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
or byte [rdx + 8], 1
and qword [rcx + 8], 1
cmp qword [r11], rdx
mov rdi, qword [rsp + 0x68]
jne 0x180023b66
mov qword [r11], rcx
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
jmp 0x180022a46
and rcx, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, rcx
mov qword [r11 + 8], rax
jmp 0x180023b57
or rcx, 1
mov qword [rdi + 8], rcx
mov rcx, qword [rdi]
test rcx, rcx
je 0x180023b98
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x180023cb9
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
jmp 0x180023af7
mov rax, rcx
and rax, 0xfffffffffffffffe
mov rdx, qword [r11 + 8]
and edx, 1
or rdx, rax
mov qword [r11 + 8], rdx
mov rdx, r11
jmp 0x1800239bf
and rsi, 0xfffffffffffffffe
mov qword [rcx], rsi
mov rax, qword [rbp + 8]
and eax, 1
or rax, rcx
mov qword [rbp + 8], rax
and rbp, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
lea rax, [rcx + rbp]
mov qword [rdx + 8], rax
test rbp, rbp
je 0x18002342d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov rcx, qword [rdx + 8]
and rcx, 0xfffffffffffffffe
je 0x180023c3b
mov rdi, qword [rcx + 8]
test dil, 1
jne 0x180023d8a
mov qword [rdx + 8], rcx
jmp 0x180023a2d
mov rbp, qword [rsp + 0x60]
test rbp, rbp
je 0x18002344d
mov rax, qword [rsp + 0x28]
cmp qword [rbp], rax
jne 0x180023d70
mov qword [rbp], rdx
mov rbp, qword [rsp + 0x28]
mov rax, qword [rbp]
mov qword [rdx], rax
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
cmp qword [r11], rdx
jne 0x180023ddb
mov qword [r11], 0
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
jmp 0x180023b5c
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rcx, qword [rdx]
test rcx, rcx
je 0x180023446
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
mov rdi, qword [rdx + 8]
mov rbp, rdi
and rbp, 0xfffffffffffffffe
je 0x18002342d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and edi, 1
or rdi, rax
mov qword [rdx + 8], rdi
mov qword [rbp], rdx
mov rax, qword [rcx + 8]
and eax, 1
or rax, rbp
mov qword [rcx + 8], rax
mov r10, qword [rsp + 0x40]
jmp 0x180023af7
and ebp, 1
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
or rax, rbp
mov qword [rcx + 8], rax
and byte [r10 + 8], 0xfe
mov rbp, qword [rdi + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdi + 8], rbp
mov qword [rcx], rdi
mov qword [rdx], rcx
jmp 0x180023a99
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
jmp 0x180023c65
and rdi, 0xfffffffffffffffe
mov qword [rcx + 8], rdi
mov rcx, qword [rdx + 8]
mov rax, rcx
or rax, 1
mov qword [rdx + 8], rax
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rbp], rcx
jmp 0x180023a2d
or rdi, 1
mov qword [rdx + 8], rdi
jmp 0x18002342d
and ebp, 1
mov qword [rdi + 8], rbp
jmp 0x1800248f3
and qword [r11 + 8], 1
jmp 0x180023ca5
mov qword [r14], 0
jmp 0x18002344d
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
nop word cs:[rax + rax]
mov r14, rdi
mov rdi, qword [r9]
mov rdx, rdi
and rdx, 0xfffffffffffff000
mov rbp, qword [r14 + 0x10]
and rbp, r8
xor ecx, ecx
cmp rdx, rbp
seta cl
cmovb ecx, r10d
test ecx, ecx
je 0x180023e61
cmp ecx, 0xffffffff
jne 0x180023e7f
mov rdi, qword [r14]
test rdi, rdi
je 0x1800243aa
mov rcx, qword [rdi + 8]
test cl, 1
jne 0x180023eb0
mov rdx, qword [rdi]
test rdx, rdx
je 0x180023ecb
test byte [rdx + 8], 1
jne 0x180023eb0
jmp 0x180023ecb
mov rbp, r12
test dil, 0x10
jne 0x1800248e5
xor ecx, ecx
cmp rbp, r14
seta dl
jb 0x180023e3c
mov cl, dl
cmp ecx, 0xffffffff
je 0x180023e3c
test ecx, ecx
je 0x180023eb8
mov rcx, qword [r14 + 8]
mov rdi, rcx
and rdi, 0xfffffffffffffffe
je 0x180023f24
mov rdx, qword [rdi]
test rdx, rdx
je 0x180023f24
test byte [rdx + 8], 1
je 0x180023f24
nop word [rax + rax]
mov rax, r14
jmp 0x180023e10
mov rcx, qword [r14 + 8]
mov rsi, rax
cmp rcx, 1
jbe 0x180023fe1
jmp 0x180023e87
or rcx, 1
mov qword [rdi + 8], rcx
mov rdx, qword [r14 + 8]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x1800248d8
mov rdi, qword [rcx]
test rdi, rdi
je 0x180023efa
mov rbp, qword [rdi + 8]
test bpl, 1
jne 0x1800242bf
or rdx, 1
mov qword [r14 + 8], rdx
mov rdx, qword [rcx]
or rdx, 1
mov qword [r14 + 8], rdx
mov qword [rcx], r14
mov rdi, rcx
cmp qword [rax], r14
jne 0x180023df1
mov qword [rax], rdi
jmp 0x180023e10
mov rdx, qword [r14]
test rdx, rdx
je 0x1800248f3
mov rbp, qword [rdx + 8]
test bpl, 1
je 0x18002425b
and rbp, 0xfffffffffffffffe
je 0x1800248ec
mov rdi, qword [rbp]
test rdi, rdi
je 0x180023f5b
test byte [rdi + 8], 1
jne 0x180024611
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
or byte [rbp + 8], 1
mov rdi, qword [r14]
test rdi, rdi
je 0x180023de5
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
mov qword [r14], rcx
mov rcx, r14
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r14 + 8]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rcx]
and rbp, 0xfffffffffffffffe
and edx, 1
or rdx, rbp
mov qword [r14 + 8], rdx
mov qword [rcx], r14
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
or byte [r14 + 8], 1
cmp qword [rax], r14
jne 0x1800242a2
mov qword [rax], rdi
mov r14, rax
jmp 0x180023eb0
mov rcx, qword [r14]
test rcx, rcx
je 0x180024021
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffffe
mov qword [r14], rdx
mov rdx, r14
and rdx, 0xfffffffffffffffe
mov rbp, qword [rcx + 8]
and ebp, 1
or rbp, rdx
mov qword [rcx + 8], rbp
mov rbp, qword [r14 + 8]
and ebp, 1
or rbp, rdx
mov qword [rcx + 8], rbp
or byte [r14 + 8], 1
and qword [rcx + 8], 1
cmp qword [rax], r14
mov r8, qword [rsp + 0x48]
mov r10, qword [rsp + 0x28]
jne 0x180024244
mov qword [rax], rcx
mov rsi, qword [rsp + 0x68]
shr rsi, 0xc
mov rax, qword [rsp + 0xd0]
mov qword [r15 + 0x90], rax
xorps xmm0, xmm0
movups xmmword [r12], xmm0
cmp rsi, rbx
jne 0x1800240eb
test r13, r13
je 0x1800240ae
cmp rbx, 2
mov eax, 1
cmovae rax, rbx
shl rax, 3
lea rax, [rax + rax*2]
lea rcx, [r8 + r8*2]
lea rcx, [r11 + rcx*8]
add rcx, 0x30
xor edx, edx
jmp 0x18002409b
mov qword [rcx + rdx], 3
add rdx, 0x18
cmp rax, rdx
je 0x1800240ae
test byte [rcx + rdx], 8
je 0x18002408a
dec qword [r11 + 0x18]
dec qword [r15 + 0x80]
jmp 0x18002408a
or qword [r9], r13
cmp qword [r11 + 0x18], 0
jne 0x1800240c7
cmp qword [rsp + 0x88], 0
jne 0x18002417a
xor edi, edi
test byte [rsp + 0x50], 1
jne 0x1800240e1
test r10, r10
mov r13, qword [rsp + 0x30]
je 0x1800240e1
add qword [r15 + 0x58], r13
mov rdi, r10
mov rcx, qword [rsp + 0x40]
jmp 0x18002056e
lea rcx, [r8 + rsi]
sub rsi, rbx
shl rsi, 0xc
lea rax, [r8 + rbx]
lea rax, [rax + rax*2]
mov rdi, r11
lea r11, [r11 + rax*8]
add r11, 0x20
mov edx, 0xfff
mov rbp, qword [r11 + 0x10]
and rbp, rdx
or rbp, rsi
mov qword [r11 + 0x10], rbp
lea rcx, [rcx + rcx*2]
and rdx, qword [rdi + rcx*8 + 0x18]
or rdx, rsi
mov qword [rdi + rcx*8 + 0x18], rdx
mov rcx, qword [r15 + 0x90]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 0
test rcx, rcx
mov qword [rsp + 0x58], rdi
je 0x18002438e
lea r10, [rdi + rax*8]
add r10, 0x30
lea rdi, [rsp + 0xd0]
xor ebp, ebp
mov r12, 0xfffffffffffff000
mov r8d, 0xffffffff
jmp 0x1800249ad
mov rdi, qword [r15 + 0x60]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 0
xor ecx, ecx
cmp rdi, r11
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x180024321
cmp eax, 0xffffffff
je 0x18002440b
test rdi, rdi
je 0x1800248f3
mov rcx, qword [rdi + 0x10]
xor r14d, r14d
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800241df
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800241df
test byte [rdx + 0x10], 1
jne 0x18002442e
mov rax, qword [rdi + 8]
test rax, rax
je 0x180024921
test byte [rax + 0x10], 1
jne 0x180024758
or rcx, 1
mov qword [rdi + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180024214
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x1800247c3
or byte [rax + 0x10], 1
mov rcx, qword [rdi + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002342d
mov rdx, qword [rax + 8]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [rdi + 0x10], rcx
mov qword [rax + 8], rdi
jmp 0x18002477b
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
jmp 0x180024037
or rbp, 1
mov qword [rdx + 8], rbp
mov rcx, qword [rdx]
test rcx, rcx
je 0x180024278
mov rdx, qword [rcx + 8]
test dl, 1
jne 0x18002459e
mov rcx, qword [r14 + 8]
mov rdi, rcx
and rdi, 0xfffffffffffffffe
je 0x18002342d
mov rdx, qword [rdi]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [r14 + 8], rcx
mov qword [rdi], r14
jmp 0x180023fcd
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
mov r14, rax
jmp 0x180023eb0
and rbp, 0xfffffffffffffffe
mov qword [rcx], rbp
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
and rdi, 0xfffffffffffffffe
mov rcx, qword [r14 + 8]
and ecx, 1
lea rdx, [rcx + rdi]
mov qword [r14 + 8], rdx
test rdi, rdi
je 0x18002342d
mov rdx, qword [rdi]
and rdx, 0xfffffffffffffffe
or rdx, rcx
mov qword [r14 + 8], rdx
mov qword [rdi], r14
mov rcx, qword [r14 + 8]
and rcx, 0xfffffffffffffffe
je 0x180024318
mov rdx, qword [rcx + 8]
test dl, 1
jne 0x18002478c
mov qword [r14 + 8], rcx
jmp 0x180023f13
test rdi, rdi
je 0x18002490c
mov rcx, qword [rdi + 0x10]
cmp rcx, 1
mov esi, dword [rsp + 0x50]
ja 0x18002483c
mov rax, qword [rdi + 8]
test rax, rax
je 0x180024694
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rdi + 8], rcx
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
or byte [rdi + 0x10], 1
and qword [rax + 0x10], 1
mov qword [rsp + 0xd8], rax
jmp 0x18002455d
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rdi, [rsp + 0xd0]
jmp 0x180024b21
test rsi, rsi
je 0x18002344d
cmp qword [rsi], r12
mov r8, qword [rsp + 0x48]
mov r10, qword [rsp + 0x28]
jne 0x18002473e
mov qword [rsi], r14
mov rcx, qword [r12]
mov qword [r14], rcx
mov rcx, qword [r12 + 8]
and rcx, 0xfffffffffffffffe
mov rdx, qword [r14 + 8]
and edx, 1
or rdx, rcx
mov qword [r14 + 8], rdx
mov rdx, qword [r12 + 8]
and edx, 1
or rdx, rcx
mov qword [r14 + 8], rdx
cmp qword [rax], r14
jne 0x180024917
mov qword [rax], 0
jmp 0x180024037
test rdi, rdi
je 0x1800246ae
mov rax, qword [rdi + 8]
test rax, rax
je 0x1800246ae
test byte [rax + 0x10], 1
je 0x18002469b
xor r14d, r14d
mov r12d, 0xffffffff
xor ebx, ebx
lea rcx, [rsp + 0xc0]
lea rsi, [rsp + 0xc8]
mov rbp, rdi
mov rdi, rax
xor eax, eax
cmp rdi, r11
setb al
cmova eax, r12d
test eax, eax
je 0x180024482
cmp eax, 0xffffffff
jne 0x18002449a
test rdi, rdi
je 0x180024849
mov rax, qword [rdi + 8]
test rax, rax
je 0x180024849
test byte [rax + 0x10], 1
jne 0x180024446
jmp 0x1800246e5
test rdi, rdi
je 0x18002454a
mov rax, qword [rdi + 0x10]
mov r14, rbp
cmp rax, 1
jbe 0x180024505
jmp 0x1800244a3
test rdi, rdi
je 0x1800244b8
mov rax, qword [rdi + 0x10]
and rax, 0xfffffffffffffffe
je 0x1800244b8
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800244b8
test byte [rdx + 0x10], 1
jne 0x180024446
mov qword [rsp + 0x58], r11
mov rsi, r10
mov r13, rcx
mov rdx, rdi
call fcn.1800294d0
mov rax, qword [rsp + 0xc0]
cmp qword [rbp + 8], rdi
je 0x180024833
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rbp + 0x10], rdx
mov rdi, rbp
mov r10, rsi
mov r11, qword [rsp + 0x58]
mov rcx, r13
jmp 0x18002443e
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x18002460a
mov rax, qword [rbx + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rdi + 8], rax
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [rbx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rbx + 0x10], rcx
mov rcx, qword [rdi + 0x10]
and ecx, 1
or rcx, rax
mov qword [rbx + 0x10], rcx
or byte [rdi + 0x10], 1
and qword [rbx + 0x10], 1
mov r13, qword [rsp + 0x30]
mov esi, dword [rsp + 0x50]
cmp qword [rbp + 8], rdi
jne 0x18002458a
mov qword [rbp + 8], rbx
mov rax, qword [rsp + 0xd8]
mov qword [r15 + 0x60], rax
test r11, r11
je 0x18002342d
xorps xmm0, xmm0
movups xmmword [r11 + 8], xmm0
test sil, sil
je 0x1800240da
xor edi, edi
jmp 0x1800240e1
and rbx, 0xfffffffffffffffe
mov rax, qword [rbp + 0x10]
and eax, 1
or rax, rbx
mov qword [rbp + 0x10], rax
jmp 0x18002455d
and rdx, 0xfffffffffffffffe
mov qword [rcx + 8], rdx
mov rdi, qword [r14]
test rdi, rdi
je 0x180023de5
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
mov qword [r14], rcx
mov rcx, r14
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r14 + 8]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rcx]
and rbp, 0xfffffffffffffffe
and edx, 1
or rdx, rbp
mov qword [r14 + 8], rdx
mov qword [rcx], r14
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
jmp 0x180023fcd
xor ebx, ebx
jmp 0x18002454a
mov qword [rsp + 0x60], rsi
and ecx, 1
mov rsi, qword [rbp + 8]
and rsi, 0xfffffffffffffffe
or rsi, rcx
mov qword [rbp + 8], rsi
and byte [rdi + 8], 0xfe
mov rcx, qword [rdx + 8]
mov rdi, rcx
and rdi, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rdi]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rdi], rdx
mov qword [r14], rdi
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
mov qword [r14], rcx
mov rcx, r14
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r14 + 8]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r9, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
jne 0x180023fa6
jmp 0x18002342d
xor eax, eax
jmp 0x180024381
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800246ae
test byte [rcx + 0x10], 1
jne 0x18002442b
mov rbp, r11
mov rsi, r10
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov rdx, rdi
call fcn.180003340
mov rax, qword [rbx]
test rax, rax
je 0x1800248f3
and byte [rax + 0x10], 0xfe
xor r14d, r14d
mov r10, rsi
mov r11, rbp
jmp 0x18002477b
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800246f8
test byte [rdx + 0x10], 1
jne 0x180024446
mov qword [rsp + 0x58], r11
mov r13, rsi
mov rcx, rsi
mov rdx, rdi
call fcn.180003340
mov rax, qword [rsp + 0xc8]
cmp qword [rbp + 8], rdi
jne 0x180024938
mov qword [rbp + 8], rax
mov rdi, rax
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x58]
lea rcx, [rsp + 0xc0]
mov rsi, r13
jmp 0x18002444c
mov rcx, r14
and rcx, 0xfffffffffffffffe
mov rdx, qword [rsi + 8]
and edx, 1
or rdx, rcx
mov qword [rsi + 8], rdx
jmp 0x1800243c9
lea rbp, [rsp + 0xb0]
mov rcx, rbp
mov rdx, rdi
mov rsi, r10
mov rdi, r11
call fcn.1800294d0
mov r11, rdi
mov r10, rsi
mov rax, qword [rbp]
lea rdi, [rsp + 0xd0]
mov qword [rdi + 8], rax
jmp 0x18002442e
and rdx, 0xfffffffffffffffe
mov qword [rcx + 8], rdx
mov rcx, qword [r14 + 8]
mov rdx, rcx
or rdx, 1
mov qword [r14 + 8], rdx
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rdx, qword [rcx]
or rdx, 1
mov qword [r14 + 8], rdx
mov qword [rcx], r14
mov qword [rdi], rcx
jmp 0x180023f13
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rdi + 8]
test rax, rax
je 0x18002492b
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rdi + 8], rcx
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rdi + 0x10]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x18002342d
mov rbp, qword [rcx + 8]
and rbp, 0xfffffffffffffffe
and edx, 1
or rdx, rbp
mov qword [rdi + 0x10], rdx
mov qword [rcx + 8], rdi
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
jmp 0x18002477b
mov qword [rbp + 8], rax
jmp 0x1800244f2
lea r14, [rsp + 0xd0]
jmp 0x1800241c3
test r14, r14
je 0x180024952
cmp qword [r14 + 8], r11
jne 0x1800248c1
mov qword [r14 + 8], rdi
test r11, r11
je 0x18002496f
test rdi, rdi
je 0x18002342d
mov rdx, r11
mov rax, qword [r11 + 8]
mov qword [rdi + 8], rax
mov rcx, qword [r11 + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [rdi + 0x10]
and eax, 1
or rax, rcx
mov qword [rdi + 0x10], rax
mov rcx, qword [r11 + 0x10]
and ecx, 1
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rdi + 0x10], rax
cmp qword [rbp + 8], rdi
jne 0x180024992
mov qword [rbp + 8], 0
mov r13, qword [rsp + 0x30]
mov esi, dword [rsp + 0x50]
jmp 0x18002455d
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [r14 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r14 + 0x10], rcx
jmp 0x18002485c
or rdx, 1
mov qword [r14 + 8], rdx
jmp 0x18002342d
xor ebp, ebp
jmp 0x180023e6e
and ecx, 1
mov qword [rdx + 8], rcx
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
xor eax, eax
mov esi, dword [rsp + 0x50]
jmp 0x180024381
and qword [rax + 8], 1
jmp 0x180024037
or rcx, 1
mov qword [rdi + 0x10], rcx
jmp 0x1800248f3
mov qword [rdi + 8], 0
jmp 0x18002344d
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rbp + 0x10], rdx
jmp 0x180024721
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rdi, rdi
je 0x18002342d
mov qword [rdi + 8], 0
mov rax, qword [rdi + 0x10]
and eax, 1
mov qword [rdi + 0x10], rax
xor ecx, ecx
jmp 0x180024896
and qword [rbp + 0x10], 1
jmp 0x1800248b3
mov rcx, qword [rdi]
mov eax, 0xffffffff
test rcx, rcx
je 0x180024b03
mov r14, rbp
mov rbp, rdi
mov rdi, qword [rcx]
test rdi, rdi
je 0x1800249d1
mov rax, qword [rdi + 8]
test al, 1
je 0x1800249d1
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800249d1
test byte [rsi + 8], 1
jne 0x180024a32
mov rdi, rcx
mov rax, qword [r10]
mov rdx, rax
and rdx, 0xfffffffffffff000
mov rsi, qword [rdi + 0x10]
and rsi, r12
xor ecx, ecx
cmp rdx, rsi
seta cl
cmovb ecx, r8d
cmp ecx, 0xffffffff
mov r9, qword [rsp + 0x38]
je 0x18002499c
test ecx, ecx
jne 0x180024a2b
mov rcx, r11
test al, 0x10
jne 0x180024c21
xor eax, eax
cmp rcx, rdi
seta cl
jb 0x18002499c
mov al, cl
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
test rcx, rcx
jne 0x1800249ad
jmp 0x180024b03
mov eax, 1
jmp 0x180024a19
and rax, 0xfffffffffffffffe
mov qword [rcx], rax
mov rsi, rcx
and rsi, 0xfffffffffffffffe
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rsi
mov qword [rdi + 8], rdx
test rax, rax
je 0x1800248f3
and byte [rax + 8], 0xfe
cmp qword [rbp], rcx
jne 0x180024a6d
mov qword [rbp], rdi
jmp 0x1800249d4
and rdi, 0xfffffffffffffffe
mov rax, qword [rbp + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [rbp + 8], rcx
test rdi, rdi
je 0x18002342d
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rbp + 8], rcx
mov qword [rdi], rbp
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
or byte [rbp + 8], 1
test r14, r14
je 0x18002344d
cmp qword [r14], rbp
je 0x180024bdb
jmp 0x180024be3
mov rax, qword [r10]
mov rdx, rax
and rdx, r12
mov rsi, qword [rdi + 0x10]
and rsi, r12
xor ecx, ecx
cmp rdx, rsi
seta cl
cmovb ecx, r8d
test ecx, ecx
jne 0x180024bbf
jmp 0x180024bf6
mov rbp, rdi
test rcx, rcx
jne 0x1800249b3
mov rbp, r14
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp eax, 1
je 0x180024b4a
mov r10, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
mov qword [rdi], r11
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1800248f3
and byte [rax + 8], 0xfe
mov qword [r15 + 0x90], rax
mov r11, qword [rsp + 0x58]
jmp 0x180024060
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, rax
or rcx, r11
mov qword [rdi + 8], rcx
mov rcx, qword [r11]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
mov qword [r11], rdi
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, qword [r11 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r11 + 8], rcx
or byte [rdi + 8], 1
cmp qword [rbp], rdi
mov r10, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
jne 0x180024b9c
mov qword [rbp], r11
jmp 0x180024b24
mov rax, qword [rbp + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
jne 0x180024b24
and eax, 1
or rax, r11
mov qword [rbp + 8], rax
jmp 0x180024b24
mov eax, 1
cmp ecx, 0xffffffff
mov r9, qword [rsp + 0x38]
je 0x180024c10
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180024af4
mov qword [r14], rdi
jmp 0x180024acb
mov rax, qword [r14 + 8]
and eax, 1
or rax, rdi
mov qword [r14 + 8], rax
jmp 0x180024acb
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
mov r9, qword [rsp + 0x38]
jae 0x180024c1d
mov rcx, qword [rdi]
mov eax, 0xffffffff
jmp 0x180024af4
mov al, cl
jmp 0x180024bce
xor ecx, ecx
jmp 0x180024a0d