Function at 0x180020c30
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, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov rbx, rcx
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0xf8], rax
mov eax, dword [0x1800a6698]
test eax, eax
je 0x180022795
test rbx, rbx
je 0x1800224c0
cmp rbx, 0x1f0
ja 0x180020ded
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 8]
test r12, r12
je 0x1800225c7
cmp rbx, 8
jbe 0x180021273
add rbx, 0xf
mov r14, rbx
and r14, 0xfffffffffffffff0
shr rbx, 4
dec rbx
lea r13, [rbx + rbx*2]
shl r13, 4
lea rsi, [r12 + r13]
add rsi, 0x98
cmp byte [r12 + 0x70], 0
je 0x180020cea
cmp qword [r12 + 0x78], 0
je 0x18002272a
lea r15, [r12 + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rsi]
test rbx, rbx
je 0x180020e1f
cmp dword [rbx + 0xc], 0
je 0x180020e1f
mov eax, dword [rbx + 8]
mov edx, dword [rbx + rax*4 + 0x10]
test edx, edx
je 0x180020ea5
mov rbp, qword [r12 + 0x78]
test rbp, rbp
jne 0x180020da1
bsf ebp, edx
mov edi, eax
shl edi, 5
or edi, ebp
mov ecx, dword [r12 + r13 + 0xb8]
imul rdi, qword [r12 + 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 0x180022f70
add qword [r12 + 0x50], r14
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x180022f79
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.18004bde0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
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 0x180020de6
bsf ebp, ebp
add ebp, ecx
and ebp, 0x1f
jmp 0x180020d2a
mov ebp, 0x20
jmp 0x180020ddc
mov r12, qword [0x1800a66c8]
cmp rbx, 0xf01
jae 0x180020f05
add rbx, 0xff
mov r14d, ebx
and r14d, 0x1f00
shr rbx, 8
add rbx, 0x1d
jmp 0x180020cc3
mov rdx, qword [r12 + r13 + 0xa0]
test rdx, rdx
je 0x1800215fc
lea r9, [r12 + r13]
add r9, 0xa0
mov rax, rdx
nop
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x180020e40
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], 0
xor ecx, ecx
cmp rdx, rdi
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x1800212c1
mov rbx, qword [rdx]
test rbx, rbx
je 0x180025148
mov rax, qword [rbx + 8]
test al, 1
je 0x1800211be
xor eax, eax
mov qword [rsp + 0x30], rax
mov r8d, 0xffffffff
xor r10d, r10d
jmp 0x1800240bd
mov ecx, dword [r12 + r13 + 0xb4]
mov edi, eax
shl edi, 5
inc eax
cmp eax, ecx
jae 0x1800229dd
mov r9d, eax
mov ebp, dword [rbx + r9*4 + 0x10]
add edi, 0x20
test ebp, ebp
je 0x180020eb2
mov rsi, qword [r12 + 0x78]
test rsi, rsi
jne 0x18002122c
bsf esi, ebp
or edi, esi
mov ecx, dword [r12 + r13 + 0xb8]
add rcx, rbx
imul rdi, qword [r12 + r13 + 0xa8]
add rdi, rcx
btc ebp, esi
mov dword [rbx + r9*4 + 0x10], ebp
mov dword [rbx + 8], eax
jmp 0x180020d4f
cmp rbx, 0xfc000
ja 0x1800226d0
add rbx, 0xfff
mov r14, rbx
and r14, 0xfffffffffffff000
lea rcx, [r12 + 0x18]
mov qword [rsp + 0x60], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea r11, [r12 + 0x90]
mov rcx, qword [r12 + 0x90]
test rcx, rcx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r11
je 0x1800214ef
xor eax, eax
mov rdx, 0xfffffffffffff000
mov ebp, 0xffffffff
mov rsi, qword [rcx + 0x10]
and rsi, rdx
xor edi, edi
cmp r14, rsi
seta dil
cmovb edi, ebp
lea esi, [rdi + 1]
cmp esi, 2
jae 0x180020f8c
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180020f64
jmp 0x180020fa2
cmp edi, 1
jne 0x1800229d5
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
test rcx, rcx
jne 0x180020f64
test rax, rax
je 0x1800214ef
mov rcx, rax
and rcx, 0xfffffffffff00000
and eax, 0xfffff
add rax, 0xffffffffffffffe0
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rbp, rdx
and rbp, 0xfffffffffffffff0
shl rbp, 8
add rbp, rcx
mov r8, rbp
and r8, 0xfffffffffff00000
mov rax, qword [r8 + 0x18]
mov qword [rsp + 0x78], rax
mov eax, ebp
shr eax, 0xc
movzx r9d, al
lea rax, [r9*8]
lea rax, [rax + rax*2]
or rax, r8
mov qword [rsp + 0x50], rax
mov rsi, qword [rax + 0x30]
shr rbx, 0xc
test r14, r14
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x20], rbp
je 0x1800212f0
cmp rbx, 2
mov r10d, 1
cmovae r10, rbx
lea rax, [r9 + r9*2]
lea r15, [r8 + rax*8]
add r15, 0x30
lea r14, [r8 + rax*8]
add r14, 0x48
mov cl, 1
xor edi, edi
lea rdx, [rdi + r9]
lea rax, [rdx + rdx*2]
test byte [r8 + rax*8 + 0x30], 0x60
jne 0x18002107a
inc rdi
cmp rdi, rbx
setb cl
add r15, 0x18
add r14, 0x18
cmp rdi, r10
jne 0x18002104f
jmp 0x1800212f2
cmp rdi, rbx
jae 0x18002189f
mov dword [rsp + 0x40], ecx
mov rax, r15
xor r13d, r13d
mov rcx, qword [rax]
test cl, 0x60
je 0x1800210af
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [rdi + r13]
inc rcx
inc r13
add rax, 0x18
cmp rcx, rbx
jb 0x18002108d
mov qword [rsp + 0x90], rsi
mov rcx, r13
shl rcx, 0xc
mov qword [rsp + 0x88], rdx
je 0x1800214e8
mov qword [rsp + 0x70], r10
mov rsi, rdx
shl rsi, 0xc
add rsi, r8
mov eax, esi
and eax, 0xff000
mov ebp, 0x100000
sub rbp, rax
cmp rbp, rcx
cmovae rbp, rcx
mov qword [rsp + 0x58], rcx
mov rcx, rsi
mov rdx, rbp
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1800229e5
add rsi, rbp
mov rcx, qword [rsp + 0x58]
sub rcx, rbp
mov eax, 0x100000
cmp rcx, rax
mov ebp, 0x100000
cmovb rbp, rcx
test rcx, rcx
jne 0x1800210f1
mov al, 1
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
test r13, r13
je 0x1800211a4
test al, al
mov ecx, 0x20
mov edx, 4
cmovne rcx, rdx
cmp r13, 1
jne 0x18002116d
xor edx, edx
jmp 0x18002118d
mov rbp, r13
and rbp, 0xfffffffffffffffe
mov rsi, r14
xor edx, edx
or qword [rsi - 0x18], rcx
or qword [rsi], rcx
add rdx, 2
add rsi, 0x30
cmp rbp, rdx
jne 0x180021179
test r13b, 1
je 0x1800211a4
add rdx, qword [rsp + 0x88]
lea rdx, [rdx + rdx*2]
or qword [r8 + rdx*8 + 0x30], rcx
test al, al
mov rsi, qword [rsp + 0x90]
je 0x180023011
add qword [r12 + 0x48], r13
jmp 0x18002105f
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800211d0
test byte [rcx + 8], 1
jne 0x180020e90
or rax, 1
mov qword [rbx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800244ec
mov rbx, qword [rax]
test rbx, rbx
je 0x1800211ff
mov rbp, qword [rbx + 8]
test bpl, 1
jne 0x180021e72
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 + 0xc0]
mov qword [rdx], rbx
jmp 0x180020e90
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 0x1800213ef
bsf esi, esi
add esi, ecx
and esi, 0x1f
jmp 0x180020edc
cmp rbx, 2
jb 0x180021d3e
mov ecx, 0x40
mov eax, 0x40
dec rbx
je 0x180021294
bsr rax, rbx
xor rax, 0x3f
sub rcx, rax
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov r14d, 0x10
cmovae r14, rax
mov rax, r14
shr rax, 4
or rax, 1
bsr rbx, rax
jmp 0x180020cc3
test eax, eax
jne 0x1800213f9
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x1800224ca
mov rax, qword [rdx]
test rax, rax
jne 0x1800224f8
mov qword [rsp + 0xc0], rax
jmp 0x180022f48
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov r14, qword [rsp + 0x50]
lea r13, [r14 + 0x20]
add r14, 0x30
mov rdx, qword [r11]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], 0
mov rax, qword [r14]
mov rcx, rax
and rcx, 0xfffffffffffff000
mov rbp, 0xfffffffffffff000
and rbp, qword [rdx + 0x10]
xor edi, edi
cmp rcx, rbp
seta dil
mov ecx, 0xffffffff
cmovae ecx, edi
test ecx, ecx
mov r10, qword [rsp + 0x30]
je 0x18002148c
cmp ecx, 0xffffffff
jne 0x1800214ad
mov rbp, qword [rdx]
test rbp, rbp
je 0x180025148
mov rax, qword [rbp + 8]
test al, 1
je 0x180021384
mov r11, rsi
xor r8d, r8d
mov r15, 0xfffffffffffff000
mov esi, 0xffffffff
jmp 0x180024d30
mov rcx, qword [rbp]
test rcx, rcx
je 0x180021393
test byte [rcx + 8], 1
jne 0x18002136d
or rax, 1
mov qword [rbp + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800244ec
mov rbp, qword [rax]
test rbp, rbp
je 0x1800213c2
mov rdi, qword [rbp + 8]
test dil, 1
jne 0x18002211f
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 rbp, rax
mov r11, rsi
and byte [rbp + 8], 0xfe
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
jmp 0x180021370
mov esi, 0x20
jmp 0x180021269
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x30], rcx
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x18002141f
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002141f
test byte [rcx + 8], 1
jne 0x180020e97
mov rcx, qword [rdx]
test rcx, rcx
je 0x180022ae5
test byte [rcx + 8], 1
jne 0x1800220df
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x180021453
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x1800223ea
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x180024024
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 + 0xc0]
mov qword [rdx], rbx
jmp 0x180020e97
xor ebp, ebp
test al, 0x10
cmove rbp, r13
xor ecx, ecx
cmp rbp, rdx
seta al
jb 0x180021359
mov cl, al
cmp ecx, 0xffffffff
je 0x180021359
test ecx, ecx
je 0x180021563
mov rax, qword [rdx + 8]
xor r8d, r8d
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002158a
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002158a
test byte [rcx + 8], 1
je 0x18002158a
mov r11, rsi
jmp 0x180021373
mov al, 1
jmp 0x18002114e
mov rdx, qword [r12 + 0x68]
test rdx, rdx
jne 0x1800218a7
lea r13, [0x1800a6660]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800a6690]
test rax, rax
je 0x180021d45
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 0x18002154c
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x180021524
jmp 0x1800218ce
test edx, edx
jne 0x180022bdd
cmp qword [rax + 0x20], 0
jne 0x18002153c
mov rdi, rax
jmp 0x1800218db
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x1800223dd
mov rax, qword [rdx]
test rax, rax
jne 0x180021ed4
mov qword [rsp + 0xc0], rax
jmp 0x180022f8c
mov rcx, qword [rdx]
test rcx, rcx
je 0x180022ae5
test byte [rcx + 8], 1
jne 0x180021e12
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x1800215be
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x1800221a5
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x180024024
mov rcx, qword [rbp]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov r11, rsi
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbp
jmp 0x180021373
movzx r10d, byte [r12 + r13 + 0xc2]
lea r9, [r12 + 0x90]
mov rcx, qword [r12 + 0x90]
test rcx, rcx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r9
je 0x18002221e
mov rdx, r10
shl rdx, 0xc
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 0x18002166b
mov rax, rcx
mov rcx, qword [rcx]
mov rsi, rbp
test rcx, rcx
jne 0x18002163d
jmp 0x18002167e
cmp edi, 1
jne 0x180022af2
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180021661
test rax, rax
je 0x18002221e
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 + 0x90], 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 + 0x30], rax
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x78], rax
test r10, r10
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x60], rbp
je 0x180021f10
cmp r10, 2
mov ecx, 1
cmovae rcx, r10
mov r9, rbp
lea rax, [rbp + rbp*2]
mov r8, rdx
lea rbp, [rdx + rax*8]
add rbp, 0x30
mov dl, 1
xor edi, edi
lea r11, [rdi + r9]
lea rax, [r11 + r11*2]
test byte [r8 + rax*8 + 0x30], 0x60
jne 0x18002174e
inc rdi
cmp rdi, r10
setb dl
add rbp, 0x18
cmp rdi, rcx
jne 0x180021727
jmp 0x180021f18
mov qword [rsp + 0x58], r11
cmp rdi, r10
jae 0x1800224b4
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x68], rbp
mov rax, rbp
xor ebp, ebp
mov rcx, qword [rax]
test cl, 0x60
je 0x180021790
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [rdi + rbp]
inc rcx
inc rbp
add rax, 0x18
cmp rcx, r10
jb 0x18002176e
mov qword [rsp + 0x28], rbp
mov rcx, rbp
shl rcx, 0xc
mov dword [rsp + 0x38], edx
je 0x180022211
mov rax, qword [rsp + 0x58]
shl rax, 0xc
add rax, r8
mov ebp, eax
and ebp, 0xff000
mov edx, 0x100000
sub rdx, rbp
cmp rdx, rcx
cmovae rdx, rcx
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x88], rcx
mov rcx, rax
mov qword [rsp + 0x58], rax
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180022c77
mov r8, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
add r8, rax
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov eax, 0x100000
cmp rcx, rax
mov edx, 0x100000
cmovb rdx, rcx
test rcx, rcx
mov rax, r8
jne 0x1800217ce
mov r11b, 1
mov r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x50]
cmp qword [rsp + 0x28], 0
je 0x180021876
test r11b, r11b
mov ecx, 0x20
mov eax, 4
cmovne rcx, rax
mov rax, qword [rsp + 0x28]
lea rax, [rax*8]
lea rdx, [rax + rax*2]
xor eax, eax
or qword [rbp + rax], rcx
add rax, 0x18
cmp rdx, rax
jne 0x180021868
test r11b, r11b
mov edx, dword [rsp + 0x38]
mov r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
je 0x180023967
mov rax, qword [rsp + 0x28]
add qword [r12 + 0x48], rax
jmp 0x180021737
xor r13d, r13d
jmp 0x1800211b4
mov qword [r12 + 0x68], 0
lea rbp, [rdx + 0x3000]
add rdx, 0x68
mov rcx, r11
mov rsi, r11
call fcn.18004c020
mov r11, rsi
jmp 0x180020fd9
test rdi, rdi
je 0x180021d45
mov rbp, qword [rdi + 0x28]
mov rsi, qword [rdi + 0x20]
lea r15, [rsi + 0xfffff]
mov rax, 0xfffffffffff00000
and r15, rax
mov rcx, r15
sub rcx, rsi
sub rbp, rcx
add rbp, rax
mov r14d, dword [rdi + 0x30]
mov rcx, rdi
call fcn.180001ac0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.1800015d0
mov qword [rsp + 0x20], r15
sub r15, rsi
jne 0x180022afd
test rbp, rbp
je 0x180021e33
mov rax, qword [rsp + 0x20]
add rax, 0x100000
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rbp
mov dword [rdi + 0x30], r14d
mov rcx, rdi
call fcn.1800012f0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.180001040
lock add qword [0x1800a6658], 0xfffffffffff00000
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x100000
mov rbp, qword [rsp + 0x20]
mov rcx, rbp
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180022b51
test rbp, rbp
je 0x180021d52
lea rcx, [0x1800a65d0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r15d, r15d
mov r13d, 0xe
mov r14, qword [0x1800a65f8]
xorps xmm6, xmm6
xor esi, esi
cmp r13d, 0xe
sete sil
mov rdi, rbp
mov ecx, r15d
shl rdi, cl
xor esi, 3
mov ecx, esi
neg cl
shr rdi, cl
mov rax, qword [r14 + rdi*8]
test rax, rax
je 0x180022370
add r15d, esi
mov r14, rax
dec r13d
jne 0x1800219c2
mov rdx, rbp
mov ecx, r15d
shl rdx, cl
shr rdx, 0x3d
mov qword [rax + rdx*8], rbp
lea rcx, [0x1800a65d0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbp, rbp
je 0x1800233a0
add qword [r12 + 0x40], 0x100000
mov qword [rbp], r12
xor eax, eax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x60], 0x20
mov qword [rbp + 0x78], 0xfc024
mov eax, 0xf0
nop
mov qword [rbp + rax - 0x60], 0x24
mov qword [rbp + rax - 0x48], 0x24
mov qword [rbp + rax - 0x30], 0x24
mov qword [rbp + rax - 0x18], 0x24
mov qword [rbp + rax], 0x24
add rax, 0x78
cmp rax, 0x1860
jne 0x180021a50
mov qword [rbp + 0x1800], 0xfc024
mov qword [rbp + 0x1818], 0x20
lea r13, [rbp + 0x2000]
mov eax, r13d
and eax, 0xfffff
mov r14d, 0x100000
mov edi, 0x100000
sub rdi, rax
mov esi, 0xfe000
cmp rdi, rsi
cmovae rdi, rsi
mov r15, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r13
mov rdx, rdi
mov r8d, 0x4000
call r15
test eax, eax
je 0x180022a83
add r13, rdi
sub rsi, rdi
cmp rsi, r14
mov edi, 0x100000
cmovb rdi, rsi
test rsi, rsi
jne 0x180021acf
add qword [r12 + 0x48], 3
lea r9, [rbp + 0x68]
mov rcx, qword [r12 + 0x90]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], 0
test rcx, rcx
je 0x180022183
lea rdi, [rsp + 0xc0]
xor r15d, r15d
mov r10, 0xfffffffffffff000
mov r8d, 0xffffffff
mov r14, qword [rsp + 0x30]
mov r11, r15
mov r15, rdi
mov rdi, qword [rcx]
test rdi, rdi
je 0x180021b6e
mov rdx, qword [rdi + 8]
test dl, 1
je 0x180021b6e
mov rsi, qword [rdi]
test rsi, rsi
je 0x180021b6e
test byte [rsi + 8], 1
jne 0x180021bd1
mov rdi, rcx
mov rax, qword [rbp + 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 0x180021ba5
mov rcx, qword [rdi]
mov edx, 0xffffffff
test rcx, rcx
jne 0x180021b49
jmp 0x180021ca3
test ecx, ecx
jne 0x180021bca
test al, 0x10
mov eax, 0
cmove rax, r9
xor edx, edx
cmp rax, rdi
seta al
jb 0x180021b93
mov dl, al
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180021b9b
mov edx, 1
jmp 0x180021bc0
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 0x180025148
and byte [rdx + 8], 0xfe
cmp qword [r15], rcx
jne 0x180021c0a
mov qword [r15], rdi
jmp 0x180021b71
and rdi, 0xfffffffffffffffe
mov rcx, qword [r15 + 8]
and ecx, 1
lea rax, [rcx + rdi]
mov qword [r15 + 8], rax
test rdi, rdi
je 0x180024024
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [r15 + 8], rax
mov qword [rdi], r15
mov rax, qword [r15 + 8]
and eax, 1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
or byte [r15 + 8], 1
test r11, r11
je 0x180024044
cmp qword [r11], r15
je 0x18002239b
jmp 0x1800223ca
mov rcx, qword [rbp + 0x78]
mov rax, rcx
and rax, r10
mov rdx, qword [rdi + 0x10]
and rdx, r10
xor esi, esi
cmp rax, rdx
seta sil
cmovb esi, r8d
test esi, esi
jne 0x180022355
jmp 0x180022456
mov r15, rdi
test rcx, rcx
jne 0x180021b4f
mov r15, r11
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 1
cmp edx, 1
je 0x180021ce4
mov r11, qword [rsp + 0x38]
mov qword [rdi], r9
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180025148
and byte [rax + 8], 0xfe
mov qword [r11], rax
add rbp, 0x3000
jmp 0x180020fd9
and r9, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
and eax, 1
lea rcx, [rax + r9]
mov qword [rdi + 8], rcx
test r9, r9
mov r11, qword [rsp + 0x38]
je 0x180024024
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 [r15], rdi
jne 0x1800220bc
mov qword [r15], r9
jmp 0x180021cc0
xor ecx, ecx
jmp 0x180021297
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 rbp, rax
test rax, rax
je 0x180022bf3
mov rax, rbp
shl rax, 0x2c
je 0x1800219a2
mov rcx, rbp
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x180022db0
xor edi, edi
mov r14, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, 0x1ff000
xor ecx, ecx
mov r8d, 0x3000
call fcn.18004c360
test rax, rax
je 0x180023031
mov rbp, rax
add rbp, 0xfffff
and rbp, 0xfffffffffff00000
mov rcx, rax
xor edx, edx
mov r8d, 0x8000
call r14
test eax, eax
je 0x180022dc8
mov edx, 0x100000
mov rsi, rbp
mov rcx, rbp
mov r8d, 0x3000
call fcn.18004c360
cmp rax, rbp
jne 0x180022de0
test rbp, rbp
jne 0x1800219a2
jmp 0x180021da6
lea r15, [rsp + 0xa0]
mov rcx, r15
mov rdi, rsi
mov rbp, r8
call fcn.180025190
mov r8, rbp
mov rbp, qword [r15]
jmp 0x1800215e9
lock add qword [0x1800a6658], 0xfffffffffff00000
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r13, [0x1800a6600]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800a6560]
mov qword [rdi], rax
mov qword [0x1800a6560], rdi
jmp 0x180021968
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 0x180024024
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 0x180021ecb
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002247d
mov qword [rdx + 8], rax
jmp 0x180021218
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 0x18002157d
mov r9, rbp
mov r8, rdx
xor edx, edx
mov dword [rsp + 0x38], edx
mov rax, qword [rsp + 0x30]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x28], rcx
add rax, 0x30
mov r11, qword [rsp + 0x48]
mov rdx, qword [r11]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x30], 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
je 0x1800220fe
cmp ecx, 0xffffffff
jne 0x180021fb2
mov rcx, qword [rdx]
test rcx, rcx
je 0x180025148
mov rax, qword [rcx + 8]
test al, 1
je 0x18002204e
xor eax, eax
mov qword [rsp + 0x58], rax
mov r10, 0xfffffffffffff000
mov r9d, 0xffffffff
jmp 0x1800245c5
test ecx, ecx
je 0x1800223a3
mov rax, qword [rdx + 8]
xor edi, edi
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov qword [rsp + 0x58], rdi
je 0x180021fdc
mov rbp, qword [rcx]
test rbp, rbp
je 0x180021fdc
test byte [rbp + 8], 1
jne 0x180021fa0
mov rcx, qword [rdx]
test rcx, rcx
je 0x180022ae5
test byte [rcx + 8], 1
jne 0x180022573
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x180022010
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x180022655
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x180024024
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 + 0xc0]
mov qword [rdx], rcx
mov r8, qword [rsp + 0x20]
jmp 0x180021fa0
mov rbp, qword [rcx]
test rbp, rbp
je 0x180022060
test byte [rbp + 8], 1
jne 0x180021f99
or rax, 1
mov qword [rcx + 8], rax
mov rbp, qword [rdx + 8]
mov rax, rbp
and rax, 0xfffffffffffffffe
je 0x1800229c8
mov rcx, qword [rax]
test rcx, rcx
je 0x18002208f
mov rdi, qword [rcx + 8]
test dil, 1
jne 0x1800225ed
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 + 0xc0]
mov qword [rdx], rcx
jmp 0x180021f99
mov rax, qword [r15 + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
jne 0x180021cc0
and eax, 1
or rax, r9
mov qword [r15 + 8], rax
jmp 0x180021cc0
lea rbp, [rsp + 0xa0]
mov rcx, rbp
mov rbx, r9
call fcn.180001ff0
mov r9, rbx
mov rbx, qword [rbp]
jmp 0x18002147c
xor eax, eax
test bpl, 0x10
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x180021f81
mov cl, al
jmp 0x180021f7c
and rdi, 0xfffffffffffffffe
mov qword [rax], rdi
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
and rbp, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rbp]
mov qword [rdx + 8], rcx
test rbp, rbp
je 0x180024024
mov rcx, qword [rbp]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x18002217a
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002253b
mov qword [rdx + 8], rax
jmp 0x1800213db
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 1
lea rdi, [rsp + 0xc0]
mov r14, qword [rsp + 0x30]
jmp 0x180021cb8
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002403d
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x180024024
mov rdi, qword [rax]
and rdi, 0xfffffffffffffffe
and ecx, 1
or rcx, rdi
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
jmp 0x1800215e9
mov r11b, 1
mov rbp, qword [rsp + 0x68]
jmp 0x18002183c
mov rdx, qword [r12 + 0x68]
test rdx, rdx
jne 0x1800224d7
lea r9, [rsp + 0xc0]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.18004c4f0
test rax, rax
je 0x180023cbf
mov rbx, rax
cmp byte [rsp + 0xc0], 0
mov ecx, 0x40
mov eax, 0x24
cmove rax, rcx
add qword [r12 + 0x40], 0x100000
mov qword [rbx], r12
xor ecx, ecx
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x30], rcx
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x60], 0x20
lea rcx, [rax + 0xfc000]
mov qword [rbx + 0x78], rcx
mov edx, 0xf0
mov qword [rbx + rdx - 0x60], rax
mov qword [rbx + rdx - 0x48], rax
mov qword [rbx + rdx - 0x30], rax
mov qword [rbx + rdx - 0x18], rax
mov qword [rbx + rdx], rax
add rdx, 0x78
cmp rdx, 0x1860
jne 0x18002229a
mov qword [rbx + 0x1800], rcx
mov qword [rbx + 0x1818], 0x20
lea rcx, [rbx + 0x2000]
mov eax, ecx
and eax, 0xfffff
mov edi, 0x100000
sub rdi, rax
mov ebp, 0xfe000
cmp rdi, rbp
cmovae rdi, rbp
mov qword [rsp + 0x30], rcx
mov rdx, rdi
mov r8d, 0x4000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x180022a83
mov rcx, qword [rsp + 0x30]
add rcx, rdi
sub rbp, rdi
mov eax, 0x100000
cmp rbp, rax
mov edi, 0x100000
cmovb rdi, rbp
test rbp, rbp
jne 0x1800222f3
add qword [r12 + 0x48], 3
lea rdx, [rbx + 0x68]
mov rcx, qword [rsp + 0x48]
call fcn.18004c020
add rbx, 0x3000
mov r10, qword [rsp + 0x50]
jmp 0x1800216b5
mov edx, 1
cmp esi, 0xffffffff
je 0x180022470
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180021c94
mov ecx, 0x40
call fcn.180002210
test rax, rax
je 0x180022a9c
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
jmp 0x1800219ec
mov qword [r11], rdi
jmp 0x180021c69
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x1800226c3
mov rax, qword [rdx]
test rax, rax
jne 0x18002258b
mov qword [rsp + 0xc0], rax
jmp 0x18002361d
mov rax, qword [r11 + 8]
and eax, 1
or rax, rdi
mov qword [r11 + 8], rax
jmp 0x180021c69
lea r8, [rsp + 0xc0]
jmp 0x1800214bc
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002403d
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 0x180024024
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 0x18002147c
test cl, 0x10
mov eax, 0
cmove rax, r9
xor edx, edx
cmp rax, rdi
seta cl
jae 0x180022534
mov rcx, qword [rdi]
mov edx, 0xffffffff
jmp 0x180021c94
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 0x180024024
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbx], rax
jmp 0x180021218
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x180021890
mov ebx, 1
jmp 0x180020c77
lea rcx, [rsp + 0xc0]
jmp 0x1800213ff
mov qword [r12 + 0x68], 0
lea rbx, [rdx + 0x3000]
add rdx, 0x68
mov rcx, r9
call fcn.18004c020
jmp 0x18002234b
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 0x1800212e3
mov dl, cl
jmp 0x180022363
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 0x180024024
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbp], rax
jmp 0x1800213db
lea rdi, [rsp + 0xa0]
mov rcx, rdi
call fcn.180025190
mov rcx, qword [rdi]
jmp 0x180022039
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 0x1800223bd
mov r12, qword [0x1800a66c8]
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], r12
jmp 0x180020ca7
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 0x180024024
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 0x180022647
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x1800226ec
mov qword [rdx + 8], rax
mov r8, qword [rsp + 0x20]
jmp 0x1800220a8
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002403d
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 0x180024024
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 0x180022039
lea rdi, [rsp + 0xc0]
jmp 0x180021fc0
mov r8d, 0x100000
mov rcx, r12
mov rdx, rbx
xor r9d, r9d
call fcn.180004060
mov rdi, rax
jmp 0x180020d69
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 0x180024024
mov rax, qword [rbp]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov qword [rcx], rbp
mov r8, qword [rsp + 0x20]
jmp 0x1800220a8
mov byte [r12 + 0x70], 0
lea rcx, [rsp + 0xc0]
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
lea rdi, [rsp + 0xa0]
mov rcx, rdi
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
mov ecx, 0x10
call fcn.180002210
xor ecx, ecx
cmp byte [rdi + 8], 0
mov edx, 0
je 0x18002276c
mov rdx, qword [rsp + 0xa0]
cmp byte [rsp + 0xc8], 0
je 0x18002277e
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov qword [r12 + 0x78], rax
mov byte [r12 + 0x70], 1
jmp 0x180020cea
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1800a6698]
test eax, eax
jne 0x1800229b6
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 0x18002280d
lea rcx, [0x1800a66f8]
call fcn.18004a800
cmp dword [0x1800a66f8], 0xffffffff
jne 0x18002280d
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov qword [0x1800a66f0], rax
lea rcx, [0x1800a66f8]
call fcn.18004a7a0
mov eax, 0x1000
xor edx, edx
div qword [0x1800a66f0]
test rdx, rdx
jne 0x180022e48
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 0x18002288e
mov al, byte [rdi]
test al, al
je 0x18002288e
xor ebp, ebp
movsx eax, al
add eax, 0xffffffd0
mov esi, 1
cmp eax, 9
jbe 0x180022e9e
mov r15d, ebp
mov al, byte [rdi + r15]
movsx ecx, al
cmp ecx, 0x72
jne 0x180022e1a
mov byte [0x1800a6588], 1
dec esi
jne 0x18002286a
inc ebp
mov al, byte [rdi + rbp]
test al, al
jne 0x180022853
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 + 0xc8], 0
mov rax, qword [0x1800a6038]
mov qword [rsp + 0xc0], rax
mov edx, 0x1388
call rsi
test eax, eax
je 0x180022e74
lea rdx, [rsp + 0xc0]
xor ecx, ecx
call fcn.18003dfc0
mov qword [0x1800a66c8], rax
test rax, rax
je 0x180022e8c
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.180002210
test rax, rax
je 0x180022e81
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.180002410
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x180020c6e
or rbp, 1
mov qword [rdx + 8], rbp
jmp 0x180024024
mov rax, rcx
jmp 0x180020fab
dec dword [rbx + 0xc]
jmp 0x180022f70
mov qword [rsp + 0x80], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x1800229ff
cmp eax, 8
jne 0x180022a7c
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea rax, [rax + rax*4]
add rax, 5
mov qword [rsp + 0x68], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x80]
mov rdx, rbp
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 0x180022ac0
cmp eax, 0x5af
je 0x180022a5a
cmp eax, 8
jne 0x180022a7c
xor eax, eax
dec qword [rsp + 0x68]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
jne 0x180022a18
jmp 0x18002114e
xor eax, eax
jmp 0x18002113a
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, rbp
xor r8d, r8d
call fcn.180029bb0
jmp 0x180023031
cmp eax, 0x5af
mov rsi, qword [rsp + 0x80]
je 0x180022ad8
cmp eax, 8
jne 0x180021117
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x180021117
or rax, 1
mov qword [rdx + 8], rax
jmp 0x180025148
mov rax, rcx
mov rsi, rbp
jmp 0x180021687
mov qword [rdi + 0x28], r15
mov rcx, rdi
call fcn.1800012f0
lea rcx, [0x1800a6688]
mov rdx, rdi
call fcn.180001040
test rbp, rbp
je 0x18002195c
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.180051c40
test rax, rax
je 0x180022d7a
mov rdi, rax
lea rcx, [0x1800a6660]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x18002192e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x180022b67
cmp eax, 8
jne 0x180021d52
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea rsi, [rax + rax*4]
add rsi, 5
mov r14, qword [sym.imp.KERNEL32.dll_Sleep]
mov r15, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x32
call r14
mov edx, 0x100000
mov rcx, rbp
mov r8d, 0x1000
mov r9d, 4
call r15
mov rdi, rax
call r13
test rdi, rdi
jne 0x180022d31
cmp eax, 0x5af
mov rbp, qword [rsp + 0x20]
je 0x180022bd3
cmp eax, 8
jne 0x180021d52
dec rsi
jne 0x180022b90
jmp 0x180021d52
cmp edx, 1
jne 0x18002155b
mov rax, qword [rax + 8]
and rax, 0xfffffffffffffffe
jmp 0x180021542
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x180022c09
cmp eax, 8
jne 0x1800233a0
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea rsi, [rax + rax*4]
add rsi, 5
xor edi, edi
mov r15, 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 r15
mov rbp, rax
call r13
test rbp, rbp
jne 0x180022d91
cmp eax, 0x5af
je 0x180022c6d
cmp eax, 8
jne 0x180023031
dec rsi
jne 0x180022c2d
jmp 0x180023031
mov qword [rsp + 0x40], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x180022c92
cmp eax, 8
jne 0x180022d15
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea rax, [rax + rax*4]
add rax, 5
mov qword [rsp + 0x98], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
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 0x180022d53
cmp eax, 0x5af
je 0x180022cef
cmp eax, 8
jne 0x180022d15
xor r11d, r11d
dec qword [rsp + 0x98]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
jne 0x180022cae
jmp 0x18002183c
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
jmp 0x18002183c
cmp eax, 0x5af
mov rbp, qword [rsp + 0x20]
je 0x180022d46
cmp eax, 8
jne 0x180021999
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x180021999
cmp eax, 0x5af
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x68]
je 0x180022d6d
cmp eax, 8
jne 0x1800217fe
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1800217fe
mov edx, 0x100000
mov rcx, qword [rsp + 0x20]
mov r8d, r14d
call fcn.180029bb0
jmp 0x180021d52
mov r14, rbp
cmp eax, 0x5af
je 0x180022da0
cmp eax, 8
jne 0x180022da8
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, r14
jmp 0x180021d77
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.180051bf0
jmp 0x180021d9d
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.180051bf0
jmp 0x180021de8
test rax, rax
je 0x180022e13
xor ebp, ebp
mov rcx, rax
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x180021e07
lea rcx, str._jemalloc_
lea rdx, str.:__malloc__Error_in_VirtualFree___n
call fcn.180051bf0
xor ebp, ebp
jmp 0x180021e07
cmp ecx, 0x46
jne 0x180022ec1
mov rax, qword [0x1800a6038]
test rax, rax
je 0x180022ee3
add rax, rax
je 0x180022881
mov qword [0x1800a6038], rax
jmp 0x180022881
lea rcx, str._jemalloc_
lea rdx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.180051bf0
lea rax, str.MOZ_CRASH__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [0x1800a66c8], 0
jmp 0x180022e8c
mov qword [0x1800a65f8], 0
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x180022f79
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 0x180022ea0
test esi, esi
je 0x180022885
jmp 0x180022867
cmp ecx, 0x52
jne 0x180022ed2
mov byte [0x1800a6588], 0
jmp 0x180022881
cmp ecx, 0x66
jne 0x180022ef3
shr qword [0x1800a6038], 1
jmp 0x180022881
mov qword [0x1800a6038], 1
jmp 0x180022881
lea r14, [rsp + 0xc0]
mov byte [r14], al
mov byte [r14 + 1], 0
lea rdx, str._jemalloc_
mov r12, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
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, [0x18009ab44]
mov rcx, r14
call fcn.180051bf0
jmp 0x180022881
mov rax, qword [rsp + 0xc0]
mov qword [r9], rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rbx, 0xfffffffffffff000
and rbx, qword [rdi + 0x10]
mov qword [rsi], rbx
test rbx, rbx
jne 0x180020d0e
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0xc
xor edi, edi
jmp 0x180020d72
shr rsi, 0xc
mov rax, qword [rsp + 0xc0]
mov qword [r11], rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
cmp rsi, rbx
jne 0x18002303b
test r10, r10
je 0x180022ffb
cmp rbx, 2
mov eax, 1
cmovae rax, rbx
shl rax, 3
lea rax, [rax + rax*2]
lea rcx, [r9 + r9*2]
lea rcx, [r8 + rcx*8]
add rcx, 0x30
xor edx, edx
jmp 0x180022fe7
mov qword [rcx + rdx], 3
add rdx, 0x18
cmp rax, rdx
je 0x180022ffb
test byte [rcx + rdx], 8
je 0x180022fd6
dec qword [r8 + 0x18]
dec qword [r12 + 0x80]
jmp 0x180022fd6
or qword [r14], r10
cmp qword [r8 + 0x18], 0
jne 0x180023011
cmp qword [rsp + 0x78], 0
jne 0x1800230c7
xor edi, edi
test byte [rsp + 0x40], 1
jne 0x180023031
mov rsi, qword [rsp + 0x20]
test rsi, rsi
je 0x180023031
mov rax, qword [rsp + 0x30]
add qword [r12 + 0x58], rax
mov rdi, rsi
mov rcx, qword [rsp + 0x60]
jmp 0x180020d63
lea rcx, [r9 + rsi]
sub rsi, rbx
shl rsi, 0xc
lea rax, [r9 + rbx]
lea rax, [rax + rax*2]
mov rdi, r11
lea r11, [r8 + 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 [r8 + rcx*8 + 0x18]
or rdx, rsi
mov qword [r8 + rcx*8 + 0x18], rdx
mov r13, rdi
mov rcx, qword [rdi]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], 0
test rcx, rcx
je 0x180023191
mov r15, r14
lea r10, [r8 + rax*8]
add r10, 0x30
lea rdi, [rsp + 0xc0]
xor ebp, ebp
mov r9, 0xfffffffffffff000
mov r8d, 0xffffffff
jmp 0x180024a09
mov rbx, qword [r12 + 0x60]
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd0], 0
xor ecx, ecx
cmp rbx, r8
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x1800231ad
cmp eax, 0xffffffff
je 0x18002321f
test rbx, rbx
je 0x180025148
mov rcx, qword [rbx + 0x10]
xor esi, esi
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002312c
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18002312c
test byte [rdx + 0x10], 1
jne 0x180023241
mov rax, qword [rbx + 8]
test rax, rax
je 0x18002359c
test byte [rax + 0x10], 1
jne 0x180023405
or rcx, 1
mov qword [rbx + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023161
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x180023460
or byte [rax + 0x10], 1
mov rcx, qword [rbx + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x180024024
mov rdx, qword [rax + 8]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [rbx + 0x10], rcx
mov qword [rax + 8], rbx
jmp 0x180023421
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rdi, [rsp + 0xc0]
jmp 0x180024b80
test rbx, rbx
je 0x18002358c
mov rcx, qword [rbx + 0x10]
cmp rcx, 1
mov rsi, qword [rsp + 0x20]
mov ebp, dword [rsp + 0x40]
ja 0x1800234de
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800233bf
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rbx + 8], rcx
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rbx + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
or byte [rbx + 0x10], 1
and qword [rax + 0x10], 1
mov qword [rsp + 0xc8], rax
jmp 0x180023379
test rbx, rbx
je 0x1800233d9
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800233d9
test byte [rax + 0x10], 1
je 0x1800233c6
xor esi, esi
mov r13d, 0xffffffff
xor edi, edi
lea r14, [rsp + 0xb0]
lea rbp, [rsp + 0xb8]
mov r15, rbx
mov rbx, rax
xor eax, eax
cmp rbx, r8
setb al
cmova eax, r13d
test eax, eax
je 0x1800232a8
cmp eax, 0xffffffff
jne 0x1800232c0
test rbx, rbx
je 0x1800234eb
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800234eb
test byte [rax + 0x10], 1
jne 0x180023259
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023432
test byte [rcx + 0x10], 1
jne 0x180023259
jmp 0x180023432
test rbx, rbx
je 0x180023366
mov rax, qword [rbx + 0x10]
mov rsi, r15
cmp rax, 1
jbe 0x180023321
jmp 0x1800232c9
test rbx, rbx
je 0x1800232e2
mov rax, qword [rbx + 0x10]
and rax, 0xfffffffffffffffe
je 0x1800232e2
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800232e2
test byte [rcx + 0x10], 1
jne 0x180023259
mov rcx, r14
mov rdx, rbx
call fcn.180029970
mov rax, qword [rsp + 0xb0]
cmp qword [r15 + 8], rbx
je 0x1800234d5
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [r15 + 0x10]
and edx, 1
or rdx, rcx
mov qword [r15 + 0x10], rdx
mov rbx, r15
mov r8, qword [rsp + 0x28]
jmp 0x180023259
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1800233bb
mov rax, qword [rdi + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rbx + 8], rax
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdi + 0x10], rcx
mov rcx, qword [rbx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdi + 0x10], rcx
or byte [rbx + 0x10], 1
and qword [rdi + 0x10], 1
mov rsi, qword [rsp + 0x20]
mov ebp, dword [rsp + 0x40]
cmp qword [r15 + 8], rbx
jne 0x1800233a7
mov qword [r15 + 8], rdi
mov rax, qword [rsp + 0xc8]
mov qword [r12 + 0x60], rax
test r8, r8
je 0x180024024
xorps xmm0, xmm0
movups xmmword [r8 + 8], xmm0
test bpl, bpl
je 0x180023024
xor edi, edi
jmp 0x180023031
and rdi, 0xfffffffffffffffe
mov rax, qword [r15 + 0x10]
and eax, 1
or rax, rdi
mov qword [r15 + 0x10], rax
jmp 0x180023379
xor edi, edi
jmp 0x180023366
xor eax, eax
jmp 0x180023212
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800233d9
test byte [rcx + 0x10], 1
jne 0x18002323f
lea rdi, [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbx
call fcn.180003330
mov rax, qword [rdi]
test rax, rax
je 0x180025148
and byte [rax + 0x10], 0xfe
xor esi, esi
mov r8, qword [rsp + 0x28]
jmp 0x180023421
lea rbp, [rsp + 0xa0]
mov rcx, rbp
mov rdx, rbx
call fcn.180029970
mov r8, qword [rsp + 0x28]
mov rax, qword [rbp]
lea rbx, [rsp + 0xc0]
mov qword [rbx + 8], rax
jmp 0x180023241
mov rcx, rbp
mov rdx, rbx
call fcn.180003330
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 8], rbx
jne 0x1800235a9
mov qword [r15 + 8], rax
mov rbx, rax
mov r8, qword [rsp + 0x28]
jmp 0x18002325f
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800235c3
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [rbx + 8], rcx
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [rbx + 0x10]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x180024024
mov rbp, qword [rcx + 8]
and rbp, 0xfffffffffffffffe
and edx, 1
or rdx, rbp
mov qword [rbx + 0x10], rdx
mov qword [rcx + 8], rbx
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov r8, qword [rsp + 0x28]
jmp 0x180023421
mov qword [r15 + 8], rax
jmp 0x180023314
lea rsi, [rsp + 0xc0]
jmp 0x180023110
test rsi, rsi
je 0x1800235d0
mov rax, qword [rsp + 0x28]
cmp qword [rsi + 8], rax
jne 0x180023572
mov qword [rsi + 8], rbx
cmp qword [rsp + 0x28], 0
je 0x1800235f0
test rbx, rbx
je 0x180024024
mov rdx, qword [rsp + 0x28]
mov rax, qword [rdx + 8]
mov qword [rbx + 8], rax
mov rcx, qword [rdx + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [rbx + 0x10]
and eax, 1
or rax, rcx
mov qword [rbx + 0x10], rax
mov rcx, qword [rdx + 0x10]
and ecx, 1
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rbx + 0x10], rax
cmp qword [r15 + 8], rbx
jne 0x180023613
mov qword [r15 + 8], 0
mov rsi, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x40]
jmp 0x180023379
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 0x10]
and ecx, 1
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x180023503
xor eax, eax
mov rsi, qword [rsp + 0x20]
mov ebp, dword [rsp + 0x40]
jmp 0x180023212
or rcx, 1
mov qword [rbx + 0x10], rcx
jmp 0x180025148
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [r15 + 0x10]
and edx, 1
or rdx, rcx
mov qword [r15 + 0x10], rdx
jmp 0x180023453
mov qword [rbx + 8], 0
jmp 0x180024044
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rbx, rbx
je 0x180024024
mov qword [rbx + 8], 0
mov rax, qword [rbx + 0x10]
and eax, 1
mov qword [rbx + 0x10], rax
xor ecx, ecx
jmp 0x180023542
and qword [r15 + 0x10], 1
jmp 0x18002355f
mov rdx, qword [rsp + 0x78]
shr rdx, 0xc
mov rax, qword [rsp + 0xc0]
mov qword [r11], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
cmp rdx, r10
jne 0x180023728
test r10b, r10b
je 0x180023693
mov rax, rbx
or rax, 1
cmp r10, 2
mov ecx, 1
cmovae rcx, r10
shl rcx, 3
lea rcx, [rcx + rcx*2]
lea rdx, [r9 + r9*2]
lea rdx, [r8 + rdx*8]
add rdx, 0x30
xor ebp, ebp
test byte [rdx + rbp], 8
je 0x180023686
dec qword [r8 + 0x18]
dec qword [r12 + 0x80]
mov qword [rdx + rbp], rax
add rbp, 0x18
cmp rcx, rbp
jne 0x180023674
cmp qword [r8 + 0x18], 0
jne 0x180023963
cmp qword [rsp + 0x90], 0
mov edx, dword [rsp + 0x38]
je 0x180023967
mov rdi, qword [r12 + 0x60]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], 0
xor ecx, ecx
cmp rdi, r8
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x180023a8c
cmp eax, 0xffffffff
je 0x180023b1c
test rdi, rdi
je 0x180025148
mov rcx, qword [rdi + 0x10]
xor r10d, r10d
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x180023cfb
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180023cfb
test byte [rdx + 0x10], 1
je 0x180023cfb
mov edx, dword [rsp + 0x38]
jmp 0x180023b3f
lea rcx, [r9 + rdx]
sub rdx, r10
shl rdx, 0xc
lea rax, [r9 + r10]
lea rax, [rax + rax*2]
mov r9, r11
lea r11, [r8 + rax*8]
add r11, 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 [r8 + rcx*8 + 0x18]
or rdx, rdi
mov qword [r8 + rcx*8 + 0x18], rdx
mov rcx, qword [r9]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], 0
test rcx, rcx
je 0x180023a70
lea r10, [r8 + rax*8]
add r10, 0x30
lea rdi, [rsp + 0xc0]
xor edx, edx
mov rbp, rdx
mov rdx, rdi
mov rdi, qword [rcx]
mov r9, rsi
test rdi, rdi
je 0x1800237c6
mov rax, qword [rdi + 8]
test al, 1
je 0x1800237c6
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800237c6
test byte [rsi + 8], 1
jne 0x18002383b
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 0x18002380a
mov rcx, qword [rdi]
mov eax, 0xffffffff
mov rsi, r9
test rcx, rcx
jne 0x18002379f
jmp 0x180023917
test ecx, ecx
jne 0x180023834
test bpl, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
jb 0x1800237f5
mov al, cl
mov rsi, r9
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180023800
mov eax, 1
jmp 0x180023827
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 0x180025148
and byte [rax + 8], 0xfe
cmp qword [rdx], rcx
jne 0x180023875
mov qword [rdx], rdi
jmp 0x1800237c9
and rdi, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [rdx + 8], rcx
test rdi, rdi
je 0x180024024
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 0x180024044
cmp qword [rbp], rdx
je 0x180023cdf
jmp 0x180023ce8
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 0x180023afe
jmp 0x180023d6c
mov rdx, rdi
test rcx, rcx
jne 0x1800237a5
mov rdx, rbp
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp eax, 1
je 0x1800239fa
mov r8, qword [rsp + 0x20]
mov qword [rdi], r11
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180025148
and byte [rax + 8], 0xfe
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov r10, qword [rsp + 0x50]
jmp 0x180023645
mov edx, dword [rsp + 0x38]
test dl, 1
jne 0x180023cbf
test rbx, rbx
je 0x180023cbf
cmp qword [rsi], rbx
je 0x180022f64
mov qword [rbx], rsi
xor eax, eax
cmp dword [r12 + r13 + 0xb4], 1
jne 0x180023996
xor edx, edx
jmp 0x1800239b7
lea rcx, [r12 + r13]
add rcx, 0xb4
xor edx, edx
mov dword [rbx + rdx*4 + 0x10], 0xffffffff
inc rdx
mov ebp, dword [rcx]
dec ebp
cmp rdx, rbp
jb 0x1800239a3
mov ebp, dword [r12 + r13 + 0xb0]
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 [r12 + r13 + 0xb0]
mov dword [rbx + 0xc], eax
inc dword [r12 + r13 + 0xbc]
mov qword [rsi], rbx
jmp 0x180020d0e
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 r8, qword [rsp + 0x20]
jne 0x180023a48
mov qword [rdx], r11
jmp 0x180023937
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
mov r9, qword [rsp + 0x60]
jne 0x18002393c
and eax, 1
or rax, r11
mov qword [rdx + 8], rax
jmp 0x18002393c
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rdi, [rsp + 0xc0]
jmp 0x180023934
test rdi, rdi
je 0x180023d95
mov rcx, qword [rdi + 0x10]
cmp rcx, 1
ja 0x180023efc
mov rax, qword [rdi + 8]
test rax, rax
je 0x180023d95
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 + 0xc8], rax
mov r8, qword [rsp + 0x20]
mov edx, dword [rsp + 0x38]
jmp 0x180023c99
mov eax, 1
cmp ecx, 0xffffffff
mov rsi, r9
je 0x180023d88
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180023908
test rdi, rdi
je 0x180023daf
mov rax, qword [rdi + 8]
test rax, rax
je 0x180023daf
test byte [rax + 0x10], 1
je 0x180023d9c
xor r10d, r10d
mov r11d, 0xffffffff
xor ebp, ebp
mov r9, rdi
mov rdi, rax
xor eax, eax
cmp rdi, r8
setb al
cmova eax, r11d
test eax, eax
je 0x180023ba2
cmp eax, 0xffffffff
jne 0x180023bbe
test rdi, rdi
je 0x180023f0e
mov rax, qword [rdi + 8]
test rax, rax
je 0x180023f0e
test byte [rax + 0x10], 1
jne 0x180023b47
mov rbp, r9
mov qword [rsp + 0x30], r10
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023e37
test byte [rcx + 0x10], 1
jne 0x180023ddc
jmp 0x180023e37
test rdi, rdi
je 0x180023c8f
mov rax, qword [rdi + 0x10]
mov r10, r9
cmp rax, 1
jbe 0x180023c4a
jmp 0x180023bcb
test rdi, rdi
je 0x180023fa4
mov rax, qword [rdi + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rsp + 0x28], r9
je 0x180023be9
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023be9
test byte [rcx + 0x10], 1
jne 0x180023b47
mov qword [rsp + 0x30], r10
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.180029970
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x28]
cmp qword [rcx + 8], rdi
je 0x180023eee
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdi, qword [rsp + 0x28]
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rdi + 0x10], rdx
mov r8, qword [rsp + 0x20]
mov edx, dword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
xor ebp, ebp
mov r11d, 0xffffffff
jmp 0x180023b47
mov rbp, qword [rdi + 8]
test rbp, rbp
je 0x180023d65
mov rax, qword [rbp + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rdi + 8], rax
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 0x10]
and ecx, 1
or rcx, rax
mov qword [rbp + 0x10], rcx
mov rcx, qword [rdi + 0x10]
and ecx, 1
or rcx, rax
mov qword [rbp + 0x10], rcx
or byte [rdi + 0x10], 1
and qword [rbp + 0x10], 1
cmp qword [r9 + 8], rdi
jne 0x180023ccb
mov qword [r9 + 8], rbp
mov rax, qword [rsp + 0xc8]
mov qword [r12 + 0x60], rax
test r8, r8
je 0x180024024
xorps xmm0, xmm0
movups xmmword [r8 + 8], xmm0
test dl, dl
je 0x180023979
mov qword [rsi], 0
jmp 0x180022f70
and rbp, 0xfffffffffffffffe
mov rax, qword [r9 + 0x10]
and eax, 1
or rax, rbp
mov qword [r9 + 0x10], rax
jmp 0x180023c99
mov qword [rbp], rdi
jmp 0x1800238d4
mov rax, qword [rbp + 8]
and eax, 1
or rax, rdi
mov qword [rbp + 8], rax
jmp 0x1800238d4
mov qword [rsp + 0x30], r10
mov rax, qword [rdi + 8]
test rax, rax
je 0x180023fae
test byte [rax + 0x10], 1
jne 0x180023dfa
or rcx, 1
mov qword [rdi + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023d35
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x180023e7e
or byte [rax + 0x10], 1
mov rcx, qword [rdi + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x180024024
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 0x180023e11
xor ebp, ebp
jmp 0x180023c8f
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
mov rsi, r9
jae 0x180023e30
mov rcx, qword [rdi]
mov eax, 0xffffffff
jmp 0x180023908
xor eax, eax
jmp 0x180023ae8
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180023daf
test byte [rcx + 0x10], 1
jne 0x180023b3c
lea rbp, [rsp + 0xa0]
mov rcx, rbp
mov rdx, rdi
call fcn.180003330
mov rax, qword [rbp]
test rax, rax
je 0x180025148
and byte [rax + 0x10], 0xfe
xor ecx, ecx
mov qword [rsp + 0x30], rcx
jmp 0x180023e11
mov r9, rdi
mov r8, qword [rsp + 0x20]
mov edx, dword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
xor ebp, ebp
mov r11d, 0xffffffff
jmp 0x180023b4a
lea rbp, [rsp + 0xa0]
mov rcx, rbp
mov rdx, rdi
call fcn.180029970
mov rax, qword [rbp]
lea rdi, [rsp + 0xc0]
mov qword [rdi + 8], rax
mov r8, qword [rsp + 0x20]
mov edx, dword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
jmp 0x180023b3f
mov al, cl
jmp 0x180023b0f
lea rcx, [rsp + 0xb8]
mov rdx, rdi
call fcn.180003330
mov rax, qword [rsp + 0xb8]
cmp qword [rbp + 8], rdi
jne 0x180023fbb
mov r9, rbp
mov qword [rbp + 8], rax
mov rdi, rax
mov r8, qword [rsp + 0x20]
mov edx, dword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
xor ebp, ebp
mov r11d, 0xffffffff
jmp 0x180023b4d
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rdi + 8]
test rax, rax
je 0x180023fd8
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 0x180024024
mov r8, qword [rcx + 8]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
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 0x180023e11
mov rdi, qword [rsp + 0x28]
mov qword [rdi + 8], rax
jmp 0x180023c2f
lea r10, [rsp + 0xc0]
mov r8, qword [rsp + 0x20]
jmp 0x1800236fb
test r10, r10
je 0x180023fe2
mov rcx, r10
mov rax, qword [rsp + 0x20]
cmp qword [r10 + 8], rax
jne 0x180023f8a
mov qword [rcx + 8], rdi
cmp qword [rsp + 0x20], 0
je 0x180023ffb
test rdi, rdi
je 0x180024024
mov rdx, qword [rsp + 0x20]
mov rax, qword [rdx + 8]
mov qword [rdi + 8], rax
mov rcx, qword [rdx + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [rdi + 0x10]
and eax, 1
or rax, rcx
mov qword [rdi + 0x10], rax
mov rcx, qword [rdx + 0x10]
and ecx, 1
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rdi + 0x10], rax
cmp qword [r9 + 8], rdi
jne 0x18002401a
mov qword [r9 + 8], 0
jmp 0x180023af0
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rdx, rcx
mov rcx, qword [rcx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
jmp 0x180023f29
mov qword [rsp + 0x28], r9
jmp 0x180023be9
or rcx, 1
mov qword [rdi + 0x10], rcx
jmp 0x180025148
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov r9, rbp
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rbp + 0x10], rdx
jmp 0x180023e60
mov qword [rdi + 8], 0
jmp 0x180024044
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rdi, rdi
je 0x180024024
mov qword [rdi + 8], 0
mov rax, qword [rdi + 0x10]
and eax, 1
mov qword [rdi + 0x10], rax
xor ecx, ecx
jmp 0x180023f68
and qword [r9 + 0x10], 1
jmp 0x180023af0
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 [r11 + 8]
and edx, 1
or rdx, rcx
mov qword [r11 + 8], rdx
mov rdx, rbp
nop word cs:[rax + rax]
xor ecx, ecx
cmp rdx, rdi
setb cl
cmova ecx, r8d
cmp ecx, 0xffffffff
jne 0x1800240c5
test rdx, rdx
je 0x18002437d
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002437d
mov rcx, qword [rbx + 8]
test cl, 1
jne 0x1800240bd
mov rbp, qword [rbx]
test rbp, rbp
je 0x1800240e5
test byte [rbp + 8], 1
je 0x1800240e5
mov r11, rdx
mov rdx, rbx
jmp 0x180024080
test ecx, ecx
jne 0x180024147
test rdx, rdx
je 0x180024250
mov rbp, qword [rdx + 8]
mov rax, r11
cmp rbp, 1
jbe 0x180024245
jmp 0x180024159
or rcx, 1
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x1800244ec
mov rax, rsi
mov rbp, qword [rbx]
test rbp, rbp
je 0x180024117
mov rsi, qword [rbp + 8]
test sil, 1
jne 0x18002429a
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, rax
cmp qword [r11], rdx
jne 0x18002405d
mov qword [r11], rbp
mov rdx, rbp
jmp 0x180024080
test rdx, rdx
je 0x180025148
mov rbp, qword [rdx + 8]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov rbx, rbp
and rbx, 0xfffffffffffffffe
je 0x180024179
mov rcx, qword [rbx]
test rcx, rcx
je 0x180024179
test byte [rcx + 8], 1
jne 0x1800240bd
mov rax, r9
mov r9, qword [rdx]
test r9, r9
je 0x180025148
mov rbx, qword [r9 + 8]
test bl, 1
je 0x180024315
and rbx, 0xfffffffffffffffe
je 0x1800244f9
mov rcx, qword [rbx]
test rcx, rcx
mov qword [rsp + 0x40], rsi
je 0x1800241b6
test byte [rcx + 8], 1
jne 0x1800243df
and ebp, 1
or rbp, rbx
mov qword [r9 + 8], rbp
or byte [rbx + 8], 1
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002403d
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
mov r9, rax
je 0x180024024
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, qword [rsp + 0x40]
cmp qword [r11], rdx
jne 0x180024360
mov qword [r11], rbx
mov rdx, r11
jmp 0x1800240bd
mov r10, qword [rdx]
test r10, r10
jne 0x180024261
xor r10d, r10d
cmp qword [r11], rdx
jne 0x1800242fe
mov qword [r11], r10
jmp 0x180022f48
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 0x180024250
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 0x180024024
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 0x1800242f5
mov rbx, qword [rcx + 8]
test bl, 1
jne 0x180024497
mov qword [rdx + 8], rcx
jmp 0x180024130
and r10, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, r10
mov qword [r11 + 8], rcx
jmp 0x180022f48
or rbx, 1
mov qword [r9 + 8], rbx
mov rcx, qword [r9]
test rcx, rcx
je 0x180024333
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x180024422
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x180024024
mov r9, rax
mov rbp, qword [rbx]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
jmp 0x180024231
mov rcx, rbx
and rcx, 0xfffffffffffffffe
mov rdx, qword [r11 + 8]
and edx, 1
or rdx, rcx
mov qword [r11 + 8], rdx
mov rdx, r11
jmp 0x1800240bd
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x180024044
cmp qword [rax], rdi
jne 0x1800244d2
mov qword [rax], rdx
test rdx, rdx
je 0x180024024
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 [r11], rdx
jne 0x180024505
mov qword [r11], 0
jmp 0x180022f48
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 0x180024024
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 0x1800241d0
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002403d
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 0x180024024
mov r9, rax
mov rax, 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, rax
jmp 0x180024231
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 0x180024024
mov rsi, rax
mov rcx, qword [rbx]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
mov qword [rbp], rbx
jmp 0x180024133
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rax + 8]
and ebp, 1
or rbp, rcx
mov qword [rax + 8], rbp
jmp 0x180024397
or rcx, 1
mov qword [rdx + 8], rcx
jmp 0x180024024
and ebp, 1
mov qword [r9 + 8], rbp
jmp 0x180025148
and qword [r11 + 8], 1
jmp 0x180022f48
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 + 0x30]
mov rbp, qword [rax]
mov rax, rbp
and rax, 0xfffffffffffff000
mov rdi, qword [rdx + 0x10]
and rdi, r10
xor ecx, ecx
cmp rax, rdi
seta cl
cmovb ecx, r9d
test ecx, ecx
je 0x18002457a
cmp ecx, 0xffffffff
jne 0x18002459a
mov rcx, qword [rdx]
test rcx, rcx
je 0x180024858
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x1800245c5
mov rdi, qword [rcx]
test rdi, rdi
je 0x1800245e8
test byte [rdi + 8], 1
jne 0x1800245c5
jmp 0x1800245e8
test bpl, 0x10
mov eax, 0
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x180024554
mov cl, al
cmp ecx, 0xffffffff
je 0x180024554
test ecx, ecx
je 0x1800245d0
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x180024656
mov rdi, qword [rcx]
test rdi, rdi
je 0x180024656
test byte [rdi + 8], 1
je 0x180024656
mov r11, rdx
mov rdx, rcx
jmp 0x180024527
mov rbp, qword [rdx + 8]
mov rax, r11
mov qword [rsp + 0x58], r11
cmp rbp, 1
jbe 0x18002471f
jmp 0x1800245a2
or rbp, 1
mov qword [rcx + 8], rbp
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x180025134
mov r10, rsi
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002461a
mov rsi, qword [rbp + 8]
test sil, 1
jne 0x1800247f3
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 r8, qword [rsp + 0x20]
mov r10, 0xfffffffffffff000
jne 0x18002450f
mov qword [r11], rbp
mov rdx, rbp
jmp 0x180024527
mov rdi, qword [rdx]
test rdi, rdi
je 0x180025148
mov rcx, qword [rdi + 8]
test cl, 1
je 0x18002478e
and rcx, 0xfffffffffffffffe
je 0x1800249e2
mov r10, qword [rcx]
test r10, r10
je 0x18002468c
test byte [r10 + 8], 1
jne 0x18002494c
and ebp, 1
or rbp, rcx
mov qword [rdi + 8], rbp
or byte [rcx + 8], 1
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002403d
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 r8, qword [rsp + 0x20]
mov r10, 0xfffffffffffff000
je 0x180024024
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 0x1800247d6
mov qword [r11], rcx
mov rdx, r11
jmp 0x1800245c5
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002475e
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 r9, qword [rsp + 0x60]
jne 0x18002477a
mov qword [r11], rcx
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
jmp 0x18002361d
and rcx, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, rcx
mov qword [r11 + 8], rax
jmp 0x18002476b
or rcx, 1
mov qword [rdi + 8], rcx
mov rcx, qword [rdi]
test rcx, rcx
je 0x1800247ac
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x1800248d2
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x180024024
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
jmp 0x18002470b
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 0x1800245c5
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 0x180024024
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 0x18002484f
mov rdi, qword [rcx + 8]
test dil, 1
jne 0x1800249aa
mov qword [rdx + 8], rcx
jmp 0x180024633
mov rbp, qword [rsp + 0x58]
test rbp, rbp
je 0x180024044
mov rax, qword [rsp + 0x28]
cmp qword [rbp], rax
jne 0x180024990
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 0x1800249ee
mov qword [r11], 0
mov r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
jmp 0x18002361d
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002403d
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 0x180024024
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 r8, qword [rsp + 0x20]
mov r10, 0xfffffffffffff000
jmp 0x18002470b
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 0x180024024
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 0x1800246a6
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
jmp 0x180024879
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 0x180024024
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rbp], rcx
jmp 0x180024633
and ebp, 1
mov qword [rdi + 8], rbp
jmp 0x180025148
and qword [r11 + 8], 1
jmp 0x1800248b9
mov rcx, qword [rdi]
mov eax, 0xffffffff
test rcx, rcx
je 0x180024b5a
mov r14, rbp
mov rbp, rdi
mov rdi, qword [rcx]
test rdi, rdi
je 0x180024a2d
mov rax, qword [rdi + 8]
test al, 1
je 0x180024a2d
mov rsi, qword [rdi]
test rsi, rsi
je 0x180024a2d
test byte [rsi + 8], 1
jne 0x180024a89
mov rdi, rcx
mov rax, qword [r10]
mov rdx, rax
and rdx, 0xfffffffffffff000
mov rsi, qword [rdi + 0x10]
and rsi, r9
xor ecx, ecx
cmp rdx, rsi
seta cl
cmovb ecx, r8d
cmp ecx, 0xffffffff
je 0x1800249f8
test ecx, ecx
jne 0x180024a82
mov rcx, r11
test al, 0x10
jne 0x180024c7e
xor eax, eax
cmp rcx, rdi
seta cl
jb 0x1800249f8
mov al, cl
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
test rcx, rcx
jne 0x180024a09
jmp 0x180024b5a
mov eax, 1
jmp 0x180024a70
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 0x180025148
and byte [rax + 8], 0xfe
cmp qword [rbp], rcx
jne 0x180024ac4
mov qword [rbp], rdi
jmp 0x180024a30
and rdi, 0xfffffffffffffffe
mov rax, qword [rbp + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [rbp + 8], rcx
test rdi, rdi
je 0x180024024
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 0x180024044
cmp qword [r14], rbp
je 0x180024c3d
jmp 0x180024c45
mov rax, qword [r10]
mov rdx, rax
and rdx, r9
mov rsi, qword [rdi + 0x10]
and rsi, r9
xor ecx, ecx
cmp rdx, rsi
seta cl
cmovb ecx, r8d
test ecx, ecx
jne 0x180024c26
jmp 0x180024c58
mov rbp, rdi
test rcx, rcx
jne 0x180024a0f
mov rbp, r14
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp eax, 1
je 0x180024ba1
mov r8, qword [rsp + 0x28]
mov r14, r15
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x30]
mov qword [rdi], r11
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180025148
and byte [rax + 8], 0xfe
mov qword [r13], rax
jmp 0x180022fac
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 r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x48]
jne 0x180024bfb
mov qword [rbp], r11
mov r14, r15
mov r10, qword [rsp + 0x30]
jmp 0x180024b83
mov rax, qword [rbp + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
mov r14, r15
mov r10, qword [rsp + 0x30]
jne 0x180024b83
and eax, 1
or rax, r11
mov qword [rbp + 8], rax
jmp 0x180024b83
mov eax, 1
cmp ecx, 0xffffffff
je 0x180024c6d
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180024b4b
mov qword [r14], rdi
jmp 0x180024b22
mov rax, qword [r14 + 8]
and eax, 1
or rax, rdi
mov qword [r14 + 8], rax
jmp 0x180024b22
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
jae 0x180024c7a
mov rcx, qword [rdi]
mov eax, 0xffffffff
jmp 0x180024b4b
mov al, cl
jmp 0x180024c30
xor ecx, ecx
jmp 0x180024a64
mov rbp, qword [r14]
mov rax, rbp
and rax, 0xfffffffffffff000
mov rdi, qword [rdx + 0x10]
and rdi, r15
xor ecx, ecx
cmp rax, rdi
seta cl
cmovb ecx, esi
test ecx, ecx
je 0x180024cdd
cmp ecx, 0xffffffff
jne 0x180024cfb
mov rbp, qword [rdx]
test rbp, rbp
je 0x180024fc7
mov rcx, qword [rbp + 8]
test cl, 1
jne 0x180024d30
mov rdi, qword [rbp]
test rdi, rdi
je 0x180024d4e
test byte [rdi + 8], 1
jne 0x180024d30
jmp 0x180024d4e
mov rdi, r13
test bpl, 0x10
jne 0x18002512d
xor ecx, ecx
cmp rdi, rdx
seta al
jb 0x180024cb7
mov cl, al
cmp ecx, 0xffffffff
je 0x180024cb7
test ecx, ecx
je 0x180024d3b
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x180024dc2
mov rdi, qword [rbp]
test rdi, rdi
je 0x180024dc2
test byte [rdi + 8], 1
je 0x180024dc2
nop word [rax + rax]
mov r10, rdx
mov rdx, rbp
jmp 0x180024c90
mov rcx, qword [rdx + 8]
mov r8, r10
cmp rcx, 1
jbe 0x180024e84
jmp 0x180024d03
or rcx, 1
mov qword [rbp + 8], rcx
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x180025134
mov r9, r8
mov r8, r13
mov rbp, qword [rcx]
test rbp, rbp
je 0x180024d83
mov rsi, qword [rbp + 8]
test sil, 1
jne 0x180024f62
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
cmp qword [r10], rdx
jne 0x180025161
mov qword [r10], rbp
mov rdx, rbp
mov r13, r8
mov r8, r9
mov r15, 0xfffffffffffff000
mov esi, 0xffffffff
jmp 0x180024c90
mov rdi, qword [rdx]
test rdi, rdi
je 0x180025148
mov rbp, qword [rdi + 8]
test bpl, 1
je 0x180024efb
and rbp, 0xfffffffffffffffe
je 0x180025141
mov r9, qword [rbp]
test r9, r9
je 0x180024dfa
test byte [r9 + 8], 1
jne 0x180025095
and ecx, 1
or rcx, rbp
mov qword [rdi + 8], rcx
or byte [rbp + 8], 1
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002403d
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov esi, 0xffffffff
je 0x180024024
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and edi, 1
or rdi, rax
mov qword [rdx + 8], rdi
mov qword [rcx], rdx
mov rax, qword [rbp + 8]
and eax, 1
or rax, rcx
mov qword [rbp + 8], rax
or byte [rdx + 8], 1
cmp qword [r10], rdx
jne 0x180024f45
mov qword [r10], rbp
mov rdx, r10
jmp 0x180024d30
mov rcx, qword [rdx]
test rcx, rcx
je 0x180024ec3
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 [r10], rdx
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x48]
jne 0x180024ee7
mov qword [r10], rcx
mov rsi, r11
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
jmp 0x180022f8c
and rcx, 0xfffffffffffffffe
mov rax, qword [r10 + 8]
and eax, 1
or rax, rcx
mov qword [r10 + 8], rax
jmp 0x180024ed5
or rbp, 1
mov qword [rdi + 8], rbp
mov rcx, qword [rdi]
test rcx, rcx
je 0x180024f19
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x180025029
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x180024024
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
jmp 0x180024e70
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r10 + 8]
and ecx, 1
or rcx, rax
mov qword [r10 + 8], rcx
mov rdx, r10
jmp 0x180024d30
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 0x180024024
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 0x180024fbe
mov rdi, qword [rcx + 8]
test dil, 1
jne 0x1800250f5
mov qword [rdx + 8], rcx
jmp 0x180024d9c
test r8, r8
je 0x180024044
cmp qword [r8], r13
mov rdi, r8
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x48]
jne 0x1800250db
mov qword [rdi], rdx
mov rax, qword [r13]
mov qword [rdx], rax
mov rax, qword [r13 + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov rcx, qword [r13 + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
cmp qword [r10], rdx
jne 0x18002517b
mov qword [r10], 0
jmp 0x180024ed5
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002403d
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x180024024
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and edi, 1
or rdi, rax
mov qword [rdx + 8], rdi
mov qword [rcx], rdx
mov rax, qword [rbp + 8]
and eax, 1
or rax, rcx
mov qword [rbp + 8], rax
jmp 0x180024e70
and ecx, 1
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rbp + 8], rax
and byte [r9 + 8], 0xfe
mov rcx, qword [rdi + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x180024024
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
mov qword [rbp], rdi
mov qword [rdx], rbp
jmp 0x180024e14
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
jmp 0x180024fe9
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 0x180024024
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rbp], rcx
jmp 0x180024d9c
xor edi, edi
jmp 0x180024cea
or rdi, 1
mov qword [rdx + 8], rdi
jmp 0x180024024
and ecx, 1
mov qword [rdi + 8], rcx
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r10 + 8]
and ecx, 1
or rcx, rax
mov qword [r10 + 8], rcx
jmp 0x180024da8
and qword [r10 + 8], 1
jmp 0x180024ed5