Function at 0x18005c420
Capabilities:
Generate random numbers via rtlgenrandom
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, 0x158
mov rax, rdx
mov rdi, rcx
mov rcx, qword [0x1800cb028]
xor rcx, rsp
mov qword [rsp + 0x150], rcx
mul r8
jo 0x18005c65b
mov rbx, rax
mov eax, dword [0x1800cb774]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x18005e447
cmp rbx, 0x1000
ja 0x18005c4a4
cmp byte [0x1800cb770], 0
je 0x18005c4a4
mov rax, qword [0x1800cb648]
mov eax, dword [rax + 0x14810]
cmp eax, 1
je 0x18005ebda
cmp dword [0x1800cb718], 0
je 0x18005eb7e
test dil, 1
jne 0x18005eb85
lea rcx, [0x1800cb540]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x1800cb580]
test rsi, rsi
je 0x18005c4fa
mov eax, 0xffffffff
xor ecx, ecx
cmp qword [rsi + 0x10], rdi
setb cl
cmova ecx, eax
test ecx, ecx
je 0x18005c513
cmp ecx, 0xffffffff
jne 0x18005eddd
mov rsi, qword [rsi]
test rsi, rsi
jne 0x18005c4d9
lea rax, str.MOZ_RELEASE_ASSERT_result_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rcx, [0x1800cb540]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x1800cb718], 0
je 0x18005e7ce
cmp rbx, 1
adc rbx, 0
test rsi, rsi
jne 0x18005c54e
cmp rbx, 0x1f1
jb 0x18005c6cb
mov rsi, qword [0x1800cb568]
cmp rbx, 0xf00
ja 0x18005cb2c
cmp rbx, 9
jb 0x18005cb4f
cmp rbx, 0x1f1
jae 0x18005c754
add rbx, 0xf
mov rdi, rbx
and rdi, 0xfffffffffffffff0
shr rbx, 4
dec rbx
lea rbp, [rbx + rbx*2]
shl rbp, 4
cmp byte [rsi + 0x78], 0
je 0x18005c5a0
cmp qword [rsi + 0x80], 0
je 0x18005e758
lea r15, [rsi + rbp]
add r15, 0xa8
lea rbx, [rsi + 0x18]
cmp dword [rsi + 0x40], 0
jne 0x18005c5be
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r14, qword [r15]
test r14, r14
je 0x18005c770
cmp dword [r14 + 0xc], 0
je 0x18005c770
mov eax, dword [r14 + 8]
mov edx, dword [r14 + rax*4 + 0x10]
test edx, edx
je 0x18005c9f8
mov r8, qword [rsi + 0x80]
test r8, r8
jne 0x18005c685
tzcnt r8d, edx
mov r15d, eax
shl r15d, 5
or r15d, r8d
mov ecx, dword [rsi + rbp + 0xc8]
imul r15, qword [rsi + rbp + 0xb8]
add rcx, r14
add r15, rcx
btc edx, r8d
mov dword [r14 + rax*4 + 0x10], edx
dec dword [r14 + 0xc]
test r15, r15
je 0x18005d20c
add qword [rsi + 0x58], rdi
xor ebp, ebp
cmp dword [rsi + 0x40], 0
jne 0x18005c646
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bpl, bpl
je 0x18005ca5c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0xc
xor r15d, r15d
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.180062020
mov rax, r15
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [r8]
mov rcx, qword [r8 + 8]
mov qword [r8], rcx
mov r10, r9
shl r10, 0x17
xor r10, r9
mov r9, rcx
shr r9, 0x1a
xor r9, rcx
xor r9, r10
shr r10, 0x11
xor r10, r9
add ecx, r10d
mov r9d, edx
ror r9d, cl
mov qword [r8 + 8], r10
tzcnt r8d, r9d
add r8d, ecx
and r8d, 0x1f
jmp 0x18005c5fb
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18005edea
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x10]
test rsi, rsi
jne 0x18005c55b
mov rsi, qword [0x1800cb568]
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18005f236
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x10], rsi
jmp 0x18005c55b
add rbx, 0xff
mov edi, ebx
and edi, 0x1f00
shr rbx, 8
add rbx, 0x1d
jmp 0x18005c584
mov rdx, qword [rsi + rbp + 0xb0]
test rdx, rdx
je 0x18005cd78
lea r13, [rsi + rbp]
add r13, 0xb0
mov rax, rdx
mov r12, rax
mov rax, qword [rax]
test rax, rax
jne 0x18005c78f
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], 0
xor ecx, ecx
cmp rdx, r12
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x18005cb5b
mov r9, qword [rdx]
test r9, r9
je 0x18005eea9
mov rax, qword [r9 + 8]
test al, 1
je 0x18005ca77
xor r14d, r14d
mov r8d, 0xffffffff
mov rcx, rdx
mov rdx, r9
xor r9d, r9d
cmp rdx, r12
setb r9b
cmova r9d, r8d
cmp r9d, 0xffffffff
jne 0x18005c899
test rdx, rdx
je 0x18005ea81
mov r9, qword [rdx]
test r9, r9
je 0x18005d017
mov r10, qword [r9 + 8]
test r10b, 1
jne 0x18005c7e8
mov r11, qword [r9]
test r11, r11
je 0x18005c834
test byte [r11 + 8], 1
jne 0x18005c7e8
or r10, 1
mov qword [r9 + 8], r10
mov r11, qword [rdx + 8]
mov r10, r11
and r10, 0xfffffffffffffffe
je 0x18005ea2c
mov rax, r14
mov r14, r13
mov r9, qword [r10]
test r9, r9
je 0x18005c869
mov r13, qword [r9 + 8]
test r13b, 1
jne 0x18005cbc8
or r11, 1
mov qword [rdx + 8], r11
mov r9, qword [r10]
or r9, 1
mov qword [rdx + 8], r9
mov qword [r10], rdx
mov r9, r10
mov r13, r14
mov r14, rax
cmp qword [rcx], rdx
jne 0x18005eebc
mov qword [rcx], r9
jmp 0x18005c7eb
test r9d, r9d
jne 0x18005c8ba
test rdx, rdx
je 0x18005edf4
mov r10, qword [rdx + 8]
mov r14, rcx
cmp r10, 1
jbe 0x18005c9ad
jmp 0x18005c8c7
test rdx, rdx
je 0x18005edfb
mov r10, qword [rdx + 8]
mov r9, r10
and r9, 0xfffffffffffffffe
je 0x18005c8e3
mov r11, qword [r9]
test r11, r11
je 0x18005c8e3
test byte [r11 + 8], 1
jne 0x18005c7e8
mov r11, qword [rdx]
test r11, r11
je 0x18005edfb
mov r9, qword [r11 + 8]
test r9b, 1
je 0x18005ccfa
and r9, 0xfffffffffffffffe
je 0x18005ee0e
mov rax, qword [r9]
test rax, rax
mov qword [rsp + 0x40], r13
je 0x18005c91e
test byte [rax + 8], 1
jne 0x18005d07c
and r10d, 1
or r10, r9
mov qword [r11 + 8], r10
or byte [r9 + 8], 1
mov r9, qword [rdx]
test r9, r9
je 0x18005ee29
mov r10, qword [r9 + 8]
and r10, 0xfffffffffffffffe
mov qword [rdx], r10
mov r10, rdx
and r10, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
mov r11, qword [rdx + 8]
mov r10, r11
and r10, 0xfffffffffffffffe
je 0x18005ee43
mov r13, qword [r10]
and r13, 0xfffffffffffffffe
and r11d, 1
or r11, r13
mov qword [rdx + 8], r11
mov qword [r10], rdx
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
or byte [rdx + 8], 1
mov r13, qword [rsp + 0x40]
cmp qword [rcx], rdx
jne 0x18005cd5a
mov qword [rcx], r9
mov rdx, rcx
jmp 0x18005c7e8
mov rax, qword [rdx]
test rax, rax
jne 0x18005cb8a
xor eax, eax
cmp qword [rcx], rdx
jne 0x18005cd43
mov qword [rcx], rax
mov rax, qword [rsp + 0xc8]
mov qword [r13], rax
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov r14, 0xfffffffffffff000
and r14, qword [r12 + 0x10]
mov qword [r15], r14
test r14, r14
jne 0x18005c5d5
jmp 0x18005dcc9
mov ecx, dword [rsi + rbp + 0xc4]
inc eax
cmp eax, ecx
jae 0x18005d208
mov edx, eax
mov r8d, dword [r14 + rdx*4 + 0x10]
test r8d, r8d
je 0x18005c9ff
mov r9, qword [rsi + 0x80]
test r9, r9
jne 0x18005cae6
tzcnt r9d, r8d
mov r15d, eax
shl r15d, 5
or r15d, r9d
mov ecx, dword [rsi + rbp + 0xc8]
add rcx, r14
imul r15, qword [rsi + rbp + 0xb8]
add r15, rcx
btc r8d, r9d
mov dword [r14 + rdx*4 + 0x10], r8d
mov dword [r14 + 8], eax
jmp 0x18005c624
mov rcx, r15
xor edx, edx
mov r8, rdi
call sub.VCRUNTIME140.dll_memset
test r15, r15
jne 0x18005c65e
jmp 0x18005c64f
mov rcx, qword [r9]
test rcx, rcx
je 0x18005ca89
test byte [rcx + 8], 1
jne 0x18005c7df
or rax, 1
mov qword [r9 + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18005ea88
mov r9, qword [rax]
test r9, r9
je 0x18005cab8
mov r8, qword [r9 + 8]
test r8b, 1
jne 0x18005d17c
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 r9, rax
and byte [r9 + 8], 0xfe
lea rdx, [rsp + 0xc8]
mov qword [rdx], r9
jmp 0x18005c7df
mov r10, qword [r9]
mov rcx, qword [r9 + 8]
mov qword [r9], rcx
mov r11, r10
shl r11, 0x17
xor r11, r10
mov r10, rcx
shr r10, 0x1a
xor r10, rcx
xor r10, r11
shr r11, 0x11
xor r11, r10
add ecx, r11d
mov r10d, r8d
ror r10d, cl
mov qword [r9 + 8], r11
tzcnt r9d, r10d
add r9d, ecx
and r9d, 0x1f
jmp 0x18005ca2a
cmp rbx, 0xfc000
ja 0x18005e618
mov rcx, rsi
mov rdx, rbx
mov r8b, 1
call fcn.18002f480
mov r15, rax
jmp 0x18005ca69
mov edi, 0x10
xor ebx, ebx
jmp 0x18005c584
test eax, eax
jne 0x18005cc62
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x18005dd60
mov rax, qword [rdx]
test rax, rax
jne 0x18005df5b
mov qword [rsp + 0xc8], rax
jmp 0x18005c9c7
mov r8, qword [rax + 8]
and r8, 0xfffffffffffffffe
mov qword [rdx], r8
mov r8, rdx
and r8, 0xfffffffffffffffe
mov r9, qword [rax + 8]
and r9d, 1
or r9, r8
mov qword [rax + 8], r9
mov r9, qword [rdx + 8]
and r9d, 1
or r9, r8
mov qword [rax + 8], r9
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x18005c9bb
and r13, 0xfffffffffffffffe
mov qword [r10], r13
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
and r9, 0xfffffffffffffffe
mov r10, qword [rdx + 8]
and r10d, 1
lea r11, [r10 + r9]
mov qword [rdx + 8], r11
test r9, r9
je 0x18005edca
mov r11, qword [r9]
and r11, 0xfffffffffffffffe
or r11, r10
mov qword [rdx + 8], r11
mov qword [r9], rdx
mov r10, qword [rdx + 8]
and r10, 0xfffffffffffffffe
je 0x18005ccf1
mov r11, qword [r10 + 8]
test r11b, 1
je 0x18005ccf1
and r11, 0xfffffffffffffffe
mov qword [r10 + 8], r11
mov r10, qword [rdx + 8]
mov r11, r10
or r11, 1
mov qword [rdx + 8], r11
and r10, 0xfffffffffffffffe
je 0x18005edb7
mov r13, r14
mov r11, qword [r10]
or r11, 1
mov qword [rdx + 8], r11
mov qword [r10], rdx
mov qword [r9], r10
jmp 0x18005c885
mov rax, qword [rdx + 8]
xor r14d, r14d
mov r9, rax
and r9, 0xfffffffffffffffe
je 0x18005cc84
mov rcx, qword [r9]
test rcx, rcx
je 0x18005cc84
test byte [rcx + 8], 1
jne 0x18005c7e2
mov rcx, qword [rdx]
test rcx, rcx
je 0x18005f110
test byte [rcx + 8], 1
jne 0x18005d220
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x18005ccb8
mov r8, qword [rax + 8]
test r8b, 1
jne 0x18005dcd1
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov r9, rax
and r9, 0xfffffffffffffffe
je 0x18005f16b
mov rcx, qword [r9]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [r9], rdx
lea rdx, [rsp + 0xc8]
mov qword [rdx], r9
jmp 0x18005c7e2
mov qword [rdx + 8], r10
jmp 0x18005c882
or r9, 1
mov qword [r11 + 8], r9
mov r9, qword [r11]
test r9, r9
je 0x18005cd18
mov r10, qword [r9 + 8]
test r10b, 1
jne 0x18005d101
mov r10, qword [rdx + 8]
mov r9, r10
and r9, 0xfffffffffffffffe
je 0x18005ee56
mov r11, qword [r9]
and r11, 0xfffffffffffffffe
and r10d, 1
or r10, r11
mov qword [rdx + 8], r10
mov qword [r9], rdx
jmp 0x18005c999
and rax, 0xfffffffffffffffe
mov rdx, qword [rcx + 8]
and edx, 1
or rdx, rax
mov qword [rcx + 8], rdx
jmp 0x18005c9c7
mov rdx, r9
and rdx, 0xfffffffffffffffe
mov r10, qword [rcx + 8]
and r10d, 1
or r10, rdx
mov qword [rcx + 8], r10
mov rdx, rcx
jmp 0x18005c7e8
movzx eax, byte [rsi + rbp + 0xd2]
mov qword [rsp + 0x40], rax
lea r12, [rsi + 0xa0]
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
je 0x18005dba9
mov rdx, qword [rsp + 0x40]
shl rdx, 0xc
xor eax, eax
mov r8, 0xfffffffffffff000
mov r9d, 0xffffffff
mov r11, qword [rcx + 0x10]
and r11, r8
xor r10d, r10d
cmp rdx, r11
seta r10b
cmovb r10d, r9d
lea r11d, [r10 + 1]
cmp r11d, 2
jae 0x18005cde0
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18005cdb4
jmp 0x18005cdf4
cmp r10d, 1
jne 0x18005f0a0
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x18005cdd9
test rax, rax
je 0x18005dba9
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 qword [rsp + 0x50], r12
mov r9, r14
and r9, 0xfffffffffff00000
mov rax, qword [r9 + 0x18]
mov qword [rsp + 0xa0], rax
mov eax, r14d
shr eax, 0xc
movzx r11d, al
lea rax, [r11*8]
lea rcx, [rax + rax*2]
mov rax, qword [r9 + rcx + 0x30]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x58], r11
je 0x18005d258
lea rax, [r11 + r11*2]
lea r13, [r9 + rax*8]
add r13, 0x30
xor r10d, r10d
xor r12d, r12d
lea r8, [r12 + r11]
lea rax, [r8 + r8*2]
test byte [r9 + rax*8 + 0x30], 0x60
jne 0x18005ceb5
inc r12
add r13, 0x18
cmp r12, rdx
setae r10b
jne 0x18005ce90
jmp 0x18005d25b
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x90], rcx
mov rax, r13
xor ecx, ecx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rax]
test cl, 0x60
je 0x18005cef8
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
mov r8, qword [rsp + 0x48]
lea rcx, [r12 + r8]
inc rcx
inc r8
mov qword [rsp + 0x48], r8
add rax, 0x18
cmp rcx, rdx
jb 0x18005cecc
mov rcx, qword [rsp + 0x48]
shl rcx, 0xc
je 0x18005dd3d
mov qword [rsp + 0x38], r10
mov r10, qword [rsp + 0x60]
shl r10, 0xc
mov eax, r10d
and eax, 0xff000
mov edx, 0x100000
sub rdx, rax
cmp rdx, rcx
cmovae rdx, rcx
add r10, r9
mov r8, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x98], rcx
call r8
mov dword [rsp + 0x7c], eax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18005eab8
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
add r10, rax
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov eax, 0x100000
cmp rcx, rax
mov edx, 0x100000
cmovb rdx, rcx
test rcx, rcx
mov r8, qword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x18005cf36
mov al, 1
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
cmp qword [rsp + 0x48], 0
je 0x18005cff4
test al, al
mov ecx, 0x20
mov edx, 4
cmovne rcx, rdx
mov rdx, qword [rsp + 0x48]
lea rdx, [rdx*8]
lea rdx, [rdx + rdx*2]
xor r8d, r8d
or qword [r13 + r8], rcx
add r8, 0x18
cmp rdx, r8
jne 0x18005cfe6
test al, al
je 0x18005d59b
mov rax, qword [rsp + 0x48]
add qword [rsi + 0x50], rax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
jmp 0x18005cea0
mov rax, rdx
test r14, r14
je 0x18005f0cd
cmp qword [r14], r12
jne 0x18005d23d
mov qword [r14], rax
test rdx, rdx
je 0x18005f0e0
mov rdx, qword [r12]
mov qword [rax], rdx
mov rdx, qword [r12 + 8]
and rdx, 0xfffffffffffffffe
mov r8, qword [rax + 8]
and r8d, 1
or r8, rdx
mov qword [rax + 8], r8
mov r8, qword [r12 + 8]
and r8d, 1
or r8, rdx
mov qword [rax + 8], r8
cmp qword [rcx], rax
jne 0x18005f0f3
mov qword [rcx], 0
jmp 0x18005c9c7
and r10d, 1
mov r13, qword [r9 + 8]
and r13, 0xfffffffffffffffe
or r13, r10
mov qword [r9 + 8], r13
and byte [rax + 8], 0xfe
mov r10, qword [r11 + 8]
mov r9, r10
and r9, 0xfffffffffffffffe
je 0x18005ee69
mov r13, qword [r9]
and r13, 0xfffffffffffffffe
and r10d, 1
or r10, r13
mov qword [r11 + 8], r10
mov qword [r9], r11
mov qword [rdx], r9
mov r10, qword [r9 + 8]
and r10, 0xfffffffffffffffe
mov qword [rdx], r10
mov r10, rdx
and r10, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
mov r11, qword [rdx + 8]
mov r10, r11
and r10, 0xfffffffffffffffe
jne 0x18005c96c
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
and r10, 0xfffffffffffffffe
mov qword [r9 + 8], r10
mov r9, qword [rdx]
test r9, r9
je 0x18005ee7c
mov r10, qword [r9 + 8]
and r10, 0xfffffffffffffffe
mov qword [rdx], r10
mov r10, rdx
and r10, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
mov r11, qword [rdx + 8]
mov r10, r11
and r10, 0xfffffffffffffffe
je 0x18005ee96
mov rax, r14
mov r14, r13
mov r13, qword [r10]
and r13, 0xfffffffffffffffe
and r11d, 1
or r11, r13
mov qword [rdx + 8], r11
mov qword [r10], rdx
mov r11, qword [r9 + 8]
and r11d, 1
or r11, r10
mov qword [r9 + 8], r11
mov r13, r14
mov r14, rax
jmp 0x18005c999
and r8, 0xfffffffffffffffe
mov qword [rax], r8
mov rcx, qword [r9 + 8]
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
and r9, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + r9]
mov qword [rdx + 8], rcx
test r9, r9
je 0x18005f158
mov rcx, qword [r9]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [r9], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x18005d217
mov rcx, qword [rax + 8]
test cl, 1
je 0x18005d217
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 0x18005f1c6
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [r9], rax
jmp 0x18005cad1
dec dword [r14 + 0xc]
mov bpl, 1
xor r15d, r15d
jmp 0x18005c637
mov qword [rdx + 8], rax
jmp 0x18005cad1
lea rcx, [rsp + 0xb8]
call fcn.180008400
lea rax, [rsp + 0xb8]
mov r9, qword [rax]
jmp 0x18005cce1
mov r8, rax
and r8, 0xfffffffffffffffe
mov r9, qword [r14 + 8]
and r9d, 1
or r9, r8
mov qword [r14 + 8], r9
jmp 0x18005d02f
mov r10b, 1
mov qword [rsp + 0x38], r10
lea rax, [r9 + rcx]
add rax, 0x20
mov r11, qword [rsp + 0x50]
mov rcx, qword [r11]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], 0
mov rdx, qword [rax + 0x10]
mov r8, 0xfffffffffffff000
mov r9, rdx
and r9, r8
and r8, qword [rcx + 0x10]
xor r10d, r10d
cmp r9, r8
seta r10b
mov r8d, 0xffffffff
cmovae r8d, r10d
test r8d, r8d
je 0x18005d9b9
cmp r8d, 0xffffffff
jne 0x18005d8ac
mov r9, qword [rcx]
test r9, r9
je 0x18005f0fd
mov rdx, qword [r9 + 8]
test dl, 1
je 0x18005d949
xor r11d, r11d
mov r10, 0xfffffffffffff000
mov r8, rcx
mov rcx, r9
mov r12, qword [rax + 0x10]
mov rdx, r12
and rdx, r10
mov r13, qword [r9 + 0x10]
and r13, r10
xor r9d, r9d
cmp rdx, r13
seta r9b
mov edx, 0xffffffff
cmovb r9d, edx
test r9d, r9d
jne 0x18005d32d
test r12b, 0x10
mov edx, 0
cmove rdx, rax
xor r9d, r9d
cmp rdx, rcx
seta dl
jb 0x18005d337
mov r9b, dl
cmp r9d, 0xffffffff
jne 0x18005d3b7
mov r9, qword [rcx]
test r9, r9
je 0x18005de97
mov rdx, qword [r9 + 8]
test dl, 1
jne 0x18005d2e3
mov r12, qword [r9]
test r12, r12
je 0x18005d35c
test byte [r12 + 8], 1
jne 0x18005d2e3
or rdx, 1
mov qword [r9 + 8], rdx
mov r13, qword [rcx + 8]
mov r12, r13
and r12, 0xfffffffffffffffe
je 0x18005eaa0
mov r9, qword [r12]
test r9, r9
je 0x18005d38b
mov rdx, qword [r9 + 8]
test dl, 1
jne 0x18005def7
or r13, 1
mov qword [rcx + 8], r13
mov rdx, qword [r12]
or rdx, 1
mov qword [rcx + 8], rdx
mov qword [r12], rcx
mov r9, r12
cmp qword [r8], rcx
jne 0x18005f13e
mov qword [r8], r9
jmp 0x18005d2e6
test r9d, r9d
je 0x18005d4aa
mov r12, qword [rcx + 8]
mov r9, r12
and r9, 0xfffffffffffffffe
je 0x18005d3df
mov rdx, qword [r9]
test rdx, rdx
je 0x18005d3df
test byte [rdx + 8], 1
jne 0x18005d2e3
mov r13, qword [rcx]
test r13, r13
je 0x18005f04d
mov r9, qword [r13 + 8]
test r9b, 1
je 0x18005d9f1
and r9, 0xfffffffffffffffe
je 0x18005ead9
mov rdx, qword [r9]
test rdx, rdx
mov qword [rsp + 0x48], r11
je 0x18005d41a
test byte [rdx + 8], 1
jne 0x18005dfc4
and r12d, 1
or r12, r9
mov qword [r13 + 8], r12
or byte [r9 + 8], 1
mov r9, qword [rcx]
test r9, r9
je 0x18005f00d
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, rdx
mov qword [r9 + 8], r11
mov r13, qword [rcx + 8]
mov r12, r13
and r12, 0xfffffffffffffffe
je 0x18005f027
mov rdx, qword [r12]
and rdx, 0xfffffffffffffffe
and r13d, 1
or r13, rdx
mov qword [rcx + 8], r13
mov qword [r12], rcx
mov rdx, qword [r9 + 8]
and edx, 1
or rdx, r12
mov qword [r9 + 8], rdx
or byte [rcx + 8], 1
mov r11, qword [rsp + 0x48]
cmp qword [r8], rcx
jne 0x18005dbfb
mov qword [r8], r9
mov rcx, r8
jmp 0x18005d2e3
mov r12, qword [rcx + 8]
mov r11, r8
cmp r12, 1
ja 0x18005d3c4
mov rdx, qword [rcx]
test rdx, rdx
je 0x18005d4fc
mov r9, qword [rdx + 8]
and r9, 0xfffffffffffffffe
mov qword [rcx], r9
mov r9, rcx
and r9, 0xfffffffffffffffe
mov r10, qword [rdx + 8]
and r10d, 1
or r10, r9
mov qword [rdx + 8], r10
mov r10, qword [rcx + 8]
and r10d, 1
or r10, r9
mov qword [rdx + 8], r10
or byte [rcx + 8], 1
and qword [rdx + 8], 1
cmp qword [r8], rcx
mov r11, qword [rsp + 0x50]
jne 0x18005d9da
mov qword [r8], rdx
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x68]
shr r9, 0xc
mov rcx, qword [rsp + 0xc8]
mov qword [r11], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rcx, qword [rsp + 0x40]
cmp r9, rcx
jne 0x18005d63a
test cl, cl
je 0x18005d580
mov rax, r14
or rax, 1
shl rcx, 3
lea rcx, [rcx + rcx*2]
mov rdx, qword [rsp + 0x58]
lea rdx, [rdx + rdx*2]
lea rdx, [r10 + rdx*8]
add rdx, 0x30
xor r8d, r8d
test byte [rdx + r8], 8
je 0x18005d573
dec qword [r10 + 0x18]
dec qword [rsi + 0x88]
mov qword [rdx + r8], rax
add r8, 0x18
cmp rcx, r8
jne 0x18005d561
cmp qword [r10 + 0x18], 0
jne 0x18005d596
cmp qword [rsp + 0xa0], 0
jne 0x18005da40
mov r10, qword [rsp + 0x38]
test r14, r14
je 0x18005dcc2
test r10b, 1
je 0x18005dcc2
cmp qword [r15], r14
je 0x18005c9e7
mov qword [r14], r15
xor eax, eax
cmp dword [rsi + rbp + 0xc4], 1
jne 0x18005d5ca
xor edx, edx
jmp 0x18005d5f0
lea rdx, [rsi + rbp]
add rdx, 0xc4
xor ecx, ecx
mov dword [r14 + rcx*4 + 0x10], 0xffffffff
inc rcx
mov r8d, dword [rdx]
dec r8d
cmp rcx, r8
jb 0x18005d5d7
mov edx, ecx
mov r8d, dword [rsi + rbp + 0xc0]
and r8d, 0x1f
mov ecx, r8d
neg cl
mov r9d, 0xffffffff
shr r9d, cl
cmp r8d, 1
sbb eax, eax
or eax, r9d
mov dword [r14 + rdx*4 + 0x10], eax
mov dword [r14 + 8], 0
mov eax, dword [rsi + rbp + 0xc0]
mov dword [r14 + 0xc], eax
inc dword [rsi + rbp + 0xcc]
mov qword [r15], r14
jmp 0x18005c5d5
mov rax, qword [rsp + 0x58]
lea rdx, [rax + r9]
sub r9, rcx
shl r9, 0xc
add rax, rcx
lea rcx, [rax + rax*2]
lea rax, [r10 + rcx*8 + 0x20]
mov r8d, 0xfff
mov r12, r9
mov r9, qword [rax + 0x10]
and r9, r8
or r9, r12
mov qword [rax + 0x10], r9
lea rdx, [rdx + rdx*2]
and r8, qword [r10 + rdx*8 + 0x18]
or r8, r12
mov qword [r10 + rdx*8 + 0x18], r8
mov r12, qword [r11]
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], 0
test r12, r12
je 0x18005dda2
lea rdx, [r10 + rcx*8]
add rdx, 0x30
lea rcx, [rsp + 0xc8]
xor r10d, r10d
mov r11, r10
mov r10, rcx
mov rcx, qword [r12]
test rcx, rcx
je 0x18005d6d9
mov r13, qword [rcx + 8]
test r13b, 1
je 0x18005d6d9
mov r9, qword [rcx]
test r9, r9
je 0x18005d6d9
test byte [r9 + 8], 1
jne 0x18005d754
mov rcx, r12
mov r11, qword [rdx]
mov r8, r11
mov r12, 0xfffffffffffff000
and r8, r12
mov r9, qword [rcx + 0x10]
and r9, r12
xor r12d, r12d
cmp r8, r9
seta r12b
mov r8d, 0xffffffff
cmovb r12d, r8d
test r12d, r12d
je 0x18005d725
cmp r12d, 0xffffffff
jne 0x18005d744
mov r12, qword [rcx]
mov r13d, 0xffffffff
test r12, r12
jne 0x18005d6b1
jmp 0x18005d841
test r11b, 0x10
mov r8d, 0
cmove r8, rax
xor r13d, r13d
cmp r8, rcx
seta r9b
jb 0x18005d712
mov r13b, r9b
jmp 0x18005d74a
mov r13d, 1
mov r12, qword [rcx + 8]
and r12, 0xfffffffffffffffe
jmp 0x18005d71b
and r13, 0xfffffffffffffffe
mov qword [r12], r13
mov r9, r12
and r9, 0xfffffffffffffffe
mov r13, qword [rcx]
mov r8, qword [rcx + 8]
and r8d, 1
or r8, r9
mov qword [rcx + 8], r8
test r13, r13
je 0x18005efcd
and byte [r13 + 8], 0xfe
cmp qword [r10], r12
jne 0x18005d790
mov qword [r10], rcx
jmp 0x18005d6dc
and rcx, 0xfffffffffffffffe
mov r12, qword [r10 + 8]
and r12d, 1
lea r8, [r12 + rcx]
mov qword [r10 + 8], r8
test rcx, rcx
je 0x18005efe0
mov r8, qword [rcx]
and r8, 0xfffffffffffffffe
or r8, r12
mov qword [r10 + 8], r8
mov qword [rcx], r10
mov r8, qword [r10 + 8]
and r8d, 1
mov r9, qword [rcx + 8]
and r9, 0xfffffffffffffffe
or r9, r8
mov qword [rcx + 8], r9
or byte [r10 + 8], 1
test r11, r11
je 0x18005eb15
cmp qword [r11], r10
je 0x18005de1a
jmp 0x18005dfb0
mov r10, qword [rdx]
mov r8, r10
mov r12, 0xfffffffffffff000
and r8, r12
mov r9, qword [rcx + 0x10]
and r9, r12
xor r12d, r12d
cmp r8, r9
seta r12b
mov r8d, 0xffffffff
cmovb r12d, r8d
test r12d, r12d
jne 0x18005dd6d
jmp 0x18005e050
mov r12, qword [rcx + 8]
and r12, 0xfffffffffffffffe
mov r10, rcx
test r12, r12
jne 0x18005d6b7
mov r10, r11
mov qword [rax], 0
mov qword [rax + 8], 1
cmp r13d, 1
jne 0x18005ddb9
mov rdx, qword [rcx + 8]
and edx, 1
mov r8, rdx
or r8, rax
mov qword [rcx + 8], r8
mov r8, qword [rax]
and r8, 0xfffffffffffffffe
or r8, rdx
mov qword [rcx + 8], r8
mov qword [rax], rcx
mov rdx, qword [rcx + 8]
and edx, 1
mov r8, qword [rax + 8]
and r8, 0xfffffffffffffffe
or r8, rdx
mov qword [rax + 8], r8
or byte [rcx + 8], 1
cmp qword [r10], rcx
mov r9, qword [rsp + 0x50]
jne 0x18005dd44
mov qword [r10], rax
jmp 0x18005ddc1
test r8d, r8d
je 0x18005dc18
mov r8, qword [rcx + 8]
xor r11d, r11d
mov r9, r8
and r9, 0xfffffffffffffffe
je 0x18005d8d7
mov rdx, qword [r9]
test rdx, rdx
je 0x18005d8d7
test byte [rdx + 8], 1
jne 0x18005d2dc
mov r10, qword [rcx]
test r10, r10
je 0x18005eb46
mov r9, qword [r10 + 8]
test r9b, 1
jne 0x18005e076
or r8, 1
mov qword [rcx + 8], r8
mov rdx, qword [r10]
test rdx, rdx
je 0x18005d90f
mov r8, qword [rdx + 8]
test r8b, 1
jne 0x18005e23c
or byte [r10 + 8], 1
mov rdx, qword [rcx + 8]
mov r9, rdx
and r9, 0xfffffffffffffffe
je 0x18005f1f6
mov r8, qword [r9]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
mov qword [rcx + 8], rdx
mov qword [r9], rcx
lea rcx, [rsp + 0xc8]
mov qword [rcx], r9
jmp 0x18005d2dc
mov r8, qword [r9]
test r8, r8
je 0x18005d95c
test byte [r8 + 8], 1
jne 0x18005d2d9
or rdx, 1
mov qword [r9 + 8], rdx
mov r8, qword [rcx + 8]
mov rdx, r8
and rdx, 0xfffffffffffffffe
je 0x18005eafa
mov r9, qword [rdx]
test r9, r9
je 0x18005d98b
mov r10, qword [r9 + 8]
test r10b, 1
jne 0x18005e2a9
or r8, 1
mov qword [rcx + 8], r8
mov r8, qword [rdx]
or r8, 1
mov qword [rcx + 8], r8
mov qword [rdx], rcx
mov r9, rdx
and byte [r9 + 8], 0xfe
lea rcx, [rsp + 0xc8]
mov qword [rcx], r9
jmp 0x18005d2d9
xor r9d, r9d
test dl, 0x10
cmove r9, rax
xor r8d, r8d
cmp r9, rcx
seta dl
jb 0x18005d2c0
mov r8b, dl
jmp 0x18005d2b6
and rdx, 0xfffffffffffffffe
mov rcx, qword [r8 + 8]
and ecx, 1
or rcx, rdx
mov qword [r8 + 8], rcx
jmp 0x18005d50d
or r9, 1
mov qword [r13 + 8], r9
mov rdx, qword [r13]
test rdx, rdx
je 0x18005da10
mov r9, qword [rdx + 8]
test r9b, 1
jne 0x18005de22
mov rdx, qword [rcx + 8]
mov r9, rdx
and r9, 0xfffffffffffffffe
je 0x18005f060
mov r12, r11
mov r11, qword [r9]
and r11, 0xfffffffffffffffe
and edx, 1
or rdx, r11
mov qword [rcx + 8], rdx
mov qword [r9], rcx
mov r11, r12
jmp 0x18005d496
mov r13, qword [rsi + 0x68]
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], 0
xor ecx, ecx
cmp r13, r10
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
je 0x18005dde8
test eax, eax
je 0x18005e190
test r13, r13
je 0x18005eb6b
mov rcx, qword [r13 + 0x10]
xor r12d, r12d
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18005e1d7
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18005e1d7
test byte [rdx + 0x10], 1
je 0x18005e1d7
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, r12
mov r11d, 0xffffffff
xor r12d, r12d
mov r10, r13
mov r13, rax
xor eax, eax
cmp r13, rdx
setb al
cmova eax, r11d
cmp eax, 0xffffffff
jne 0x18005db13
test r13, r13
je 0x18005e6a4
mov rax, qword [r13 + 8]
test rax, rax
je 0x18005e6a1
test byte [rax + 0x10], 1
jne 0x18005dac3
mov qword [rsp + 0x40], r10
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18005e32c
test byte [rcx + 0x10], 1
jne 0x18005dac3
jmp 0x18005e32c
test eax, eax
jne 0x18005db33
test r13, r13
je 0x18005f17e
mov rax, qword [r13 + 0x10]
mov r9, r10
cmp rax, 1
jbe 0x18005dc44
jmp 0x18005db40
test r13, r13
je 0x18005eb5e
mov rax, qword [r13 + 0x10]
and rax, 0xfffffffffffffffe
mov qword [rsp + 0x40], r10
je 0x18005db5e
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18005db5e
test byte [rcx + 0x10], 1
jne 0x18005dac3
mov qword [rsp + 0x48], r9
lea rcx, [rsp + 0xa8]
mov rdx, r13
call fcn.180039460
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 8], r13
jne 0x18005e30d
jmp 0x18005e585
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r11d, 0xffffffff
jmp 0x18005dac3
mov rdx, qword [rsi + 0x70]
test rdx, rdx
jne 0x18005dd82
lea r9, [rsp + 0xc8]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.180062350
test rax, rax
je 0x18005dcc2
mov r14, rax
mov r8b, byte [rsp + 0xc8]
mov rcx, rsi
mov rdx, rax
call fcn.180062ab0
add r14, 0x3000
jmp 0x18005ce2b
mov rcx, r9
and rcx, 0xfffffffffffffffe
mov rdx, qword [r8 + 8]
and edx, 1
or rdx, rcx
mov qword [r8 + 8], rdx
mov rcx, r8
jmp 0x18005d2e3
mov r8, qword [rcx + 8]
cmp r8, 1
mov r10, qword [rsp + 0x30]
ja 0x18005e399
mov rdx, qword [rcx]
test rdx, rdx
jne 0x18005e152
mov qword [rsp + 0xc8], rdx
jmp 0x18005d512
mov r12, qword [r13 + 8]
test r12, r12
je 0x18005e048
mov rax, qword [r12 + 0x10]
and rax, 0xfffffffffffffffe
mov qword [r13 + 8], rax
mov rax, r13
and rax, 0xfffffffffffffffe
mov rcx, qword [r12 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r12 + 0x10], rcx
mov rcx, qword [r13 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r12 + 0x10], rcx
or byte [r13 + 0x10], 1
and qword [r12 + 0x10], 1
cmp qword [r10 + 8], r13
jne 0x18005df99
mov qword [r10 + 8], r12
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x68], rax
test rdx, rdx
je 0x18005f186
xorps xmm0, xmm0
movups xmmword [rdx + 8], xmm0
test r8b, r8b
jne 0x18005d5ae
mov qword [r15], 0
mov bpl, 1
jmp 0x18005c637
and r8, 0xfffffffffffffffe
mov qword [rax + 8], r8
mov r9, qword [rdx]
test r9, r9
je 0x18005f199
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]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18005f1b3
mov r8, qword [rax]
and r8, 0xfffffffffffffffe
and ecx, 1
or rcx, r8
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [r9 + 8]
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
jmp 0x18005cce1
mov al, 1
jmp 0x18005cfba
mov rdx, qword [r10 + 8]
mov r8, rdx
and r8, 0xfffffffffffffffe
cmp rcx, r8
jne 0x18005ddc1
and edx, 1
or rdx, rax
mov qword [r10 + 8], rdx
jmp 0x18005ddc1
lea r14, [rsp + 0xc8]
jmp 0x18005cc69
mov r13d, 1
cmp r12d, 0xffffffff
jne 0x18005d82a
jmp 0x18005e1c9
mov qword [rsi + 0x70], 0
lea r14, [rdx + 0x3000]
add rdx, 0x68
mov rcx, r12
call fcn.180062bd0
jmp 0x18005ce2b
mov qword [rax], 0
mov qword [rax + 8], 1
lea rcx, [rsp + 0xc8]
mov r9, qword [rsp + 0x50]
mov qword [rcx], rax
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x18005f12b
and byte [rax + 8], 0xfe
mov qword [r9], rax
mov r10, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
jmp 0x18005d53a
test r13, r13
je 0x18005e126
mov rax, qword [r13 + 8]
test rax, rax
je 0x18005e126
test byte [rax + 0x10], 1
je 0x18005e113
xor r9d, r9d
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jmp 0x18005daba
mov qword [r11], rcx
jmp 0x18005d7f1
and r9, 0xfffffffffffffffe
mov qword [rdx + 8], r9
mov r9, qword [rcx]
test r9, r9
je 0x18005f073
mov r13, r11
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, rdx
mov qword [r9 + 8], r11
mov rdx, qword [rcx + 8]
mov r12, rdx
and r12, 0xfffffffffffffffe
je 0x18005f08d
mov r11, qword [r12]
and r11, 0xfffffffffffffffe
and edx, 1
or rdx, r11
mov qword [rcx + 8], rdx
mov qword [r12], rcx
mov rdx, qword [r9 + 8]
and edx, 1
or rdx, r12
mov qword [r9 + 8], rdx
mov r11, r13
jmp 0x18005d496
test r11, r11
je 0x18005f1d9
cmp qword [r11], rax
jne 0x18005e37e
mov qword [r11], rcx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rdx, qword [rax + 8]
and rdx, 0xfffffffffffffffe
mov r9, qword [rcx + 8]
and r9d, 1
or r9, rdx
mov qword [rcx + 8], r9
mov r9, qword [rax + 8]
and r9d, 1
or r9, rdx
mov qword [rcx + 8], r9
cmp qword [r8], rcx
jne 0x18005f1ec
mov qword [r8], 0
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
jmp 0x18005d512
and rdx, 0xfffffffffffffffe
mov qword [r12], rdx
mov rdx, qword [r9 + 8]
and edx, 1
or rdx, r12
mov qword [r9 + 8], rdx
and r9, 0xfffffffffffffffe
mov rdx, qword [rcx + 8]
and edx, 1
lea r12, [rdx + r9]
mov qword [rcx + 8], r12
test r9, r9
je 0x18005eeea
mov r12, qword [r9]
and r12, 0xfffffffffffffffe
or r12, rdx
mov qword [rcx + 8], r12
mov qword [r9], rcx
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffffe
je 0x18005df52
mov r12, qword [rdx + 8]
test r12b, 1
jne 0x18005e410
mov qword [rcx + 8], rdx
jmp 0x18005d3a6
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8, qword [rax + 8]
and r8d, 1
or r8, rcx
mov qword [rax + 8], r8
mov r8, qword [rdx + 8]
and r8d, 1
or r8, rcx
mov qword [rax + 8], r8
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x18005cb7d
and r12, 0xfffffffffffffffe
mov rax, qword [r10 + 0x10]
and eax, 1
or rax, r12
mov qword [r10 + 0x10], rax
jmp 0x18005dc9d
mov r8, qword [r11 + 8]
and r8d, 1
or r8, rcx
mov qword [r11 + 8], r8
jmp 0x18005d7f1
and r12d, 1
mov r11, qword [r9 + 8]
and r11, 0xfffffffffffffffe
or r11, r12
mov qword [r9 + 8], r11
and byte [rdx + 8], 0xfe
mov rdx, qword [r13 + 8]
mov r9, rdx
and r9, 0xfffffffffffffffe
je 0x18005f03a
mov r11, qword [r9]
and r11, 0xfffffffffffffffe
and edx, 1
or rdx, r11
mov qword [r13 + 8], rdx
mov qword [r9], r13
mov qword [rcx], r9
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r11, qword [r9 + 8]
and r11d, 1
or r11, rdx
mov qword [r9 + 8], r11
mov r13, qword [rcx + 8]
mov r12, r13
and r12, 0xfffffffffffffffe
jne 0x18005d468
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
xor r12d, r12d
jmp 0x18005dc8f
test r10b, 0x10
mov r8d, 0
cmove r8, rax
xor r13d, r13d
cmp r8, rcx
seta r9b
jb 0x18005e1c9
mov r13b, r9b
jmp 0x18005d82a
and r9, 0xfffffffffffffffe
je 0x18005eb2e
mov r12, r11
mov r11, qword [r9]
test r11, r11
je 0x18005e096
test byte [r11 + 8], 1
jne 0x18005e593
and r8d, 1
or r8, r9
mov qword [r10 + 8], r8
or byte [r9 + 8], 1
mov r9, qword [rcx]
test r9, r9
je 0x18005f209
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r8, qword [r9 + 8]
and r8d, 1
or r8, rdx
mov qword [r9 + 8], r8
mov r10, qword [rcx + 8]
mov r8, r10
and r8, 0xfffffffffffffffe
je 0x18005f223
mov rdx, qword [r8]
and rdx, 0xfffffffffffffffe
and r10d, 1
or r10, rdx
mov qword [rcx + 8], r10
mov qword [r8], rcx
mov rdx, qword [r9 + 8]
and edx, 1
or rdx, r8
mov qword [r9 + 8], rdx
or byte [rcx + 8], 1
mov r11, r12
jmp 0x18005d939
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18005e126
test byte [rcx + 0x10], 1
jne 0x18005de08
lea r12, [rsp + 0xb8]
mov rcx, r12
mov rdx, r13
call fcn.180039300
mov rax, qword [r12]
test rax, rax
je 0x18005f2ba
and byte [rax + 0x10], 0xfe
xor r12d, r12d
jmp 0x18005e3c1
mov r8, qword [rdx + 8]
and r8, 0xfffffffffffffffe
mov qword [rcx], r8
mov r8, rcx
and r8, 0xfffffffffffffffe
mov r9, qword [rdx + 8]
and r9d, 1
or r9, r8
mov qword [rdx + 8], r9
mov r9, qword [rcx + 8]
and r9d, 1
or r9, r8
mov qword [rdx + 8], r9
or byte [rcx + 8], 1
and qword [rdx + 8], 1
jmp 0x18005dc37
test r13, r13
je 0x18005e1b0
mov rcx, qword [r13 + 0x10]
cmp rcx, 1
ja 0x18005e7c1
mov rax, qword [r13 + 8]
test rax, rax
jne 0x18005e3d2
xor eax, eax
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jmp 0x18005dc9d
mov r12, qword [rcx]
mov r13d, 0xffffffff
jmp 0x18005d832
mov rax, qword [r13 + 8]
test rax, rax
je 0x18005f240
test byte [rax + 0x10], 1
jne 0x18005e3a6
or rcx, 1
mov qword [r13 + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18005e20c
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x18005e631
or byte [rax + 0x10], 1
mov rcx, qword [r13 + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18005f2cd
mov rdx, qword [rax + 8]
and rdx, 0xfffffffffffffffe
and ecx, 1
or rcx, rdx
mov qword [r13 + 0x10], rcx
mov qword [rax + 8], r13
jmp 0x18005e3c1
and r8, 0xfffffffffffffffe
mov qword [rdx + 8], r8
mov r9, qword [rcx]
test r9, r9
je 0x18005f25b
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r8, qword [r9 + 8]
and r8d, 1
or r8, rdx
mov qword [r9 + 8], r8
mov rdx, qword [rcx + 8]
mov r8, rdx
and r8, 0xfffffffffffffffe
je 0x18005f275
mov r10, qword [r8]
and r10, 0xfffffffffffffffe
and edx, 1
or rdx, r10
mov qword [rcx + 8], rdx
mov qword [r8], rcx
mov rcx, qword [r9 + 8]
and ecx, 1
or rcx, r8
mov qword [r9 + 8], rcx
jmp 0x18005d939
and r10, 0xfffffffffffffffe
mov qword [rdx], r10
mov r8, qword [r9 + 8]
and r8d, 1
or r8, rdx
mov qword [r9 + 8], r8
and r9, 0xfffffffffffffffe
mov rdx, qword [rcx + 8]
and edx, 1
lea r8, [rdx + r9]
mov qword [rcx + 8], r8
test r9, r9
je 0x18005f288
mov r8, qword [r9]
and r8, 0xfffffffffffffffe
or r8, rdx
mov qword [rcx + 8], r8
mov qword [r9], rcx
mov rdx, qword [rcx + 8]
and rdx, 0xfffffffffffffffe
je 0x18005e304
mov r8, qword [rdx + 8]
test r8b, 1
jne 0x18005e721
mov qword [rcx + 8], rdx
jmp 0x18005d9a4
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov r13, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x10]
and edx, 1
or rdx, rcx
mov qword [r13 + 0x10], rdx
jmp 0x18005db8f
mov qword [rsp + 0x48], r9
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.180039300
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 8], r13
jne 0x18005f29b
mov r10, qword [rsp + 0x40]
mov qword [r10 + 8], rax
mov r13, rax
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r11d, 0xffffffff
jmp 0x18005dac9
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r9, qword [r11 + 8]
and r9d, 1
or r9, rdx
mov qword [r11 + 8], r9
jmp 0x18005deac
lea r11, [rsp + 0xc8]
jmp 0x18005d8bc
lea rcx, [rsp + 0xb8]
mov rdx, r13
call fcn.180039460
lea rax, [rsp + 0xb8]
mov rax, qword [rax]
lea r13, [rsp + 0xc8]
mov qword [r13 + 8], rax
jmp 0x18005daad
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [r13 + 8], rcx
mov rcx, r13
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [r13 + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
or byte [r13 + 0x10], 1
and qword [rax + 0x10], 1
jmp 0x18005e1b2
and r12, 0xfffffffffffffffe
mov qword [rdx + 8], r12
mov rdx, qword [rcx + 8]
mov r12, rdx
or r12, 1
mov qword [rcx + 8], r12
and rdx, 0xfffffffffffffffe
je 0x18005eed7
mov r12, qword [rdx]
or r12, 1
mov qword [rcx + 8], r12
mov qword [rdx], rcx
mov qword [r9], rdx
jmp 0x18005d3a6
lea rcx, [0x1800cb774]
call fcn.180060ac0
cmp dword [0x1800cb774], 0xffffffff
jne 0x18005c47c
mov eax, dword [0x1800cb600]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x18005e4bd
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x18005e4bd
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov qword [0x1800cb5f8], rax
lea rcx, [0x1800cb600]
call fcn.180060b40
mov r14, qword [0x1800cb5f8]
cmp r14, 0x1000
jne 0x18005e566
call fcn.180002fa0
mov qword [0x1800cb640], rax
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18005f466
call fcn.180002e80
mov qword [0x1800cb648], rax
lea rsi, [0x1800cb618]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800cb648]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax], rdx
mov r8, rcx
shl r8, 0x17
xor r8, rcx
mov rcx, rdx
shr rcx, 0x1a
xor rcx, rdx
xor rcx, r8
shr r8, 0x11
xor r8, rcx
mov qword [rax + 8], r8
add edx, r8d
and edx, 0x1ffff
inc edx
mov dword [0x1800cb610], edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r14, 0x1000
sete byte [0x1800cb770]
lea rcx, [0x1800cb774]
call fcn.180060b40
jmp 0x18005c47c
mov r13, qword [rsp + 0x40]
mov qword [r13 + 8], rax
jmp 0x18005db8f
and r8d, 1
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
or rdx, r8
mov qword [r9 + 8], rdx
and byte [r11 + 8], 0xfe
mov rdx, qword [r10 + 8]
mov r9, rdx
and r9, 0xfffffffffffffffe
je 0x18005f2e0
mov r8, qword [r9]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
mov qword [r10 + 8], rdx
mov qword [r9], r10
mov qword [rcx], r9
mov rdx, qword [r9 + 8]
and rdx, 0xfffffffffffffffe
mov qword [rcx], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r8, qword [r9 + 8]
and r8d, 1
or r8, rdx
mov qword [r9 + 8], r8
mov r10, qword [rcx + 8]
mov r8, r10
and r8, 0xfffffffffffffffe
jne 0x18005e0e4
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov r8d, 0x100000
mov rcx, rsi
mov rdx, rbx
mov r9b, 1
call fcn.180001df0
jmp 0x18005cb47
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [r13 + 8]
test rax, rax
je 0x18005f2f3
mov rcx, qword [rax + 0x10]
and rcx, 0xfffffffffffffffe
mov qword [r13 + 8], rcx
mov rcx, r13
and rcx, 0xfffffffffffffffe
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
mov rdx, qword [r13 + 0x10]
mov rcx, rdx
and rcx, 0xfffffffffffffffe
je 0x18005f30e
mov r8, qword [rcx + 8]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
mov qword [r13 + 0x10], rdx
mov qword [rcx + 8], r13
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
jmp 0x18005e3c1
mov r12, r13
test r9, r9
je 0x18005f321
mov rax, qword [rsp + 0x30]
cmp qword [r9 + 8], rax
jne 0x18005ea12
mov qword [r9 + 8], r12
cmp qword [rsp + 0x30], 0
je 0x18005f341
test r13, r13
je 0x18005f366
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 8]
mov qword [r12 + 8], rax
mov rcx, qword [rdx + 0x10]
and rcx, 0xfffffffffffffffe
mov rax, qword [r12 + 0x10]
and eax, 1
or rax, rcx
mov qword [r12 + 0x10], rax
mov rax, qword [rdx + 0x10]
and eax, 1
or rax, rcx
mov qword [r12 + 0x10], rax
cmp qword [r10 + 8], r12
jne 0x18005f35c
mov qword [r10 + 8], 0
jmp 0x18005e1ba
and r8, 0xfffffffffffffffe
mov qword [rdx + 8], r8
mov rdx, qword [rcx + 8]
mov r8, rdx
or r8, 1
mov qword [rcx + 8], r8
and rdx, 0xfffffffffffffffe
je 0x18005f379
mov r8, qword [rdx]
or r8, 1
mov qword [rcx + 8], r8
mov qword [rdx], rcx
mov qword [r9], rdx
jmp 0x18005d9a4
mov byte [rsi + 0x78], 0
lea rcx, [rsp + 0xc8]
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
xor ebx, ebx
mov r14d, 0
test al, al
je 0x18005e782
mov r14, qword [rsp + 0xc8]
lea rcx, [rsp + 0xc8]
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x18005e7a0
mov rbx, qword [rsp + 0xc8]
mov ecx, 0x10
call fcn.1800022d0
mov qword [rax], r14
mov qword [rax + 8], rbx
mov qword [rsi + 0x80], rax
mov byte [rsi + 0x78], 1
jmp 0x18005c5a0
lea r12, [rsp + 0xc8]
jmp 0x18005da89
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp dword [0x1800cb718], 0
jne 0x18005ea00
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18005f38c
mov eax, dword [0x1800cb600]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x18005e865
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x18005e865
lea rdi, [rsp + 0xc8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov qword [0x1800cb5f8], rax
lea rcx, [0x1800cb600]
call fcn.180060b40
mov eax, 0x1000
xor edx, edx
div qword [0x1800cb5f8]
test rdx, rdx
jne 0x18005f396
lea rcx, str.MALLOC_OPTIONS
lea rdi, [0x1800cb730]
mov rdx, rdi
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor r14d, r14d
test eax, eax
cmovne r14, rdi
je 0x18005e8b2
mov al, byte [0x1800cb730]
test al, al
jne 0x18005ea4d
xor r14d, r14d
mov qword [0x1800cb6b8], r14
lea rcx, [0x1800cb680]
mov rdi, qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov edx, 0x1388
call rdi
mov qword [0x1800cb6a8], r14
mov qword [0x1800cb6b0], r14
lea rcx, [0x1800cb5b8]
mov edx, 0x1388
call rdi
mov qword [0x1800cb5e0], r14
mov qword [0x1800cb5e8], r14
mov qword [0x1800cb5f0], r14
lea rcx, [0x1800cb6c0]
mov edx, 0x1388
call rdi
mov qword [0x1800cb710], r14
mov qword [0x1800cb700], r14
xorps xmm0, xmm0
movups xmmword [0x1800cb578], xmm0
mov qword [0x1800cb588], r14
lea rcx, [0x1800cb540]
mov qword [rsp + 0xd0], r14
mov dword [rsp + 0xd8], 0
mov rax, qword [0x1800cb038]
mov qword [rsp + 0xc8], rax
mov edx, 0x1388
call rdi
test eax, eax
je 0x18005f3c2
lea rdx, [rsp + 0xc8]
xor ecx, ecx
call fcn.180053590
mov qword [0x1800cb568], rax
test rax, rax
je 0x18005f3eb
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 8], 0
je 0x18005f3cf
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x10], rax
lea rcx, [0x1800cb650]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x20
call fcn.1800022d0
test rax, rax
je 0x18005f3e0
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [0x1800cb678], rax
mov dword [0x1800cb718], 1
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18005c52d
mov rax, r12
and rax, 0xfffffffffffffffe
mov rcx, qword [r9 + 0x10]
and ecx, 1
or rcx, rax
mov qword [r9 + 0x10], rcx
jmp 0x18005e6c0
or r11, 1
mov qword [rdx + 8], r11
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
xor r15d, r15d
movsx edx, al
lea ecx, [rdx - 0x30]
cmp cl, 9
jbe 0x18005f3fd
xor ecx, ecx
cmp edx, 0x72
jne 0x18005f422
mov byte [0x1800cb5b0], 1
inc r15d
mov al, byte [r14 + r15]
test al, al
jne 0x18005ea50
jmp 0x18005e8b2
xor eax, eax
jmp 0x18005d01a
or rcx, 1
mov qword [rdx + 8], rcx
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
or r13, 1
mov qword [rcx + 8], r13
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x18005f4eb
cmp eax, 8
je 0x18005f4eb
xor eax, eax
jmp 0x18005cfab
and r12d, 1
mov qword [r13 + 8], r12
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
or r8, 1
mov qword [rcx + 8], r8
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
and r8d, 1
mov qword [r10 + 8], r8
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
or r8, 1
mov qword [rcx + 8], r8
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
mov qword [rsp + 0x40], r10
xor r13d, r13d
jmp 0x18005db5e
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
xor esi, esi
jmp 0x18005c520
mov rsi, qword [0x1800cb588]
test rsi, rsi
je 0x18005ebc1
mov eax, 0xffffffff
xor ecx, ecx
cmp qword [rsi + 0x10], rdi
setb cl
cmova ecx, eax
cmp ecx, 0xffffffff
je 0x18005ebb9
test ecx, ecx
je 0x18005c520
mov rsi, qword [rsi + 8]
and rsi, 0xfffffffffffffffe
jmp 0x18005ebbc
mov rsi, qword [rsi]
test rsi, rsi
jne 0x18005eb96
lea rax, str.MOZ_RELEASE_ASSERT_result_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lock inc qword [0x1800cb608]
lock dec dword [0x1800cb610]
jne 0x18005c4a4
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x18005ec10
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 9], 0
jne 0x18005c4a4
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x18005ec51
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 9], 1
lea r9, [rsp + 0xc8]
mov qword [r9], 0
mov rdx, qword [rsp + 0x198]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rcx, [0x180067240]
mov r8d, 0x10
call fcn.18009d790
lea rcx, [0x1800cb618]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x1800cb608]
mov r12, qword [0x1800cb648]
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
mov rax, rcx
shl rax, 0x17
xor rax, rcx
mov rcx, rdx
shr rcx, 0x1a
xor rcx, rdx
xor rcx, rax
shr rax, 0x11
xor rax, rcx
lea ecx, [rdx + rax]
and ecx, 0x7fff
inc ecx
mov dword [rsp + 0x40], ecx
mov qword [r12], rax
mov rcx, rdx
shl rcx, 0x17
xor rcx, rdx
mov r14, rcx
shr r14, 0x11
mov rdx, rax
shr rdx, 0x1a
xor r14, rcx
xor r14, rax
xor r14, rdx
mov qword [r12 + 8], r14
add r14, rax
mov ebp, 0x100
movzx r14d, r14b
imul r13, r14, 0x148
cmp dword [r12 + r13 + 0x10], 1
je 0x18005ed82
cmp qword [r12 + r13 + 0x150], rsi
ja 0x18005ed82
mov rax, qword [0x1800cb640]
mov rax, qword [rax]
mov rcx, r14
shl rcx, 0xd
lea r15, [rax + rcx]
add r15, 0x1000
mov edx, 0x1000
mov rcx, r15
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r12, qword [0x1800cb648]
test rax, rax
jne 0x18005eefd
inc r14
dec rbp
jne 0x18005ed1f
xor r15d, r15d
mov eax, dword [rsp + 0x40]
mov dword [0x1800cb610], eax
lea rcx, [0x1800cb618]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.180067250
test r15, r15
je 0x18005c4a4
jmp 0x18005c65e
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov rsi, qword [rsi + 8]
and rsi, 0xfffffffffffffffe
jmp 0x18005c4f5
call fcn.180060de8
jmp 0x18005c6eb
xor edx, edx
jmp 0x18005c9b9
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
and r10d, 1
mov qword [r11 + 8], r10
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
mov rdx, r9
and rdx, 0xfffffffffffffffe
mov r10, qword [rcx + 8]
and r10d, 1
or r10, rdx
mov qword [rcx + 8], r10
jmp 0x18005c7eb
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
cmp rbx, 8
ja 0x18005eff3
mov rax, rbx
mov ecx, 0x40
dec rax
je 0x18005ef1c
bsr rcx, rax
xor rcx, 0x3f
neg cl
mov esi, 1
shl rsi, cl
cmp rsi, 0x11
mov eax, 0x10
cmovb rsi, rax
cmp rbx, 2
cmovb rsi, rax
sub r15, rsi
add r15, 0x1000
lea r14, [r12 + r13]
add r14, 0x30
mov dword [r14 - 0x20], 1
mov qword [r14 - 0x18], rdi
mov bpl, 1
mov byte [r14 - 0x10], bpl
mov eax, dword [rsp + 0xc1]
mov ecx, dword [rsp + 0xc4]
mov dword [r14 - 0xf], eax
mov dword [r14 - 0xc], ecx
mov qword [r14 - 8], r15
lea rdx, [rsp + 0xc8]
mov r8d, 0x88
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + 0x88], bpl
cmp byte [r14 + 0x118], 0
je 0x18005efaf
mov eax, 0x148
add rax, r13
add rax, r12
mov byte [rax], 0
mov qword [r12 + r13 + 0x150], 0xffffffffffffffff
mov rcx, r15
xor edx, edx
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
jmp 0x18005ed8d
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
cmp rbx, 0x1f0
ja 0x18005f0a8
lea rsi, [rbx + 0xf]
and rsi, 0xfffffffffffffff0
jmp 0x18005ef3b
mov qword [rcx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov qword [rcx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov rax, rcx
jmp 0x18005cdfd
mov esi, 0x1000
cmp rbx, 0xf00
ja 0x18005ef3b
lea rsi, [rbx + 0xff]
and rsi, 0xffffffffffffff00
jmp 0x18005ef3b
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
and qword [rcx + 8], 1
jmp 0x18005c9c7
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
or rax, 1
mov qword [rdx + 8], rax
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
mov rcx, r9
and rcx, 0xfffffffffffffffe
mov rdx, qword [r8 + 8]
and edx, 1
or rdx, rcx
mov qword [r8 + 8], rdx
jmp 0x18005d2e6
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
xor r13d, r13d
jmp 0x18005dc8f
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
and qword [r8 + 8], 1
jmp 0x18005dee8
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov qword [rcx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
call fcn.180060de8
jmp 0x18005c735
or rcx, 1
mov qword [r13 + 0x10], rcx
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
mov qword [rcx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov r10, qword [rsp + 0x40]
mov rdx, qword [r10 + 0x10]
and edx, 1
or rdx, rcx
mov qword [r10 + 0x10], rdx
jmp 0x18005e361
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eaef
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
mov qword [r13 + 8], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005eb23
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test r13, r13
je 0x18005f366
mov qword [r12 + 8], 0
and qword [r12 + 0x10], 1
xor eax, eax
jmp 0x18005e705
and qword [r10 + 0x10], 1
jmp 0x18005e1ba
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
jmp 0x18005ea42
call fcn.180060de8
jmp 0x18005e808
lea rcx, str._jemalloc_
lea rdx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.180066f70
lea rax, str.MOZ_CRASH__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [0x1800cb568], 0
jmp 0x18005f3eb
call fcn.180060de8
mov rax, qword [0x1800cb568]
jmp 0x18005e9a6
mov qword [0x1800cb678], 0
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18005c64f
xor ecx, ecx
lea eax, [rcx + rcx*4]
lea ecx, [rdx + rax*2]
add ecx, 0xffffffd0
inc r15d
mov al, byte [r14 + r15]
movsx edx, al
lea r8d, [rax - 0x30]
cmp r8b, 0xa
jae 0x18005ea61
jmp 0x18005f3ff
cmp edx, 0x46
jne 0x18005f470
cmp ecx, 1
adc ecx, 0
mov rax, qword [0x1800cb038]
xor edx, edx
test rax, rax
sete dl
cmp rax, 1
adc rax, 0
sub ecx, edx
shl rax, cl
test rax, rax
movabs rcx, 0x8000000000000000
cmovne rcx, rax
mov qword [0x1800cb038], rcx
jmp 0x18005ea71
call fcn.180060de8
jmp 0x18005e4fd
cmp edx, 0x52
jne 0x18005f481
mov byte [0x1800cb5b0], 0
jmp 0x18005ea71
cmp edx, 0x66
jne 0x18005f498
cmp ecx, 1
adc ecx, 0
shr qword [0x1800cb038], cl
jmp 0x18005ea71
lea rdi, [rsp + 0xc8]
mov byte [rdi], al
mov byte [rdi + 1], 0
lea rdx, str._jemalloc_
mov r12, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
mov ecx, 2
mov r8d, 0xa
call r12
lea rdx, str.:__malloc__Unsupported_character_in_malloc_options:_
mov ecx, 2
mov r8d, 0x35
call r12
lea rdx, [0x1800bf740]
mov rcx, rdi
call fcn.180066f70
jmp 0x18005ea71
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea rax, [rax + rax*4]
add rax, 5
mov qword [rsp + 0x80], rax
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rsp + 0x88], 0
jne 0x18005f577
cmp eax, 0x5af
je 0x18005f557
cmp eax, 8
jne 0x18005ead2
xor eax, eax
dec qword [rsp + 0x80]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
jne 0x18005f507
jmp 0x18005cfba
cmp eax, 0x5af
mov ecx, dword [rsp + 0x7c]
je 0x18005f58b
cmp eax, 8
jne 0x18005cf74
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x18005cf74