Function at 0x180046f00
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, 0x108
mov rdi, rdx
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov eax, dword [0x1800a6698]
test eax, eax
je 0x180048d83
mov rbx, rcx
lea rcx, [0x1800a66a0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x1800a66e0]
test rsi, rsi
je 0x180048d6a
mov eax, 0xffffffff
xor ecx, ecx
cmp qword [rsi + 0x10], rbx
setb cl
cmova ecx, eax
test ecx, ecx
je 0x180046f8a
cmp ecx, 0xffffffff
jne 0x180046f80
mov rsi, qword [rsi]
test rsi, rsi
jne 0x180046f5b
jmp 0x180048d6a
mov rsi, qword [rsi + 8]
and rsi, 0xfffffffffffffffe
jmp 0x180046f73
lea rcx, [0x1800a66a0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x1800a6698]
test eax, eax
je 0x180048ad1
test rdi, rdi
je 0x180048d8a
test rsi, rsi
je 0x180048d94
cmp rdi, 0xf00
ja 0x180047277
cmp rdi, 8
jbe 0x1800472e1
cmp rdi, 0x1f1
jae 0x18004710e
add rdi, 0xf
mov r15, rdi
and r15, 0xfffffffffffffff0
shr rdi, 4
dec rdi
lea r12, [rdi + rdi*2]
shl r12, 4
lea rdi, [rsi + r12]
add rdi, 0x98
cmp byte [rsi + 0x70], 0
je 0x180047011
cmp qword [rsi + 0x78], 0
je 0x180048a65
lea r13, [rsi + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r14, qword [rdi]
test r14, r14
je 0x18004712c
cmp dword [r14 + 0xc], 0
je 0x18004712c
mov eax, dword [r14 + 8]
mov edx, dword [r14 + rax*4 + 0x10]
test edx, edx
je 0x1800471ad
mov rbp, qword [rsi + 0x78]
test rbp, rbp
jne 0x1800470c2
bsf ebp, edx
mov edi, eax
shl edi, 5
or edi, ebp
mov ecx, dword [rsi + r12 + 0xc0]
imul rdi, qword [rsi + r12 + 0xa8]
add rcx, r14
add rdi, rcx
btc edx, ebp
mov dword [r14 + rax*4 + 0x10], edx
dec dword [r14 + 0xc]
test rdi, rdi
je 0x180047693
add qword [rsi + 0x50], r15
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x18004769c
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.18004b970
mov rax, rdi
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rbp], rcx
mov rdi, rbx
shl rdi, 0x17
xor rdi, rbx
mov rbx, rcx
shr rbx, 0x1a
xor rbx, rcx
xor rbx, rdi
shr rdi, 0x11
xor rbx, rdi
mov qword [rbp + 8], rbx
add ecx, ebx
mov ebp, edx
ror ebp, cl
test ebp, ebp
je 0x180047107
bsf ebp, ebp
add ebp, ecx
and ebp, 0x1f
jmp 0x180047052
mov ebp, 0x20
jmp 0x1800470fd
add rdi, 0xff
mov r15d, edi
and r15d, 0x1f00
shr rdi, 8
add rdi, 0x1d
jmp 0x180046fed
mov rdx, qword [rsi + r12 + 0xa0]
test rdx, rdx
mov qword [rsp + 0x58], rdi
je 0x1800473f3
lea r14, [rsi + r12]
add r14, 0xa0
mov rax, rdx
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x180047150
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], 0
xor ecx, ecx
cmp rdx, rdi
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
cmp eax, 0xffffffff
jne 0x18004732f
mov rbx, qword [rdx]
test rbx, rbx
je 0x180048d3b
mov rax, qword [rbx + 8]
test al, 1
je 0x18004720d
xor r9d, r9d
mov r8d, 0xffffffff
xor r10d, r10d
jmp 0x18004915d
mov ecx, dword [rsi + r12 + 0xbc]
mov edi, eax
shl edi, 5
inc eax
cmp eax, ecx
jae 0x18004768f
mov r8d, eax
mov ebp, dword [r14 + r8*4 + 0x10]
add edi, 0x20
test ebp, ebp
je 0x1800471ba
mov rdx, qword [rsi + 0x78]
test rdx, rdx
jne 0x18004729a
bsf edx, ebp
or edi, edx
mov ecx, dword [rsi + r12 + 0xc0]
add rcx, r14
imul rdi, qword [rsi + r12 + 0xa8]
add rdi, rcx
btc ebp, edx
mov dword [r14 + r8*4 + 0x10], ebp
mov dword [r14 + 8], eax
jmp 0x180047078
mov rcx, qword [rbx]
test rcx, rcx
je 0x18004721b
test byte [rcx + 8], 1
jne 0x18004719c
or rax, 1
mov qword [rbx + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18004956e
mov rbx, qword [rax]
test rbx, rbx
je 0x18004724a
mov rbp, qword [rbx + 8]
test bpl, 1
jne 0x1800476b6
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 + 0xc8]
mov qword [rdx], rbx
jmp 0x18004719c
cmp rdi, 0xfc000
ja 0x18004869e
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.180037d70
mov rdi, rax
jmp 0x180047092
mov r9, qword [rdx]
mov rcx, qword [rdx + 8]
mov qword [rdx], 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 [rdx + 8], rbx
add ecx, ebx
mov edx, ebp
ror edx, cl
test edx, edx
je 0x18004735a
bsf edx, edx
add edx, ecx
and edx, 0x1f
jmp 0x1800471e3
cmp rdi, 2
jb 0x1800476af
mov ecx, 0x40
mov eax, 0x40
dec rdi
je 0x180047302
bsr rax, rdi
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 rdi, rax
jmp 0x180046fed
test eax, eax
jne 0x180047364
mov rax, qword [rdx + 8]
cmp rax, 1
ja 0x180048514
mov rax, qword [rdx]
test rax, rax
jne 0x1800485f8
mov qword [rsp + 0xc8], rax
jmp 0x18004909d
mov edx, 0x20
jmp 0x1800472d7
mov rax, qword [rdx + 8]
xor r9d, r9d
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x180047386
mov rcx, qword [rbx]
test rcx, rcx
je 0x180047386
test byte [rcx + 8], 1
jne 0x18004719f
mov rcx, qword [rdx]
test rcx, rcx
je 0x180048d54
test byte [rcx + 8], 1
jne 0x180047fc7
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x1800473ba
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x180048129
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rbx, rax
and rbx, 0xfffffffffffffffe
je 0x1800490cf
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 + 0xc8]
mov qword [rdx], rbx
jmp 0x18004719f
mov r10, qword [rsi + r12 + 0xb0]
lea r11, [rsi + 0x90]
mov rcx, qword [rsi + 0x90]
test rcx, rcx
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r11
je 0x180047ffd
mov r9, rdi
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 0x18004745f
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180047437
jmp 0x180047472
cmp edi, 1
jne 0x180048df2
mov rcx, qword [rcx + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180047458
test rax, rax
mov rdi, r9
je 0x180047ffd
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 r9, r14
and r9, 0xfffffffffff00000
mov rax, qword [r9 + 0x18]
mov qword [rsp + 0xa0], rax
mov eax, r14d
shr eax, 0xc
movzx ecx, al
lea rax, [rcx*8]
lea rax, [rax + rax*2]
or rax, r9
mov qword [rsp + 0x50], rax
mov rdx, qword [rax + 0x30]
mov r8, r10
shr r8, 0xc
cmp r10, 0x1000
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x78], rdx
jb 0x180047718
cmp r8, 2
mov eax, 1
cmovae rax, r8
mov qword [rsp + 0x70], rax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
add rdi, 0x30
mov al, 1
mov dword [rsp + 0x38], eax
xor ebp, ebp
lea rbx, [rcx + rbp]
lea rax, [rbx + rbx*2]
test byte [r9 + rax*8 + 0x30], 0x60
jne 0x18004755e
inc rbp
cmp rbp, r8
setb al
mov dword [rsp + 0x38], eax
add rdi, 0x18
cmp rbp, qword [rsp + 0x70]
jne 0x180047531
jmp 0x180047720
cmp rbp, r8
jae 0x18004832b
mov rax, rdi
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax]
test cl, 0x60
je 0x18004759d
and rcx, 0xffffffffffffff9f
mov qword [rax], rcx
mov r11, qword [rsp + 0x28]
lea rcx, [r11 + rbp]
inc rcx
inc r11
mov qword [rsp + 0x28], r11
add rax, 0x18
cmp rcx, r8
jb 0x180047571
mov rcx, qword [rsp + 0x28]
shl rcx, 0xc
je 0x1800480cd
shl rbx, 0xc
add rbx, r9
mov eax, ebx
and eax, 0xff000
mov edx, 0x100000
sub rdx, rax
cmp rdx, rcx
cmovae rdx, rcx
mov qword [rsp + 0x98], rcx
mov rcx, rbx
mov qword [rsp + 0x88], rdx
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180048e14
mov rax, qword [rsp + 0x88]
add rbx, rax
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov eax, 0x100000
cmp rcx, rax
mov edx, 0x100000
cmovb rdx, rcx
test rcx, rcx
jne 0x1800475c9
mov r8b, 1
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
cmp qword [rsp + 0x28], 0
je 0x18004766e
test r8b, r8b
mov ecx, 0x20
mov eax, 4
cmovne rcx, rax
mov rax, qword [rsp + 0x28]
lea rax, [rax*8]
lea rdx, [rax + rax*2]
xor eax, eax
or qword [rdi + rax], rcx
add rax, 0x18
cmp rdx, rax
jne 0x180047661
test r8b, r8b
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
je 0x180047a75
mov rax, qword [rsp + 0x28]
add qword [rsi + 0x48], rax
jmp 0x180047541
dec dword [r14 + 0xc]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [0x1800a2f10]
mov dword [rax], 0xc
xor edi, edi
jmp 0x18004709b
xor ecx, ecx
jmp 0x180047305
and rbp, 0xfffffffffffffffe
mov qword [rax], rbp
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
and rbx, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rbx]
mov qword [rdx + 8], rcx
test rbx, rbx
je 0x1800490cf
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 0x18004770f
mov rcx, qword [rax + 8]
test cl, 1
jne 0x1800480f2
mov qword [rdx + 8], rax
jmp 0x180047263
mov dword [rsp + 0x38], 0
mov rax, qword [rsp + 0x50]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x28], rcx
add rax, 0x30
mov rdx, qword [r11]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x50], rax
mov rbp, qword [rax]
mov rcx, 0xfffffffffffff000
mov rax, rbp
and rax, rcx
and rcx, qword [rdx + 0x10]
xor edi, edi
cmp rax, rcx
seta dil
mov ecx, 0xffffffff
cmovae ecx, edi
test ecx, ecx
je 0x180047f59
cmp ecx, 0xffffffff
jne 0x180047d51
mov rdi, qword [rdx]
test rdi, rdi
je 0x180048d3b
mov rax, qword [rdi + 8]
test al, 1
mov r10, qword [rsp + 0x50]
je 0x180047df6
xor eax, eax
mov qword [rsp + 0x70], rax
mov r9, 0xfffffffffffff000
mov r8d, 0xffffffff
mov r11, rdx
mov rdx, rdi
mov rbp, qword [r10]
mov rax, rbp
and rax, r9
mov rdi, qword [rdi + 0x10]
and rdi, r9
xor ecx, ecx
cmp rax, rdi
seta cl
cmovb ecx, r8d
test ecx, ecx
je 0x18004780c
cmp ecx, 0xffffffff
jne 0x180047829
mov rdi, qword [rdx]
test rdi, rdi
je 0x1800482ac
mov rcx, qword [rdi + 8]
test cl, 1
jne 0x1800477b5
mov rax, qword [rdi]
test rax, rax
je 0x180047928
test byte [rax + 8], 1
jne 0x1800477b5
jmp 0x180047928
test bpl, 0x10
mov eax, 0
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x1800477e0
mov cl, al
jmp 0x1800477db
test ecx, ecx
je 0x180047911
mov rbp, qword [rdx + 8]
mov rdi, rbp
and rdi, 0xfffffffffffffffe
je 0x180047850
mov rax, qword [rdi]
test rax, rax
je 0x180047850
test byte [rax + 8], 1
jne 0x1800477b5
mov rcx, qword [rdx]
test rcx, rcx
je 0x180048d3b
mov rdi, qword [rcx + 8]
test dil, 1
je 0x180048059
and rdi, 0xfffffffffffffffe
je 0x180048d34
mov r10, qword [rdi]
test r10, r10
je 0x180047887
test byte [r10 + 8], 1
jne 0x1800485b4
and ebp, 1
or rbp, rdi
mov qword [rcx + 8], rbp
or byte [rdi + 8], 1
mov rdi, qword [rdx]
test rdi, rdi
je 0x1800490e8
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov r10, qword [rsp + 0x50]
je 0x1800490cf
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rax, qword [rdi + 8]
and eax, 1
or rax, rcx
mov qword [rdi + 8], rax
or byte [rdx + 8], 1
cmp qword [r11], rdx
jne 0x1800480d5
mov qword [r11], rdi
mov rdx, r11
jmp 0x1800477b5
mov rbp, qword [rdx + 8]
mov rax, r11
mov qword [rsp + 0x70], r11
cmp rbp, 1
jbe 0x18004797f
jmp 0x180047835
or rcx, 1
mov qword [rdi + 8], rcx
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x180048d27
mov rdi, qword [rcx]
test rdi, rdi
je 0x180047955
mov rax, qword [rdi + 8]
test al, 1
jne 0x1800481b8
or rbp, 1
mov qword [rdx + 8], rbp
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov rdi, rcx
cmp qword [r11], rdx
jne 0x180048dfa
mov qword [r11], rdi
jmp 0x1800477b8
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800479be
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 + 0x30]
mov r8, qword [rsp + 0x68]
jne 0x180047fe6
mov qword [r11], rcx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
shr rdx, 0xc
mov rax, qword [rsp + 0xc8]
mov qword [r11], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movups xmmword [rax], xmm0
cmp rdx, r8
jne 0x180047af8
cmp r10, 0x1000
jb 0x180047a5f
mov rax, r14
or rax, 1
cmp r8, 2
mov rdx, rcx
mov ecx, 1
cmovae rcx, r8
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 0x180047a52
dec qword [r9 + 0x18]
dec qword [rsi + 0x80]
mov qword [rdx + rbp], rax
add rbp, 0x18
cmp rcx, rbp
jne 0x180047a41
cmp qword [r9 + 0x18], 0
jne 0x180047a75
cmp qword [rsp + 0xa0], 0
jne 0x180047e8c
test byte [rsp + 0x38], 1
mov rdi, qword [rsp + 0x58]
jne 0x1800484af
test r14, r14
je 0x1800484af
cmp qword [rdi], r14
je 0x1800490b9
mov qword [r14], rdi
xor eax, eax
cmp dword [rsi + r12 + 0xbc], 1
jne 0x180047e64
xor edx, edx
mov ebp, dword [rsi + 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 [r14 + rdx*4 + 0x10], eax
mov dword [r14 + 8], 0
mov eax, dword [rsi + r12 + 0xb8]
mov dword [r14 + 0xc], eax
inc dword [rsi + r12 + 0xc4]
mov rax, qword [rsp + 0x58]
mov qword [rax], r14
jmp 0x180047035
mov rax, rcx
add rcx, rdx
sub rdx, r8
shl rdx, 0xc
add rax, r8
lea rax, [rax + rax*2]
mov r10, r11
lea r11, [r9 + rax*8 + 0x20]
mov rdi, rdx
mov edx, 0xfff
mov rbp, qword [r11 + 0x10]
and rbp, rdx
or rbp, rdi
mov qword [r11 + 0x10], rbp
lea rcx, [rcx + rcx*2]
and rdx, qword [r9 + rcx*8 + 0x18]
or rdx, rdi
mov qword [r9 + rcx*8 + 0x18], rdx
mov rcx, qword [r10]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], 0
test rcx, rcx
je 0x18004828c
mov ebx, dword [rsp + 0x38]
lea rax, [r9 + rax*8]
add rax, 0x30
mov qword [rsp + 0x28], rax
lea rdi, [rsp + 0xc8]
xor r9d, r9d
mov r10, r9
mov r9, rdi
mov rdi, qword [rcx]
test rdi, rdi
je 0x180047c10
mov rax, qword [rdi + 8]
test al, 1
je 0x180047c10
mov r8, qword [rdi]
test r8, r8
je 0x180047ba0
test byte [r8 + 8], 1
jne 0x180047c1c
mov rdi, rcx
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rdx, rax
mov rcx, 0xfffffffffffff000
and rdx, rcx
mov rbp, qword [rdi + 0x10]
and rbp, rcx
xor ecx, ecx
cmp rdx, rbp
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
jne 0x180047beb
mov rcx, qword [rdi]
mov eax, 0xffffffff
test rcx, rcx
jne 0x180047b77
jmp 0x180047d01
test ecx, ecx
jne 0x180047c15
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
jb 0x180047bd9
mov al, cl
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180047be1
mov rdi, rcx
jmp 0x180047ba8
mov eax, 1
jmp 0x180047c06
and rax, 0xfffffffffffffffe
mov qword [rcx], rax
mov rbp, rcx
and rbp, 0xfffffffffffffffe
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
and edx, 1
or rdx, rbp
mov qword [rdi + 8], rdx
test rax, rax
mov r8, qword [rsp + 0x68]
je 0x180048d3b
and byte [rax + 8], 0xfe
cmp qword [r9], rcx
jne 0x180047c5a
mov qword [r9], rdi
jmp 0x180047ba8
and rdi, 0xfffffffffffffffe
mov rax, qword [r9 + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [r9 + 8], rcx
test rdi, rdi
je 0x1800490cf
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r9 + 8], rcx
mov qword [rdi], r9
mov rax, qword [r9 + 8]
and eax, 1
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
or byte [r9 + 8], 1
test r10, r10
je 0x1800490ef
cmp qword [r10], r9
je 0x180048592
jmp 0x18004859a
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rdx, rax
mov rcx, 0xfffffffffffff000
and rdx, rcx
mov rbp, qword [rdi + 0x10]
and rbp, rcx
xor ecx, ecx
cmp rdx, rbp
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1800484f9
jmp 0x180048634
mov r9, rdi
test rcx, rcx
jne 0x180047b7d
mov r9, r10
mov qword [r11], 0
mov qword [r11 + 8], 1
cmp eax, 1
je 0x180047f7a
mov qword [rdi], r11
mov dword [rsp + 0x38], ebx
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x180048d3b
and byte [rax + 8], 0xfe
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
jmp 0x180047a0b
test ecx, ecx
je 0x1800480a1
mov rax, qword [rdx + 8]
xor ebp, ebp
mov rdi, rax
and rdi, 0xfffffffffffffffe
mov r10, qword [rsp + 0x50]
mov qword [rsp + 0x70], rbp
je 0x180047d84
mov rcx, qword [rdi]
test rcx, rcx
je 0x180047d84
test byte [rcx + 8], 1
jne 0x1800477a8
mov rcx, qword [rdx]
test rcx, rcx
je 0x180048d54
test byte [rcx + 8], 1
jne 0x1800486fb
or rax, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx]
test rax, rax
je 0x180047db8
mov rbp, qword [rax + 8]
test bpl, 1
jne 0x1800487a9
or byte [rcx + 8], 1
mov rax, qword [rdx + 8]
mov rdi, rax
and rdi, 0xfffffffffffffffe
je 0x1800490cf
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
and eax, 1
or rax, rcx
mov qword [rdx + 8], rax
mov qword [rdi], rdx
lea rdx, [rsp + 0xc8]
mov qword [rdx], rdi
mov r10, qword [rsp + 0x50]
jmp 0x1800477a8
mov rcx, qword [rdi]
test rcx, rcx
je 0x180047e08
test byte [rcx + 8], 1
jne 0x1800477a1
or rax, 1
mov qword [rdi + 8], rax
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x18004956e
mov rdi, qword [rax]
test rdi, rdi
je 0x180047e37
mov rbp, qword [rdi + 8]
test bpl, 1
jne 0x180048815
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 rdi, rax
and byte [rdi + 8], 0xfe
lea rdx, [rsp + 0xc8]
mov qword [rdx], rdi
jmp 0x1800477a1
lea rcx, [rsi + r12]
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 0x180047aad
jmp 0x180047e71
mov rbp, qword [rsi + 0x60]
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], 0
xor ecx, ecx
cmp rbp, r9
setb cl
mov eax, 0xffffffff
cmovbe eax, ecx
test eax, eax
je 0x180048219
cmp eax, 0xffffffff
je 0x180048337
test rbp, rbp
je 0x180048d3b
mov rcx, qword [rbp + 0x10]
xor r8d, r8d
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x180047ef1
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180047ef1
test byte [rdx + 0x10], 1
jne 0x18004835a
mov rax, qword [rbp + 8]
test rax, rax
je 0x180048eeb
mov rdi, r8
test byte [rax + 0x10], 1
jne 0x180048775
or rcx, 1
mov qword [rbp + 0x10], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180047f29
mov rdx, qword [rcx + 0x10]
test dl, 1
jne 0x1800488c5
or byte [rax + 0x10], 1
mov rcx, qword [rbp + 0x10]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800490cf
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 0x18004878b
xor eax, eax
test bpl, 0x10
cmove rax, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdx
seta al
jb 0x180047784
mov cl, al
jmp 0x18004777b
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, rax
or rcx, r11
mov qword [rdi + 8], rcx
mov rcx, qword [r11]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdi + 8], rcx
mov qword [r11], rdi
mov rax, qword [rdi + 8]
and eax, 1
mov rcx, qword [r11 + 8]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [r11 + 8], rcx
or byte [rdi + 8], 1
cmp qword [r9], rdi
jne 0x180048195
mov qword [r9], r11
jmp 0x180047d1c
lea rbp, [rsp + 0xa8]
mov rcx, rbp
mov rbx, r9
call fcn.180002010
mov r9, rbx
mov rbx, qword [rbp]
jmp 0x1800473e3
and rcx, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, rcx
mov qword [r11 + 8], rax
jmp 0x1800479d4
mov rdx, qword [rsi + 0x68]
test rdx, rdx
jne 0x1800484cf
lea r9, [rsp + 0xc8]
mov ecx, 0x100000
mov edx, 0x100000
xor r8d, r8d
call fcn.18004c1a0
test rax, rax
je 0x1800484af
mov r14, rax
mov r8b, byte [rsp + 0xc8]
mov rcx, rsi
mov rdx, rax
call fcn.18004bc90
add r14, 0x3000
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
jmp 0x1800474ac
or rdi, 1
mov qword [rcx + 8], rdi
mov rcx, qword [rcx]
test rcx, rcx
je 0x180048077
mov rbp, qword [rcx + 8]
test bpl, 1
jne 0x180048521
mov rcx, qword [rdx + 8]
mov rdi, rcx
and rdi, 0xfffffffffffffffe
je 0x1800490cf
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rdi], rdx
jmp 0x1800478fd
mov rax, qword [rdx + 8]
cmp rax, 1
mov rcx, qword [rsp + 0x60]
ja 0x1800488b8
mov rax, qword [rdx]
test rax, rax
jne 0x180048713
mov qword [rsp + 0xc8], rax
jmp 0x1800479e3
mov r8b, 1
jmp 0x180047630
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, r11
jmp 0x1800477b5
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 0x1800490cf
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rbx], rax
jmp 0x180047263
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rbx, qword [rdx]
test rbx, rbx
je 0x1800490e8
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 0x1800490cf
mov rbp, qword [rax]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rbx + 8]
and ecx, 1
or rcx, rax
mov qword [rbx + 8], rcx
jmp 0x1800473e3
mov rax, qword [r9 + 8]
mov rcx, rax
and rcx, 0xfffffffffffffffe
cmp rdi, rcx
jne 0x180047d1c
and eax, 1
or rax, r11
mov qword [r9 + 8], rax
jmp 0x180047d1c
and rax, 0xfffffffffffffffe
mov qword [rcx], rax
mov rax, qword [rdi + 8]
and eax, 1
or rax, rcx
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 0x1800490cf
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 0x180048210
mov rax, qword [rcx + 8]
test al, 1
jne 0x18004887c
mov qword [rdx + 8], rcx
jmp 0x18004796e
test rbp, rbp
je 0x180048d5e
mov rcx, qword [rbp + 0x10]
cmp rcx, 1
mov rdi, qword [rsp + 0x58]
ja 0x18004898c
mov rax, qword [rbp + 8]
test rax, rax
je 0x18004865a
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 + 0xd0], rax
mov r10d, dword [rsp + 0x38]
jmp 0x180048489
mov qword [r11], 0
mov qword [r11 + 8], 1
lea rdi, [rsp + 0xc8]
mov ebx, dword [rsp + 0x38]
jmp 0x180047d19
mov rbp, qword [rsp + 0x70]
test rbp, rbp
je 0x1800490ef
mov rax, qword [rsp + 0x28]
cmp qword [rbp], rax
jne 0x180048754
mov qword [rbp], rdx
mov rbp, qword [rsp + 0x28]
mov rax, qword [rbp]
mov qword [rdx], rax
mov rax, qword [rbp + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
cmp qword [r11], rdx
jne 0x180048ee1
mov qword [r11], 0
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
jmp 0x1800479e3
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x180047681
test rbp, rbp
je 0x180048674
mov rax, qword [rbp + 8]
test rax, rax
je 0x180048674
test byte [rax + 0x10], 1
je 0x180048661
xor r8d, r8d
mov r10d, dword [rsp + 0x38]
mov r11d, 0xffffffff
xor edx, edx
lea rcx, [rsp + 0xb8]
mov rdi, rbp
mov rbp, rax
xor eax, eax
cmp rbp, r9
setb al
cmova eax, r11d
test eax, eax
je 0x1800483ab
cmp eax, 0xffffffff
jne 0x1800483c3
test rbp, rbp
je 0x180048999
mov rax, qword [rbp + 8]
test rax, rax
je 0x180048999
test byte [rax + 0x10], 1
jne 0x18004836f
jmp 0x1800486b7
test rbp, rbp
je 0x18004847a
mov rax, qword [rbp + 0x10]
mov r8, rdi
cmp rax, 1
jbe 0x180048435
jmp 0x1800483cc
test rbp, rbp
je 0x1800483e1
mov rax, qword [rbp + 0x10]
and rax, 0xfffffffffffffffe
je 0x1800483e1
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x1800483e1
test byte [rbx + 0x10], 1
jne 0x18004836f
mov qword [rsp + 0x28], r8
mov ebx, r10d
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rsp + 0xb8]
cmp qword [rdi + 8], rbp
je 0x180048980
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 r10d, ebx
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
xor edx, edx
mov r11d, 0xffffffff
jmp 0x180048367
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1800485ad
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
jne 0x1800484bb
mov qword [rdi + 8], rdx
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x60], rax
test r9, r9
je 0x1800490cf
xorps xmm0, xmm0
movups xmmword [r9 + 8], xmm0
test r10b, r10b
je 0x180047a8e
mov qword [rdi], 0
jmp 0x180047693
and rdx, 0xfffffffffffffffe
mov rax, qword [rdi + 0x10]
and eax, 1
or rax, rdx
mov qword [rdi + 0x10], rax
jmp 0x180048484
mov qword [rsi + 0x68], 0
lea r14, [rdx + 0x3000]
add rdx, 0x68
mov rcx, r11
call fcn.18004be60
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
jmp 0x1800474ac
mov eax, 1
cmp ecx, 0xffffffff
je 0x18004864d
mov rcx, qword [rdi + 8]
and rcx, 0xfffffffffffffffe
jmp 0x180047cf2
lea r9, [rsp + 0xc8]
jmp 0x18004736b
and rbp, 0xfffffffffffffffe
mov qword [rcx + 8], rbp
mov rdi, qword [rdx]
test rdi, rdi
je 0x1800490e8
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
mov rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
je 0x1800490cf
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rax, qword [rdi + 8]
and eax, 1
or rax, rcx
mov qword [rdi + 8], rax
mov r10, qword [rsp + 0x50]
jmp 0x1800478fd
mov qword [r10], rdi
jmp 0x180047cb9
mov rax, qword [r10 + 8]
and eax, 1
or rax, rdi
mov qword [r10 + 8], rax
jmp 0x180047cb9
xor edx, edx
jmp 0x18004847a
and ebp, 1
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
or rax, rbp
mov qword [rdi + 8], rax
and byte [r10 + 8], 0xfe
mov rbp, qword [rcx + 8]
mov rdi, rbp
and rdi, 0xfffffffffffffffe
je 0x1800490cf
mov rax, qword [rdi]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rcx + 8], rbp
mov qword [rdi], rcx
mov qword [rdx], rdi
jmp 0x1800478a1
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 0x18004734d
test al, 0x10
mov ecx, 0
cmove rcx, r11
xor eax, eax
cmp rcx, rdi
seta cl
jae 0x18004876e
mov rcx, qword [rdi]
mov eax, 0xffffffff
jmp 0x180047cf2
xor eax, eax
jmp 0x18004827a
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180048674
test byte [rcx + 0x10], 1
jne 0x180048357
lea rdi, [rsp + 0xa8]
mov rcx, rdi
mov rdx, rbp
call fcn.180003340
mov rax, qword [rdi]
test rax, rax
je 0x180048d3b
and byte [rax + 0x10], 0xfe
xor edi, edi
jmp 0x18004878b
mov r8d, 0x100000
mov rcx, rsi
mov rdx, rdi
xor r9d, r9d
call fcn.180004050
jmp 0x180047292
mov qword [rsp + 0x28], r8
mov ebx, r10d
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180048935
test byte [rcx + 0x10], 1
je 0x180048935
mov rdi, rbp
mov r10d, ebx
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
xor edx, edx
mov r11d, 0xffffffff
lea rcx, [rsp + 0xb8]
jmp 0x180048372
lea rdi, [rsp + 0xa8]
mov rcx, rdi
call fcn.180024c30
mov rdi, qword [rdi]
jmp 0x180047de1
mov rcx, qword [rax + 8]
and rcx, 0xfffffffffffffffe
mov qword [rdx], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov rbp, qword [rax + 8]
and ebp, 1
or rbp, rcx
mov qword [rax + 8], rbp
mov rbp, qword [rdx + 8]
and ebp, 1
or rbp, rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rbp
or byte [rdx + 8], 1
and qword [rax + 8], 1
jmp 0x1800480c0
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rbp + 8]
and ecx, 1
or rcx, rax
mov qword [rbp + 8], rcx
jmp 0x1800482cd
mov al, cl
jmp 0x180048507
lea rbx, [rsp + 0xa8]
mov rcx, rbx
mov rdx, rbp
call fcn.1800294d0
mov rax, qword [rbx]
lea rbp, [rsp + 0xc8]
mov qword [rbp + 8], rax
mov r10d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov r8, rdi
jmp 0x18004835f
and rbp, 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov rdi, qword [rdx]
test rdi, rdi
je 0x1800490e8
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
mov qword [rdx], rax
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
mov rcx, qword [rdx + 8]
mov rax, rcx
and rax, 0xfffffffffffffffe
je 0x1800490cf
mov rbp, qword [rax]
and rbp, 0xfffffffffffffffe
and ecx, 1
or rcx, rbp
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
jmp 0x180047de1
and rbp, 0xfffffffffffffffe
mov qword [rax], rbp
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdi + 8], rcx
and rdi, 0xfffffffffffffffe
mov rax, qword [rdx + 8]
and eax, 1
lea rcx, [rax + rdi]
mov qword [rdx + 8], rcx
test rdi, rdi
je 0x1800490cf
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffe
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rdi], rdx
mov rax, qword [rdx + 8]
and rax, 0xfffffffffffffffe
je 0x18004886e
mov rcx, qword [rax + 8]
test cl, 1
jne 0x180048a29
mov qword [rdx + 8], rax
mov r10, qword [rsp + 0x50]
jmp 0x180047e50
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 0x1800490cf
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rdi], rcx
mov r10, qword [rsp + 0x50]
jmp 0x18004796e
lea rbp, [rsp + 0xc8]
jmp 0x180047d5f
and rdx, 0xfffffffffffffffe
mov qword [rcx + 0x10], rdx
mov rax, qword [rbp + 8]
test rax, rax
je 0x180048ef8
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 0x1800490cf
mov r8, qword [rcx + 8]
and r8, 0xfffffffffffffffe
and edx, 1
or rdx, r8
mov qword [rbp + 0x10], rdx
mov qword [rcx + 8], rbp
mov rdx, qword [rax + 0x10]
and edx, 1
or rdx, rcx
mov qword [rax + 0x10], rdx
jmp 0x18004878b
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.180003340
mov rax, qword [rsp + 0xc0]
cmp qword [rdi + 8], rbp
jne 0x180048f05
mov qword [rdi + 8], rax
mov rbp, rax
mov r10d, ebx
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
xor edx, edx
mov r11d, 0xffffffff
lea rcx, [rsp + 0xb8]
jmp 0x180048375
mov rbp, rdi
mov qword [rdi + 8], rax
jmp 0x18004841b
lea r8, [rsp + 0xc8]
jmp 0x180047ed5
test r8, r8
je 0x180048f1f
mov ebx, r10d
mov rcx, r8
mov rax, qword [rsp + 0x30]
cmp qword [r8 + 8], rax
jne 0x180048d0a
mov qword [rcx + 8], rbp
cmp qword [rsp + 0x30], 0
je 0x180048f3f
test rbp, rbp
je 0x1800490cf
mov rdx, qword [rsp + 0x30]
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 0x180048f62
mov qword [rdi + 8], 0
mov rdi, qword [rsp + 0x58]
mov r10d, ebx
mov r9, qword [rsp + 0x30]
jmp 0x180048489
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 0x1800490cf
mov rcx, qword [rax]
or rcx, 1
mov qword [rdx + 8], rcx
mov qword [rax], rdx
mov qword [rdi], rax
mov r10, qword [rsp + 0x50]
jmp 0x180047e50
mov rbx, rdi
mov byte [rsi + 0x70], 0
lea rcx, [rsp + 0xc8]
call sym.mozglue.dll_gRandomUint64_mozilla__YA_AV__Maybe__K_1_XZ
lea rdi, [rsp + 0xa8]
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 0x180048aa8
mov rdx, qword [rsp + 0xa8]
cmp byte [rsp + 0xd0], 0
je 0x180048aba
mov rcx, qword [rsp + 0xc8]
mov qword [rax], rcx
mov qword [rax + 8], rdx
mov qword [rsi + 0x78], rax
mov byte [rsi + 0x70], 1
mov rdi, rbx
jmp 0x180047011
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1800a6698]
test eax, eax
jne 0x180048cf8
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 0x180048b49
lea rcx, [0x1800a66f8]
call fcn.18004a330
cmp dword [0x1800a66f8], 0xffffffff
jne 0x180048b49
lea rbx, [rsp + 0xc8]
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 0x180048f9a
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 0x180048bd0
mov al, byte [rbp]
test al, al
je 0x180048bd0
xor r15d, r15d
movsx eax, al
add eax, 0xffffffd0
mov ebx, 1
cmp eax, 9
jbe 0x180048ff0
mov r12d, r15d
mov al, byte [rbp + r12]
movsx ecx, al
cmp ecx, 0x72
jne 0x180048f6c
mov byte [0x1800a6588], 1
dec ebx
jne 0x180048ba8
inc r15d
mov al, byte [rbp + r15]
test al, al
jne 0x180048b91
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 + 0xd0], 0
mov rax, qword [0x1800a6038]
mov qword [rsp + 0xc8], rax
mov edx, 0x1388
call rbx
test eax, eax
je 0x180048fc6
lea rdx, [rsp + 0xc8]
xor ecx, ecx
call fcn.18003dc70
mov qword [0x1800a66c8], rax
test rax, rax
je 0x180048fde
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 0x180048fd3
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 0x180046fa5
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rdx, rcx
mov rcx, qword [rcx + 0x10]
and ecx, 1
or rcx, rax
mov qword [rdx + 0x10], rcx
jmp 0x1800489bb
or rbp, 1
mov qword [rdx + 8], rbp
jmp 0x1800490cf
and ebp, 1
mov qword [rcx + 8], rbp
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
or rax, 1
mov qword [rdx + 8], rax
jmp 0x180048d3b
xor eax, eax
mov rdi, qword [rsp + 0x58]
jmp 0x18004827a
lea rax, str.MOZ_RELEASE_ASSERT_result_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
xor esi, esi
jmp 0x180046f97
mov edi, 1
jmp 0x180046fae
cmp rdi, 0x1f1
jb 0x180048da9
mov rsi, qword [0x1800a66c8]
jmp 0x180046fb7
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 8]
test rsi, rsi
jne 0x180046fc4
mov rsi, qword [0x1800a66c8]
mov eax, dword [0x1800a64f4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 8], rsi
jmp 0x180046fc4
mov rax, rcx
jmp 0x18004747e
mov rax, rdi
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
jmp 0x1800477b8
mov qword [rsp + 0x80], rbx
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x180048e32
cmp eax, 8
jne 0x180048eb4
xor eax, eax
cmp dword [sym.mozglue.dll_gsChildProcessType_startup_mozilla__3W4GeckoProcessType__A], 0
sete al
lea rbx, [rax + rax*4]
add rbx, 5
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x90], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rsp + 0x90], 0
jne 0x180048ebc
cmp eax, 0x5af
je 0x180048e98
cmp eax, 8
jne 0x180048eb4
xor r8d, r8d
dec rbx
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
jne 0x180048e46
jmp 0x180047635
xor r8d, r8d
jmp 0x180047626
cmp eax, 0x5af
mov rbx, qword [rsp + 0x80]
je 0x180048ed4
cmp eax, 8
jne 0x1800475f7
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1800475f7
and qword [r11 + 8], 1
jmp 0x18004830d
or rcx, 1
mov qword [rbp + 0x10], rcx
jmp 0x180048d3b
mov qword [rbp + 8], 0
jmp 0x1800490ef
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov rdx, qword [rdi + 0x10]
and edx, 1
or rdx, rcx
mov qword [rdi + 0x10], rdx
jmp 0x18004895b
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
test rbp, rbp
je 0x1800490cf
mov qword [rbp + 8], 0
mov rax, qword [rbp + 0x10]
and eax, 1
mov qword [rbp + 0x10], rax
xor ecx, ecx
jmp 0x1800489fa
and qword [rdi + 0x10], 1
jmp 0x180048a17
cmp ecx, 0x46
jne 0x180049016
mov rax, qword [0x1800a6038]
test rax, rax
je 0x180049038
add rax, rax
je 0x180048bc0
mov qword [0x1800a6038], rax
jmp 0x180048bc0
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 0x180048fde
mov qword [0x1800a65f8], 0
lea rcx, [0x1800a66e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18004769c
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 0x180048ff2
test ebx, ebx
je 0x180048bc4
jmp 0x180048ba5
cmp ecx, 0x52
jne 0x180049027
mov byte [0x1800a6588], 0
jmp 0x180048bc0
cmp ecx, 0x66
jne 0x180049048
shr qword [0x1800a6038], 1
jmp 0x180048bc0
mov qword [0x1800a6038], 1
jmp 0x180048bc0
lea r14, [rsp + 0xc8]
mov byte [r14], al
mov byte [r14 + 1], 0
lea rdx, str._jemalloc_
mov r13, qword [0x1800a2e88]
mov ecx, 2
mov r8d, 0xa
call r13
lea rdx, str.:__malloc__Unsupported_character_in_malloc_options:_
mov ecx, 2
mov r8d, 0x35
call r13
lea rdx, [0x18009ac18]
mov rcx, r14
call fcn.1800515f0
jmp 0x180048bc0
mov rax, qword [rsp + 0xc8]
mov qword [r14], rax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov r14, 0xfffffffffffff000
and r14, qword [rdi + 0x10]
mov rax, qword [rsp + 0x58]
mov qword [rax], r14
test r14, r14
jne 0x180047035
jmp 0x180047693
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [rdx], 0
lea rax, str.MOZ_RELEASE_ASSERT_mNode_
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov rax, rbp
and rax, 0xfffffffffffffffe
mov rcx, qword [r11 + 8]
and ecx, 1
or rcx, rax
mov qword [r11 + 8], rcx
mov rdx, rbp
xor ecx, ecx
cmp rdx, rdi
setb cl
cmova ecx, r8d
cmp ecx, 0xffffffff
jne 0x180049165
test rdx, rdx
je 0x180049408
mov rbx, qword [rdx]
test rbx, rbx
je 0x180049408
mov rcx, qword [rbx + 8]
test cl, 1
jne 0x18004915d
mov rax, qword [rbx]
test rax, rax
je 0x180049185
test byte [rax + 8], 1
je 0x180049185
mov r11, rdx
mov rdx, rbx
jmp 0x180049120
test ecx, ecx
jne 0x1800491df
test rdx, rdx
je 0x1800492de
mov rbp, qword [rdx + 8]
mov r9, r11
cmp rbp, 1
jbe 0x1800492d3
jmp 0x1800491ec
or rcx, 1
mov qword [rbx + 8], rcx
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x18004956e
mov rbp, qword [rbx]
test rbp, rbp
je 0x1800491b2
mov rax, qword [rbp + 8]
test al, 1
jne 0x180049328
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 rbp, rbx
cmp qword [r11], rdx
jne 0x180049108
mov qword [r11], rbp
mov rdx, rbp
jmp 0x180049120
test rdx, rdx
je 0x180048d3b
mov rbp, qword [rdx + 8]
mov rbx, rbp
and rbx, 0xfffffffffffffffe
je 0x180049207
mov rax, qword [rbx]
test rax, rax
je 0x180049207
test byte [rax + 8], 1
jne 0x18004915d
mov qword [rsp + 0x38], r14
mov r14, r9
mov r9, qword [rdx]
test r9, r9
je 0x180048d3b
mov rbx, qword [r9 + 8]
test bl, 1
je 0x1800493a2
and rbx, 0xfffffffffffffffe
je 0x18004957b
mov rcx, qword [rbx]
test rcx, rcx
je 0x180049244
test byte [rcx + 8], 1
jne 0x180049465
and ebp, 1
or rbp, rbx
mov qword [r9 + 8], rbp
or byte [rbx + 8], 1
mov rbx, qword [rdx]
test rbx, rbx
je 0x1800490e8
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 rbp, rcx
and rbp, 0xfffffffffffffffe
mov r9, r14
je 0x1800490cf
mov rax, qword [rbp]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbp], rdx
mov rax, qword [rbx + 8]
and eax, 1
or rax, rbp
mov qword [rbx + 8], rax
or byte [rdx + 8], 1
mov r14, qword [rsp + 0x38]
cmp qword [r11], rdx
jne 0x1800493eb
mov qword [r11], rbx
mov rdx, r11
jmp 0x18004915d
mov r10, qword [rdx]
test r10, r10
jne 0x1800492ef
xor r10d, r10d
cmp qword [r11], rdx
jne 0x18004938b
mov qword [r11], r10
jmp 0x18004909d
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 0x1800492de
and rax, 0xfffffffffffffffe
mov qword [rbx], rax
mov rax, qword [rbp + 8]
and eax, 1
or rax, rbx
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 0x1800490cf
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 0x180049382
mov rax, qword [rcx + 8]
test al, 1
jne 0x18004951c
mov qword [rdx + 8], rcx
jmp 0x1800491cb
and r10, 0xfffffffffffffffe
mov rax, qword [r11 + 8]
and eax, 1
or rax, r10
mov qword [r11 + 8], rax
jmp 0x18004909d
or rbx, 1
mov qword [r9 + 8], rbx
mov rcx, qword [r9]
test rcx, rcx
je 0x1800493be
mov rax, qword [rcx + 8]
test al, 1
jne 0x1800494a8
mov rcx, qword [rdx + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x1800490cf
mov r9, r14
mov rax, qword [rbx]
and rax, 0xfffffffffffffffe
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov qword [rbx], rdx
jmp 0x1800492ba
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 0x18004915d
test r9, r9
je 0x1800490ef
cmp qword [r9], rdi
jne 0x180049554
mov qword [r9], rdx
test rdx, rdx
je 0x1800490cf
mov rax, qword [rdi]
mov qword [rdx], rax
mov rax, qword [rdi + 8]
and rax, 0xfffffffffffffffe
mov rcx, qword [rdx + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
mov rcx, qword [rdi + 8]
and ecx, 1
or rcx, rax
mov qword [rdx + 8], rcx
cmp qword [r11], rdx
jne 0x180049587
mov qword [r11], 0
jmp 0x18004909d
and ebp, 1
mov rax, qword [rbx + 8]
and rax, 0xfffffffffffffffe
or rax, rbp
mov qword [rbx + 8], rax
and byte [rcx + 8], 0xfe
mov rcx, qword [r9 + 8]
mov rbx, rcx
and rbx, 0xfffffffffffffffe
je 0x1800490cf
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 0x18004925e
and rax, 0xfffffffffffffffe
mov qword [rcx + 8], rax
mov rbx, qword [rdx]
test rbx, rbx
je 0x1800490e8
mov r9, r14
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 rbp, qword [rdx + 8]
mov rcx, rbp
and rcx, 0xfffffffffffffffe
mov r14, qword [rsp + 0x38]
je 0x1800490cf
mov rax, qword [rcx]
and rax, 0xfffffffffffffffe
and ebp, 1
or rbp, rax
mov qword [rdx + 8], rbp
mov qword [rcx], rdx
mov rax, qword [rbx + 8]
and eax, 1
or rax, rcx
mov qword [rbx + 8], rax
jmp 0x1800492bf
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 0x1800490cf
mov rax, qword [rcx]
or rax, 1
mov qword [rdx + 8], rax
mov qword [rcx], rdx
mov qword [rbp], rcx
jmp 0x1800491cb
mov rax, rdx
and rax, 0xfffffffffffffffe
mov rcx, qword [r9 + 8]
and ecx, 1
or rcx, rax
mov qword [r9 + 8], rcx
jmp 0x18004941d
or rcx, 1
mov qword [rdx + 8], rcx
jmp 0x1800490cf
and ebp, 1
mov qword [r9 + 8], rbp
jmp 0x180048d3b
and qword [r11 + 8], 1
jmp 0x18004909d