Function at 0x180029c40
Capabilities:
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, 0x148
mov r12, rdx
mov rsi, rcx
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x140], rax
test r8, r8
je 0x18002f30a
mov r13, r8
mov eax, dword [0x1800a6698]
test r12, r12
je 0x180029f9a
test eax, eax
je 0x18002f315
mov rbx, r12
and rbx, 0xfffffffffff00000
cmp rbx, r12
mov qword [rsp + 0x68], rbx
je 0x18002e8ce
mov eax, r12d
shr eax, 0xc
movzx eax, al
lea rax, [rax + rax*2]
mov rax, qword [rbx + rax*8 + 0x30]
mov rdi, rax
and rdi, 0xfffffffffffff000
test al, 2
jne 0x180029ccd
mov rax, qword [rdi]
mov rdi, qword [rax + 0x10]
mov rbp, rbx
cmp rdi, 0xfc000
ja 0x18002e90c
mov r15, qword [rbp]
mov rax, qword [rsi]
test rax, rax
je 0x180029cf2
cmp r15, rax
jne 0x18002f3bf
cmp r13, 0xfc000
ja 0x18002bdfa
cmp r13, 8
jbe 0x18002b0fb
cmp r13, 0x1f0
ja 0x18002a0e3
lea rsi, [r13 + 0xf]
and rsi, 0xfffffffffffffff0
xor eax, eax
cmp rsi, rdi
sete cl
cmp rdi, 0xfc001
jae 0x18002f32e
test cl, cl
jne 0x18002a919
lea rcx, [rdi - 0xf01]
cmp rcx, 0xfb100
setae cl
xor al, 1
or al, cl
je 0x18002a8a3
cmp byte [r15 + 0x71], 0
mov rbp, r15
mov qword [rsp + 0x28], r15
jne 0x18002a1e7
cmp r13, 0x1f1
jae 0x18002a1e0
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbp, qword [rax + 8]
test rbp, rbp
je 0x18002f3d8
cmp r13, 8
jbe 0x18002ace8
cmp r13, 0x1f1
jae 0x18002a349
lea rax, [r13 + 0xf]
mov rbx, rax
and rbx, 0xfffffffffffffff0
shr rax, 4
dec rax
lea rax, [rax + rax*2]
shl rax, 4
mov qword [rsp + 0x38], rax
lea rsi, [rax + rbp]
add rsi, 0x98
cmp byte [rbp + 0x70], 0
mov qword [rsp + 0x30], rbp
je 0x180029df0
cmp qword [rbp + 0x78], 0
je 0x18002ef2e
lea rcx, [rbp + 0x18]
mov qword [rsp + 0x50], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r10, qword [rsp + 0x30]
mov r14, qword [rsi]
test r14, r14
mov r11, qword [rsp + 0x38]
je 0x18002a383
cmp dword [r14 + 0xc], 0
je 0x18002a383
mov eax, dword [r14 + 8]
mov edx, dword [r14 + rax*4 + 0x10]
test edx, edx
je 0x18002a92a
mov rbp, qword [r10 + 0x78]
test rbp, rbp
jne 0x18002a13d
bsf esi, edx
mov ebp, eax
shl ebp, 5
or ebp, esi
mov ecx, dword [r10 + r11 + 0xc0]
imul rbp, qword [r10 + r11 + 0xa8]
add rcx, r14
add rbp, rcx
btc edx, esi
mov dword [r14 + rax*4 + 0x10], edx
dec dword [r14 + 0xc]
test rbp, rbp
je 0x18002be17
add qword [r10 + 0x50], rbx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x68]
test rbp, rbp
je 0x18002be2a
cmp rdi, r13
cmovb r13, rdi
mov rcx, rbp
mov rdx, r12
mov r8, r13
call fcn.180091e30
mov rsi, r12
and rsi, 0xfffff
je 0x18002ed5f
cmp qword [rbx], r15
jne 0x18002f335
lea r13, [r15 + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
shr rsi, 0xc
lea rax, [rsi + rsi*2]
mov rsi, qword [rbx + rax*8 + 0x30]
test sil, 0x20
jne 0x18002f34e
test sil, 1
je 0x18002f367
mov eax, esi
and rsi, 0xfffffffffffff000
test al, 2
jne 0x18002a311
mov r14, qword [rsi]
mov rdi, qword [r14 + 0x10]
mov rcx, r12
mov dl, 0xe5
mov r8, rdi
call fcn.180091cf0
mov eax, dword [r14 + 0x28]
add rax, rsi
sub r12, rax
lea rax, [rdi - 1]
test rdi, rax
setne al
test rdi, rdi
sete cl
or cl, al
jne 0x18002a103
mov rax, rdi
or rax, 1
bsr rcx, rax
shr r12d, cl
mov eax, r12d
shr eax, 5
cmp eax, dword [rsi + 8]
jb 0x18002a9f5
mov eax, eax
mov edx, dword [rsi + rax*4 + 0x10]
mov ebx, 1
mov ecx, r12d
shl ebx, cl
bt edx, r12d
jb 0x18002f380
or edx, ebx
mov dword [rsi + rax*4 + 0x10], edx
mov eax, dword [rsi + 0xc]
lea ecx, [rax + 1]
mov dword [rsi + 0xc], ecx
cmp ecx, dword [r14 + 0x20]
je 0x18002ade4
test eax, eax
mov rbx, qword [rsp + 0x28]
je 0x18002a21e
sub qword [rbx + 0x50], rdi
jmp 0x18002a0aa
test eax, eax
je 0x18002f00c
mov r14, qword [rsi]
test r14, r14
jne 0x18002b7ab
cmp r13, 0x1f1
jae 0x18002b7a4
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 8]
test r14, r14
je 0x18002f399
cmp r13, 8
jbe 0x18002ad38
cmp r13, 0x1f1
jae 0x18002a365
add r13, 0xf
mov r15, r13
and r15, 0xfffffffffffffff0
shr r13, 4
dec r13
lea r12, [r13*2]
add r12, r13
shl r12, 4
lea rsi, [r14 + r12]
add rsi, 0x98
cmp byte [r14 + 0x70], 0
je 0x18002a033
cmp qword [r14 + 0x78], 0
je 0x18002efa4
lea r13, [r14 + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rsi]
test rbx, rbx
je 0x18002a5d1
cmp dword [rbx + 0xc], 0
je 0x18002a5d1
mov eax, dword [rbx + 8]
mov edx, dword [rbx + rax*4 + 0x10]
test edx, edx
je 0x18002a990
mov rbp, qword [r14 + 0x78]
test rbp, rbp
jne 0x18002a197
bsf edi, edx
mov ebp, eax
shl ebp, 5
or ebp, edi
mov ecx, dword [r14 + r12 + 0xc0]
imul rbp, qword [r14 + r12 + 0xa8]
add rcx, rbx
add rbp, rcx
btc edx, edi
mov dword [rbx + rax*4 + 0x10], edx
dec dword [rbx + 0xc]
test rbp, rbp
je 0x18002be21
add qword [r14 + 0x50], r15
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbp, rbp
je 0x18002be2a
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.18004b970
mov rax, rbp
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r13, 0xf00
ja 0x18002a20a
lea rsi, [r13 + 0xff]
and rsi, 0xffffffffffffff00
jmp 0x180029d1e
cmp rdi, 9
jb 0x18002f3fe
cmp rdi, 0x1f1
jae 0x18002aac2
mov eax, r12d
mov ecx, edi
shr ecx, 4
add ecx, 0xfffffffd
lea rdx, [0x1800931f0]
mov r12d, dword [rdx + rcx*4]
imul r12, rax
shr r12, 0x15
jmp 0x180029f42
mov r8, rdi
mov rdi, rbx
mov rsi, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rbp], rcx
mov rbx, rsi
shl rbx, 0x17
xor rbx, rsi
mov rsi, rcx
shr rsi, 0x1a
xor rsi, rcx
xor rsi, rbx
shr rbx, 0x11
xor rsi, rbx
mov qword [rbp + 8], rsi
add ecx, esi
mov ebp, edx
ror ebp, cl
test ebp, ebp
je 0x18002a335
bsf esi, ebp
add esi, ecx
and esi, 0x1f
mov r15, qword [rsp + 0x28]
mov rbx, rdi
mov rdi, r8
jmp 0x180029e41
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 0x18002a33f
bsf edi, ebp
add edi, ecx
and edi, 0x1f
jmp 0x18002a075
mov rbp, qword [0x1800a66c8]
cmp r13, 0xf00
jbe 0x180029d99
mov rcx, rbp
mov rdx, r13
xor r8d, r8d
call fcn.180037d70
mov rbp, rax
jmp 0x180029e88
lea esi, [r13 + 0xfff]
and esi, 0x1ff000
mov al, 1
jmp 0x180029d20
mov rax, qword [r14]
cmp rax, rsi
je 0x180029f91
test rax, rax
je 0x18002b450
cmp rsi, rax
jae 0x18002a9fd
cmp dword [rax + 0xc], 0
je 0x18002b450
mov rcx, rax
and rcx, 0xfffffffffff00000
shr eax, 0xc
movzx eax, al
shl rax, 3
lea r9, [rax + rax*2]
or r9, rcx
add r9, 0x20
mov rbx, qword [r14 + 8]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], 0
test rbx, rbx
je 0x18002b13c
lea rcx, [rsp + 0x108]
xor r10d, r10d
mov r8, r10
mov r10, rcx
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002a2b5
mov rax, qword [rcx + 8]
test al, 1
je 0x18002a2b5
mov rdx, qword [rcx]
test rdx, rdx
je 0x18002a2b5
test byte [rdx + 8], 1
jne 0x18002a2d7
mov rcx, rbx
cmp rcx, r9
seta al
jbe 0x18002a2cd
mov rbx, qword [rcx]
test rbx, rbx
jne 0x18002a291
jmp 0x18002b3c8
mov rbx, qword [rcx + 8]
and rbx, 0xfffffffffffffffe
jmp 0x18002a2c3
and rax, 0xfffffffffffffffe
mov qword [rbx], rax
mov r11, rbx
and r11, 0xfffffffffffffffe
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
and edx, 1
or rdx, r11
mov qword [rcx + 8], rdx
test rax, rax
je 0x18002f2d2
and byte [rax + 8], 0xfe
cmp qword [r10], rbx
jne 0x18002b348
mov qword [r10], rcx
jmp 0x18002a2b8
mov rcx, r12
mov dl, 0xe5
mov r8, rsi
call fcn.180091cf0
sub qword [r15 + 0x58], rsi
mov rcx, r15
mov rdx, r12
mov r8b, 1
call fcn.180027370
jmp 0x18002a0aa
mov esi, 0x20
jmp 0x18002a182
mov edi, 0x20
jmp 0x18002a1d6
lea rax, [r13 + 0xff]
mov ebx, eax
and ebx, 0x1f00
shr rax, 8
add rax, 0x1d
jmp 0x180029dc2
add r13, 0xff
mov r15d, r13d
and r15d, 0x1f00
shr r13, 8
add r13, 0x1d
jmp 0x18002a007
mov rdx, qword [r10 + r11 + 0xa0]
test rdx, rdx
mov qword [rsp + 0x78], rsi
je 0x18002b7d8
lea r14, [r10 + r11]
add r14, 0xa0
mov rax, rdx
mov rbp, rax
mov rax, qword [rax]
test rax, rax
jne 0x18002a3a7
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0
xor ecx, ecx
cmp rdx, rbp
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x18002ad86
mov rsi, qword [rdx]
test rsi, rsi
je 0x18002f2d2
mov rax, qword [rsi + 8]
test al, 1
je 0x18002aae6
xor r8d, r8d
mov r9d, 0xffffffff
mov r11, rdx
mov rdx, rsi
xor eax, eax
cmp rdx, rbp
setb al
cmova eax, r9d
cmp eax, 0xffffffff
jne 0x18002a4be
test rdx, rdx
je 0x18002be50
mov rsi, qword [rdx]
test rsi, rsi
je 0x18002be50
mov rax, qword [rsi + 8]
test al, 1
jne 0x18002a400
mov rcx, qword [rsi]
test rcx, rcx
je 0x18002a446
test byte [rcx + 8], 1
jne 0x18002a400
or rax, 1
mov qword [rsi + 8], rax
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002f2a4
mov r9, r8
mov r8, r14
mov r14, rbx
mov rsi, qword [rcx]
test rsi, rsi
je 0x18002a47d
mov rbx, qword [rsi + 8]
test bl, 1
jne 0x18002b4ca
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov rsi, rcx
mov r15, qword [rsp + 0x28]
mov rbx, r14
mov r14, r8
cmp qword [r11], rdx
mov r8, r9
jne 0x18002f439
mov qword [r11], rsi
mov rdx, rsi
mov r9d, 0xffffffff
jmp 0x18002a406
test eax, eax
jne 0x18002a4e3
test rdx, rdx
mov rax, qword [rsp + 0x78]
je 0x18002f2ae
mov rcx, qword [rdx + 8]
mov r8, r11
cmp rcx, 1
jbe 0x18002a807
jmp 0x18002a4f5
test rdx, rdx
je 0x18002f2d2
mov rcx, qword [rdx + 8]
mov r10, qword [rsp + 0x30]
mov rsi, rcx
and rsi, 0xfffffffffffffffe
je 0x18002a510
mov rax, qword [rsi]
test rax, rax
je 0x18002a510
test byte [rax + 8], 1
jne 0x18002a400
mov r10, qword [rdx]
test r10, r10
je 0x18002f2d2
mov rsi, qword [r10 + 8]
test sil, 1
je 0x18002b70d
and rsi, 0xfffffffffffffffe
je 0x18002f2f8
mov rax, qword [rsi]
test rax, rax
je 0x18002a546
test byte [rax + 8], 1
jne 0x18002bf23
and ecx, 1
or rcx, rsi
mov qword [r10 + 8], rcx
or byte [rsi + 8], 1
mov rsi, qword [rdx]
test rsi, rsi
je 0x18002f40d
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov r10, qword [rdx + 8]
mov rcx, r10
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and r10d, 1
or r10, rax
mov qword [rdx + 8], r10
mov qword [rcx], rdx
mov rax, qword [rsi + 8]
and eax, 1
or rax, rcx
mov qword [rsi + 8], rax
or byte [rdx + 8], 1
mov r10, qword [rsp + 0x30]
cmp qword [r11], rdx
jne 0x18002b8ed
mov qword [r11], rsi
mov rdx, r11
jmp 0x18002a400
mov rdx, qword [r14 + r12 + 0xa0]
test rdx, rdx
je 0x18002b86e
lea r9, [r14 + r12]
add r9, 0xa0
mov rax, rdx
mov rbp, rax
mov rax, qword [rax]
test rax, rax
jne 0x18002a5f0
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0
xor ecx, ecx
cmp rdx, rbp
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x18002adb5
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002f2d2
mov rax, qword [rbx + 8]
test al, 1
je 0x18002ab5e
xor eax, eax
mov qword [rsp + 0x28], rax
mov r8d, 0xffffffff
xor r10d, r10d
mov r11, rdx
mov rdx, rbx
xor ecx, ecx
cmp rdx, rbp
setb cl
cmova ecx, r8d
cmp ecx, 0xffffffff
jne 0x18002a6f1
test rdx, rdx
je 0x18002beb8
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002beb8
mov rcx, qword [rbx + 8]
test cl, 1
jne 0x18002a650
mov rax, qword [rbx]
test rax, rax
je 0x18002a697
test byte [rax + 8], 1
jne 0x18002a650
or rcx, 1
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x18002f245
mov rdi, qword [rbx]
test rdi, rdi
je 0x18002a6c4
mov rax, qword [rdi + 8]
test al, 1
jne 0x18002b52c
or rcx, 1
mov qword [rdx + 8], rcx
mov rax, qword [rbx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rbx], rdx
mov rdi, rbx
cmp qword [r11], rdx
jne 0x18002f453
mov qword [r11], rdi
mov rdx, rdi
jmp 0x18002a656
test ecx, ecx
jne 0x18002a711
test rdx, rdx
je 0x18002a869
mov rdi, qword [rdx + 8]
mov rax, r11
cmp rdi, 1
jbe 0x18002a85a
jmp 0x18002a723
test rdx, rdx
je 0x18002f2d2
mov rdi, qword [rdx + 8]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rbx, rdi
and rbx, 0xfffffffffffffffe
je 0x18002a743
mov rax, qword [rbx]
test rax, rax
je 0x18002a743
test byte [rax + 8], 1
jne 0x18002a650
mov qword [rsp + 0x68], r9
mov r9, qword [rdx]
test r9, r9
je 0x18002f2d2
mov rbx, qword [r9 + 8]
test bl, 1
je 0x18002b759
and rbx, 0xfffffffffffffffe
je 0x18002f42d
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002a77d
test byte [rcx + 8], 1
jne 0x18002bfb4
and edi, 1
or rdi, rbx
mov qword [r9 + 8], rdi
or byte [rbx + 8], 1
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002f40d
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 rdi, rcx
and rdi, 0xfffffffffffffffe
mov r9, qword [rsp + 0x68]
je 0x18002f24d
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rdi], rdx
mov rax, qword [rbx + 8]
and eax, 1
or rax, rdi
mov qword [rbx + 8], rax
or byte [rdx + 8], 1
cmp qword [r11], rdx
jne 0x18002b90a
mov qword [r11], rbx
mov rdx, r11
jmp 0x18002a650
mov r8, rax
mov rsi, qword [rdx]
test rsi, rsi
jne 0x18002b188
xor esi, esi
cmp qword [r11], rdx
jne 0x18002b6df
mov qword [r11], rsi
mov r11, qword [rsp + 0x38]
mov rsi, r8
mov rax, qword [rsp + 0x108]
mov qword [r14], rax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov r14, 0xfffffffffffff000
and r14, qword [rbp + 0x10]
mov qword [rsi], r14
test r14, r14
jne 0x180029e20
jmp 0x18002be17
mov r10, qword [rdx]
test r10, r10
jne 0x18002b1c4
xor r10d, r10d
cmp qword [r11], rdx
jne 0x18002b6f6
mov qword [r11], r10
mov rax, qword [rsp + 0x108]
mov qword [r9], rax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rbx, 0xfffffffffffff000
and rbx, qword [rbp + 0x10]
mov qword [rsi], rbx
test rbx, rbx
jne 0x18002a056
jmp 0x18002be21
mov rax, rsi
sub rax, rdi
mov qword [rsp + 0x28], rax
jb 0x18002b086
mov eax, r12d
shr eax, 0xc
movzx ebx, al
mov rbp, rdi
shr rbp, 0xc
lea rcx, [r15 + 0x18]
mov qword [rsp + 0x38], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, rbx
mov qword [rsp + 0x30], rbx
add rbp, rbx
cmp rbp, 0xfe
ja 0x18002a904
lea r14, [rbp*2]
add r14, rbp
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + r14*8 + 0x30]
test al, 1
je 0x18002abcc
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x68]
jmp 0x180029d56
sub rdi, r13
ja 0x18002b018
mov rbp, r12
jmp 0x18002a0b3
mov ecx, dword [r10 + r11 + 0xbc]
lea edx, [rax + 1]
mov ebp, eax
shl ebp, 5
cmp edx, ecx
jae 0x18002be13
mov r8d, dword [r14 + rdx*4 + 0x10]
inc rdx
add ebp, 0x20
inc eax
test r8d, r8d
je 0x18002a93a
mov rsi, qword [r10 + 0x78]
test rsi, rsi
jne 0x18002ac3d
bsf esi, r8d
or ebp, esi
mov ecx, dword [r10 + r11 + 0xc0]
add rcx, r14
imul rbp, qword [r10 + r11 + 0xa8]
add rbp, rcx
btc r8d, esi
mov dword [r14 + rdx*4 + 0xc], r8d
mov dword [r14 + 8], eax
jmp 0x180029e67
mov ecx, dword [r14 + r12 + 0xbc]
lea edx, [rax + 1]
mov ebp, eax
shl ebp, 5
cmp edx, ecx
jae 0x18002be1e
mov r8d, dword [rbx + rdx*4 + 0x10]
inc rdx
add ebp, 0x20
inc eax
test r8d, r8d
je 0x18002a9a0
mov rdi, qword [r14 + 0x78]
test rdi, rdi
jne 0x18002aca0
bsf edi, r8d
or ebp, edi
mov ecx, dword [r14 + r12 + 0xc0]
add rcx, rbx
imul rbp, qword [r14 + r12 + 0xa8]
add rbp, rcx
btc r8d, edi
mov dword [rbx + rdx*4 + 0xc], r8d
mov dword [rbx + 8], eax
jmp 0x18002a09a
mov dword [rsi + 8], eax
jmp 0x180029f51
mov rcx, qword [rsp + 0x68]
sub rsi, rcx
shr rsi, 0xc
lea rax, [rsi + rsi*2]
lea r9, [rcx + rax*8]
add r9, 0x20
mov rsi, qword [r14 + 8]
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], 0
test rsi, rsi
je 0x18002b16c
lea rcx, [rsp + 0x108]
xor r10d, r10d
mov r8, r10
mov r10, rcx
mov rcx, qword [rsi]
test rcx, rcx
je 0x18002aa66
mov rbx, qword [rcx + 8]
test bl, 1
je 0x18002aa66
mov rax, qword [rcx]
test rax, rax
je 0x18002aa66
test byte [rax + 8], 1
jne 0x18002aa88
mov rcx, rsi
cmp rcx, r9
seta bl
jbe 0x18002aa7e
mov rsi, qword [rcx]
test rsi, rsi
jne 0x18002aa41
jmp 0x18002b63c
mov rsi, qword [rcx + 8]
and rsi, 0xfffffffffffffffe
jmp 0x18002aa74
and rbx, 0xfffffffffffffffe
mov qword [rsi], rbx
mov rax, rsi
and rax, 0xfffffffffffffffe
mov rbx, qword [rcx]
mov rdx, qword [rcx + 8]
and edx, 1
or rdx, rax
mov qword [rcx + 8], rdx
test rbx, rbx
je 0x18002f2d2
and byte [rbx + 8], 0xfe
cmp qword [r10], rsi
jne 0x18002b5bc
mov qword [r10], rcx
jmp 0x18002aa69
cmp rdi, 0xf01
jae 0x18002f3fe
mov eax, r12d
mov ecx, edi
shr ecx, 8
add ecx, 0xfffffffd
lea rdx, [0x180093270]
jmp 0x18002a12c
mov rcx, qword [rsi]
test rcx, rcx
je 0x18002aaf8
test byte [rcx + 8], 1
jne 0x18002a3f7
or rax, 1
mov qword [rsi + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f245
mov r8, rbx
mov rsi, qword [rax]
test rsi, rsi
je 0x18002ab29
mov rbx, qword [rsi + 8]
test bl, 1
jne 0x18002c188
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 rsi, rax
mov r15, qword [rsp + 0x28]
mov rbx, r8
and byte [rsi + 8], 0xfe
lea rdx, [rsp + 0x108]
mov qword [rdx], rsi
jmp 0x18002a3f7
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002ab70
test byte [rcx + 8], 1
jne 0x18002a640
or rax, 1
mov qword [rbx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f245
mov rbx, qword [rax]
test rbx, rbx
je 0x18002ab9f
mov rdi, qword [rbx + 8]
test dil, 1
jne 0x18002c1f2
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 + 0x108]
mov qword [rdx], rbx
jmp 0x18002a640
and rax, 0xfffffffffffff000
cmp rax, qword [rsp + 0x28]
jb 0x18002a904
shl rbp, 0xc
add rbp, qword [rsp + 0x68]
mov rcx, r15
mov rdx, rbp
mov r8, qword [rsp + 0x28]
call fcn.180039d60
test al, al
je 0x18002a904
mov rdx, qword [rsp + 0x68]
lea rax, [rdx + r14*8]
add rax, 0x30
or rsi, 3
mov rcx, qword [rsp + 0x30]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8 + 0x30], rsi
mov qword [rax], 3
mov rax, qword [rsp + 0x28]
add qword [r15 + 0x58], rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x18002a922
mov r11, rdi
mov rdi, rbx
mov r9, qword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsi], rcx
mov r10, r9
shl r10, 0x17
xor r10, r9
mov rbx, rcx
shr rbx, 0x1a
xor rbx, rcx
xor rbx, r10
shr r10, 0x11
xor rbx, r10
mov qword [rsi + 8], rbx
add ecx, ebx
mov ebx, r8d
ror ebx, cl
test ebx, ebx
je 0x18002b158
bsf esi, ebx
mov r15, qword [rsp + 0x28]
mov rbx, rdi
add esi, ecx
and esi, 0x1f
mov r10, qword [rsp + 0x30]
mov rdi, r11
mov r11, qword [rsp + 0x38]
jmp 0x18002a965
mov r9, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rdi], rcx
mov r10, r9
shl r10, 0x17
xor r10, r9
mov rsi, rcx
shr rsi, 0x1a
xor rsi, rcx
xor rsi, r10
shr r10, 0x11
xor rsi, r10
mov qword [rdi + 8], rsi
add ecx, esi
mov edi, r8d
ror edi, cl
test edi, edi
je 0x18002b162
bsf edi, edi
add edi, ecx
and edi, 0x1f
jmp 0x18002a9cb
cmp r13, 2
jb 0x18002c17a
mov rdx, r13
mov ecx, 0x40
mov eax, 0x40
dec rdx
je 0x18002ad0c
bsr rax, rdx
xor rax, 0x3f
sub rcx, rax
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov ebx, 0x10
cmovae rbx, rax
mov rax, rbx
shr rax, 4
or rax, 1
bsr rax, rax
jmp 0x180029dc2
cmp r13, 2
jb 0x18002c181
mov ecx, 0x40
mov eax, 0x40
dec r13
je 0x18002ad59
bsr rax, r13
xor rax, 0x3f
sub rcx, rax
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov r15d, 0x10
cmovae r15, rax
mov rax, r15
shr rax, 4
or rax, 1
bsr r13, rax
jmp 0x18002a007
test eax, eax
jne 0x18002b213
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18002e243
mov rax, qword [rdx]
test rax, rax
jne 0x18002e4d9
mov qword [rsp + 0x108], rax
jmp 0x18002a82c
test eax, eax
jne 0x18002b2b6
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18002e250
mov rax, qword [rdx]
test rax, rax
jne 0x18002e52c
mov qword [rsp + 0x108], rax
jmp 0x18002a875
cmp qword [r14], rsi
mov rbx, qword [rsp + 0x28]
je 0x18002b5b0
test eax, eax
je 0x18002b06b
mov rax, rsi
mov rcx, qword [rsp + 0x68]
sub rax, rcx
shr rax, 0xc
lea rax, [rax + rax*2]
lea r12, [rcx + rax*8]
add r12, 0x20
mov rdx, qword [r14 + 8]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0
xor ecx, ecx
cmp rdx, r12
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x18002bdb1
test rdx, rdx
je 0x18002f2d2
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2d2
mov rax, qword [rcx + 8]
test al, 1
je 0x18002b45c
xor r15d, r15d
mov r8d, 0xffffffff
xor r9d, r9d
mov r11, rdx
mov rdx, rcx
xor eax, eax
cmp rdx, r12
setb al
cmova eax, r8d
cmp eax, 0xffffffff
jne 0x18002af15
test rdx, rdx
je 0x18002db8f
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002db8f
mov rax, qword [rcx + 8]
test al, 1
jne 0x18002ae73
mov rbx, qword [rcx]
test rbx, rbx
je 0x18002aeb9
test byte [rbx + 8], 1
jne 0x18002ae73
or rax, 1
mov qword [rcx + 8], rax
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002f2a4
mov rbx, qword [rcx]
test rbx, rbx
je 0x18002aee8
mov r10, qword [rbx + 8]
test r10b, 1
jne 0x18002d4dd
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov rbx, rcx
cmp qword [r11], rdx
jne 0x18002f483
mov qword [r11], rbx
mov rdx, rbx
jmp 0x18002ae79
test eax, eax
jne 0x18002af35
test rdx, rdx
je 0x18002b046
mov rbx, qword [rdx + 8]
mov r15, r11
cmp rbx, 1
jbe 0x18002b037
jmp 0x18002af42
test rdx, rdx
je 0x18002f2d2
mov rbx, qword [rdx + 8]
mov rcx, rbx
and rcx, 0xfffffffffffffffe
je 0x18002af5d
mov rax, qword [rcx]
test rax, rax
je 0x18002af5d
test byte [rax + 8], 1
jne 0x18002ae73
mov r10, qword [rdx]
test r10, r10
je 0x18002f2d2
mov rcx, qword [r10 + 8]
test cl, 1
je 0x18002d6a6
and rcx, 0xfffffffffffffffe
je 0x18002f470
mov rax, qword [rcx]
test rax, rax
je 0x18002af92
test byte [rax + 8], 1
jne 0x18002de8e
and ebx, 1
or rbx, rcx
mov qword [r10 + 8], rbx
or byte [rcx + 8], 1
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f40d
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rax
mov qword [rcx + 8], rbx
mov r10, qword [rdx + 8]
mov rbx, r10
and rbx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rbx]
and rax, 0xfffffffffffffffe
and r10d, 1
or r10, rax
mov qword [rdx + 8], r10
mov qword [rbx], rdx
mov rax, qword [rcx + 8]
and eax, 1
or rax, rbx
mov qword [rcx + 8], rax
or byte [rdx + 8], 1
cmp qword [r11], rdx
jne 0x18002d990
mov qword [r11], rcx
mov rdx, r11
jmp 0x18002ae73
add r13, r12
cmp rdi, 8
je 0x18002b200
mov rcx, r13
mov dl, 0xe5
mov r8, rdi
call fcn.180091cf0
jmp 0x18002a922
mov r9, qword [rdx]
test r9, r9
jne 0x18002c254
xor r9d, r9d
mov rbx, qword [rsp + 0x28]
cmp qword [r11], rdx
jne 0x18002d654
mov qword [r11], r9
mov rax, qword [rsp + 0x108]
mov qword [r14 + 8], rax
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov rcx, rbx
mov rdx, rsi
mov r8b, 1
call fcn.180027370
dec dword [r14 + 0x2c]
sub qword [rbx + 0x50], rdi
jmp 0x18002a0aa
mov r8, rdi
sub r8, r13
add r13, r12
mov rcx, r13
mov dl, 0xe5
call fcn.180091cf0
lea r14, [r15 + 0x18]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, r12d
shr eax, 0xc
movzx eax, al
mov rcx, rsi
shr rcx, 0xc
mov rdx, rsi
or rdx, 3
lea rbp, [rax + rax*2]
mov qword [rbx + rbp*8 + 0x30], rdx
sub rdi, rsi
or rdi, 3
add rcx, rax
lea rax, [rcx + rcx*2]
mov qword [rbx + rax*8 + 0x30], rdi
add rsi, r12
mov rcx, r15
mov rdx, rsi
mov r8b, 1
call fcn.180027370
mov rax, qword [rsp + 0x28]
add qword [r15 + 0x58], rax
mov rcx, r14
jmp 0x18002ac32
cmp r13, 2
jb 0x18002f47c
mov rdx, r13
mov ecx, 0x40
mov eax, 0x40
dec rdx
je 0x18002b11f
bsr rax, rdx
xor rax, 0x3f
sub rcx, rax
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov esi, 0x10
cmovae rsi, rax
jmp 0x180029d1e
mov qword [r9], 0
mov qword [r9 + 8], 1
lea rcx, [rsp + 0x108]
jmp 0x18002b42f
mov esi, 0x20
jmp 0x18002ac81
mov edi, 0x20
jmp 0x18002acde
mov qword [r9], 0
mov qword [r9 + 8], 1
lea rcx, [rsp + 0x108]
jmp 0x18002b654
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
or byte [rdx + 8], 1
and qword [rsi + 8], 1
jmp 0x18002a818
mov rax, qword [r10 + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r10 + 8]
and ecx, 1
or rcx, rax
mov qword [r10 + 8], rcx
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [r10 + 8], rcx
or byte [rdx + 8], 1
and qword [r10 + 8], 1
jmp 0x18002a869
movabs rax, 0xe5e5e5e5e5e5e5e5
mov qword [r13], rax
jmp 0x18002a922
mov rax, qword [rdx + 8]
xor r8d, r8d
mov rsi, rax
and rsi, 0xfffffffffffffffe
je 0x18002b235
mov rcx, qword [rsi]
test rcx, rcx
je 0x18002b235
test byte [rcx + 8], 1
jne 0x18002a3fa
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2ca
mov qword [rsp + 0x58], r8
test byte [rcx + 8], 1
jne 0x18002d66b
mov r8, rbx
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002b270
mov rbx, qword [rax + 8]
test bl, 1
jne 0x18002da55
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rsi, rax
and rsi, 0xfffffffffffffffe
je 0x18002f24d
mov rcx, qword [rsi]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rsi], rdx
mov r15, qword [rsp + 0x28]
mov rbx, r8
lea rdx, [rsp + 0x108]
mov qword [rdx], rsi
mov r8, qword [rsp + 0x58]
jmp 0x18002a3fa
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x18002b2dc
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002b2dc
test byte [rcx + 8], 1
jne 0x18002a647
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2ca
test byte [rcx + 8], 1
jne 0x18002d688
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002b30f
mov rbx, qword [rax + 8]
test bl, 1
jne 0x18002dacb
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x18002f24d
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 + 0x108]
mov qword [rdx], rbx
jmp 0x18002a647
and rcx, 0xfffffffffffffffe
mov rax, qword [r10 + 8]
and eax, 1
lea rdx, [rax + rcx]
mov qword [r10 + 8], rdx
test rcx, rcx
je 0x18002f24d
mov rdx, qword [rcx]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [r10 + 8], rdx
mov qword [rcx], r10
mov rax, qword [r10 + 8]
and eax, 1
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [rcx + 8], rdx
or byte [r10 + 8], 1
test r8, r8
je 0x18002f414
cmp qword [r8], r10
jne 0x18002bde7
mov qword [r8], rcx
cmp r9, rcx
setb al
jb 0x18002bf1b
mov rbx, qword [rcx + 8]
and rbx, 0xfffffffffffffffe
mov r10, rcx
test rbx, rbx
jne 0x18002a297
mov r10, r8
mov qword [r9], 0
mov qword [r9 + 8], 1
test al, al
jne 0x18002b42f
cmp rcx, r9
mov rbx, qword [rsp + 0x28]
jae 0x18002b434
mov rax, qword [rcx + 8]
and eax, 1
mov rdx, rax
or rdx, r9
mov qword [rcx + 8], rdx
mov rdx, qword [r9]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [rcx + 8], rdx
mov qword [r9], rcx
mov rax, qword [rcx + 8]
and eax, 1
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [r9 + 8], rdx
or byte [rcx + 8], 1
cmp qword [r10], rcx
jne 0x18002b58d
mov qword [r10], r9
jmp 0x18002b437
mov rbx, qword [rsp + 0x28]
mov qword [rcx], r9
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x18002f2d2
and byte [rax + 8], 0xfe
mov qword [r14 + 8], rax
mov qword [r14], rsi
sub qword [rbx + 0x50], rdi
jmp 0x18002a0aa
mov rbx, qword [rcx]
test rbx, rbx
je 0x18002b46e
test byte [rbx + 8], 1
jne 0x18002ae67
or rax, 1
mov qword [rcx + 8], rax
mov rbx, qword [rdx + 8]
mov rax, rbx
and rax, 0xfffffffffffffffe
je 0x18002f2eb
mov rcx, qword [rax]
test rcx, rcx
je 0x18002b49d
mov r8, qword [rcx + 8]
test r8b, 1
jne 0x18002e431
or rbx, 1
mov qword [rdx + 8], rbx
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 + 0x108]
mov qword [rdx], rcx
jmp 0x18002ae67
and rbx, 0xfffffffffffffffe
mov qword [rcx], rbx
mov rax, qword [rsi + 8]
and eax, 1
or rax, rcx
mov qword [rsi + 8], rax
and rsi, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rsi]
mov qword [rdx + 8], rcx
test rsi, rsi
je 0x18002f24d
mov rcx, qword [rsi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rsi], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x18002b523
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002c104
mov qword [rdx + 8], rax
jmp 0x18002a496
and rax, 0xfffffffffffffffe
mov qword [rbx], rax
mov rax, qword [rdi + 8]
and eax, 1
or rax, rbx
mov qword [rdi + 8], rax
and rdi, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
lea rax, [rcx + rdi]
mov qword [rdx + 8], rax
test rdi, rdi
je 0x18002f24d
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rdi], rdx
mov rcx, qword [rdx + 8]
and rcx, 0xfffffffffffffffe
je 0x18002b584
mov rax, qword [rcx + 8]
test al, 1
jne 0x18002c143
mov qword [rdx + 8], rcx
jmp 0x18002a6dd
mov rax, qword [r10 + 8]
mov rdx, rax
and rdx, 0xfffffffffffffffe
cmp rcx, rdx
jne 0x18002b437
and eax, 1
or rax, r9
mov qword [r10 + 8], rax
jmp 0x18002b437
mov qword [r14], 0
jmp 0x18002b06b
and rcx, 0xfffffffffffffffe
mov rbx, qword [r10 + 8]
and ebx, 1
lea rax, [rbx + rcx]
mov qword [r10 + 8], rax
test rcx, rcx
je 0x18002f24d
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
or rax, rbx
mov qword [r10 + 8], rax
mov qword [rcx], r10
mov rax, qword [r10 + 8]
and eax, 1
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [rcx + 8], rdx
or byte [r10 + 8], 1
test r8, r8
je 0x18002f414
cmp qword [r8], r10
jne 0x18002be3d
mov qword [r8], rcx
cmp r9, rcx
setb bl
jb 0x18002bff7
mov rsi, qword [rcx + 8]
and rsi, 0xfffffffffffffffe
mov r10, rcx
test rsi, rsi
jne 0x18002aa47
mov r10, r8
mov qword [r9], 0
mov qword [r9 + 8], 1
test bl, bl
jne 0x18002b654
cmp rcx, r9
jb 0x18002b67a
mov qword [rcx], r9
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x18002f2d2
and byte [rax + 8], 0xfe
mov qword [r14 + 8], rax
mov rbx, qword [rsp + 0x28]
jmp 0x180029f91
mov rax, qword [rcx + 8]
and eax, 1
mov rdx, rax
or rdx, r9
mov qword [rcx + 8], rdx
mov rdx, qword [r9]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [rcx + 8], rdx
mov qword [r9], rcx
mov rax, qword [rcx + 8]
and eax, 1
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
or rdx, rax
mov qword [r9 + 8], rdx
or byte [rcx + 8], 1
cmp qword [r10], rcx
jne 0x18002b6c0
mov qword [r10], r9
jmp 0x18002b657
mov rbx, qword [r10 + 8]
mov rax, rbx
and rax, 0xfffffffffffffffe
cmp rcx, rax
jne 0x18002b657
and ebx, 1
or rbx, r9
mov qword [r10 + 8], rbx
jmp 0x18002b657
and rsi, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, rsi
mov qword [r11 + 8], rax
jmp 0x18002a824
and r10, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, r10
mov qword [r11 + 8], rax
jmp 0x18002a875
or rsi, 1
mov qword [r10 + 8], rsi
mov rax, qword [r10]
test rax, rax
je 0x18002b72a
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002bfff
mov rax, qword [rdx + 8]
mov rsi, rax
and rsi, 0xfffffffffffffffe
mov r10, qword [rsp + 0x30]
je 0x18002f24d
mov rcx, qword [rsi]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rsi], rdx
jmp 0x18002a5bd
or rbx, 1
mov qword [r9 + 8], rbx
mov rcx, qword [r9]
test rcx, rcx
je 0x18002b775
mov rax, qword [rcx + 8]
test al, 1
jne 0x18002c093
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
mov r9, qword [rsp + 0x68]
je 0x18002f24d
mov rax, qword [rbx]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
jmp 0x18002a7f3
mov r14, qword [0x1800a66c8]
cmp r13, 0xf00
jbe 0x180029fde
cmp r13, 0xfc000
ja 0x18002d4c4
mov rcx, r14
mov rdx, r13
xor r8d, r8d
call fcn.180037d70
jmp 0x18002be0b
mov rax, qword [r10 + r11 + 0xb0]
mov qword [rsp + 0xa8], rax
lea rax, [r10 + 0x90]
mov qword [rsp + 0x88], rax
mov rcx, qword [r10 + 0x90]
test rcx, rcx
je 0x18002d7a5
mov r14, rsi
mov r9, rdi
mov rdx, qword [rsp + 0xa8]
and rdx, 0xfffffffffffff000
xor eax, eax
mov r8, 0xfffffffffffff000
mov esi, 0xffffffff
mov rdi, rbx
mov rbx, qword [rcx + 0x10]
and rbx, r8
xor ebp, ebp
cmp rdx, rbx
seta bpl
cmovb ebp, esi
lea ebx, [rbp + 1]
cmp ebx, 2
jae 0x18002b85b
mov rax, rcx
mov rcx, qword [rcx]
mov rbx, rdi
test rcx, rcx
jne 0x18002b82a
jmp 0x18002b927
cmp ebp, 1
jne 0x18002f4a0
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002b84e
mov r10, qword [r14 + r12 + 0xb0]
lea r9, [r14 + 0x90]
mov rcx, qword [r14 + 0x90]
test rcx, rcx
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], r9
je 0x18002d80e
mov rdx, r10
and rdx, 0xfffffffffffff000
xor eax, eax
mov r8, 0xfffffffffffff000
mov ebx, 0xffffffff
mov rbp, qword [rcx + 0x10]
and rbp, r8
xor edi, edi
cmp rdx, rbp
seta dil
cmovb edi, ebx
lea ebp, [rdi + 1]
cmp ebp, 2
jae 0x18002b8da
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18002b8af
jmp 0x18002bb9d
cmp edi, 1
jne 0x18002f4b1
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002b8d0
mov rax, rsi
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, r11
jmp 0x18002a400
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, r11
jmp 0x18002a650
test rax, rax
mov rdi, r9
mov rsi, r14
je 0x18002d7a5
mov rcx, rax
and rcx, 0xfffffffffff00000
and eax, 0xfffff
add rax, 0xffffffffffffffe0
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r14, rdx
and r14, 0xfffffffffffffff0
shl r14, 8
add r14, rcx
mov r15, qword [rsp + 0x28]
mov r8, r14
and r8, 0xfffffffffff00000
mov rax, qword [r8 + 0x18]
mov qword [rsp + 0xe0], rax
mov eax, r14d
shr eax, 0xc
movzx ecx, al
lea rax, [rcx*8]
lea rax, [rax + rax*2]
or rax, r8
mov qword [rsp + 0xc0], rax
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa8]
mov rdx, rax
shr rdx, 0xc
cmp rax, 0x1000
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x58], rdx
jb 0x18002c327
cmp rdx, 2
mov eax, 1
cmovae rax, rdx
mov qword [rsp + 0x60], rax
lea rax, [rcx + rcx*2]
lea rax, [r8 + rax*8]
add rax, 0x30
mov r9b, 1
xor edx, edx
mov qword [rsp + 0x70], rax
lea rbp, [rdx + rcx]
lea rax, [rbp*2]
add rax, rbp
test byte [r8 + rax*8 + 0x30], 0x60
jne 0x18002ba3d
inc rdx
cmp rdx, qword [rsp + 0x58]
setb r9b
mov rax, qword [rsp + 0x70]
add rax, 0x18
cmp rdx, qword [rsp + 0x60]
jne 0x18002ba00
jmp 0x18002c32a
mov qword [rsp + 0xb8], rbp
cmp rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rdx
jae 0x18002df47
xor ebp, ebp
mov rcx, qword [rax]
test cl, 0x60
je 0x18002ba83
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [rdx + rbp]
inc rcx
inc rbp
add rax, 0x18
cmp rcx, qword [rsp + 0x58]
jb 0x18002ba5f
mov rcx, rbp
shl rcx, 0xc
mov dword [rsp + 0x90], r9d
mov qword [rsp + 0x98], rbp
je 0x18002d981
mov rsi, qword [rsp + 0xb8]
shl rsi, 0xc
add rsi, r8
mov eax, esi
and eax, 0xff000
mov edx, 0x100000
sub rdx, rax
cmp rdx, rcx
cmovae rdx, rcx
mov rbp, rcx
mov rcx, rsi
mov qword [rsp + 0xb8], rdx
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18002f501
mov rax, qword [rsp + 0xb8]
add rsi, rax
sub rbp, rax
mov eax, 0x100000
cmp rbp, rax
mov edx, 0x100000
cmovb rdx, rbp
test rbp, rbp
jne 0x18002bac8
mov al, 1
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x98]
test rbp, rbp
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x70]
je 0x18002bb68
test al, al
mov ecx, 0x20
mov edx, 4
cmovne rcx, rdx
mov rdx, qword [rsp + 0x98]
lea rdx, [rdx*8]
lea rdx, [rdx + rdx*2]
xor esi, esi
or qword [r9 + rsi], rcx
add rsi, 0x18
cmp rdx, rsi
jne 0x18002bb5b
test al, al
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsp + 0x90]
je 0x18002cacc
mov rax, qword [rsp + 0x98]
add qword [r10 + 0x48], rax
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xd8]
jmp 0x18002ba1c
test rax, rax
je 0x18002d80e
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 r10, rbx
and r10, 0xfffffffffff00000
mov rax, qword [r10 + 0x18]
mov qword [rsp + 0xa8], rax
mov eax, ebx
shr eax, 0xc
movzx r11d, al
lea rax, [r11*8]
lea rax, [rax + rax*2]
or rax, r10
mov qword [rsp + 0x70], rax
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
mov rdx, rax
shr rdx, 0xc
cmp rax, 0x1000
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x68], rdx
jb 0x18002cc95
cmp rdx, 2
mov r8d, 1
cmovae r8, rdx
lea rax, [r11 + r11*2]
lea rdi, [r10 + rax*8]
add rdi, 0x30
mov cl, 1
xor ebp, ebp
lea r9, [r11 + rbp]
lea rax, [r9 + r9*2]
test byte [r10 + rax*8 + 0x30], 0x60
jne 0x18002bc7c
inc rbp
cmp rbp, rdx
setb cl
add rdi, 0x18
cmp rbp, r8
jne 0x18002bc55
jmp 0x18002cc97
mov dword [rsp + 0x78], ecx
cmp rbp, rdx
mov qword [rsp + 0x28], r8
jae 0x18002df56
mov qword [rsp + 0x48], rdi
mov rax, rdi
xor edi, edi
mov rcx, qword [rax]
test cl, 0x60
je 0x18002bcba
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
lea rcx, [rdi + rbp]
inc rcx
inc rdi
add rax, 0x18
cmp rcx, rdx
jb 0x18002bc98
mov rcx, rdi
shl rcx, 0xc
je 0x18002d988
mov qword [rsp + 0x80], rdi
mov rdi, r9
shl rdi, 0xc
add rdi, r10
mov eax, edi
and eax, 0xff000
mov edx, 0x100000
sub rdx, rax
cmp rdx, rcx
cmovae rdx, rcx
mov qword [rsp + 0x60], rcx
mov rcx, rdi
mov qword [rsp + 0x88], rdx
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18002f5dc
mov rax, qword [rsp + 0x88]
add rdi, rax
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov eax, 0x100000
cmp rcx, rax
mov edx, 0x100000
cmovb rdx, rcx
test rcx, rcx
jne 0x18002bcef
mov r8b, 1
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
mov rdx, rdi
test rdi, rdi
mov rdi, qword [rsp + 0x48]
je 0x18002bd91
test r8b, r8b
mov ecx, 0x20
mov eax, 4
cmovne rcx, rax
lea rax, [rdx*8]
lea r9, [rax + rax*2]
xor eax, eax
or qword [rdi + rax], rcx
add rax, 0x18
cmp r9, rax
jne 0x18002bd84
test r8b, r8b
mov eax, dword [rsp + 0x78]
je 0x18002d313
add qword [r14 + 0x48], rdx
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x28]
jmp 0x18002bc65
test eax, eax
jne 0x18002c290
test rdx, rdx
je 0x18002bdd8
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18002ec2e
mov rax, qword [rdx]
test rax, rax
jne 0x18002ec3b
xor eax, eax
mov qword [rsp + 0x108], rax
jmp 0x18002b057
mov rax, qword [r8 + 8]
and eax, 1
or rax, rcx
mov qword [r8 + 8], rax
jmp 0x18002b3a5
mov rcx, r15
mov rdx, r12
mov r8, r13
mov r9, rdi
call fcn.180003d90
mov rbp, rax
jmp 0x18002a0b3
dec dword [r14 + 0xc]
mov rcx, qword [rsp + 0x50]
jmp 0x18002be24
dec dword [rbx + 0xc]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [0x1800a2f10]
mov dword [rax], 0xc
xor ebp, ebp
jmp 0x18002a0bc
mov rax, qword [r8 + 8]
and eax, 1
or rax, rcx
mov qword [r8 + 8], rax
jmp 0x18002b619
test r8, r8
je 0x18002f414
cmp qword [r8], rbp
mov rsi, qword [rsp + 0x78]
jne 0x18002d620
mov qword [r8], rdx
test rdx, rdx
je 0x18002f24d
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 0x18002f4b9
mov qword [r11], 0
mov r11, qword [rsp + 0x38]
jmp 0x18002a82c
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x18002f414
cmp qword [rbx], rbp
jne 0x18002d63a
mov qword [rbx], rdx
test rdx, rdx
je 0x18002f24d
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 0x18002f4c3
mov qword [r11], 0
jmp 0x18002a875
mov rbx, qword [rcx]
jmp 0x18002b3b9
mov r9, r8
mov r8, r14
mov r14, rbx
and ecx, 1
mov rbx, qword [rsi + 8]
and rbx, 0xfffffffffffffffe
or rbx, rcx
mov qword [rsi + 8], rbx
and byte [rax + 8], 0xfe
mov rax, qword [r10 + 8]
mov rsi, rax
and rsi, 0xfffffffffffffffe
je 0x18002f24d
mov rcx, qword [rsi]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [r10 + 8], rax
mov qword [rsi], r10
mov qword [rdx], rsi
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov r10, qword [rdx + 8]
mov rcx, r10
and rcx, 0xfffffffffffffffe
mov r15, qword [rsp + 0x28]
mov rbx, r14
mov r14, r8
mov r8, r9
mov r9d, 0xffffffff
jne 0x18002a591
jmp 0x18002f24d
and edi, 1
mov rax, qword [rbx + 8]
and rax, 0xfffffffffffffffe
or rax, rdi
mov qword [rbx + 8], rax
and byte [rcx + 8], 0xfe
mov rcx, qword [r9 + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rbx]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
mov qword [rbx], r9
mov qword [rdx], rbx
jmp 0x18002a797
mov rsi, qword [rcx]
jmp 0x18002b62d
and rcx, 0xfffffffffffffffe
mov qword [rax + 8], rcx
mov rsi, qword [rdx]
test rsi, rsi
mov r10, qword [rsp + 0x30]
je 0x18002f40d
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f24d
mov r9, r8
mov r8, r14
mov r14, rdi
mov rdi, rbx
mov rbx, qword [rax]
and rbx, 0xfffffffffffffffe
and ecx, 1
or rcx, rbx
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov r15, qword [rsp + 0x28]
mov rbx, rdi
mov rdi, r14
mov r14, r8
mov r8, r9
mov r9d, 0xffffffff
jmp 0x18002a5bd
and rax, 0xfffffffffffffffe
mov qword [rcx + 8], rax
mov rbx, qword [rdx]
test rbx, rbx
mov r9, qword [rsp + 0x68]
je 0x18002f40d
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 rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x18002f24d
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 [rbx + 8]
and eax, 1
or rax, rcx
mov qword [rbx + 8], rax
jmp 0x18002a7f3
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
mov r15, qword [rsp + 0x28]
je 0x18002f24d
mov rbx, r14
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rsi], rax
jmp 0x18002a49e
and rax, 0xfffffffffffffffe
mov qword [rcx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
or rax, 1
mov qword [rdx + 8], rax
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rdi], rcx
jmp 0x18002a6dd
xor ecx, ecx
jmp 0x18002ad0f
xor ecx, ecx
jmp 0x18002ad5c
and rbx, 0xfffffffffffffffe
mov qword [rax], rbx
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
and rsi, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rsi]
mov qword [rdx + 8], rcx
test rsi, rsi
je 0x18002f24d
mov rcx, qword [rsi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rsi], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
mov r15, qword [rsp + 0x28]
mov rbx, r8
je 0x18002c1e9
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002d9e7
mov qword [rdx + 8], rax
jmp 0x18002ab4a
and rdi, 0xfffffffffffffffe
mov qword [rax], rdi
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 0x18002f24d
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 0x18002c24b
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002da1e
mov qword [rdx + 8], rax
jmp 0x18002abb8
mov rax, qword [r9 + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r9 + 8]
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
or byte [rdx + 8], 1
and qword [r9 + 8], 1
jmp 0x18002b046
test rdx, rdx
je 0x18002f2d2
mov rax, qword [rdx + 8]
xor r15d, r15d
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002c2bb
mov rbx, qword [rcx]
test rbx, rbx
je 0x18002c2bb
test byte [rbx + 8], 1
jne 0x18002ae6a
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2ca
test byte [rcx + 8], 1
jne 0x18002e7a2
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002c2ee
mov rbx, qword [rax + 8]
test bl, 1
jne 0x18002eb99
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
and eax, 1
or rax, rbx
mov qword [rdx + 8], rax
mov qword [rcx], rdx
lea rdx, [rsp + 0x108]
mov qword [rdx], rcx
jmp 0x18002ae6a
xor r9d, r9d
mov dword [rsp + 0x90], r9d
mov rax, qword [rsp + 0xc0]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x70], rcx
add rax, 0x30
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0
mov r15, rax
mov rbp, qword [rax]
mov rcx, 0xfffffffffffff000
mov rax, rbp
and rax, rcx
and rcx, qword [rdx + 0x10]
xor ebx, ebx
cmp rax, rcx
seta bl
mov ecx, 0xffffffff
cmovae ecx, ebx
test ecx, ecx
je 0x18002d53f
cmp ecx, 0xffffffff
jne 0x18002cb50
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f2d2
mov rax, qword [rbp + 8]
test al, 1
je 0x18002cbeb
xor eax, eax
mov qword [rsp + 0x60], rax
mov r9, 0xfffffffffffff000
mov r8, rsi
mov rax, rdx
mov rdx, rbp
mov rbx, qword [r15]
mov rbp, rbx
and rbp, r9
mov rsi, qword [rdx + 0x10]
and rsi, r9
xor ecx, ecx
cmp rbp, rsi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
mov rsi, r8
je 0x18002c423
cmp ecx, 0xffffffff
jne 0x18002c497
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002de0b
mov rcx, qword [rbp + 8]
test cl, 1
jne 0x18002c3c7
mov rbx, qword [rbp]
test rbx, rbx
je 0x18002c43f
test byte [rbx + 8], 1
jne 0x18002c3c7
jmp 0x18002c43f
test bl, 0x10
mov ebp, 0
cmove rbp, qword [rsp + 0x70]
xor ecx, ecx
cmp rbp, rdx
seta bl
jb 0x18002c3fd
mov cl, bl
jmp 0x18002c3f4
or rcx, 1
mov qword [rbp + 8], rcx
mov rsi, qword [rdx + 8]
mov rcx, rsi
and rcx, 0xfffffffffffffffe
je 0x18002f2b6
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002c46d
mov rbx, qword [rbp + 8]
test bl, 1
jne 0x18002dbf4
or rsi, 1
mov qword [rdx + 8], rsi
mov rbp, qword [rcx]
or rbp, 1
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rbp, rcx
cmp qword [rax], rdx
jne 0x18002f4cd
mov qword [rax], rbp
jmp 0x18002c3ca
test ecx, ecx
je 0x18002c583
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x18002c4bf
mov rbx, qword [rbp]
test rbx, rbx
je 0x18002c4bf
test byte [rbx + 8], 1
jne 0x18002c3c4
mov r10, qword [rdx]
test r10, r10
je 0x18002f2d2
mov rbp, qword [r10 + 8]
test bpl, 1
je 0x18002d860
and rbp, 0xfffffffffffffffe
je 0x18002f2f8
mov rsi, qword [rbp]
test rsi, rsi
je 0x18002c4f6
test byte [rsi + 8], 1
jne 0x18002e3b1
and ecx, 1
or rcx, rbp
mov qword [r10 + 8], rcx
or byte [rbp + 8], 1
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
mov rsi, qword [rdx + 8]
mov rcx, rsi
and rcx, 0xfffffffffffffffe
mov r10, qword [rsp + 0x30]
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
and esi, 1
or rsi, rbx
mov qword [rdx + 8], rsi
mov qword [rcx], rdx
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
or byte [rdx + 8], 1
cmp qword [rax], rdx
mov rsi, r8
jne 0x18002d9ad
mov qword [rax], rbp
mov rdx, rax
jmp 0x18002c3c4
mov rcx, qword [rdx + 8]
mov rbx, rax
mov qword [rsp + 0x60], rax
cmp rcx, 1
ja 0x18002c4a3
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002c5d8
mov rbp, qword [rcx + 8]
and rbp, 0xfffffffffffffffe
mov qword [rdx], rbp
mov rbp, rdx
and rbp, 0xfffffffffffffffe
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rbp
mov qword [rcx + 8], rbx
mov rbx, qword [rdx + 8]
and ebx, 1
or rbx, rbp
mov qword [rcx + 8], rbx
or byte [rdx + 8], 1
and qword [rcx + 8], 1
cmp qword [rax], rdx
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x88]
jne 0x18002d6ed
mov qword [rax], rcx
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xa0]
shr rdx, 0xc
mov rax, qword [rsp + 0x108]
mov qword [r9], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0x70]
movups xmmword [rax], xmm0
cmp rdx, rbp
jne 0x18002c841
cmp qword [rsp + 0xa8], 0x1000
jb 0x18002c68c
mov rax, r14
or rax, 1
cmp rbp, 2
mov rdx, rcx
mov ecx, 1
cmovae rcx, rbp
shl rcx, 3
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rdx*2]
lea rdx, [r8 + rdx*8]
add rdx, 0x30
xor ebp, ebp
test byte [rdx + rbp], 8
je 0x18002c67f
dec qword [r8 + 0x18]
dec qword [r10 + 0x80]
mov qword [rdx + rbp], rax
add rbp, 0x18
cmp rcx, rbp
jne 0x18002c66e
cmp qword [r8 + 0x18], 0
jne 0x18002cac5
cmp qword [rsp + 0xe0], 0
mov eax, dword [rsp + 0x90]
je 0x18002cacc
mov rdx, qword [r10 + 0x60]
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x118], 0
xor ecx, ecx
cmp rdx, r8
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x18002dcdc
cmp eax, 0xffffffff
je 0x18002df5d
test rdx, rdx
je 0x18002f2d2
mov rbp, rdx
mov rcx, qword [rdx + 0x10]
xor eax, eax
mov qword [rsp + 0x58], rax
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002e568
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18002e568
test byte [rdx + 0x10], 1
je 0x18002e568
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov rdx, rbp
xor r9d, r9d
mov rbp, rdx
mov rdx, rax
xor eax, eax
cmp rdx, r8
setb al
mov ecx, 0xffffffff
cmova eax, ecx
test eax, eax
je 0x18002c7a0
cmp eax, 0xffffffff
jne 0x18002c7c1
test rdx, rdx
je 0x18002eda1
mov rax, qword [rdx + 8]
test rax, rax
je 0x18002eda1
test byte [rax + 0x10], 1
je 0x18002e6ae
mov rbp, rdx
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
xor r9d, r9d
jmp 0x18002c743
test rdx, rdx
je 0x18002d760
mov rax, qword [rdx + 0x10]
mov rcx, rbp
mov qword [rsp + 0x58], rbp
cmp rax, 1
jbe 0x18002d71b
jmp 0x18002c7ca
test rdx, rdx
je 0x18002c802
mov rax, qword [rdx + 0x10]
and rax, 0xfffffffffffffffe
je 0x18002c802
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002c802
test byte [rcx + 0x10], 1
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9d, 0
jne 0x18002c740
lea rcx, [rsp + 0xf8]
mov rbx, rdx
call fcn.1800294d0
mov rax, qword [rsp + 0xf8]
cmp qword [rbp + 8], rbx
je 0x18002ed6f
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rbp + 0x10], rdx
mov rdx, rbp
jmp 0x18002df84
mov rax, rcx
add rcx, rdx
sub rdx, rbp
shl rdx, 0xc
add rax, rbp
lea r10, [rax + rax*2]
lea r11, [r8 + r10*8 + 0x20]
mov rax, rdx
mov edx, 0xfff
mov rbp, qword [r11 + 0x10]
and rbp, rdx
or rbp, rax
mov qword [r11 + 0x10], rbp
lea rcx, [rcx + rcx*2]
and rdx, qword [r8 + rcx*8 + 0x18]
or rdx, rax
mov qword [r8 + rcx*8 + 0x18], rdx
mov rcx, qword [r9]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], 0
test rcx, rcx
je 0x18002ddd3
lea rax, [r8 + r10*8]
add rax, 0x30
mov qword [rsp + 0x70], rax
lea rbp, [rsp + 0x108]
xor edx, edx
mov r9, rdx
mov rdx, rbp
mov r10, rsi
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002c8e6
mov rsi, qword [rbp + 8]
test sil, 1
je 0x18002c8e6
mov rbx, qword [rbp]
test rbx, rbx
je 0x18002c8e6
test byte [rbx + 8], 1
jne 0x18002c978
mov rbp, rcx
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
mov rax, rbx
mov rcx, 0xfffffffffffff000
and rax, rcx
mov rsi, qword [rbp + 0x10]
and rsi, rcx
xor ecx, ecx
cmp rax, rsi
seta cl
mov eax, 0xffffffff
cmovb ecx, eax
cmp ecx, 0xffffffff
jne 0x18002c93b
mov rcx, qword [rbp]
mov r8d, 0xffffffff
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
mov rsi, r10
test rcx, rcx
jne 0x18002c8b8
jmp 0x18002ca67
test ecx, ecx
jne 0x18002c970
test bl, 0x10
mov eax, 0
cmove rax, r11
xor r8d, r8d
cmp rax, rbp
seta al
jb 0x18002c91a
mov r8b, al
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
mov rsi, r10
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002c931
mov r8d, 1
jmp 0x18002c959
and rsi, 0xfffffffffffffffe
mov qword [rcx], rsi
mov rbx, rcx
and rbx, 0xfffffffffffffffe
mov rsi, qword [rbp]
mov rax, qword [rbp + 8]
and eax, 1
or rax, rbx
mov qword [rbp + 8], rax
test rsi, rsi
je 0x18002f2d2
and byte [rsi + 8], 0xfe
cmp qword [rdx], rcx
jne 0x18002c9b2
mov qword [rdx], rbp
jmp 0x18002c8e9
and rbp, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
lea rax, [rcx + rbp]
mov qword [rdx + 8], rax
test rbp, rbp
je 0x18002f24d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbp], rdx
mov rax, qword [rdx + 8]
and eax, 1
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rbp + 8], rcx
or byte [rdx + 8], 1
test r9, r9
je 0x18002f414
cmp qword [r9], rdx
je 0x18002e36c
jmp 0x18002e37c
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov rax, rcx
mov rdx, 0xfffffffffffff000
and rax, rdx
mov rbx, qword [rbp + 0x10]
and rbx, rdx
xor edx, edx
cmp rax, rbx
seta dl
mov eax, 0xffffffff
cmovb edx, eax
test edx, edx
jne 0x18002e1a0
jmp 0x18002e5cd
mov rdx, rbp
test rcx, rcx
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
mov rsi, r10
jne 0x18002c8be
mov rdx, r9
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp r8d, 1
je 0x18002d581
mov r10, qword [rsp + 0x30]
mov qword [rbp], r11
mov r8, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x108]
test rax, rax
mov rbp, qword [rsp + 0x58]
je 0x18002f2d2
and byte [rax + 8], 0xfe
mov qword [rcx], rax
mov r11, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
jmp 0x18002c633
mov eax, dword [rsp + 0x90]
test al, 1
jne 0x18002d799
test r14, r14
je 0x18002d799
cmp qword [rsi], r14
je 0x18002a849
mov r8, rsi
mov qword [r14], rsi
xor eax, eax
cmp dword [r10 + r11 + 0xbc], 1
jne 0x18002cc6a
mov rsi, rbx
xor edx, edx
mov ebp, dword [r10 + r11 + 0xb8]
and ebp, 0x1f
mov ecx, ebp
neg cl
mov ebx, 0xffffffff
shr ebx, cl
cmp ebp, 1
sbb eax, eax
or eax, ebx
mov dword [r14 + rdx*4 + 0x10], eax
mov dword [r14 + 8], 0
mov eax, dword [r10 + r11 + 0xb8]
mov dword [r14 + 0xc], eax
inc dword [r10 + r11 + 0xc4]
mov qword [r8], r14
mov r15, qword [rsp + 0x28]
mov rbx, rsi
jmp 0x180029e20
test ecx, ecx
je 0x18002d8fe
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002cb7f
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002cb7f
test byte [rcx + 8], 1
jne 0x18002c3bd
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2ca
test byte [rcx + 8], 1
jne 0x18002e772
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002cbb3
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x18002e952
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rcx, qword [rbp]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbp], rdx
lea rdx, [rsp + 0x108]
mov qword [rdx], rbp
jmp 0x18002cc5b
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002cbfe
test byte [rcx + 8], 1
jne 0x18002c3b6
or rax, 1
mov qword [rbp + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f245
mov rbp, qword [rax]
test rbp, rbp
je 0x18002cc2c
mov rbx, qword [rbp + 8]
test bl, 1
jne 0x18002ea2a
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
and byte [rbp + 8], 0xfe
lea rdx, [rsp + 0x108]
mov qword [rdx], rbp
xor eax, eax
mov qword [rsp + 0x60], rax
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x18002c3bd
mov rsi, rbx
lea rcx, [r10 + r11]
add rcx, 0xbc
xor edx, edx
mov dword [r14 + rdx*4 + 0x10], 0xffffffff
inc rdx
mov ebp, dword [rcx]
dec ebp
cmp rdx, rbp
jae 0x18002cb02
jmp 0x18002cc7a
xor ecx, ecx
mov dword [rsp + 0x78], ecx
mov r10, qword [rsp + 0x70]
lea rax, [r10 + 0x20]
mov qword [rsp + 0x28], rax
add r10, 0x30
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], 0
mov rbp, qword [r10]
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 0x18002d560
cmp ecx, 0xffffffff
jne 0x18002d386
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f2d2
mov rax, qword [rbp + 8]
test al, 1
je 0x18002d42e
xor eax, eax
mov qword [rsp + 0x60], rax
mov r9, 0xfffffffffffff000
mov r8d, 0xffffffff
mov r11, rdx
mov rdx, rbp
mov rbp, qword [r10]
mov rax, rbp
and rax, r9
mov rdi, qword [rdx + 0x10]
and rdi, r9
xor ecx, ecx
cmp rax, rdi
seta cl
cmovb ecx, r8d
test ecx, ecx
je 0x18002cd83
cmp ecx, 0xffffffff
jne 0x18002cda0
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002dedb
mov rcx, qword [rbp + 8]
test cl, 1
jne 0x18002cd2b
mov rax, qword [rbp]
test rax, rax
je 0x18002cea6
test byte [rax + 8], 1
jne 0x18002cd2b
jmp 0x18002cea6
test bpl, 0x10
mov eax, 0
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x18002cd56
mov cl, al
jmp 0x18002cd51
test ecx, ecx
je 0x18002ce8f
mov rdi, qword [rdx + 8]
mov rbp, rdi
and rbp, 0xfffffffffffffffe
je 0x18002cdc8
mov rax, qword [rbp]
test rax, rax
je 0x18002cdc8
test byte [rax + 8], 1
jne 0x18002cd2b
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2d2
mov rbp, qword [rcx + 8]
test bpl, 1
je 0x18002d8b4
mov qword [rsp + 0x70], r10
and rbp, 0xfffffffffffffffe
je 0x18002f301
mov r10, qword [rbp]
test r10, r10
je 0x18002ce05
test byte [r10 + 8], 1
jne 0x18002e493
and edi, 1
or rdi, rbp
mov qword [rcx + 8], rdi
or byte [rbp + 8], 1
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
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 r10, qword [rsp + 0x70]
je 0x18002f24d
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 [r11], rdx
jne 0x18002d9ca
mov qword [r11], rbp
mov rdx, r11
jmp 0x18002cd2b
mov rdi, qword [rdx + 8]
mov rax, r11
mov qword [rsp + 0x60], r11
cmp rdi, 1
jbe 0x18002cefd
jmp 0x18002cdac
or rcx, 1
mov qword [rbp + 8], rcx
mov rdi, qword [rdx + 8]
mov rcx, rdi
and rcx, 0xfffffffffffffffe
je 0x18002f2c0
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002ced3
mov rax, qword [rbp + 8]
test al, 1
jne 0x18002dc79
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 [r11], rdx
jne 0x18002f4e7
mov qword [r11], rbp
jmp 0x18002cd2e
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002cf3c
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 + 0x50]
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
jne 0x18002d704
mov qword [r11], rcx
shr rdi, 0xc
mov rax, qword [rsp + 0x108]
mov qword [r8], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
cmp rdi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
jne 0x18002d0c8
cmp rbp, 0x1000
jb 0x18002cfdc
mov rax, rbx
or rax, 1
mov rbp, qword [rsp + 0x68]
cmp rbp, 2
mov ecx, 1
cmovae rcx, rbp
shl rcx, 3
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rdx*2]
lea rdx, [r9 + rdx*8]
add rdx, 0x30
xor ebp, ebp
test byte [rdx + rbp], 8
je 0x18002cfcf
dec qword [r9 + 0x18]
dec qword [r14 + 0x80]
mov qword [rdx + rbp], rax
add rbp, 0x18
cmp rcx, rbp
jne 0x18002cfbe
cmp qword [r9 + 0x18], 0
jne 0x18002d30f
cmp qword [rsp + 0xa8], 0
mov eax, dword [rsp + 0x78]
je 0x18002d313
mov rbp, qword [r14 + 0x60]
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0x118], 0
xor ecx, ecx
cmp rbp, r9
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x18002dd61
cmp eax, 0xffffffff
je 0x18002dfa2
test rbp, rbp
je 0x18002f2d2
mov rcx, qword [rbp + 0x10]
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002d063
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18002d063
test byte [rdx + 0x10], 1
jne 0x18002dfc9
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002f6ef
test byte [rax + 0x10], 1
jne 0x18002e8a7
or rcx, 1
mov qword [rbp + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002d098
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x18002ecef
or byte [rax + 0x10], 1
mov rcx, qword [rbp + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f24d
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 0x18002e8bd
lea rcx, [rdx + rdi]
mov rax, qword [rsp + 0x68]
sub rdi, rax
shl rdi, 0xc
add rax, rdx
lea rax, [rax + rax*2]
lea r11, [r9 + rax*8]
add r11, 0x20
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 [r9 + rcx*8 + 0x18]
or rdx, rdi
mov qword [r9 + rcx*8 + 0x18], rdx
mov rcx, qword [r8]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], 0
test rcx, rcx
je 0x18002ddef
lea rax, [r9 + rax*8]
add rax, 0x30
mov qword [rsp + 0x28], rax
lea rbp, [rsp + 0x108]
xor r9d, r9d
mov r10, r9
mov r9, rbp
mov rbp, qword [rcx]
test rbp, rbp
je 0x18002d16b
mov rdi, qword [rbp + 8]
test dil, 1
je 0x18002d16b
mov r8, qword [rbp]
test r8, r8
je 0x18002d16b
test byte [r8 + 8], 1
jne 0x18002d1df
mov rbp, rcx
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rdx, rax
mov rcx, 0xfffffffffffff000
and rdx, rcx
mov rdi, qword [rbp + 0x10]
and rdi, rcx
xor ecx, ecx
cmp rdx, rdi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
jne 0x18002d1b2
mov rcx, qword [rbp]
mov edi, 0xffffffff
test rcx, rcx
jne 0x18002d143
jmp 0x18002d2c2
test ecx, ecx
jne 0x18002d1d8
test al, 0x10
mov eax, 0
cmove rax, r11
xor edi, edi
cmp rax, rbp
seta al
jb 0x18002d19f
mov dil, al
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002d1a8
mov edi, 1
jmp 0x18002d1ce
and rdi, 0xfffffffffffffffe
mov qword [rcx], rdi
mov rax, rcx
and rax, 0xfffffffffffffffe
mov rdi, qword [rbp]
mov rdx, qword [rbp + 8]
and edx, 1
or rdx, rax
mov qword [rbp + 8], rdx
test rdi, rdi
je 0x18002f2d2
and byte [rdi + 8], 0xfe
cmp qword [r9], rcx
jne 0x18002d219
mov qword [r9], rbp
jmp 0x18002d16e
and rbp, 0xfffffffffffffffe
mov rcx, qword [r9 + 8]
and ecx, 1
lea rax, [rcx + rbp]
mov qword [r9 + 8], rax
test rbp, rbp
je 0x18002f24d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
or rax, rcx
mov qword [r9 + 8], rax
mov qword [rbp], r9
mov rax, qword [r9 + 8]
and eax, 1
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rbp + 8], rcx
or byte [r9 + 8], 1
test r10, r10
je 0x18002f414
cmp qword [r10], r9
je 0x18002e374
jmp 0x18002e38f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
mov rax, rcx
mov rdx, 0xfffffffffffff000
and rax, rdx
mov rdi, qword [rbp + 0x10]
and rdi, rdx
xor edx, edx
cmp rax, rdi
seta dl
mov eax, 0xffffffff
cmovb edx, eax
test edx, edx
jne 0x18002e1bc
jmp 0x18002e5f7
mov r9, rbp
test rcx, rcx
jne 0x18002d149
mov r9, r10
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp edi, 1
je 0x18002d5d3
mov qword [rbp], r11
mov rbp, qword [rsp + 0x30]
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x18002f2d2
and byte [rax + 8], 0xfe
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
jmp 0x18002cf86
mov eax, dword [rsp + 0x78]
test al, 1
jne 0x18002e131
test rbx, rbx
je 0x18002e131
cmp qword [rsi], rbx
je 0x18002a892
mov qword [rbx], rsi
xor eax, eax
cmp dword [r14 + r12 + 0xbc], 1
jne 0x18002d49d
xor edx, edx
mov ebp, dword [r14 + r12 + 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 [r14 + r12 + 0xb8]
mov dword [rbx + 0xc], eax
inc dword [r14 + r12 + 0xc4]
mov qword [rsi], rbx
jmp 0x18002a056
test ecx, ecx
je 0x18002d946
mov rax, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002d3b5
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002d3b5
test byte [rcx + 8], 1
jne 0x18002cd1e
mov qword [rsp + 0x70], r10
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f2ca
test byte [rcx + 8], 1
jne 0x18002e78a
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18002d3ee
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x18002e9be
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbp, rax
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rcx, qword [rbp]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rbp], rdx
lea rdx, [rsp + 0x108]
mov qword [rdx], rbp
mov r10, qword [rsp + 0x70]
jmp 0x18002cd1e
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002d441
test byte [rcx + 8], 1
jne 0x18002cd17
or rax, 1
mov qword [rbp + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f245
mov rbp, qword [rax]
test rbp, rbp
je 0x18002d470
mov rdi, qword [rbp + 8]
test dil, 1
jne 0x18002ea8e
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
and byte [rbp + 8], 0xfe
lea rdx, [rsp + 0x108]
mov qword [rdx], rbp
jmp 0x18002cd17
lea rcx, [r14 + r12]
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 0x18002d343
jmp 0x18002d4aa
mov r8d, 0x100000
mov rcx, r14
mov rdx, r13
xor r9d, r9d
call fcn.180004050
jmp 0x18002be0b
and r10, 0xfffffffffffffffe
mov qword [rcx], r10
mov rax, qword [rbx + 8]
and eax, 1
or rax, rcx
mov qword [rbx + 8], rax
and rbx, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rbx]
mov qword [rdx + 8], rcx
test rbx, rbx
je 0x18002f24d
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 0x18002d536
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002e25d
mov qword [rdx + 8], rax
jmp 0x18002af01
xor eax, eax
test bpl, 0x10
cmove rax, qword [rsp + 0x70]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x18002c39e
mov cl, al
jmp 0x18002c395
xor eax, eax
test bpl, 0x10
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x18002ccff
mov cl, al
jmp 0x18002ccf6
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, rax
or rcx, r11
mov qword [rbp + 8], rcx
mov rcx, qword [r11]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rbp + 8], rcx
mov qword [r11], rbp
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, qword [r11 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r11 + 8], rcx
or byte [rbp + 8], 1
cmp qword [rdx], rbp
mov r10, qword [rsp + 0x30]
jne 0x18002db37
mov qword [rdx], r11
jmp 0x18002ca89
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, rax
or rcx, r11
mov qword [rbp + 8], rcx
mov rcx, qword [r11]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rbp + 8], rcx
mov qword [r11], rbp
mov rax, qword [rbp + 8]
and eax, 1
mov rcx, qword [r11 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r11 + 8], rcx
or byte [rbp + 8], 1
cmp qword [r9], rbp
jne 0x18002db67
mov qword [r9], r11
jmp 0x18002d2de
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r8 + 8]
and ecx, 1
or rcx, rax
mov qword [r8 + 8], rcx
jmp 0x18002be6a
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
jmp 0x18002bed2
and r9, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, r9
mov qword [r11 + 8], rax
jmp 0x18002b057
lea rsi, [rsp + 0xe8]
mov rcx, rsi
call fcn.180002010
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsi]
jmp 0x18002b2a1
lea rbx, [rsp + 0xe8]
mov rcx, rbx
mov rdi, r9
call fcn.180002010
mov r9, rdi
mov rbx, qword [rbx]
jmp 0x18002b338
or rcx, 1
mov qword [r10 + 8], rcx
mov rax, qword [r10]
test rax, rax
je 0x18002d6c3
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002e1d7
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
and eax, 1
or rax, rbx
mov qword [rdx + 8], rax
mov qword [rcx], rdx
jmp 0x18002b004
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
jmp 0x18002c5f1
and rcx, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, rcx
mov qword [r11 + 8], rax
jmp 0x18002cf5c
mov r9, qword [rdx + 8]
test r9, r9
je 0x18002e3a2
mov rax, qword [r9 + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rdx + 8], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r9 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r9 + 0x10], rcx
mov rcx, qword [rdx + 0x10]
and ecx, 1
or rcx, rax
mov qword [r9 + 0x10], rcx
or byte [rdx + 0x10], 1
and qword [r9 + 0x10], 1
cmp qword [rbp + 8], rdx
jne 0x18002dc62
mov qword [rbp + 8], r9
mov rax, qword [rsp + 0x110]
mov qword [r10 + 0x60], rax
test r8, r8
je 0x18002f24d
xorps xmm0, xmm0
movups xmmword [r8 + 8], xmm0
cmp byte [rsp + 0x90], 0
je 0x18002cadd
mov qword [rsi], 0
jmp 0x18002be17
mov rdx, qword [r10 + 0x68]
test rdx, rdx
jne 0x18002e151
lea r9, [rsp + 0x108]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.18004c1a0
test rax, rax
je 0x18002f6e5
mov r14, rax
mov r8b, byte [rsp + 0x108]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov rdx, rax
call fcn.18004bc90
mov r10, rsi
add r14, 0x3000
mov r15, qword [rsp + 0x28]
mov r11, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x78]
jmp 0x18002b969
mov rdx, qword [r14 + 0x68]
test rdx, rdx
jne 0x18002e17e
lea r9, [rsp + 0x108]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.18004c1a0
test rax, rax
je 0x18002e131
mov rbx, rax
mov r8b, byte [rsp + 0x108]
mov rcx, r14
mov rdx, rax
call fcn.18004bc90
add rbx, 0x3000
jmp 0x18002bbd4
or rbp, 1
mov qword [r10 + 8], rbp
mov rcx, qword [r10]
test rcx, rcx
je 0x18002d87e
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x18002e294
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rbp]
and rbx, 0xfffffffffffffffe
and ecx, 1
or rcx, rbx
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x18002c56c
or rbp, 1
mov qword [rcx + 8], rbp
mov rcx, qword [rcx]
test rcx, rcx
je 0x18002d8d2
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x18002e300
mov rcx, qword [rdx + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
jmp 0x18002ce7b
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18002ec05
mov rax, qword [rdx]
test rax, rax
jne 0x18002e7ba
mov qword [rsp + 0x108], rax
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x88]
jmp 0x18002c5fb
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18002ec21
mov rax, qword [rdx]
test rax, rax
jne 0x18002e7f6
mov qword [rsp + 0x108], rax
mov r9, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
jmp 0x18002cf5c
mov al, 1
jmp 0x18002bb26
mov r8b, 1
jmp 0x18002bd58
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 0x18002ae73
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
mov rdx, rax
jmp 0x18002c3c4
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, r11
jmp 0x18002cd2b
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 0x18002f24d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rsi], rax
jmp 0x18002ab4a
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 0x18002f24d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbx], rax
jmp 0x18002abb8
and rbx, 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rsi, qword [rdx]
test rsi, rsi
je 0x18002f40d
mov rax, qword [rsi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rax]
and rbx, 0xfffffffffffffffe
and ecx, 1
or rcx, rbx
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rsi + 8]
and ecx, 1
or rcx, rax
mov qword [rsi + 8], rcx
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x18002b29e
and rbx, 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbx, qword [rdx]
test rbx, rbx
je 0x18002f40d
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 0x18002f24d
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 [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
jmp 0x18002b338
mov rax, qword [rdx + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rbp, rcx
mov r8, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
jne 0x18002ca96
and eax, 1
or rax, r11
mov qword [rdx + 8], rax
jmp 0x18002ca96
mov rax, qword [r9 + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rbp, rcx
mov rbp, qword [rsp + 0x30]
jne 0x18002d2e3
and eax, 1
or rax, r11
mov qword [r9 + 8], rax
jmp 0x18002d2e3
test r15, r15
je 0x18002f414
cmp qword [r15], r12
jne 0x18002e758
mov qword [r15], rdx
test rdx, rdx
je 0x18002f24d
mov rax, qword [r12]
mov qword [rdx], rax
mov rax, qword [r12 + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov rcx, qword [r12 + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
cmp qword [r11], rdx
jne 0x18002f6fc
mov qword [r11], 0
mov rbx, qword [rsp + 0x28]
jmp 0x18002b057
and rbx, 0xfffffffffffffffe
mov qword [rcx], rbx
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
and rbp, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
lea rbx, [rcx + rbp]
mov qword [rdx + 8], rbx
test rbp, rbp
je 0x18002f24d
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 0x18002dc4f
mov rbx, qword [rcx + 8]
test bl, 1
jne 0x18002eaf2
mov qword [rdx + 8], rcx
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x18002c486
and r9, 0xfffffffffffffffe
mov rax, qword [rbp + 0x10]
and eax, 1
or rax, r9
mov qword [rbp + 0x10], rax
jmp 0x18002d76e
and rax, 0xfffffffffffffffe
mov qword [rcx], rax
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 0x18002f24d
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 0x18002dcd3
mov rax, qword [rcx + 8]
test al, 1
jne 0x18002eb2a
mov qword [rdx + 8], rcx
jmp 0x18002ceec
test rdx, rdx
je 0x18002e61f
mov rbp, rdx
mov rcx, qword [rdx + 0x10]
cmp rcx, 1
ja 0x18002ed87
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002e61f
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 + 0x110], rax
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
jmp 0x18002d76e
test rbp, rbp
je 0x18002e626
mov rcx, qword [rbp + 0x10]
cmp rcx, 1
ja 0x18002ed94
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002e626
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 + 0x110], rax
mov r8, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x78]
jmp 0x18002e10c
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rbp, [rsp + 0x108]
jmp 0x18002ca80
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rbp, [rsp + 0x108]
jmp 0x18002d2da
cmp qword [rsp + 0x60], 0
je 0x18002f414
mov rcx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x60]
cmp qword [rbp], rcx
jne 0x18002e832
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rbx]
mov qword [rdx], rcx
mov rcx, qword [rbx + 8]
and rcx, 0xfffffffffffffffe
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov qword [rdx + 8], rbp
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rdx + 8], rbp
cmp qword [rax], rdx
jne 0x18002f706
mov qword [rax], 0
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov rsi, r8
jmp 0x18002d934
and ebx, 1
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
or rax, rbx
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x68]
and byte [rax + 8], 0xfe
mov rax, qword [r10 + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
and eax, 1
or rax, rbx
mov qword [r10 + 8], rax
mov qword [rcx], r10
mov qword [rdx], rcx
jmp 0x18002afac
cmp qword [rsp + 0x60], 0
je 0x18002f414
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
cmp qword [rcx], rax
jne 0x18002e851
mov rax, qword [rsp + 0x60]
mov qword [rax], 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 0x18002f710
mov qword [r11], 0
jmp 0x18002d968
xor eax, eax
mov qword [rsp + 0x98], rax
jmp 0x18002bb7c
xor edx, edx
jmp 0x18002bd9e
test rdx, rdx
je 0x18002e640
mov rax, qword [rdx + 8]
test rax, rax
je 0x18002e640
test byte [rax + 0x10], 1
je 0x18002e62d
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
jmp 0x18002c73d
test rbp, rbp
je 0x18002e67f
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002e67f
test byte [rax + 0x10], 1
je 0x18002e66c
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov r8, qword [rsp + 0x50]
mov ecx, 0xffffffff
xor edx, edx
mov rdi, rbp
mov rbp, rax
xor eax, eax
cmp rbp, r8
setb al
cmova eax, ecx
test eax, eax
je 0x18002e020
cmp eax, 0xffffffff
jne 0x18002e03d
test rbp, rbp
je 0x18002ee34
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002ee34
test byte [rax + 0x10], 1
je 0x18002e70b
mov rdi, rbp
mov r8, qword [rsp + 0x50]
xor edx, edx
mov ecx, 0xffffffff
jmp 0x18002dfd8
test rbp, rbp
je 0x18002e0fe
mov rax, qword [rbp + 0x10]
mov rcx, rdi
mov qword [rsp + 0x28], rdi
cmp rax, 1
jbe 0x18002e0b9
jmp 0x18002e046
test rbp, rbp
je 0x18002e06e
mov rax, qword [rbp + 0x10]
and rax, 0xfffffffffffffffe
je 0x18002e06e
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e06e
test byte [rcx + 0x10], 1
mov r8, qword [rsp + 0x50]
mov edx, 0
mov ecx, 0xffffffff
jne 0x18002dfd5
lea rcx, [rsp + 0xf8]
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rsp + 0xf8]
cmp qword [rdi + 8], rbp
je 0x18002ed7b
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 r8, qword [rsp + 0x50]
xor edx, edx
mov ecx, 0xffffffff
jmp 0x18002dfd5
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x18002e3aa
mov rax, qword [rdx + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rbp + 8], rax
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
mov rcx, qword [rbp + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
or byte [rbp + 0x10], 1
and qword [rdx + 0x10], 1
cmp qword [rdi + 8], rbp
mov ecx, dword [rsp + 0x78]
jne 0x18002e13d
mov qword [rdi + 8], rdx
mov rax, qword [rsp + 0x110]
mov qword [r14 + 0x60], rax
test r8, r8
je 0x18002f24d
xorps xmm0, xmm0
movups xmmword [r8 + 8], xmm0
test cl, cl
je 0x18002d324
mov qword [rsi], 0
jmp 0x18002be21
and rdx, 0xfffffffffffffffe
mov rax, qword [rdi + 0x10]
and eax, 1
or rax, rdx
mov qword [rdi + 0x10], rax
jmp 0x18002e10c
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 0x68], 0
lea r14, [rdx + 0x3000]
add rdx, 0x68
mov rcx, qword [rsp + 0x88]
call fcn.18004be60
mov r10, rsi
jmp 0x18002d7fa
mov qword [r14 + 0x68], 0
lea rbx, [rdx + 0x3000]
add rdx, 0x68
mov rcx, qword [rsp + 0x38]
call fcn.18004be60
jmp 0x18002bbd4
mov r8d, 1
cmp edx, 0xffffffff
je 0x18002e5e8
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002ca4b
mov edi, 1
cmp edx, 0xffffffff
je 0x18002e611
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18002d2b3
and rcx, 0xfffffffffffffffe
mov qword [rax + 8], rcx
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f40d
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rax
mov qword [rcx + 8], rbx
mov rbx, qword [rdx + 8]
mov rax, rbx
and rax, 0xfffffffffffffffe
je 0x18002f24d
mov r10, qword [rax]
and r10, 0xfffffffffffffffe
and ebx, 1
or rbx, r10
mov qword [rdx + 8], rbx
mov qword [rax], rdx
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rax
mov qword [rcx + 8], rbx
jmp 0x18002b004
lea r8, [rsp + 0x108]
jmp 0x18002b21a
lea rcx, [rsp + 0x108]
jmp 0x18002b2bc
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 0x18002f24d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbx], rax
jmp 0x18002af01
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
mov rsi, qword [rdx + 8]
mov rcx, rsi
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
and esi, 1
or rsi, rbx
mov qword [rdx + 8], rsi
mov qword [rcx], rdx
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
jmp 0x18002d8a5
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
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 0x18002f24d
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 0x18002ce7b
mov qword [r9], rbp
jmp 0x18002ca12
mov qword [r10], rbp
jmp 0x18002d27a
mov rax, qword [r9 + 8]
and eax, 1
or rax, rbp
mov qword [r9 + 8], rax
jmp 0x18002ca12
mov rax, qword [r10 + 8]
and eax, 1
or rax, rbp
mov qword [r10 + 8], rax
jmp 0x18002d27a
xor r9d, r9d
jmp 0x18002d760
xor edx, edx
jmp 0x18002e0fe
and ecx, 1
mov rbx, qword [rbp + 8]
and rbx, 0xfffffffffffffffe
or rbx, rcx
mov qword [rbp + 8], rbx
and byte [rsi + 8], 0xfe
mov rcx, qword [r10 + 8]
mov rbp, rcx
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rbx, qword [rbp]
and rbx, 0xfffffffffffffffe
and ecx, 1
or rcx, rbx
mov qword [r10 + 8], rcx
mov qword [rbp], r10
mov qword [rdx], rbp
mov rcx, qword [rbp + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rbp + 8]
and ebx, 1
or rbx, rcx
mov qword [rbp + 8], rbx
mov rsi, qword [rdx + 8]
mov rcx, rsi
and rcx, 0xfffffffffffffffe
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jne 0x18002c546
jmp 0x18002f24d
and r8, 0xfffffffffffffffe
mov qword [rax], r8
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rax
mov qword [rcx + 8], rbx
and rcx, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rbx, [rax + rcx]
mov qword [rdx + 8], rbx
test rcx, rcx
je 0x18002f24d
mov rbx, qword [rcx]
and rbx, 0xfffffffffffffffe
or rbx, rax
mov qword [rdx + 8], rbx
mov qword [rcx], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x18002e48a
mov rbx, qword [rax + 8]
test bl, 1
jne 0x18002eb62
mov qword [rdx + 8], rax
jmp 0x18002b4b6
and edi, 1
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
or rax, rdi
mov qword [rbp + 8], rax
and byte [r10 + 8], 0xfe
mov rdi, qword [rcx + 8]
mov rbp, rdi
and rbp, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and edi, 1
or rdi, rax
mov qword [rcx + 8], rdi
mov qword [rbp], rcx
mov qword [rdx], rbp
jmp 0x18002ce1f
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8, rsi
mov rsi, rdi
mov rdi, rbx
mov rbx, qword [rax + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
mov rbx, qword [rdx + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, r8
mov r15, qword [rsp + 0x28]
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x18002ada8
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rax + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
mov rbx, qword [rdx + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x18002add7
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002f6ef
test byte [rax + 0x10], 1
jne 0x18002e878
or rcx, 1
mov qword [rbp + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e59d
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x18002ec7c
or byte [rax + 0x10], 1
mov rcx, qword [rbp + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18002f24d
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 0x18002e88e
test cl, 0x10
mov eax, 0
cmove rax, r11
xor r8d, r8d
cmp rax, rbp
seta cl
jae 0x18002e870
mov rcx, qword [rbp]
mov r8d, 0xffffffff
jmp 0x18002ca4b
test cl, 0x10
mov eax, 0
cmove rax, r11
xor edi, edi
cmp rax, rbp
seta cl
jae 0x18002e89f
mov rcx, qword [rbp]
mov edi, 0xffffffff
jmp 0x18002d2b3
xor eax, eax
jmp 0x18002dd3b
xor eax, eax
jmp 0x18002ddbd
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e640
test byte [rcx + 0x10], 1
jne 0x18002df7d
lea rbx, [rsp + 0xe8]
mov rcx, rbx
call fcn.180003340
mov rax, qword [rbx]
test rax, rax
je 0x18002f2d2
and byte [rax + 0x10], 0xfe
xor ecx, ecx
mov qword [rsp + 0x58], rcx
jmp 0x18002e88e
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e67f
test byte [rcx + 0x10], 1
jne 0x18002dfc2
lea rdi, [rsp + 0xe8]
mov rcx, rdi
mov rdx, rbp
call fcn.180003340
mov rax, qword [rdi]
test rax, rax
je 0x18002f2d2
and byte [rax + 0x10], 0xfe
xor ecx, ecx
mov qword [rsp + 0x28], rcx
jmp 0x18002e8bd
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e6c1
test byte [rcx + 0x10], 1
jne 0x18002c77f
lea rcx, [rsp + 0x100]
mov rbx, rdx
call fcn.180003340
mov rax, qword [rsp + 0x100]
cmp qword [rbp + 8], rbx
jne 0x18002f727
mov qword [rbp + 8], rax
mov rdx, rax
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
xor r9d, r9d
jmp 0x18002c746
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18002e71e
test byte [rcx + 0x10], 1
jne 0x18002e00f
lea rcx, [rsp + 0x100]
mov rdx, rbp
call fcn.180003340
mov rax, qword [rsp + 0x100]
cmp qword [rdi + 8], rbp
jne 0x18002f741
mov qword [rdi + 8], rax
mov rbp, rax
mov r8, qword [rsp + 0x50]
xor edx, edx
mov ecx, 0xffffffff
jmp 0x18002dfdb
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r15 + 8]
and ecx, 1
or rcx, rax
mov qword [r15 + 8], rcx
jmp 0x18002dba4
lea rbx, [rsp + 0xe8]
mov rcx, rbx
call fcn.180024c30
mov rbp, qword [rbx]
jmp 0x18002cbde
lea rdi, [rsp + 0xe8]
mov rcx, rdi
call fcn.180024c30
mov rbp, qword [rdi]
jmp 0x18002d419
lea rbx, [rsp + 0xe8]
mov rcx, rbx
call fcn.180002010
mov rcx, qword [rbx]
jmp 0x18002c317
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 0x18002d918
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 0x18002d960
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rbx + 8]
and ebp, 1
or rbp, rcx
mov qword [rbx + 8], rbp
jmp 0x18002de33
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbp, qword [rsp + 0x60]
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
jmp 0x18002df02
mov r8b, cl
jmp 0x18002e1af
lea rbx, [rsp + 0xe8]
mov rcx, rbx
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rbx]
lea rdx, [rsp + 0x108]
mov qword [rdx + 8], rax
jmp 0x18002df84
mov dil, cl
jmp 0x18002e1ca
lea rdi, [rsp + 0xe8]
mov rcx, rdi
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rdi]
lea rbp, [rsp + 0x108]
mov qword [rbp + 8], rax
jmp 0x18002dfc9
lea rcx, [0x1800a6590]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbp, qword [0x1800a65b8]
mov eax, 0xffffffff
xor ecx, ecx
cmp qword [rbp + 0x20], r12
setb cl
cmova ecx, eax
test ecx, ecx
je 0x18002e937
cmp ecx, 0xffffffff
jne 0x18002e902
mov rbp, qword [rbp + 0x10]
jmp 0x18002e8e7
mov rbp, qword [rbp + 0x18]
and rbp, 0xfffffffffffffffe
jmp 0x18002e8e7
mov rax, qword [rbp]
mov r15, qword [rbp + 0x30]
cmp rax, qword [r15 + 0x10]
je 0x180029ce1
lea rax, str.MOZ_RELEASE_ASSERT_mNode__mArenaId__mNode__mArena__mId_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rdi, qword [rbp + 0x28]
lea rcx, [0x1800a6590]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x68]
jmp 0x180029cd0
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
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 0x18002f24d
mov rbx, qword [rax]
and rbx, 0xfffffffffffffffe
and ecx, 1
or rcx, rbx
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 0x18002cbde
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbp, qword [rdx]
test rbp, rbp
je 0x18002f40d
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 0x18002f24d
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 0x18002d419
and rbx, 0xfffffffffffffffe
mov qword [rax], rbx
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 0x18002f24d
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 0x18002ea85
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002eebe
mov qword [rdx + 8], rax
jmp 0x18002cc45
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 0x18002f24d
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 0x18002eae9
mov rcx, qword [rax + 8]
test cl, 1
jne 0x18002eef6
mov qword [rdx + 8], rax
jmp 0x18002d489
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 0x18002f24d
mov rcx, qword [rbx]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
mov qword [rbp], rbx
jmp 0x18002dc53
and rax, 0xfffffffffffffffe
mov qword [rcx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
or rax, 1
mov qword [rdx + 8], rax
and rcx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rbp], rcx
jmp 0x18002ceec
and rbx, 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbx, qword [rdx + 8]
mov rax, rbx
or rax, 1
mov qword [rdx + 8], rax
and rbx, 0xfffffffffffffffe
je 0x18002f24d
mov rax, qword [rbx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rbx], rdx
mov qword [rcx], rbx
jmp 0x18002b4b6
and rbx, 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rcx, qword [rdx]
test rcx, rcx
je 0x18002f40d
mov rax, qword [rcx + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rbx, qword [rcx + 8]
and ebx, 1
or rbx, rax
mov qword [rcx + 8], rbx
mov rax, qword [rdx + 8]
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x18002f24d
mov r8, qword [rbx]
and r8, 0xfffffffffffffffe
and eax, 1
or rax, r8
mov qword [rdx + 8], rax
mov qword [rbx], rdx
mov rax, qword [rcx + 8]
and eax, 1
or rax, rbx
mov qword [rcx + 8], rax
jmp 0x18002c317
lea rcx, [rsp + 0x108]
mov qword [rsp + 0x60], rcx
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x18002cb63
lea rcx, [rsp + 0x108]
jmp 0x18002d394
lea r15, [rsp + 0x108]
jmp 0x18002c2a0
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbx, qword [rax + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
mov rbx, qword [rdx + 8]
and ebx, 1
or rbx, rcx
mov qword [rax + 8], rbx
mov rbx, qword [rsp + 0x28]
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x18002bdda
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002f71a
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 0x18002f24d
mov rbx, rbp
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
jmp 0x18002e88e
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rbp + 8]
test rax, rax
je 0x18002f71a
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 0x18002f24d
mov rdi, qword [rcx + 8]
and rdi, 0xfffffffffffffffe
and edx, 1
or rdx, rdi
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 0x18002e8bd
mov rcx, r12
mov rdx, r15
call fcn.180003480
jmp 0x18002a0bc
mov rdx, rbp
mov qword [rbp + 8], rax
jmp 0x18002df84
mov rbp, rdi
mov qword [rdi + 8], rax
jmp 0x18002e0a8
lea rax, [rsp + 0x108]
jmp 0x18002c6f8
lea rax, [rsp + 0x108]
jmp 0x18002d042
cmp qword [rsp + 0x58], 0
je 0x18002f75b
mov r8, rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 8], rax
jne 0x18002f266
mov rax, qword [rsp + 0x58]
mov qword [rax + 8], r8
cmp qword [rsp + 0x48], 0
je 0x18002f77b
test r8, r8
je 0x18002f24d
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 8]
mov rbx, r8
mov qword [r8 + 8], rax
mov rcx, qword [rdx + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [r8 + 0x10]
and eax, 1
or rax, rcx
mov qword [r8 + 0x10], rax
mov rcx, qword [rdx + 0x10]
and ecx, 1
and rax, 0xfffffffffffffffe
or rax, rcx
mov rbx, r8
mov qword [r8 + 0x10], rax
cmp qword [rbp + 8], r8
jne 0x18002f7a1
mov qword [rbp + 8], 0
jmp 0x18002dd43
cmp qword [rsp + 0x28], 0
je 0x18002f7ab
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
cmp qword [rcx + 8], rax
jne 0x18002f285
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rbp
cmp qword [rsp + 0x50], 0
je 0x18002f7cb
test rbp, rbp
je 0x18002f24d
mov rdx, qword [rsp + 0x50]
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 0x18002f7ee
mov qword [rdi + 8], 0
jmp 0x18002ddc5
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 0x18002f24d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbp], rax
jmp 0x18002cc45
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 0x18002f24d
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbp], rax
jmp 0x18002d489
mov r14, rsi
mov byte [rbp + 0x70], 0
lea rcx, [rsp + 0x108]
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
lea rsi, [rsp + 0xe8]
mov rcx, rsi
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
mov ecx, 0x10
call fcn.180002230
xor ecx, ecx
cmp byte [rsi + 8], 0
mov edx, 0
je 0x18002ef71
mov rdx, qword [rsp + 0xe8]
cmp byte [rsp + 0x110], 0
je 0x18002ef83
mov rcx, qword [rsp + 0x108]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov rbp, qword [rsp + 0x30]
mov qword [rbp + 0x78], rax
mov byte [rbp + 0x70], 1
mov r15, qword [rsp + 0x28]
mov rsi, r14
jmp 0x180029df0
mov byte [r14 + 0x70], 0
lea rcx, [rsp + 0x108]
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
lea rdi, [rsp + 0xe8]
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 0x18002efe5
mov rdx, qword [rsp + 0xe8]
cmp byte [rsp + 0x110], 0
je 0x18002eff7
mov rcx, qword [rsp + 0x108]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov qword [r14 + 0x78], rax
mov byte [r14 + 0x70], 1
jmp 0x18002a033
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1800a6698]
test eax, eax
jne 0x18002f233
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 0x18002f084
lea rcx, [0x1800a66f8]
call fcn.18004a330
cmp dword [0x1800a66f8], 0xffffffff
jne 0x18002f084
lea rbx, [rsp + 0x108]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov qword [0x1800a66f0], rax
lea rcx, [0x1800a66f8]
call fcn.18004a398
mov eax, 0x1000
xor edx, edx
div qword [0x1800a66f0]
test rdx, rdx
jne 0x18002f826
lea rcx, str.MALLOC_OPTIONS
lea rbx, [0x1800a6700]
mov rdx, rbx
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor ebp, ebp
test eax, eax
cmovne rbp, rbx
je 0x18002f10b
mov al, byte [rbp]
test al, al
je 0x18002f10b
xor r15d, r15d
movsx eax, al
add eax, 0xffffffd0
mov ebx, 1
cmp eax, 9
jbe 0x18002f87c
mov r12d, r15d
mov al, byte [rbp + r12]
movsx ecx, al
cmp ecx, 0x72
jne 0x18002f7f8
mov byte [0x1800a6588], 1
dec ebx
jne 0x18002f0e3
inc r15d
mov al, byte [rbp + r15]
test al, al
jne 0x18002f0cc
mov qword [0x1800a6658], 0
lea rcx, [0x1800a6660]
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov edx, 0x1388
call rbx
xor ebp, ebp
mov qword [0x1800a6690], rbp
mov qword [0x1800a6688], rbp
lea rcx, [0x1800a6590]
mov edx, 0x1388
call rbx
mov qword [0x1800a65b8], rbp
mov qword [0x1800a65c0], rbp
mov qword [0x1800a65c8], rbp
lea rcx, [0x1800a6600]
mov edx, 0x1388
call rbx
mov qword [0x1800a6650], rbp
mov qword [0x1800a6640], rbp
xorps xmm0, xmm0
movups xmmword [0x1800a66d8], xmm0
lea rcx, [0x1800a66a0]
mov dword [rsp + 0x110], 0
mov rax, qword [0x1800a6038]
mov qword [rsp + 0x108], rax
mov edx, 0x1388
call rbx
test eax, eax
je 0x18002f852
lea rdx, [rsp + 0x108]
xor ecx, ecx
call fcn.18003dc70
mov qword [0x1800a66c8], rax
test rax, rax
je 0x18002f86a
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 0x18002f85f
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 0x180029fa2
or rcx, 1
mov qword [rdx + 8], rcx
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rax, r8
and rax, 0xfffffffffffffffe
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
jmp 0x18002edcd
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
jmp 0x18002ee5d
or rax, 1
mov qword [rdx + 8], rax
jmp 0x18002f24d
mov r8, rax
jmp 0x18002a816
or rsi, 1
mov qword [rdx + 8], rsi
jmp 0x18002f24d
or rdi, 1
mov qword [rdx + 8], rdi
jmp 0x18002f24d
or rax, 1
mov qword [rdx + 8], rax
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
or rbx, 1
mov qword [rdx + 8], rbx
jmp 0x18002f24d
and ecx, 1
mov qword [r10 + 8], rcx
jmp 0x18002f2d2
and edi, 1
mov qword [rcx + 8], rdi
jmp 0x18002f2d2
mov r13d, 1
jmp 0x180029c77
lea rax, str.MOZ_RELEASE_ASSERT_malloc_initialized_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
xor ecx, ecx
jmp 0x180029d33
lea rax, str.MOZ_RELEASE_ASSERT__aArena__arena__aArena_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rax, str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x20U____0___Freeing_in_decommitted_page._
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rax, str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x01U_____0___Double_free__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rax, str.MOZ_RELEASE_ASSERT__run__mRegionsMask_elm____1U____bit____0___Double_free__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov r14, qword [0x1800a66c8]
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], r14
jmp 0x180029fde
lea rax, str.MOZ_RELEASE_ASSERT__mArena__arena__mArena_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rbp, qword [0x1800a66c8]
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], rbp
jmp 0x180029d99
mov eax, r12d
xor edx, edx
div edi
mov r12d, eax
jmp 0x180029f42
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
and edi, 1
mov qword [r9 + 8], rdi
jmp 0x18002f2d2
mov rax, rsi
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
jmp 0x18002a4b0
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, rdi
jmp 0x18002a656
and ebx, 1
mov qword [r10 + 8], rbx
jmp 0x18002f2d2
xor ecx, ecx
jmp 0x18002b122
mov rax, rbx
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, rbx
jmp 0x18002ae79
mov rax, rcx
mov rbx, rdi
mov rdi, r9
mov rsi, r14
jmp 0x18002b936
mov rax, rcx
jmp 0x18002bba6
and qword [r11 + 8], 1
jmp 0x18002beae
and qword [r11 + 8], 1
jmp 0x18002a875
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 8]
and edx, 1
or rdx, rcx
mov qword [rax + 8], rdx
jmp 0x18002c3ca
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
jmp 0x18002cd2e
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xb0], rdi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x18002f527
cmp eax, 8
jne 0x18002f5be
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 + 0xd0], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rsi
mov rdx, qword [rsp + 0xb8]
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 0x18002f689
cmp eax, 0x5af
je 0x18002f589
cmp eax, 8
jne 0x18002f5be
xor eax, eax
dec qword [rsp + 0xd0]
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x98]
jne 0x18002f543
jmp 0x18002bb26
xor eax, eax
mov r15, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
jmp 0x18002bb19
mov qword [rsp + 0x90], rdi
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x18002f5fa
cmp eax, 8
jne 0x18002f681
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 + 0xc0], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
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 0x18002f6c0
cmp eax, 0x5af
je 0x18002f65d
cmp eax, 8
jne 0x18002f681
xor r8d, r8d
dec qword [rsp + 0xc0]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
jne 0x18002f616
jmp 0x18002bd58
xor r8d, r8d
jmp 0x18002bd46
cmp eax, 0x5af
mov r15, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc8]
je 0x18002f6b3
cmp eax, 8
jne 0x18002baee
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x18002baee
cmp eax, 0x5af
mov rdi, qword [rsp + 0x90]
je 0x18002f6d8
cmp eax, 8
jne 0x18002bd1a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x18002bd1a
mov rsi, qword [rsp + 0x78]
jmp 0x18002d799
or rcx, 1
mov qword [rbp + 0x10], rcx
jmp 0x18002f2d2
and qword [r11 + 8], 1
jmp 0x18002dbea
and qword [rax + 8], 1
jmp 0x18002de72
and qword [r11 + 8], 1
jmp 0x18002d968
mov qword [rbp + 8], 0
jmp 0x18002f414
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 0x10]
and edx, 1
or rdx, rcx
mov qword [rbp + 0x10], rdx
jmp 0x18002e6e7
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rdi + 0x10], rdx
jmp 0x18002e744
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test r8, r8
je 0x18002f24d
mov rcx, r8
mov qword [r8 + 8], 0
mov rax, qword [r8 + 0x10]
and eax, 1
mov qword [r8 + 0x10], rax
xor ecx, ecx
jmp 0x18002ee0f
and qword [rbp + 0x10], 1
jmp 0x18002dd43
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rbp, rbp
je 0x18002f24d
mov qword [rbp + 8], 0
mov rax, qword [rbp + 0x10]
and eax, 1
mov qword [rbp + 0x10], rax
xor ecx, ecx
jmp 0x18002ee9c
and qword [rdi + 0x10], 1
jmp 0x18002ddc5
cmp ecx, 0x46
jne 0x18002f8a2
mov rax, qword [0x1800a6038]
test rax, rax
je 0x18002f8c4
add rax, rax
je 0x18002f0fb
mov qword [0x1800a6038], rax
jmp 0x18002f0fb
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 0x18002f86a
mov qword [0x1800a65f8], 0
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18002be2a
xor ebx, ebx
lea ecx, [rbx + rbx*4]
lea ebx, [rax + rcx*2]
inc r15d
movsx eax, byte [rbp + r15]
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x18002f87e
test ebx, ebx
je 0x18002f0ff
jmp 0x18002f0e0
cmp ecx, 0x52
jne 0x18002f8b3
mov byte [0x1800a6588], 0
jmp 0x18002f0fb
cmp ecx, 0x66
jne 0x18002f8d4
shr qword [0x1800a6038], 1
jmp 0x18002f0fb
mov qword [0x1800a6038], 1
jmp 0x18002f0fb
lea r14, [rsp + 0x108]
mov byte [r14], al
mov byte [r14 + 1], 0
lea rdx, str._jemalloc_
mov rdi, qword [0x1800a2e88]
mov ecx, 2
mov r8d, 0xa
call rdi
lea rdx, str.:__malloc__Unsupported_character_in_malloc_options:_
mov ecx, 2
mov r8d, 0x35
call rdi
lea rdx, [0x18009ac18]
mov rcx, r14
call fcn.1800515f0
jmp 0x18002f0fb