Function at 0x140033c31
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3c8
movapd xmmword [rsp + 0x3b0], xmm7
movapd xmmword [rsp + 0x3a0], xmm6
mov r12, r8
mov rsi, rdx
mov qword [rsp + 0x1a0], rcx
mov rbx, rdx
shr rbx, 0x20
add bx, si
mov eax, 0xffff
cmovb ebx, eax
cmp bx, si
jbe 0x140033cc0
mov ebp, esi
shr ebp, 0x10
mov r14, rsi
shr r14, 0x30
add r14w, bp
cmovb r14d, eax
mov edi, esi
cmp r14w, bp
jbe 0x140033cb9
mov r8d, ebp
lea r15d, [r8 + 1]
mov rcx, r12
mov edx, edi
call fcn.1400495ef
mov rcx, rax
call fcn.1400495a4
mov r8d, r15d
cmp r15w, r14w
jb 0x140033c9a
inc edi
cmp di, bx
jb 0x140033c91
mov al, byte [0x1400a5530]
mov edx, 0x3c
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037062
mov rdi, rax
mov rax, rsi
shr rax, 0x30
movabs rcx, 0xffff000000000000
mov rdx, rsi
and rdx, rcx
add rdx, rcx
test rax, rax
cmove rdx, rax
movabs rcx, 0xffffffffffff
and rcx, rsi
or rcx, rdx
mov dword [rdi], 0x30002
mov dword [rdi + 0xc], 0x70003
mov dword [rdi + 0x18], 0xb0002
mov dword [rdi + 0x24], 0x50004
mov dword [rdi + 0x30], 0x10002
mov eax, 5
lea rdx, [rsp + 0x1d0]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x18], 0
mov word [rdx + 0x1c], 0x101
call fcn.140045133
mov r14, rax
mov r15, rdx
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test r15, r15
je 0x140036f7d
cmp r15, 1
je 0x140036f86
cmp r15, 2
jbe 0x140036f8f
cmp r15, 3
je 0x140036fa5
cmp r15, 4
jbe 0x140036fbb
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x60], rax
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0xe8], rax
mov rsi, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x2f0], rax
mov rbx, qword [r14 + 0x30]
mov al, byte [0x1400a5530]
mov edx, 0x18
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037053
mov rdi, rax
mov eax, 0x320000
mov dword [rdi], eax
mov dword [rdi + 0xc], eax
mov eax, 2
lea rdx, [rsp + 0x1d0]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x18], 0
mov word [rdx + 0x1c], 0x100
mov rcx, rsi
call fcn.140045133
mov rsi, rax
mov r13, rdx
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test r13, r13
je 0x140036fd1
cmp r13, 1
je 0x140036fda
mov qword [rsp + 0x340], r15
mov qword [rsp + 0x348], r14
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x338], rbx
mov qword [rsp + 0x80], r12
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x330], rsi
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x2e8], rax
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rdx + 0xb8]
mov rax, qword [rdx + 0xc8]
mov qword [rsp + 0x1b8], rcx
add rax, rcx
mov rcx, qword [rdx + 0xd0]
mov qword [rsp + 0x350], rcx
add rax, rcx
movq xmm0, rax
movdqa xmm1, xmmword [0x14007e1f0]
punpckldq xmm0, xmm1
movapd xmm2, xmmword [0x14007e200]
subpd xmm0, xmm2
movapd xmm6, xmm0
unpckhpd xmm6, xmm0
addsd xmm6, xmm0
mov rax, qword [rdx + 0xd8]
cmp rax, 1
adc rax, 0
movq xmm0, rax
punpckldq xmm0, xmm1
subpd xmm0, xmm2
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm6, xmm1
mov rcx, qword [rdx + 0x48]
mov edx, dword [rdx + 0x50]
call fcn.140063710
mov rsi, rax
movabs rax, 0x8000000000000000
lea r12, [rsp + 0x1d0]
mov qword [r12], rax
mov al, 0x13
mov byte [r12 + 0x18], al
mov byte [r12 + 0x1c], al
xor r13d, r13d
mov dword [r12 + 0x20], r13d
mov byte [r12 + 0x24], al
mov byte [r12 + 0x28], al
mov dword [r12 + 0x2c], r13d
mov word [r12 + 0x30], 0
mov byte [r12 + 0x32], 0xf
lea rax, [0x1400799b6]
lea rbp, [rsp + 0xf0]
mov qword [rbp], rax
mov rax, qword [rbp]
movabs rcx, 0xc56bde8b562fb88
imul rcx, qword [str.d__f_]
movabs rdx, 0x57f294c827237af8
add rdx, rcx
rol rdx, 3
and edx, 0xffc7
movabs rdi, 0xb32e2f71469b532e
xor rdi, qword [rax + rdx]
movzx ebx, word [rax + rdx + 8]
xor ebx, 0xb631
mov ecx, 0xa
call fcn.140029db5
mov qword [rdx], rdi
mov word [rdx + 8], bx
mov qword [rbp], rax
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], 0xa
mov dword [rbp + 0x20], r13d
movabs rbx, 0x100000010
mov qword [rbp + 0x18], rbx
lea rdi, [rsp + 0x140]
mov rcx, rdi
mov rdx, rbp
call fcn.140049957
mov rcx, r12
call fcn.140033bc4
mov rax, qword [rdi + 0x10]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [rdi]
movaps xmmword [r12], xmm0
mov rcx, qword [r12]
movupd xmm0, xmmword [r12 + 0x18]
movapd xmmword [rdi + 0x10], xmm0
mov rax, qword [r12 + 8]
mov qword [rdi], rax
mov rax, qword [r12 + 0x10]
mov qword [rdi + 8], rax
mov al, byte [r12 + 0x31]
mov byte [rsp + 0x70], al
mov dl, byte [r12 + 0x32]
mov eax, dword [r12 + 0x33]
mov dword [rsp + 0x2f8], eax
mov al, byte [r12 + 0x37]
mov byte [rsp + 0x2fc], al
mov dword [rdi + 0x18], r13d
movabs rax, 0x100000009
mov qword [rdi + 0x10], rax
mov rax, qword [rdi]
mov r9, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov qword [r12 + 0x10], r8
mov r8d, dword [rdi + 0x18]
mov dword [r12 + 0x18], r8d
mov r8d, dword [rdi + 0x1c]
mov dword [r12 + 0x1c], r8d
mov qword [r12], rax
mov qword [r12 + 8], r9
mov dword [r12 + 0x24], r13d
mov qword [r12 + 0x1c], rbx
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0xc0], rax
mov rax, qword [r12]
mov r9, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
mov qword [rsp + 0xb0], r8
mov r8d, dword [r12 + 0x18]
mov dword [rsp + 0xb8], r8d
mov r8d, dword [r12 + 0x1c]
mov dword [rsp + 0xbc], r8d
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xe0], rcx
mov byte [rsp + 0x68], dl
mov r8, qword [rsp + 0x60]
call fcn.1400499b7
mov r8, rax
shr r8, 0x20
movabs rcx, 0xfffe00000000
add rcx, rax
movabs rdx, 0xffff00000000
and rcx, rdx
cmp r8w, 3
cmovae r13, rcx
xorpd xmm0, xmm0
ucomisd xmm6, xmm0
jb 0x140037071
movsd xmm0, qword [0x14007e210]
ucomisd xmm0, xmm6
jb 0x140037071
lea rcx, [rax + 1]
movabs r8, 0xffff0000ffff0000
mov qword [rsp + 0x78], rax
mov rdx, rax
and rdx, r8
mov qword [rsp + 0x40], rcx
movzx edi, cx
mov qword [rsp + 0x198], rdx
or rdi, rdx
or rdi, r13
lea r14, [rsp + 0x48]
mov rcx, r14
mov rdx, rsi
call fcn.1400370ea
lea rax, [0x140081cfa]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov ecx, 0x1bf34a2c
sub rcx, qword [0x1400a4840]
imul rcx, rcx, 0xffffffffbfd1b710
mov rdx, rcx
shr rdx, 0x1e
xor rdx, rcx
neg rdx
rol rdx, 1
mov ecx, 0xffff
and rdx, rcx
movzx r8d, byte [rax + rdx + 2]
movzx eax, word [rax + rdx]
xor eax, 0x50e1
xor r8b, 0xcb
lea rdx, [rsp + 0x368]
mov byte [rdx + 2], r8b
mov word [rdx], ax
lea r10, [rsp + 0x2d0]
mov qword [r10], rdx
mov eax, 3
mov qword [r10 + 8], rax
movsd xmm7, qword [0x14007e218]
mulsd xmm7, xmm6
lea r8, [rsp + 0x308]
movsd qword [r8], xmm7
lea rdx, [0x14007c763]
mov qword [rsp + 0x1d0], rdx
mov rdx, qword [rsp + 0x1d0]
mov r9, 0xffffffff80a8184b
add r9, qword [0x1400a4848]
rol r9, 8
and r9, rcx
mov cl, byte [rdx + r9]
lea r15, [rsp + 0x358]
lea r11, [rsp + 0x178]
mov qword [r11], r15
mov edx, 1
mov qword [r11 + 8], rdx
mov qword [rsp + 0xf0], r14
lea r9, [0x14001bc00]
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x100], r10
lea rbx, [0x1400206a0]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], r8
mov r9d, 2
mov qword [rsp + 0x1d0], r9
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1e0], r9
mov qword [rsp + 0x1e8], r9
xor esi, esi
mov qword [rsp + 0x1f0], rsi
mov r10d, 0x20
mov qword [rsp + 0x1f8], r10
mov r8b, 3
mov byte [rsp + 0x200], r8b
mov qword [rsp + 0x208], r9
mov qword [rsp + 0x210], rdx
mov qword [rsp + 0x218], r9
mov qword [rsp + 0x220], r9
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x230], r10
mov byte [rsp + 0x238], r8b
mov qword [rsp + 0x240], rsi
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x250], r9
mov qword [rsp + 0x258], r9
mov qword [rsp + 0x260], r9
mov qword [rsp + 0x268], r10
mov byte [rsp + 0x270], r8b
mov qword [rsp + 0x278], r9
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x288], r9
mov qword [rsp + 0x290], r9
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x2a0], r10
lea rax, [0x1400877d0]
lea rdx, [rsp + 0x140]
mov qword [rdx], rax
mov eax, 4
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], r12
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x10], rbp
xor cl, 0x26
mov byte [r15], cl
mov byte [rsp + 0x2a8], r8b
mov qword [rdx + 0x18], rax
lea rax, [0x1400279f0]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], r11
mov qword [rsp + 0x128], rbx
lea rcx, [rsp + 0x88]
call fcn.14001bf70
cmp qword [r14], rsi
je 0x14003441f
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r9, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
lea r12, [rsp + 0x238]
movzx ecx, word [r12 - 0x68]
mov word [rsp + 0x178], cx
mov cl, byte [r12 - 0x66]
mov byte [rsp + 0x17a], cl
lea rcx, [rsp + 0xf0]
movzx edx, word [rcx]
mov word [rsp + 0x2d0], dx
mov dl, byte [rcx + 2]
mov byte [rsp + 0x2d2], dl
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [r12 - 0x60], xmm0
movups xmmword [r12 - 0x50], xmm1
movups xmmword [r12 - 0x40], xmm2
mov edx, dword [rsp + 0x140]
mov r8d, dword [rsp + 0x143]
mov dword [rsp + 0x4b], r8d
mov dword [rsp + 0x48], edx
movabs rbx, 0x8000000000000001
mov qword [r12 - 0x68], rbx
mov qword [rsp + 0xd8], r9
mov qword [r12 - 0x30], r9
mov qword [r12 - 0x28], r15
mov qword [r12 - 0x20], rax
mov al, 0x13
mov byte [r12 - 0x18], al
mov dl, byte [rsp + 0x17a]
mov byte [r12 - 0x15], dl
movzx edx, word [rsp + 0x178]
mov word [r12 - 0x17], dx
mov byte [r12 - 0x14], al
mov al, byte [rsp + 0x2d2]
mov byte [r12 - 0x11], al
movzx eax, word [rsp + 0x2d0]
mov word [r12 - 0x13], ax
mov dword [r12 - 0x10], esi
movsd qword [r12 - 8], xmm6
mov al, 0xb
mov byte [r12], al
mov byte [r12 + 3], sil
mov word [r12 + 1], si
mov dl, 1
mov byte [r12 + 4], dl
mov byte [r12 + 7], sil
mov word [r12 + 5], si
mov dword [r12 + 8], esi
lea rbp, [rsp + 0x244]
mov byte [rbp], al
mov byte [rbp + 3], sil
mov word [rbp + 1], si
mov byte [rbp + 4], dl
mov byte [rbp + 7], sil
mov word [rbp + 5], si
mov dword [rbp + 8], 4
mov byte [rbp + 0xc], sil
mov eax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4b]
mov dword [rbp + 0x10], r8d
mov dword [rbp + 0xd], eax
mov rax, qword [rsp + 0xe0]
mov qword [rcx], rax
movapd xmm0, xmmword [rsp + 0xa0]
movapd xmm1, xmmword [rsp + 0xb0]
movupd xmmword [rcx + 8], xmm0
movupd xmmword [rcx + 0x18], xmm1
mov rax, qword [rsp + 0xc0]
mov qword [rcx + 0x28], rax
mov byte [rcx + 0x30], dl
mov al, byte [rsp + 0x70]
mov byte [rcx + 0x31], al
mov al, byte [rsp + 0x68]
mov byte [rcx + 0x32], al
mov eax, dword [rsp + 0x2f8]
mov dword [rcx + 0x33], eax
mov al, byte [rsp + 0x2fc]
mov byte [rcx + 0x37], al
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov r8, rsi
call fcn.140049a83
mov rcx, rsi
mov rdx, rdi
mov r8, r12
call fcn.14004987c
mov qword [rbp - 0x74], rbx
mov r14, qword [rsp + 0x78]
shr r14, 0x30
mov rcx, rsi
mov rdx, rdi
mov r8, rbp
call fcn.14004987c
test r14, r14
je 0x1400346b1
shr r13, 0x20
movapd xmm0, xmm7
call fcn.14006b7e8
movsd qword [rsp + 0x178], xmm0
mov r15, qword [rsp + 0xd8]
cmp r15, rbx
jne 0x1400346f6
lea rax, [rsp + 0x178]
mov qword [rsp + 0x48], rax
lea rax, [0x1400279f0]
mov qword [rsp + 0x50], rax
lea rax, [0x1400893b0]
lea rdx, [rsp + 0xf0]
mov qword [rdx], rax
mov qword [rdx + 8], 2
mov qword [rdx + 0x20], 0
lea rax, [rsp + 0x48]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], 1
lea rsi, [rsp + 0x140]
mov rcx, rsi
call fcn.14001bf70
mov al, 0x13
mov byte [rsi + 0x18], al
mov byte [rsi + 0x1c], al
mov dword [rsi + 0x20], 0
jmp 0x140034721
mov r8, r15
movabs rax, 0x8000000000000002
mov r15, qword [rsp + 0xd8]
cmp r15, rax
movabs r12, 0x100000010
jl 0x140034917
test r15, r15
je 0x140034917
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140034917
lea rax, [rsp + 0x210]
mov qword [rsp + 0x140], r15
movupd xmm0, xmmword [rax]
movupd xmm1, xmmword [rax + 0x10]
movupd xmmword [rsp + 0x148], xmm0
movupd xmmword [rsp + 0x158], xmm1
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov qword [rsp + 0xe0], rcx
mov rdx, rbp
call fcn.140067922
mov r15, rax
cmp r13w, r15w
cmovb r15d, r13d
mov eax, r13d
sub eax, r15d
movzx r12d, ax
shr r12d, 1
add r12d, edi
mov rbx, qword [rsp + 0x198]
shr ebx, 0x10
movzx esi, r14w
mov r14d, esi
shr r14d, 1
add r14d, ebx
movzx eax, r13w
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm6, xmm0
movapd xmm0, xmm6
call fcn.14006b7e8
mov r13, rbx
add si, r13w
mov eax, 0xffff
cmovae eax, esi
mov dword [rsp + 0x60], eax
cmp ax, r13w
jbe 0x1400348b6
mov dword [rsp + 0x1b0], r14d
mov qword [rsp + 0x198], r15
mov dword [rsp + 0xd8], r12d
mov qword [rsp + 0x78], rbp
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movsd xmm0, qword [0x14007e1e0]
minsd xmm0, xmm1
cvttsd2si eax, xmm0
mov qword [rsp + 0x70], rax
add eax, edi
mov dword [rsp + 0x68], eax
mov r15d, dword [rsp + 0x244]
mov r12d, dword [rsp + 0x248]
xor eax, eax
cmp r12b, 0x13
cmove r12d, eax
cmp r15b, 0x13
cmove r15d, eax
mov r14, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
mov ebx, eax
mov edx, edi
cmp word [rsp + 0x68], di
lea rsi, [0x14008a721]
jbe 0x140034869
lea ebp, [rdx + 1]
mov rcx, r14
mov r8d, r13d
call fcn.1400495ef
mov rdi, rax
mov qword [rax + 0x10], 0
mov rcx, rax
lea rdx, [0x14008a720]
mov r8, rsi
call fcn.1400288c4
mov dword [rdi + 0x18], r12d
mov dword [rdi + 0x1c], r15d
mov edx, ebp
dec bx
jne 0x14003482f
inc r13d
cmp r13w, word [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
jb 0x140034818
movzx eax, word [rsp + 0x198]
lea rsi, [rsp + 0x158]
mov qword [rsp + 0x30], rsi
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0xd8]
mov r8d, dword [rsp + 0x1b0]
jmp 0x1400348df
movzx eax, r15w
lea rsi, [rsp + 0x158]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x80]
mov edx, r12d
mov r8d, r14d
mov rdi, qword [rsp + 0xe0]
mov r9, rdi
call fcn.140049632
mov rax, qword [rsi - 0x18]
shl rax, 1
test rax, rax
je 0x14003490d
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
movabs r12, 0x100000010
lea rsi, [rsp + 0x1d0]
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov al, 0x13
mov byte [rsi + 0x18], al
mov byte [rsi + 0x1c], al
xor ebx, ebx
mov dword [rsi + 0x20], ebx
mov byte [rsi + 0x24], al
mov byte [rsi + 0x28], al
mov dword [rsi + 0x2c], ebx
mov word [rsi + 0x30], 0
mov byte [rsi + 0x32], 0xf
lea rax, [0x14007c26a]
lea rdi, [rsp + 0xf0]
mov qword [rdi], rax
mov rax, qword [rdi]
mov rcx, qword [0x1400a4850]
rol rcx, 4
not rcx
movabs rdx, 0x185472411051760
imul rdx, rcx
rol rdx, 6
and edx, 0xf83f
movabs r14, 0x7a3908ebde90db74
xor r14, qword [rax + rdx]
mov ebp, 0x3facea59
xor ebp, dword [rax + rdx + 8]
mov r15b, byte [rax + rdx + 0xc]
xor r15b, 0x6a
mov ecx, 0xd
call fcn.140029db5
mov qword [rdx], r14
mov dword [rdx + 8], ebp
mov byte [rdx + 0xc], r15b
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], 0xd
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x18], r12
lea r14, [rsp + 0x140]
mov rcx, r14
mov rdx, rdi
call fcn.140049957
mov rcx, rsi
call fcn.140033bc4
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [r14]
movaps xmmword [rsi], xmm0
mov r13, qword [rsi]
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [r14 + 0x10], xmm0
mov rax, qword [rsi + 8]
mov qword [r14], rax
mov rax, qword [rsi + 0x10]
mov qword [r14 + 8], rax
mov bpl, byte [rsi + 0x31]
mov r15b, byte [rsi + 0x32]
mov eax, dword [rsi + 0x33]
mov dword [rsp + 0x190], eax
mov al, byte [rsi + 0x37]
mov byte [rsp + 0x194], al
mov dword [r14 + 0x18], ebx
movabs rax, 0x100000009
mov qword [r14 + 0x10], rax
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
mov qword [rsi + 0x10], rdx
mov edx, dword [r14 + 0x18]
mov dword [rsi + 0x18], edx
mov edx, dword [r14 + 0x1c]
mov dword [rsi + 0x1c], edx
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov dword [rsi + 0x24], ebx
mov qword [rsi + 0x1c], r12
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rsp + 0xb0], rdx
mov edx, dword [rsi + 0x18]
mov dword [rsp + 0xb8], edx
mov edx, dword [rsi + 0x1c]
mov dword [rsp + 0xbc], edx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov al, byte [0x1400a5530]
mov edx, 0x18
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037053
mov rdi, rax
mov rcx, r13
mov edx, r15d
mov r8, qword [rsp + 0xe8]
call fcn.1400499b7
mov rcx, rax
shr rcx, 0x20
movabs rdx, 0xfffe00000000
add rdx, rax
movabs r8, 0xffff00000000
and rdx, r8
xor r8d, r8d
cmp cx, 3
cmovb rdx, r8
mov r8, rax
movabs rcx, 0xffff0000ffff0000
and r8, rcx
inc eax
movzx ecx, ax
or rcx, r8
or rcx, rdx
mov dword [rdi], 4
mov dword [rdi + 0xc], 0x10002
mov eax, 2
lea rdx, [rsp + 0x1d0]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x18], 0
mov word [rdx + 0x1c], 0x101
call fcn.140045133
mov rsi, rax
mov r14, rdx
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
test r14, r14
mov rbx, qword [rsp + 0x1a0]
je 0x140036fe3
cmp r14, 1
je 0x140036ff3
mov qword [rsp + 0x70], r13
mov byte [rsp + 0x60], r15b
mov byte [rsp + 0x40], bpl
mov qword [rsp + 0xe0], r14
movzx ecx, word [rsi + 0x14]
test rcx, rcx
je 0x1400370ab
mov eax, dword [rsi + 0x10]
mov qword [rsp + 0xd8], rax
movzx eax, word [rsi + 0x16]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x198], rsi
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x1b0], rax
mov rbp, qword [rbx + 0x10]
xor r14d, r14d
mov r15, rbp
sub r15, rcx
cmovb r15, r14
mov qword [rsp + 0x68], rcx
cmovae rbp, rcx
shl r15, 3
add r15, qword [rbx + 8]
lea rdi, [rsp + 0x228]
mov qword [rdi - 0x58], r14
movabs rax, 0x8000000000000001
mov qword [rdi - 0x48], rax
mov qword [rdi - 0x10], r15
mov qword [rdi - 8], rbp
lea rdx, [0x140089218]
mov r8d, 0x90
mov rcx, rdi
call fcn.140076250
mov al, 0x13
mov byte [rdi - 0x30], al
mov byte [rdi - 0x2c], al
mov dword [rdi - 0x28], r14d
mov byte [rdi - 0x24], 0xf
mov word [rdi - 0x23], 0
mov dword [rdi - 0x21], 0x100
mov byte [rdi - 0x1d], 0
mov dword [rdi - 0x1c], r14d
mov dword [rdi - 0x19], r14d
movups xmm0, xmmword [rdi - 0x40]
movaps xmmword [rsp + 0x140], xmm0
mov al, byte [rdi - 0x30]
mov byte [rsp + 0x150], al
movzx eax, word [rdi - 0x2f]
mov word [rsp + 0x151], ax
mov al, byte [rdi - 0x2d]
mov byte [rsp + 0x153], al
mov al, byte [rdi - 0x2c]
mov byte [rsp + 0x154], al
movzx eax, word [rdi - 0x2b]
mov word [rsp + 0x155], ax
mov al, byte [rdi - 0x29]
mov byte [rsp + 0x157], al
mov eax, dword [rdi - 0x28]
mov dword [rsp + 0x158], eax
mov al, byte [rdi - 0x24]
mov byte [rsp + 0x15c], al
movzx eax, word [rdi - 0x23]
mov word [rsp + 0x15d], ax
mov al, byte [rdi - 0x21]
mov byte [rsp + 0x15f], al
movups xmm0, xmmword [rdi - 0x20]
movaps xmmword [rsp + 0x160], xmm0
mov rdx, qword [rbx + 0xa8]
lea rcx, [rsp + 0x2d0]
call fcn.140037499
lea rax, [0x1400807fc]
mov qword [rdi - 0x58], rax
mov rax, qword [rdi - 0x58]
mov rcx, qword [0x1400a4858]
mov rdx, rcx
shr rdx, 0x10
xor rdx, rcx
not rdx
rol rdx, 4
add rdx, 0xffffffffb526ae5e
rol rdx, 4
mov r12d, 0xffff
and rdx, r12
mov ecx, 0x1b0200f
xor ecx, dword [rax + rdx]
lea rax, [rsp + 0x37c]
mov dword [rax], ecx
lea r13, [rsp + 0x390]
mov qword [r13], rax
mov qword [r13 + 8], 4
mov rdx, qword [rbx + 0xb0]
lea rcx, [rsp + 0x178]
call fcn.140037499
lea rax, [0x14008731e]
mov qword [rdi - 0x58], rax
mov rax, qword [rdi - 0x58]
mov rcx, 0xffffffff8a82dc87
add rcx, qword [0x1400a4860]
rol rcx, 7
not rcx
imul rcx, rcx, 0x5668996f
rol rcx, 7
and rcx, r12
movabs rdx, 0x6982c90473eeee9a
xor rdx, qword [rax + rcx]
mov r8d, 0x24e87bf5
xor r8d, dword [rax + rcx + 8]
lea rax, [rsp + 0x380]
mov qword [rax], rdx
mov dword [rax + 8], r8d
mov qword [rsp + 0x358], rax
mov qword [rsp + 0x360], 0xc
mov rdx, qword [rbx + 0x88]
lea rsi, [rsp + 0x88]
mov rcx, rsi
call fcn.140037499
lea rax, [0x14007e895]
mov qword [rdi - 0x58], rax
mov rax, qword [rdi - 0x58]
imul rcx, qword [0x1400a4868], 0xffffffffb484bc5f
movabs rdx, 0x18c3a07b33517802
add rdx, rcx
rol rdx, 5
and rdx, r12
movzx eax, word [rax + rdx]
xor eax, 0x856c
lea rcx, [rsp + 0x1ce]
mov word [rcx], ax
mov qword [rsp + 0x368], rcx
mov qword [rsp + 0x370], 2
mov rdx, qword [rbx + 0x90]
lea rbx, [rsp + 0x48]
mov rcx, rbx
call fcn.140037499
lea rax, [0x140079685]
mov qword [rdi - 0x58], rax
mov rax, qword [rdi - 0x58]
mov rcx, qword [0x1400a4870]
rol rcx, 2
imul rcx, rcx, 0xfffffffff77756ee
movabs rdx, 0x800000000000476a
xor rdx, rcx
rol rdx, 1
and edx, 0xfffd
mov al, byte [rax + rdx]
xor al, 0x4e
lea rcx, [rsp + 0x13f]
mov byte [rcx], al
lea rax, [rsp + 0x2f8]
mov qword [rax], rcx
mov qword [rax + 8], 1
lea rcx, [rsp + 0x2d0]
mov qword [rdi - 0x58], rcx
lea r8, [0x14001bc00]
mov qword [rdi - 0x50], r8
mov qword [rdi - 0x48], r13
lea rcx, [0x1400206a0]
mov qword [rdi - 0x40], rcx
lea rdx, [rsp + 0x178]
mov qword [rdi - 0x38], rdx
mov qword [rdi - 0x30], r8
lea rdx, [rsp + 0x358]
mov qword [rdi - 0x28], rdx
mov qword [rdi - 0x20], rcx
mov qword [rdi - 0x18], rsi
mov qword [rdi - 0x10], r8
lea rdx, [rsp + 0x368]
mov qword [rdi - 8], rdx
mov qword [rdi], rcx
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r8
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rcx
lea rax, [0x140087858]
lea rdx, [rsp + 0xf0]
mov qword [rdx], rax
mov eax, 8
mov qword [rdx + 8], rax
mov qword [rdx + 0x20], r14
lea rcx, [rsp + 0x1d0]
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rcx, [rsp + 0x308]
call fcn.14001bf70
cmp qword [rsp + 0x48], r14
je 0x140034f79
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x88], 0
je 0x140034f9b
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x178], 0
movabs rbx, 0x8000000000000001
je 0x140034fc7
mov r8, qword [rsp + 0x180]
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x2d0], 0
je 0x140034fe9
mov r8, qword [rsp + 0x2d8]
mov rcx, qword [0x1400a54b0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14, qword [rsp + 0x308]
mov rsi, qword [rsp + 0x310]
mov rax, qword [rsp + 0x318]
movabs rcx, 0x8000000000000000
cmp r14, rcx
jne 0x14003509c
test rax, rax
je 0x140035168
xor edx, edx
lea rcx, [rsp + 0xf0]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], 1
movabs rax, 0xa0000000a
mov qword [rcx + 0x38], rax
mov word [rcx + 0x40], 0
call fcn.140044aea
test rax, rax
je 0x14003508d
mov r8, rdx
lea rsi, [rsp + 0x1d0]
mov rcx, rsi
mov rdx, rax
call fcn.140044d86
movabs rax, 0x8000000000000000
cmp qword [rsi], rax
jne 0x1400351f5
mov r13d, 8
xor edi, edi
xor esi, esi
jmp 0x140035455
test rax, rax
je 0x14003519f
xor edx, edx
lea rcx, [rsp + 0xf0]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov qword [rsp + 0x320], rsi
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], 1
movabs rax, 0xa0000000a
mov qword [rcx + 0x38], rax
mov word [rcx + 0x40], 0
call fcn.140044aea
test rax, rax
je 0x140035159
mov rdi, rax
mov rsi, rdx
mov rcx, rdx
call fcn.140029db5
mov qword [rsp + 0x1a8], r14
mov r14, rax
mov r12, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, rsi
call fcn.140076250
lea rdx, [rsp + 0x1d0]
mov qword [rdx], r14
mov r14, qword [rsp + 0x1a8]
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rsi
lea rsi, [rsp + 0x48]
mov rcx, rsi
call fcn.140044c31
movabs rax, 0x8000000000000000
cmp qword [rsi], rax
jne 0x1400352d2
mov r13d, 8
xor edi, edi
xor esi, esi
jmp 0x140035439
mov al, byte [0x1400a5530]
mov edx, 0x18
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x1400370d2
mov r13, rax
lea rdx, [0x140094880]
mov rcx, rax
xor r8d, r8d
call fcn.140044d86
mov edi, 1
jmp 0x1400351eb
mov al, byte [0x1400a5530]
mov edx, 0x18
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x1400370d2
mov r13, rax
lea rdx, [0x140094880]
mov rcx, rax
xor r8d, r8d
call fcn.140044d86
mov edi, 1
test r14, r14
je 0x1400351eb
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov esi, 1
jmp 0x140035455
call fcn.140044c98
mov r12, rax
lea r14, [rsp + 0x1d0]
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
mov rax, qword [r14 + 0x10]
mov qword [r12 + 0x10], rax
lea rax, [rsp + 0x88]
mov qword [rax], 4
mov qword [rax + 8], r12
mov qword [rax + 0x10], 1
lea rsi, [rsp + 0xf0]
mov ecx, 9
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
mov esi, 1
mov ebx, 0x18
lea r13, [rsp + 0x48]
mov rcx, r14
call fcn.140044aea
test rax, rax
je 0x1400353f1
mov r8, rdx
mov rcx, r13
mov rdx, rax
call fcn.140044d86
mov rdi, qword [rsp + 0x88]
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x48], rax
je 0x1400353f9
cmp rsi, rdi
je 0x1400352b8
mov rax, qword [rsp + 0x58]
mov qword [r12 + rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [r12 + rbx], xmm0
inc rsi
mov qword [rsp + 0x98], rsi
add rbx, 0x18
jmp 0x140035252
lea rcx, [rsp + 0x88]
mov rdx, rsi
call fcn.14007ab9e
mov r12, qword [rsp + 0x90]
jmp 0x140035293
call fcn.140044c98
mov r13, rax
lea rax, [rsp + 0x48]
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov rbx, rax
mov rax, qword [rax + 0x10]
mov qword [r13 + 0x10], rax
lea rax, [rsp + 0x178]
mov qword [rax], 4
mov qword [rax + 8], r13
mov qword [rax + 0x10], 1
lea r12, [rsp + 0x1d0]
lea rsi, [rsp + 0xf0]
mov ecx, 9
mov rdi, r12
rep movsq qword [rdi], qword [rsi]
mov esi, 1
mov rcx, r12
call fcn.140044aea
test rax, rax
je 0x14003540d
mov r14, rax
mov rdi, rdx
mov rcx, rdx
call fcn.140029db5
mov rsi, rax
mov r13, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rdi
call fcn.140076250
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
lea rcx, [rsp + 0x88]
mov rdx, rbx
call fcn.140044c31
mov rdi, qword [rsp + 0x178]
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x88], rax
je 0x140035417
mov rsi, qword [rsp + 0x188]
cmp rsi, rdi
je 0x1400353df
mov r13, qword [rsp + 0x180]
lea rax, [rsi + rsi*2]
mov rcx, qword [rsp + 0x98]
mov qword [r13 + rax*8 + 0x10], rcx
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [r13 + rax*8], xmm0
inc rsi
mov qword [rsp + 0x188], rsi
jmp 0x14003532d
lea rcx, [rsp + 0x178]
mov rdx, rdi
call fcn.14007ab9e
jmp 0x1400353a8
mov rdi, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
movabs rbx, 0x8000000000000001
jmp 0x140035455
mov rdi, qword [rsp + 0x178]
jmp 0x140035427
mov r13, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x188]
mov r14, qword [rsp + 0x1a8]
movabs rbx, 0x8000000000000001
test r14, r14
je 0x140035455
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, qword [rsp + 0x320]
call qword [sym.imp.kernel32.dll_HeapFree]
mov dword [rsp + 0x221], 0x1000000
mov word [rsp + 0x225], 0
mov byte [rsp + 0x227], 0
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x1e0], rsi
mov qword [rsp + 0x1e8], rbx
lea rsi, [rsp + 0xf0]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x200], xmm1
movups xmmword [rsp + 0x210], xmm2
mov byte [rsp + 0x220], 0x10
mov qword [rsp + 0x228], 0
mov byte [rsp + 0x230], 2
mov eax, dword [rsp + 0x49]
mov dword [rsp + 0x232], eax
movzx eax, word [rsp + 0x4d]
mov word [rsp + 0x236], ax
mov al, 1
mov byte [rsp + 0x231], al
mov rcx, qword [rsp + 0x70]
mov qword [rsi], rcx
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
mov rcx, qword [rsp + 0xc0]
mov qword [rsi + 0x28], rcx
mov byte [rsi + 0x30], al
mov al, byte [rsp + 0x40]
mov byte [rsi + 0x31], al
mov al, byte [rsp + 0x60]
mov byte [rsi + 0x32], al
mov eax, dword [rsp + 0x190]
mov dword [rsi + 0x33], eax
mov al, byte [rsp + 0x194]
mov byte [rsi + 0x37], al
mov rcx, rsi
mov rdx, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x80]
mov r8, r13
call fcn.140049a83
mov rax, qword [rsp + 0x78]
shl rax, 0x30
add rax, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x68]
shl rdi, 0x20
or rdi, rax
movabs rcx, 0x8000000000000000
mov qword [rsi], rcx
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmm2, xmmword [rsp + 0x160]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
mov dl, byte [rsi + 0x32]
mov r8, rdi
call fcn.1400499b7
mov rbx, rax
lea rcx, [rsp + 0xf0]
mov rdx, rdi
mov r8, r13
call fcn.140049a83
mov r14, rbx
shr r14, 0x30
je 0x140035819
mov rax, rbx
shr rax, 0x20
test rbp, rbp
je 0x14003562b
mov rcx, r15
cmp rbp, 1
je 0x14003562d
lea rdx, [r15 + 8]
lea rcx, [rbp - 1]
movabs r8, 0x1fffffffffffffff
and r8, rcx
mov r9, qword [r15]
mov rcx, r15
mov r10, qword [rdx]
cmp r9, r10
cmovbe r9, r10
cmovbe rcx, rdx
add rdx, 8
dec r8
jne 0x140035612
jmp 0x14003562d
xor ecx, ecx
test rcx, rcx
lea rdx, [0x1400894f8]
cmovne rdx, rcx
movzx eax, ax
cmp rax, rbp
cmovb rbp, rax
test rbp, rbp
mov qword [rsp + 0x68], rbx
je 0x1400356da
mov rsi, qword [rdx]
lea rdi, [rbp*8]
mov al, byte [0x1400a5530]
xor ecx, ecx
mov rdx, rdi
call fcn.1400639e0
test rax, rax
je 0x1400370dc
mov rcx, rax
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 0
lea r8, [r14*8]
xor r9d, r9d
test rsi, rsi
je 0x1400356b5
mov rax, qword [r15 + r9*8]
imul rax, r8
xor edx, edx
div rsi
jmp 0x1400356b7
xor eax, eax
mov qword [rcx + r9*8], rax
inc r9
cmp rbp, r9
jne 0x1400356a1
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0xf8]
jmp 0x140035707
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], 8
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x100], rcx
mov edi, 8
xor r9d, r9d
test r14w, r14w
je 0x1400357ff
mov rax, qword [rsp + 0x68]
shr eax, 0x10
mov qword [rsp + 0xe8], rax
lea rax, [r9*8]
mov qword [rsp + 0x40], rax
xor esi, esi
mov qword [rsp + 0x70], r9
dec r14d
mov qword [rsp + 0x60], r14
test r9, r9
je 0x1400357eb
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xe8]
lea ebp, [rax + rcx]
xor ebx, ebx
mov rax, qword [rsp + 0x68]
mov r14d, eax
mov rax, qword [rdi + rbx]
mov r15d, 3
lea r12, [0x140089200]
cmp rax, 7
ja 0x14003578d
lea rcx, [0x140094ed0]
mov r12, qword [rcx + rax*8]
lea rcx, [0x140094f10]
mov r15, qword [rcx + rax*8]
mov rcx, r13
mov edx, r14d
mov r8d, ebp
call fcn.1400495ef
mov r13, rax
mov qword [rax + 0x10], rsi
add r15, r12
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.1400288c4
movabs rax, 0x10000000f
mov qword [r13 + 0x18], rax
mov r13, qword [rsp + 0x80]
mov rax, qword [rdi + rbx]
sub rax, 8
cmovb rax, rsi
mov qword [rdi + rbx], rax
inc r14d
add rbx, 8
cmp qword [rsp + 0x40], rbx
jne 0x140035760
mov r14, qword [rsp + 0x60]
test r14w, r14w
mov r9, qword [rsp + 0x70]
jne 0x140035735
cmp qword [rsp + 0x78], 0
je 0x140035819
mov rcx, qword [0x1400a54b0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x1a0]
lea rax, [rdi + 0xb8]
mov qword [rsp + 0x60], rax
lea rax, [rdi + 0xc8]
mov qword [rsp + 0x70], rax
lea rax, [rdi + 0xd0]
mov qword [rsp + 0x68], rax
lea rax, [rdi + 0xd8]
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1b0]
mov r8, r13
call fcn.14004a266
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0xe0]
call fcn.1400450c4
xor esi, esi
lea rax, [rsp + 0xa0]
mov qword [rax], rsi
mov qword [rax + 8], 8
mov qword [rax + 0x10], rsi
mov r14, qword [rdi + 0x58]
mov r15, qword [rdi + 0x70]
movdqa xmm0, xmmword [r14]
pmovmskb ebx, xmm0
not ebx
lea r12, [r14 + 0x10]
mov ebp, 8
mov r13d, 1
sub r15, 1
jb 0x14003599c
test bx, bx
jne 0x1400358ea
movdqa xmm0, xmmword [r12]
pmovmskb ebx, xmm0
add r14, 0xfffffffffffffe80
add r12, 0x10
cmp ebx, 0xffff
je 0x1400358cb
not ebx
mov al, byte [0x1400a5530]
mov edx, 0x28
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037009
mov rdi, rax
bsf eax, ebx
neg rax
lea rax, [rax + rax*2]
movdqu xmm0, xmmword [r14 + rax*8 - 0x10]
movabs rax, 0x8000000000000000
mov qword [rdi], rax
movdqu xmmword [rdi + 8], xmm0
movabs rax, 0x100000010
mov qword [rdi + 0x18], rax
mov dword [rdi + 0x20], 0
cmp rsi, qword [rsp + 0xa0]
jne 0x14003596a
lea rcx, [rsp + 0xa0]
mov rdx, rsi
call fcn.140033b1b
mov rbp, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
lea eax, [rbx - 1]
and eax, ebx
lea rcx, [rsi + rsi*2]
mov qword [rbp + rcx*8], r13
mov qword [rbp + rcx*8 + 8], rdi
mov qword [rbp + rcx*8 + 0x10], r13
mov rsi, qword [rsp + 0xb0]
inc rsi
mov qword [rsp + 0xb0], rsi
mov ebx, eax
jmp 0x1400358bc
lea rsi, [rsp + 0x1d0]
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov r13b, 0x13
mov byte [rsi + 0x18], r13b
mov byte [rsi + 0x1c], r13b
xor r12d, r12d
mov dword [rsi + 0x20], r12d
mov byte [rsi + 0x24], r13b
mov byte [rsi + 0x28], r13b
mov dword [rsi + 0x2c], r12d
mov word [rsi + 0x30], r12w
mov al, 0xf
mov byte [rsi + 0x32], al
lea rax, [0x14008489c]
lea rdi, [rsp + 0xf0]
mov qword [rdi], rax
mov rax, qword [rdi]
mov rcx, qword [0x1400a4878]
rol rcx, 5
xor rcx, 0xffffffff8163841b
rol rcx, 4
imul rcx, rcx, 0x44409bbd
rol rcx, 1
mov edx, 0xffff
and rcx, rdx
movabs rbx, 0xbba39de0407e894b
xor rbx, qword [rax + rcx]
mov ebp, 0xcbe0c40f
xor ebp, dword [rax + rcx + 8]
movzx r14d, byte [rax + rcx + 0xe]
movzx r15d, word [rax + rcx + 0xc]
xor r15d, 0xfa5f
xor r14b, 0x48
mov ecx, 0xf
call fcn.140029db5
mov qword [rdx], rbx
mov dword [rdx + 8], ebp
mov word [rdx + 0xc], r15w
mov byte [rdx + 0xe], r14b
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], 0xf
mov dword [rdi + 0x20], r12d
movabs rax, 0x100000010
mov qword [rdi + 0x18], rax
mov rbx, rax
lea r15, [rsp + 0x140]
mov rcx, r15
mov rdx, rdi
call fcn.140049957
mov rcx, rsi
call fcn.140033bc4
mov rax, qword [r15 + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsi], xmm0
mov r14, qword [rsi]
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [r15 + 0x10], xmm0
mov rax, qword [rsi + 8]
mov qword [r15], rax
mov rax, qword [rsi + 0x10]
mov qword [r15 + 8], rax
mov al, byte [rsi + 0x31]
mov byte [rsp + 0x40], al
mov bpl, byte [rsi + 0x32]
mov eax, dword [rsi + 0x33]
mov dword [rsp + 0x48], eax
mov al, byte [rsi + 0x37]
mov byte [rsp + 0x4c], al
mov dword [r15 + 0x18], r12d
movabs rax, 0x100000009
mov qword [r15 + 0x10], rax
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov rdx, qword [r15 + 0x10]
mov qword [rsi + 0x10], rdx
mov edx, dword [r15 + 0x18]
mov dword [rsi + 0x18], edx
mov edx, dword [r15 + 0x1c]
mov dword [rsi + 0x1c], edx
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov dword [rsi + 0x24], r12d
mov qword [rsi + 0x1c], rbx
mov rax, qword [rsi + 0x20]
mov qword [rdi + 0x28], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rdi + 0x18], rdx
mov edx, dword [rsi + 0x18]
mov dword [rdi + 0x20], edx
mov edx, dword [rsi + 0x1c]
mov dword [rdi + 0x24], edx
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rcx
mov rcx, r14
mov edx, ebp
mov rbx, qword [rsp + 0x1c0]
mov r8, rbx
call fcn.1400499b7
mov rcx, rax
shr rcx, 0x20
movabs rdx, 0xfffe00000000
add rdx, rax
movabs r8, 0xffff00000000
and rdx, r8
cmp cx, 3
cmovb rdx, r12
lea ecx, [rax + 1]
movabs r8, 0xffff0000ffff0000
and rax, r8
movzx r15d, cx
or r15, rax
or r15, rdx
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsi], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x51], r12w
mov dword [rsi + 0x53], 0x100
mov byte [rsi + 0x57], 0
movabs rax, 0x8000000000000001
mov qword [rsi + 0x18], rax
mov byte [rsi + 0x50], 0x10
mov qword [rsi + 0x58], r12
mov word [rsi + 0x60], 2
mov qword [rdi], r14
mov byte [rdi + 0x30], 1
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x31], al
mov byte [rdi + 0x32], bpl
mov eax, dword [rsp + 0x48]
mov dword [rdi + 0x33], eax
mov al, byte [rsp + 0x4c]
mov byte [rdi + 0x37], al
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, rbx
mov rbx, qword [rsp + 0x80]
mov r8, rbx
call fcn.140049a83
lea rdi, [rsp + 0x1d0]
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.14004a266
movabs rax, 0x8000000000000000
mov qword [rdi], rax
mov byte [rdi + 0x18], r13b
mov byte [rdi + 0x1c], r13b
mov dword [rdi + 0x20], r12d
mov byte [rdi + 0x24], r13b
mov byte [rdi + 0x28], r13b
mov dword [rdi + 0x2c], r12d
mov word [rdi + 0x30], r12w
mov al, 0xf
mov byte [rdi + 0x32], al
lea rax, [0x140080c67]
mov qword [rsi], rax
mov rax, qword [rsi]
movabs rcx, 0xffffffff339197ec
add rcx, qword [0x1400a4880]
rol rcx, 1
mov edx, 0xffff
and rcx, rdx
movabs rdi, 0x466180f0fec6ef65
xor rdi, qword [rax + rcx]
mov ebx, 0xb988c22f
xor ebx, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov qword [rdx], rdi
mov dword [rdx + 8], ebx
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], 0xc
mov dword [rsi + 0x20], r12d
movabs r14, 0x100000010
mov qword [rsi + 0x18], r14
lea rdi, [rsp + 0x140]
lea rdx, [rsp + 0xf0]
mov rcx, rdi
call fcn.140049957
lea rsi, [rsp + 0x1d0]
mov rcx, rsi
call fcn.140033bc4
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsi], xmm0
mov rbx, qword [rsi]
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [rdi + 0x10], xmm0
mov rax, qword [rsi + 8]
mov qword [rdi], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 8], rax
mov r13b, byte [rsi + 0x31]
mov r15b, byte [rsi + 0x32]
mov eax, dword [rsi + 0x33]
mov dword [rsp + 0xa0], eax
mov al, byte [rsi + 0x37]
mov byte [rsp + 0xa4], al
mov dword [rdi + 0x18], r12d
movabs rax, 0x100000009
mov qword [rdi + 0x10], rax
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov qword [rsi + 0x10], rdx
mov edx, dword [rdi + 0x18]
mov dword [rsi + 0x18], edx
mov edx, dword [rdi + 0x1c]
mov dword [rsi + 0x1c], edx
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov dword [rsi + 0x24], r12d
mov r12, r14
mov qword [rsi + 0x1c], r14
mov rax, qword [rsi + 0x20]
mov qword [rdi + 0x20], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rdi + 0x10], rdx
mov edx, dword [rsi + 0x18]
mov dword [rdi + 0x18], edx
mov edx, dword [rsi + 0x1c]
mov dword [rdi + 0x1c], edx
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov rcx, rbx
mov edx, r15d
mov r8, qword [rsp + 0x2e8]
call fcn.1400499b7
mov rsi, rax
mov al, byte [0x1400a5530]
mov edx, 0x90
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x1400370c3
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xe0], rbx
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140037018
lea rax, [0x14007bbac]
lea rsi, [rsp + 0x1d0]
mov qword [rsi], rax
mov rax, qword [rsi]
mov ecx, 0xac51132
xor rcx, qword [0x1400a4888]
imul rcx, rcx, 0xffffffffa0390a97
add rcx, 0xffffffff97cb7db7
rol rcx, 3
movzx ecx, cx
movabs rbx, 0x891abf134ea63577
xor rbx, qword [rax + rcx]
mov ebp, 0x1eebd8f
xor ebp, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov rdi, rax
mov r14, rdx
mov qword [rdx], rbx
mov dword [rdx + 8], ebp
mov rcx, rsi
mov rdx, qword [rsp + 0x60]
call fcn.1400377e1
cmp qword [rsp + 0x1b8], 0
mov byte [rsp + 0x1c0], r13b
je 0x140035ea9
movabs rax, 0x10000000b
mov qword [rsp + 0xf0], rax
jmp 0x140035eb1
mov qword [rsp + 0xf0], r12
mov dword [rsp + 0xf8], 0
mov byte [rsp + 0x60], r15b
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x38], rax
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rcx + 0x28], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rcx + 0x40], rax
mov eax, dword [rsp + 0xf8]
mov dword [rcx + 0x48], eax
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], 0xc
mov qword [rcx + 0x18], r12
mov dword [rcx + 0x20], 0
mov al, byte [0x1400a5530]
xor ebx, ebx
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov r13, rax
lea rax, [0x140083d2a]
lea rsi, [rsp + 0x1d0]
mov qword [rsi], rax
mov rax, qword [rsi]
imul rcx, qword [0x1400a4890], 0xffffffffc5825960
add rcx, 0xffffffff8ba0b8cd
rol rcx, 5
and ecx, 0xfdbf
movabs r15, 0x9965d46c0e22c2d0
xor r15, qword [rax + rcx]
mov ebp, 0x5ee0f698
xor ebp, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov rdi, rax
mov r14, rdx
mov qword [rdx], r15
mov dword [rdx + 8], ebp
mov rax, qword [rsp + 0x1a0]
lea rdx, [rax + 0xc0]
mov rcx, rsi
call fcn.1400377e1
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x38], rax
movups xmm0, xmmword [rsi]
movups xmmword [r13 + 0x28], xmm0
mov qword [r13 + 0x40], r12
mov dword [r13 + 0x48], ebx
mov qword [r13], rdi
mov qword [r13 + 8], r14
mov qword [r13 + 0x10], 0xc
mov qword [r13 + 0x18], r12
mov dword [r13 + 0x20], ebx
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov r15, rax
mov qword [rsp + 0x1b8], r13
lea rax, [0x140083dce]
lea rsi, [rsp + 0x1d0]
mov qword [rsi], rax
mov rax, qword [rsi]
mov rcx, 0xffffffff91f85b9a
xor rcx, qword [0x1400a4898]
inc rcx
rol rcx, 5
add rcx, 0x3ed14785
rol rcx, 1
movzx ecx, cx
movabs rbx, 0x59117ffd9e2ad62a
xor rbx, qword [rax + rcx]
mov ebp, 0xab3275ca
xor ebp, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov rdi, rax
mov r14, rdx
mov qword [rdx], rbx
mov dword [rdx + 8], ebp
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.1400377e1
mov rax, qword [rsi + 0x10]
mov qword [r15 + 0x38], rax
movups xmm0, xmmword [rsi]
movups xmmword [r15 + 0x28], xmm0
mov qword [r15 + 0x40], r12
xor eax, eax
mov dword [r15 + 0x48], eax
mov qword [r15], rdi
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], 0xc
mov qword [r15 + 0x18], r12
mov qword [rsp + 0x70], r15
mov dword [r15 + 0x20], eax
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov rsi, rax
lea rax, [0x14007eab5]
lea r13, [rsp + 0x1d0]
mov qword [r13], rax
mov rax, qword [r13]
mov ecx, 0x33db9c15
xor rcx, qword [0x1400a48a0]
imul rcx, rcx, 0xffffffffa6626aab
rol rcx, 5
movzx ecx, cx
movabs rbx, 0x1a840de63f6f8e76
xor rbx, qword [rax + rcx]
mov ebp, 0xfc288f3a
xor ebp, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov rdi, rax
mov r14, rdx
mov qword [rdx], rbx
mov dword [rdx + 8], ebp
mov rcx, r13
mov rdx, qword [rsp + 0x68]
call fcn.1400377e1
movabs rax, 0x10000000a
cmp qword [rsp + 0x350], 0
je 0x140036148
mov qword [rsp + 0xf0], rax
jmp 0x140036150
mov qword [rsp + 0xf0], r12
mov dword [rsp + 0xf8], 0
mov rax, qword [rsp + 0x1e0]
mov qword [rsi + 0x38], rax
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsi + 0x28], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x40], rax
mov eax, dword [rsp + 0xf8]
mov dword [rsi + 0x48], eax
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], 0xc
mov qword [rsi + 0x18], r12
mov dword [rsi + 0x20], 0
mov al, byte [0x1400a5530]
xor ebx, ebx
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov r12, rax
lea rax, [0x14007b3fd]
lea rdi, [rsp + 0x1d0]
mov qword [rdi], rax
mov rax, qword [rdi]
mov ecx, 0x3864e13a
xor rcx, qword [0x1400a48a8]
add rcx, 0xffffffffcee59a91
rol rcx, 1
movzx ecx, cx
movabs r14, 0xaf62fb19a226a75f
xor r14, qword [rax + rcx]
mov r15d, 0xf035c039
xor r15d, dword [rax + rcx + 8]
mov ecx, 0xc
call fcn.140029db5
mov r13, rax
mov rbp, rdx
mov qword [rdx], r14
mov dword [rdx + 8], r15d
mov rcx, rdi
mov rdx, qword [rsp + 0xe8]
call fcn.1400377e1
mov rax, qword [rdi + 0x10]
mov qword [r12 + 0x38], rax
movups xmm0, xmmword [rdi]
movups xmmword [r12 + 0x28], xmm0
movabs rax, 0x100000010
mov qword [r12 + 0x40], rax
mov dword [r12 + 0x48], ebx
mov qword [r12], r13
mov qword [r12 + 8], rbp
mov qword [r12 + 0x10], 0xc
mov qword [r12 + 0x18], rax
mov dword [r12 + 0x20], ebx
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov rbp, rax
mov r8, qword [rsp + 0xd8]
mov rcx, r8
shr rcx, 0x20
movabs rax, 0xfffe00000000
add rax, r8
movabs rdx, 0xffff00000000
and rax, rdx
xor r14d, r14d
cmp cx, 3
cmovb rax, r14
mov rcx, r8
movabs rdx, 0xffff0000ffff0000
and rcx, rdx
lea edx, [r8 + 1]
movzx edx, dx
or rdx, rcx
mov r9, rdx
lea rcx, [0x140086c81]
lea r13, [rsp + 0x1d0]
mov qword [r13], rcx
mov rcx, qword [r13]
imul rdx, qword [0x1400a48b0], 0xffffffffdbbd31b4
movabs r8, 0xf0000000000001c3
xor r8, rdx
rol r8, 4
movzx edx, r8w
movabs rbx, 0x1f12028e29994b31
xor rbx, qword [rcx + rdx]
or r9, rax
mov qword [rsp + 0x68], r9
mov edi, 0xb73e48cf
xor edi, dword [rcx + rdx + 8]
mov ecx, 0xc
call fcn.140029db5
mov qword [rsp + 0xe8], rax
mov r15, rdx
mov qword [rdx], rbx
mov dword [rdx + 8], edi
mov rdi, qword [rsp + 0x1a0]
lea rdx, [rdi + 0xe0]
mov rcx, r13
call fcn.1400377e1
mov rax, qword [r13 + 0x10]
mov qword [rbp + 0x38], rax
movups xmm0, xmmword [r13]
movups xmmword [rbp + 0x28], xmm0
movabs rax, 0x100000010
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], r14d
mov rcx, qword [rsp + 0xe8]
mov qword [rbp], rcx
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 0xc
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], r14d
mov eax, 2
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rax
mov rdx, qword [rsp + 0x40]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov rdx, qword [rsp + 0x1b8]
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov rdx, qword [rsp + 0x70]
mov qword [rcx + 0x38], rdx
mov qword [rcx + 0x40], rax
mov qword [rcx + 0x48], rax
mov qword [rcx + 0x50], rsi
mov qword [rcx + 0x58], rax
mov qword [rcx + 0x60], rax
mov qword [rcx + 0x68], r12
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], rbp
mov qword [rcx + 0x88], rax
mov al, 0x13
mov byte [r13 + 0x50], al
mov byte [r13 + 0x54], al
mov qword [r13 + 0x58], r14
mov eax, 6
mov qword [r13], rax
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], rax
movabs rax, 0x8000000000000001
mov qword [r13 + 0x18], rax
mov word [r13 + 0x60], 2
lea rcx, [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov qword [rcx], rax
mov rax, qword [rsp + 0x160]
mov qword [rcx + 0x28], rax
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movups xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x18], xmm1
mov byte [rcx + 0x30], 1
mov al, byte [rsp + 0x1c0]
mov byte [rcx + 0x31], al
mov al, byte [rsp + 0x60]
mov byte [rcx + 0x32], al
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x33], eax
mov al, byte [rsp + 0xa4]
mov byte [rcx + 0x37], al
mov rdx, qword [rsp + 0x2e8]
mov rsi, qword [rsp + 0x80]
mov r8, rsi
call fcn.140049a83
lea rcx, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.14004a266
mov r12, qword [rsp + 0x2f0]
shr r12, 0x30
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], 8
mov qword [rsp + 0x58], r14
add r12, 0xfffffffffffffffe
je 0x140036ac1
mov rcx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
shl rax, 3
lea r15, [rax + rax*4]
mov qword [rsp + 0x40], rcx
lea rax, [rcx - 0x24]
mov qword [rsp + 0x60], rax
mov edi, 8
xor r13d, r13d
test r15, r15
je 0x140036ac1
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + r15 - 0x28]
cmp rax, 1
je 0x1400365d6
cmp eax, 5
je 0x1400368d2
cmp eax, 6
jne 0x140036ab1
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov rsi, rax
lea rax, [0x14007f019]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [0x1400a48c8]
mov edx, 0x12c8b096
xor rcx, rdx
add rcx, 0xffffffffb439df88
mov rdx, rcx
shr rdx, 0xf
xor rdx, rcx
imul rcx, rdx, 0xffffffffd26b4e81
rol rcx, 1
movzx ecx, cx
mov rbx, qword [rax + rcx]
movabs rdx, 0x2049215f970b0de4
xor rbx, rdx
mov bpl, byte [rax + rcx + 8]
xor bpl, 0xae
jmp 0x140036944
mov rax, qword [rsp + 0x60]
add rax, r15
mov qword [rsp + 0x178], rax
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov rsi, rax
lea rax, [0x14007c56e]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [0x1400a48b8]
mov rdx, 0xffffffffb9df9084
add rcx, rdx
rol rcx, 9
mov r9d, 0xffff
and rcx, r9
movzx eax, word [rax + rcx]
xor eax, 0xfcc5
mov word [rsp + 0x308], ax
lea rax, [rsp + 0x308]
mov qword [rsp + 0x88], rax
mov r8d, 2
mov qword [rsp + 0x90], r8
lea rax, [0x140081b4e]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [0x1400a48c0]
rol rcx, 2
mov edx, ecx
not edx
shr edx, 0xf
xor rdx, rcx
rol rdx, 6
and rdx, r9
movzx eax, word [rax + rdx]
xor eax, 0x4a9f
mov word [rsp + 0x2d0], ax
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r8
lea rax, [rsp + 0x88]
mov qword [rsp + 0x1d0], rax
lea rcx, [0x1400206a0]
mov qword [rsp + 0x1d8], rcx
lea rax, [rsp + 0x178]
mov qword [rsp + 0x1e0], rax
lea rax, [0x1400335f9]
mov qword [rsp + 0x1e8], rax
lea rbx, [rsp + 0xa0]
mov qword [rsp + 0x1f0], rbx
mov qword [rsp + 0x1f8], rcx
lea rax, [0x1400878d8]
mov qword [rsp + 0xf0], rax
mov eax, 3
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x110], r14
lea rbp, [rsp + 0x1d0]
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xf0]
call fcn.14001bf70
lea rax, [rsp + 0x158]
movabs rcx, 0x10000000a
mov qword [rax], rcx
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + r15 - 0x18]
mov rdx, qword [rax + r15 - 0x10]
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x200], 0x20
mov byte [rsp + 0x208], 3
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1f0], rbx
lea rax, [0x140086fa8]
mov qword [rsp + 0x1f8], rax
mov r8, rbp
call fcn.14005cbf0
test al, al
jne 0x140037027
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x100], rax
movabs rax, 0x100000010
lea rcx, [rsp + 0x108]
mov qword [rcx], rax
mov dword [rcx + 8], 0
mov rax, qword [rsp + 0x160]
mov qword [rsi + 0x20], rax
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsi + 0x48], rax
movaps xmm0, xmmword [rsp + 0xf0]
mov rax, qword [rsp + 0x100]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0x108]
mov qword [rsi + 0x40], rax
movups xmmword [rsi + 0x28], xmm0
cmp r13, qword [rsp + 0x48]
jne 0x1400368aa
lea rcx, [rsp + 0x48]
mov rdx, r13
call fcn.140033b1b
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
lea rax, [r13*2]
add rax, r13
mov ecx, 2
mov qword [rdi + rax*8], rcx
mov qword [rdi + rax*8 + 8], rsi
mov qword [rdi + rax*8 + 0x10], rcx
mov r13, qword [rsp + 0x58]
jmp 0x140036aa9
mov al, byte [0x1400a5530]
mov edx, 0x50
xor ecx, ecx
call fcn.1400639e0
test rax, rax
je 0x140037018
mov rsi, rax
lea rax, [0x140081530]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [0x1400a48d0]
rol rcx, 3
mov rdx, 0xffffffffa0dbfb0f
sub rdx, rcx
xor rdx, 0x566
rol rdx, 5
movzx ecx, dx
mov rbx, qword [rax + rcx]
movabs rdx, 0x85e8f644215168e2
xor rbx, rdx
mov bpl, byte [rax + rcx + 8]
xor bpl, 0x54
mov ecx, 9
call fcn.140029db5
mov rdi, rax
mov r13, rdx
mov qword [rdx], rbx
mov byte [rdx + 8], bpl
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + r15 - 0x18]
mov rdx, qword [rax + r15 - 0x10]
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x148], 1
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x200], 0x20
mov byte [rsp + 0x208], 3
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x1e0], r14
lea rax, [rsp + 0x140]
mov qword [rsp + 0x1f0], rax
lea rax, [0x140086fa8]
mov qword [rsp + 0x1f8], rax
lea r8, [rsp + 0x1d0]
call fcn.14005cbf0
test al, al
jne 0x140037027
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0x108]
mov dword [rcx + 8], r14d
movabs rax, 0x100000010
mov qword [rcx], rax
mov qword [rsi], rdi
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], 9
movabs rbp, 0x10000000a
mov qword [rsi + 0x18], rbp
mov dword [rsi + 0x20], r14d
mov rax, qword [rsp + 0x110]
mov qword [rsi + 0x48], rax
movaps xmm0, xmmword [rsp + 0xf0]
mov rax, qword [rsp + 0x100]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0x108]
mov qword [rsi + 0x40], rax
movups xmmword [rsi + 0x28], xmm0
mov r13, qword [rsp + 0x58]
cmp r13, qword [rsp + 0x48]
jne 0x140036a86
lea rcx, [rsp + 0x48]
mov rdx, r13
call fcn.140033b1b
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
lea rax, [r13*2]
add rax, r13
mov ecx, 2
mov qword [rdi + rax*8], rcx
mov qword [rdi + rax*8 + 8], rsi
mov qword [rdi + rax*8 + 0x10], rcx
inc r13
mov qword [rsp + 0x58], r13
dec r12
add r15, 0xffffffffffffffd8
test r12, r12
jne 0x140036526
lea rdi, [rsp + 0x1d0]
movabs rax, 0x8000000000000000
mov qword [rdi], rax
mov al, 0x13
mov byte [rdi + 0x18], al
mov byte [rdi + 0x1c], al
mov dword [rdi + 0x20], r14d
mov byte [rdi + 0x24], al
mov byte [rdi + 0x28], al
mov dword [rdi + 0x2c], r14d
mov word [rdi + 0x30], r14w
mov byte [rdi + 0x32], 0xf
lea rax, [0x14007bfc3]
lea r13, [rsp + 0xf0]
mov qword [r13], rax
mov rax, qword [r13]
mov ecx, 0x288bb9a
xor rcx, qword [0x1400a48d8]
inc rcx
rol rcx, 3
mov edx, 0xffff
and rcx, rdx
movabs rsi, 0x19616e1d7edf17a8
xor rsi, qword [rax + rcx]
mov ecx, 8
call fcn.140029db5
mov qword [rdx], rsi
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], 8
movabs rbx, 0x100000010
mov qword [r13 + 0x18], rbx
mov dword [r13 + 0x20], r14d
lea rsi, [rsp + 0x140]
mov rcx, rsi
mov rdx, r13
call fcn.140049957
mov rcx, rdi
call fcn.140033bc4
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rdi], xmm0
mov r15, qword [rdi]
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rsi + 0x10], xmm0
mov rax, qword [rdi + 8]
mov qword [rsi], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 8], rax
mov al, byte [rdi + 0x31]
mov byte [rsp + 0x40], al
mov bpl, byte [rdi + 0x32]
mov eax, dword [rdi + 0x33]
mov dword [rsp + 0xa0], eax
mov al, byte [rdi + 0x37]
mov byte [rsp + 0xa4], al
mov dword [rsi + 0x18], r14d
movabs rax, 0x100000009
mov qword [rsi + 0x10], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rdi + 0x10], rdx
mov edx, dword [rsi + 0x18]
mov dword [rdi + 0x18], edx
mov edx, dword [rsi + 0x1c]
mov dword [rdi + 0x1c], edx
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov dword [rdi + 0x24], r14d
mov qword [rdi + 0x1c], rbx
mov rax, qword [rdi + 0x20]
mov qword [r13 + 0x28], rax
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov qword [r13 + 0x18], rdx
mov edx, dword [rdi + 0x18]
mov dword [r13 + 0x20], edx
mov edx, dword [rdi + 0x1c]
mov dword [r13 + 0x24], edx
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], rcx
mov rcx, r15
mov edx, ebp
mov rbx, qword [rsp + 0x2f0]
mov r8, rbx
call fcn.1400499b7
mov rcx, rax
shr rcx, 0x20
movabs rdx, 0xfffe00000000
add rdx, rax
movabs r8, 0xffff00000000
and rdx, r8
cmp cx, 3
cmovb rdx, r14
lea ecx, [rax + 1]
movabs r8, 0xffff0000ffff0000
and r8, rax
movzx r12d, cx
or r12, r8
or r12, rdx
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rdi], xmm0
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x10], rax
mov word [rdi + 0x51], r14w
mov dword [rdi + 0x53], 0x100
mov byte [rdi + 0x57], r14b
movabs rax, 0x8000000000000001
mov qword [rdi + 0x18], rax
mov byte [rdi + 0x50], 0x10
mov qword [rdi + 0x58], r14
mov word [rdi + 0x60], 2
mov qword [r13], r15
mov byte [r13 + 0x30], 1
mov al, byte [rsp + 0x40]
mov byte [r13 + 0x31], al
mov byte [r13 + 0x32], bpl
mov eax, dword [rsp + 0xa0]
mov dword [r13 + 0x33], eax
mov al, byte [rsp + 0xa4]
mov byte [r13 + 0x37], al
lea rcx, [rsp + 0xf0]
mov rdx, rbx
mov rbx, qword [rsp + 0x80]
mov r8, rbx
call fcn.140049a83
lea rdi, [rsp + 0x1d0]
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.14004a266
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov word [rsi + 0x30], r14w
mov byte [rsi + 0x32], r14b
mov al, 0x13
mov byte [rsi + 0x18], al
mov byte [rsi + 0x1c], al
mov dword [rsi + 0x20], r14d
mov byte [rsi + 0x24], al
mov byte [rsi + 0x28], al
mov dword [rsi + 0x2c], r14d
lea rax, [0x140078ce4]
mov qword [rdi], rax
mov rcx, qword [rdi]
mov rax, qword [0x1400a48e0]
sub r14, rax
mov rax, r14
shr rax, 0xd
xor rax, r14
inc rax
rol rax, 2
mov edx, 0xffff
and rax, rdx
add rax, rcx
xorps xmm0, xmm0
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x140087908]
mov r8, qword [rcx + rdx + 8]
xor r8, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0x1d8], r8
add rcx, 8
cmp rcx, 0x38
jb 0x140036d9f
mov ecx, 0xa6cc317
xor ecx, dword [rax + 0x40]
lea rdx, [rsp + 0x1d0]
mov dword [rdx + 0x40], ecx
movzx ecx, byte [rax + 0x46]
movzx eax, word [rax + 0x44]
xor eax, 0x2810
mov word [rdx + 0x44], ax
xor cl, 0xc3
mov byte [rdx + 0x46], cl
lea rdi, [rsp + 0xf0]
mov r8d, 0x47
mov rcx, rdi
call fcn.140076250
mov ecx, 0x47
call fcn.140029db5
mov r14, rax
mov r15, rdx
mov r8d, 0x47
mov rcx, rdx
mov rdx, rdi
call fcn.140076250
lea rdx, [rsp + 0x48]
mov qword [rdx], r14
mov qword [rdx + 8], r15
mov qword [rdx + 0x10], 0x47
lea rdi, [rsp + 0x1d0]
mov rcx, rdi
call fcn.140044c31
lea r14, [rsp + 0x140]
mov rcx, r14
call fcn.140033bc4
mov rax, qword [rdi + 0x10]
mov qword [r14 + 0x10], rax
movups xmm0, xmmword [rdi]
movaps xmmword [r14], xmm0
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0xc0], rax
movaps xmmword [rsp + 0xa0], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0xb0], rax
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0xb8], rax
mov eax, dword [rsi + 0x31]
mov ecx, dword [rsi + 0x34]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8b], ecx
movabs rax, 0x100000010
mov qword [rsp + 0xc4], rax
mov dword [rsp + 0xcc], 0
movaps xmm0, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov qword [rdi + 0x20], rdx
mov edx, dword [rsp + 0xc8]
mov dword [rdi + 0x28], edx
mov edx, dword [rsp + 0xcc]
mov dword [rdi + 0x2c], edx
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rcx
movaps xmmword [rdi], xmm0
mov byte [rdi + 0x30], 1
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x8b]
mov dword [rdi + 0x34], ecx
mov dword [rdi + 0x31], eax
lea rcx, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x338]
mov r8, rbx
call fcn.140049a83
mov rcx, qword [rsp + 0x330]
mov rdx, qword [rsp + 0x328]
call fcn.1400450c4
mov rcx, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x340]
call fcn.1400450c4
movaps xmm6, xmmword [rsp + 0x3a0]
movaps xmm7, xmmword [rsp + 0x3b0]
add rsp, 0x3c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.rS__W8_asF_Mq______6_un__W7t
jmp 0x140036fea
lea r8, str.rS__W8_asF_Mq______6_un__W7t
jmp 0x140036ffa
lea r8, str.rS__W8_asF_Mq______6_un__W7t
mov ecx, 2
mov edx, 2
call fcn.140078b50
lea r8, str.rS__W8_asF_Mq______6_un__W7t
mov ecx, 3
mov edx, 3
call fcn.140078b50
lea r8, str.rS__W8_asF_Mq______6_un__W7t
mov ecx, 4
mov edx, 4
call fcn.140078b50
lea r8, str.rS__W8_asF_Mq______6_un__W7t
jmp 0x140036fea
lea r8, str.rS__W8_asF_Mq______6_un__W7t
jmp 0x140036ffa
lea r8, str.rS__W8_asF_Mq______6_un__W7t
xor ecx, ecx
xor edx, edx
call fcn.140078b50
lea r8, str.rS__W8_asF_Mq______6_un__W7t
mov ecx, 1
mov edx, 1
call fcn.140078b50
mov ecx, 8
mov edx, 0x28
call fcn.1400775a0
mov ecx, 8
mov edx, 0x50
call fcn.1400775a0
lea rax, [0x140088de8]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly
lea r9, [0x140087140]
lea r8, [rsp + 0x88]
mov edx, 0x37
call fcn.140078fe0
mov ecx, 4
mov edx, 0x18
call fcn.1400775a0
mov ecx, 4
mov edx, 0x3c
call fcn.1400775a0
lea rax, [0x140089380]
lea rcx, [rsp + 0x1d0]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x140094880]
mov qword [rcx + 0x10], rax
xorpd xmm0, xmm0
movupd xmmword [rcx + 0x18], xmm0
lea rdx, [0x140089390]
call fcn.140078a90
lea rcx, [0x140087120]
lea r8, str.rS__W8_asF_Mq______6_un__W7t
mov edx, 0x1c
call fcn.1400790a0
mov ecx, 8
mov edx, 0x90
call fcn.1400775a0
mov ecx, 8
jmp 0x140037058
mov ecx, 8
mov rdx, rdi
call fcn.1400775a0
int3