Function at 0x1401cf790
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov r11, qword [rbp + 0xc0]
lea rax, [r8 + 0x70]
mov qword [rbp - 0x38], rax
xor r15d, r15d
mov rax, qword [rcx]
mov r12, rcx
mov qword [rbp - 0x78], rax
mov r14d, r9d
movzx eax, byte [r11 + 0x34]
mov r9, r8
mov rbx, qword [r11 + 0x50]
lea r10d, [r15 + 1]
imul rcx, rax, 0x70
mov rax, qword [r8 + 8]
mov rsi, rdx
movsxd r8, dword [r8 + 0x25c]
add rax, 8
add rax, rcx
mov qword [rbp - 0x20], r15
mov qword [rsp + 0x58], rbx
mov edx, r15d
mov qword [rbp - 0x40], rax
mov r13d, dword [rax + 0x44]
mov dword [rsp + 0x40], r13d
test r8, r8
jle 0x1401cf83e
mov ecx, r15d
lea rax, [r9 + 0x260]
cmp dword [rax], r13d
je 0x1401cf949
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1401cf827
mov rax, r15
mov rdx, qword [rbp - 0x40]
not rax
and rax, qword [rbp + 0xc8]
mov ecx, r14d
mov qword [r11 + 0x58], rax
mov edi, dword [r12 + 0x44]
mov r10, qword [r9 + 0x68]
dec edi
mov dword [r12 + 0x44], edi
shr r10, cl
and r10d, 1
mov dword [r11 + 0x10], edi
mov dword [r11 + 0xc], edi
mov eax, dword [r12 + 0x44]
dec eax
mov qword [rsp + 0x78], r10
mov dword [r12 + 0x44], eax
mov dword [rsp + 0x6c], edi
mov dword [rbp - 0x58], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x34], r15b
jbe 0x1401cf8d3
test byte [rdx + 0x3c], 8
je 0x1401cf8d3
mov r9d, dword [r12 + 0x38]
xor r8d, r8d
inc r9d
mov rcx, rsi
mov dword [r12 + 0x38], r9d
mov dword [r11], r9d
lea edx, [r8 + 0x46]
call fcn.1401738e0
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0xc0]
mov r9, qword [rbp + 0xb0]
mov rdx, qword [rbp - 0x40]
mov ecx, r14d
test r14d, r14d
jle 0x1401cf8fb
nop dword [rax + rax]
movsxd rax, ecx
add rax, 9
lea rax, [rax + rax*2]
shl rax, 5
cmp dword [rax + r9], r15d
jne 0x1401cf8fb
dec ecx
test ecx, ecx
jg 0x1401cf8e0
mov r8d, dword [rdx + 0x40]
movsxd rax, ecx
lea rcx, [rax + rax*2]
shl rcx, 5
mov r9d, dword [rcx + r9 + 0x36c]
test r8b, 0x10
je 0x1401cf9fe
movsxd rcx, dword [rsi + 0x98]
mov ebx, dword [rdx + 0x34]
mov edx, dword [rdx + 0x30]
cmp dword [rsi + 0x9c], ecx
jg 0x1401cf956
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.140173730
jmp 0x1401cf983
mov ecx, edx
mov rax, r10
shl rax, cl
jmp 0x1401cf841
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdx, dword [rsi + 0x98]
cmp dword [rsi + 0x9c], edx
jg 0x1401cf9ae
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, ebx
mov edx, 0xe
mov rcx, rsi
call fcn.140173730
mov edx, eax
jmp 0x1401cf9db
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x98], eax
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r11, qword [rbp + 0xc0]
mov r14, qword [rbp + 0xa0]
mov dword [r11 + 0x3c], edx
mov byte [r11 + 0x35], 0xb
mov r10, qword [rbp + 0xb0]
jmp 0x1401d19bb
mov edx, dword [rbx + 0x28]
mov eax, 0x400
test eax, edx
je 0x1401cffc9
movzx r14d, word [rbx + 0x2c]
lea ecx, [r14 + 2]
cmp ecx, 1
jne 0x1401cfa52
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x1401cfa38
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
mov dword [rbp + 0xb8], eax
jmp 0x1401cfa8e
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov eax, dword [r12 + rax*4 + 0xd8]
mov dword [rbp + 0xb8], eax
jmp 0x1401cfa8e
mov edx, dword [r12 + 0x28]
mov r8d, dword [r12 + 0x2c]
mov dword [rbp + 0xb8], r8d
cmp ecx, edx
jg 0x1401cfa79
lea eax, [rcx + r8]
sub edx, ecx
mov dword [r12 + 0x2c], eax
mov dword [r12 + 0x28], edx
jmp 0x1401cfa8e
mov eax, dword [r12 + 0x38]
lea edx, [rax + 1]
add eax, ecx
mov dword [r12 + 0x38], eax
mov dword [rbp + 0xb8], edx
mov r13d, dword [r11 + 0xc]
mov ebx, r15d
test r14d, r14d
je 0x1401cfb2d
mov r12d, dword [rbp + 0xb8]
mov rdi, r15
mov rsi, qword [rsp + 0x78]
add r12d, 2
mov r15, qword [rsp + 0x58]
nop word [rax + rax]
mov rax, qword [r15 + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x1401cfb18
test byte [rdx + 0x14], 1
lea r8d, [rbx + r12]
mov rcx, qword [rbp + 0xa0]
je 0x1401cfaff
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r11
mov dword [rsp + 0x20], esi
call fcn.1401ce410
mov r11, qword [rbp + 0xc0]
mov r13d, dword [r11 + 0x10]
jmp 0x1401cfb18
mov rdx, qword [rdx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.1401cf1d0
mov r11, qword [rbp + 0xc0]
inc ebx
add rdi, 8
cmp ebx, r14d
jl 0x1401cfac0
mov rsi, qword [rbp + 0xa8]
xor r15d, r15d
mov rbx, qword [rsp + 0x58]
movsxd rcx, dword [rsi + 0x98]
mov r12d, dword [rbp + 0xb8]
mov edx, dword [rbx + 0x18]
cmp dword [rsi + 0x9c], ecx
jg 0x1401cfb65
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x46
mov r9d, r12d
mov rcx, rsi
call fcn.140173730
jmp 0x1401cfb93
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [rsi + 0x98]
lea edx, [r12 + 1]
cmp dword [rsi + 0x9c], ecx
jg 0x1401cfbc1
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x46
mov r8d, r14d
mov rcx, rsi
call fcn.140173730
jmp 0x1401cfbef
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rbx + 0x1c], 0
mov eax, 0xfffffff9
mov rbx, qword [rbx + 0x20]
mov r9d, r13d
mov r13d, dword [rsp + 0x40]
mov edi, 0xffffffff
mov r8d, r13d
mov dword [rsp + 0x20], r12d
lea edx, [rax + 0x10]
mov rcx, rsi
cmovne edi, eax
call fcn.140173790
mov r9d, edi
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140174810
mov r8, qword [rsp + 0x58]
mov r9, qword [rbp - 0x78]
mov byte [r8 + 0x1c], 0
cmp byte [r9 + 0x63], 0
je 0x1401cfc48
mov qword [r8 + 0x20], r15
mov r11, qword [rbp + 0xc0]
mov eax, 0x3e
mov r10, qword [rbp + 0xb0]
mov ecx, 0xb3
mov dword [r11 + 0x38], r13d
cmp byte [r10 + 0x42], 0
cmovne eax, ecx
mov byte [r11 + 0x35], al
mov eax, dword [rsi + 0x98]
mov dword [r11 + 0x3c], eax
test dword [r8 + 0x28], 0x800
je 0x1401cfc8a
mov ecx, dword [r11 + 0x40]
jmp 0x1401cfc8d
mov ecx, r15d
lea r12d, [r14 - 1]
test r12d, r12d
js 0x1401d19b4
movsxd r13, ecx
lea r14, [r14*8 - 8]
nop word [rax + rax]
mov rax, qword [r8 + 0x38]
mov rbx, qword [r14 + rax]
lea rax, [r13 - 1]
movzx edx, word [rbx + 0x14]
and dx, 1
cmove rax, r13
test dx, dx
mov r13, rax
lea eax, [rcx - 1]
cmove eax, ecx
mov dword [rsp + 0x70], eax
cmp r12d, 0x10
jge 0x1401cfd78
movzx eax, word [r8 + 0x1e]
movzx ecx, r12w
shr ax, cl
test al, 1
je 0x1401cfd78
test byte [rbx + 0x12], 4
mov edx, r15d
jne 0x1401cffb2
cmp dword [r11], 0
je 0x1401cfd16
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1401cffb2
mov rax, qword [rbx + 0x30]
test qword [r11 + 0x58], rax
jne 0x1401cffb2
test edx, edx
je 0x1401cfd44
movzx eax, word [rbx + 0x12]
mov ecx, 0x400
test cx, ax
je 0x1401cfd44
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x1401cfd49
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1401cffb2
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1401cffb2
inc edx
test byte [rbx + 0x12], 4
je 0x1401cfd03
jmp 0x1401cffb2
test dx, dx
je 0x1401cffb2
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
cmp al, 0xaf
jne 0x1401cfd93
movzx eax, byte [rcx + 2]
cmp al, 0xb0
jne 0x1401cfd9d
mov rax, qword [rcx + 0x20]
jmp 0x1401cfda9
cmp al, 0x89
jne 0x1401cfdb2
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jne 0x1401cffb2
cmp byte [r9 + 0x63], 0
jne 0x1401cfe66
mov rax, qword [r11 + 0x48]
lea rcx, [r13*4]
add rcx, r13
mov edx, dword [rax + rcx*4 + 4]
test edx, edx
jns 0x1401cfddc
mov edx, dword [rsi + 0x98]
dec edx
mov rax, qword [rsi]
cmp byte [rax + 0x63], 0
je 0x1401cfdee
lea rax, [0x1406dd660]
jmp 0x1401cfe00
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
lea rax, [rax + rcx*8]
movsxd rcx, dword [rsi + 0x98]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [rsi + 0x9c], ecx
jg 0x1401cfe30
movzx edx, dl
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.140173730
jmp 0x1401cfe66
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rbp + 0xa0]
mov edx, 0x48
mov rcx, qword [rax]
call fcn.14014e9c0
mov rdi, rax
test rax, rax
je 0x1401cffa2
xor eax, eax
xor r9d, r9d
mov qword [rdi], rax
xor r8d, r8d
mov qword [rdi + 8], rax
mov rdx, rdi
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
mov rax, qword [rbp + 0xa0]
mov byte [rdi], 0x35
mov rcx, qword [rax]
call fcn.140188c50
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x94]
cmp dword [rdi + 0x28], r8d
jle 0x1401cfef2
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.140151b10
mov rax, qword [rbx]
mov edx, 0x49
mov rbx, qword [rbp - 0x78]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
mov rcx, rbx
call fcn.14014e9c0
mov rcx, rax
test rax, rax
je 0x1401cff56
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xaf
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rdi + 0x18], rcx
test rcx, rcx
je 0x1401cff8e
mov eax, dword [rbp + 0xb8]
mov r9d, 0x10
mov r8, qword [rbp + 0xc0]
add eax, 2
add eax, r12d
mov rdx, rdi
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbp + 0xa0]
mov r8d, dword [r8 + 0x18]
call fcn.140190250
mov rdx, rdi
mov qword [rdi + 0x10], r15
mov rcx, rbx
call fcn.140189440
mov r9, rbx
jmp 0x1401cffa6
mov r9, qword [rbp - 0x78]
mov r8, qword [rsp + 0x58]
mov r11, qword [rbp + 0xc0]
mov ecx, dword [rsp + 0x70]
sub r14, 8
sub r12d, 1
jns 0x1401cfcb0
jmp 0x1401d19ad
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1401d005b
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov r8, r11
mov rcx, r12
mov rdx, qword [rax]
inc dword [r12 + 0x38]
mov ebx, dword [r12 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r10d
call fcn.1401ce410
mov edx, eax
cmp eax, ebx
je 0x1401d002b
test ebx, ebx
je 0x1401d002b
movzx ecx, byte [r12 + 0x1f]
cmp cl, 8
jae 0x1401d002b
movzx eax, cl
mov dword [r12 + rax*4 + 0xd8], ebx
inc byte [r12 + 0x1f]
mov r8, qword [rbp + 0xc0]
mov rcx, rsi
mov dword [rsp + 0x20], edx
mov edx, 0x20
mov r9d, dword [r8 + 0x10]
mov r8d, r13d
call fcn.140173790
mov r11, qword [rbp + 0xc0]
mov byte [r11 + 0x35], 0xb3
jmp 0x1401d19ad
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1401d0333
mov r11, qword [rsp + 0x58]
mov r12d, 0xb3
mov dword [rsp + 0x60], r15d
mov r13d, r12d
mov rbx, r15
mov rcx, r15
test dl, 0x20
je 0x1401d009a
mov rax, qword [r11 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x1401d009d
mov r8, r15
test dl, 0x10
je 0x1401d00aa
mov rax, qword [r11 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov r14, rcx
cmove r14, rbx
cmove rbx, rcx
test rbx, rbx
je 0x1401d01bd
mov rdi, qword [rbx]
mov dword [rbp + 0xb8], 0x1917181a
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xaf
jne 0x1401d00dd
movzx eax, byte [rdx + 2]
cmp al, 0xb0
jne 0x1401d00e7
mov rax, qword [rdx + 0x20]
jmp 0x1401d00f3
cmp al, 0x89
jne 0x1401d014a
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401d014a
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1401d010f
inc dword [rcx + 0x38]
mov ebx, dword [rcx + 0x38]
jmp 0x1401d011e
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov ebx, dword [rcx + rax*4 + 0xd8]
mov rdx, qword [rdi + 0x18]
mov r9d, 1
mov r8d, ebx
call fcn.1401cf1d0
movzx eax, byte [rdi]
mov r12d, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xb8]
jmp 0x1401d017c
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x70]
call fcn.14018f780
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov r12d, eax
call fcn.1401cdf80
movzx eax, byte [rdi]
mov ebx, dword [rsp + 0x70]
movzx ecx, byte [rbp + rax + 0x82]
mov edi, dword [rsp + 0x6c]
mov r9d, edi
mov r8d, dword [rsp + 0x40]
movzx edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140173790
mov rcx, qword [rbp + 0xa0]
mov r12d, r13d
test ebx, ebx
je 0x1401d01de
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401d01de
movzx eax, al
mov dword [rcx + rax*4 + 0xd8], ebx
inc byte [rcx + 0x1f]
jmp 0x1401d01de
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x22]
call fcn.1401738e0
mov rcx, qword [rbp + 0xa0]
test r14, r14
je 0x1401d0290
mov rbx, qword [r14]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rbx + 0x18]
call fcn.1401cf1d0
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xaf
jne 0x1401d0219
movzx eax, byte [rcx + 2]
cmp al, 0xb0
jne 0x1401d0223
mov rax, qword [rcx + 0x20]
jmp 0x1401d022f
cmp al, 0x89
jne 0x1401d0234
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x1401d024e
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x1401d024e
mov eax, dword [rsp + 0x78]
xor eax, 1
lea r13d, [rax*2 + 0x37]
jmp 0x1401d025b
mov rax, qword [rsp + 0x78]
lea r13d, [rax*2 + 0x36]
cmp dl, 0xaf
jne 0x1401d0264
movzx edx, byte [rcx + 2]
cmp dl, 0xb0
jne 0x1401d026f
mov rax, qword [rcx + 0x20]
jmp 0x1401d027c
cmp dl, 0x89
jne 0x1401d0281
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x1401d0290
mov rcx, qword [rbp + 0xc0]
mov rdx, r14
call fcn.1401cdf80
mov r11, qword [rbp + 0xc0]
mov ecx, dword [rsi + 0x98]
cmp dword [rsp + 0x78], r15d
mov r14, qword [rbp + 0xa0]
sete al
mov dword [r11 + 0x3c], ecx
add al, 4
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x40]
mov dword [r11 + 0x38], eax
cmp r13d, r12d
je 0x1401cf9f2
inc dword [r14 + 0x38]
mov r8d, eax
mov ebx, dword [r14 + 0x38]
mov edx, 0x85
mov r9d, ebx
mov rcx, rsi
call fcn.1401738e0
mov r8d, dword [rsp + 0x60]
mov r9d, edi
mov edx, r13d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.140173790
movsxd rax, dword [rsi + 0x98]
mov r8, r15
mov r11, qword [rbp + 0xc0]
mov r10, qword [rbp + 0xb0]
test eax, eax
jle 0x1401d19be
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [rsi + 0x90]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1401d19be
mov eax, 0x200
test eax, edx
je 0x1401d0df8
movzx r12d, word [rbx + 0x18]
xor r9b, r9b
mov rax, qword [rsp + 0x58]
mov r13, r15
movzx r10d, word [rbx + 0x1a]
mov r8d, r12d
movzx edi, word [rbx + 0x1c]
mov ebx, r15d
mov word [rbp - 0x48], r12w
mov r11, qword [rax + 0x20]
mov qword [rbp - 0x80], r11
mov r11, qword [rbp + 0xc0]
mov word [rbp - 0x64], r10w
mov word [rsp + 0x64], di
mov qword [rbp - 0x70], r15
mov eax, dword [r11 + 8]
mov dword [rsp + 0x44], eax
mov qword [rbp - 0x50], r15
mov byte [rbp + 0xb8], r9b
mov byte [rsp + 0x54], bl
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x60], r12d
test dl, 0x20
je 0x1401d03c0
mov rax, qword [rsp + 0x58]
inc r8d
movzx ebx, r10w
mov rax, qword [rax + 0x38]
mov r13, qword [rax + r12*8]
test dl, 0x10
je 0x1401d0496
mov rax, qword [rsp + 0x58]
movzx edi, di
cmp ebx, edi
mov ecx, r8d
mov rax, qword [rax + 0x38]
cmova edi, ebx
mov r11, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rbp - 0x70], r11
test word [r11 + 0x12], ax
je 0x1401d044d
mov rcx, qword [rbp + 0xa0]
mov edx, 0x46
mov rbx, qword [rbp + 0xc0]
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x45]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, rsi
mov dword [rbx + 0x2c], r9d
call fcn.1401738e0
mov eax, dword [rsi + 0x98]
mov ecx, r15d
shl dword [rbx + 0x2c], 1
mov r11, qword [rbp - 0x80]
mov dword [rbx + 0x30], eax
movzx edx, r12w
mov rax, qword [r11 + 0x38]
cmp byte [rdx + rax], 1
sete cl
xor ecx, dword [rsp + 0x78]
or dword [rbx + 0x2c], ecx
xor r9b, r9b
jmp 0x1401d0455
mov r11, qword [rbp - 0x80]
movzx edx, r12w
mov ebx, edi
test r13, r13
jne 0x1401d048f
mov rax, qword [r11 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x1401d047d
mov rax, qword [r11 + 0x18]
lea rdx, [r8 + r8*2]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
je 0x1401d0483
cmp r8d, 0xfffffffe
jne 0x1401d048f
mov r9b, 1
mov ebx, edi
mov byte [rbp + 0xb8], r9b
mov r11, qword [rbp + 0xc0]
mov r8, qword [rsp + 0x58]
mov eax, dword [r8 + 0x28]
test al, 0x30
jne 0x1401d0504
bt eax, 0x13
jae 0x1401d0504
mov rax, qword [rbp + 0xa0]
mov ebx, 1
movzx r9d, bl
mov byte [rbp + 0xb8], bl
inc dword [rax + 0x38]
mov edi, dword [rax + 0x38]
mov dword [rsp + 0x48], edi
mov dword [r11 + 0x24], edi
cmp dword [r11], r15d
je 0x1401d04fa
mov r9d, edi
lea edx, [rbx + 0x45]
xor r8d, r8d
mov rcx, rsi
call fcn.1401738e0
mov r11, qword [rbp + 0xc0]
movzx r9d, bl
mov r8, qword [rsp + 0x58]
mov rax, qword [rbp + 0xa0]
dec dword [rax + 0x44]
mov eax, dword [rax + 0x44]
mov dword [r11 + 0x28], eax
mov rax, qword [rbp - 0x80]
cmp r12w, word [rax + 0x60]
jae 0x1401d0558
mov rax, qword [rax + 0x38]
mov edx, r15d
movzx ecx, r12w
cmp byte [rcx + rax], r15b
sete dl
cmp dword [rsp + 0x78], edx
jne 0x1401d0558
mov rax, qword [rbp - 0x70]
xor dil, dil
movzx ecx, word [rsp + 0x64]
mov qword [rbp - 0x70], r13
mov r13, rax
movzx eax, byte [rbp - 0x64]
movzx eax, al
mov word [rsp + 0x64], ax
mov byte [rsp + 0x54], r9b
mov byte [rbp + 0xb8], dil
mov word [rbp - 0x64], cx
jmp 0x1401d055f
movzx edi, byte [rbp + 0xb8]
test r14d, r14d
jle 0x1401d0580
test dword [r8 + 0x28], 0x100000
je 0x1401d0580
mov r8d, dword [rsp + 0x44]
mov edx, 0x86
mov rcx, rsi
call fcn.140173870
mov r8d, dword [rsp + 0x78]
lea rax, [rbp - 0x60]
mov rcx, qword [rbp + 0xa0]
mov r9d, ebx
mov rbx, qword [rbp + 0xc0]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401ceb40
mov edx, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1401d05d6
cmp word [rsp + 0x64], r15w
je 0x1401d05d6
mov rcx, qword [rbp - 0x78]
movzx edx, r12w
add rdx, rax
call fcn.14014ec20
mov edx, dword [rsp + 0x50]
mov qword [rbp - 0x50], rax
mov ecx, dword [rsp + 0x48]
test ecx, ecx
je 0x1401d05e3
mov eax, dword [rbx + 0x28]
jmp 0x1401d05e6
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x4c], eax
test r13, r13
je 0x1401d0601
test byte [r13 + 0x14], 0x28
jne 0x1401d0601
mov r14d, r15d
mov r8d, 1
jmp 0x1401d060a
mov r8d, 1
mov r14d, r8d
mov rax, qword [rbp - 0x70]
mov dword [rsp + 0x70], r14d
test rax, rax
je 0x1401d0623
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x68], r15d
je 0x1401d0628
mov dword [rsp + 0x68], r8d
test r13, r13
jne 0x1401d0675
test r12w, r12w
jne 0x1401d0675
mov r8d, dword [rsp + 0x60]
mov eax, r15d
mov dword [rbp - 0x68], eax
mov ebx, r8d
test dil, dil
je 0x1401d0750
lea r9d, [rdx + r8]
mov rcx, rsi
xor r8d, r8d
mov r14d, r15d
lea edx, [r8 + 0x49]
call fcn.1401738e0
mov eax, 1
inc ebx
mov edi, eax
movzx eax, byte [rbp + 0xb8]
jmp 0x1401d0783
mov eax, r8d
movzx r8d, r12w
mov dword [rbp - 0x68], eax
mov ebx, r8d
test r13, r13
je 0x1401d063e
mov rax, qword [r13]
lea r12d, [r8 + rdx]
movzx r14d, word [rbp - 0x64]
mov r8d, r12d
mov rcx, qword [rbp + 0xa0]
mov r9d, r14d
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.1401cf1d0
mov rdx, qword [rbp + 0xc0]
mov r8, r13
mov rcx, rsi
call fcn.1401cefb0
test byte [r13 + 0x12], 0x80
jne 0x1401d06e7
mov rcx, rdi
call fcn.14018ad90
test eax, eax
je 0x1401d06e7
mov r9d, dword [rsp + 0x4c]
mov r8d, r12d
mov edx, 0x32
mov rcx, rsi
call fcn.1401738e0
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1401d0703
movzx r8d, word [rbp - 0x48]
mov edx, r14d
add r8, rax
mov rcx, rdi
call fcn.1401ce0a0
movzx eax, byte [rdi]
add ebx, r14d
cmp al, 0xaf
jne 0x1401d0711
movzx eax, byte [rdi + 2]
cmp al, 0xb0
jne 0x1401d071b
mov rax, qword [rdi + 0x20]
jmp 0x1401d0727
cmp al, 0x89
jne 0x1401d0738
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401d0738
mov eax, 1
mov r14d, eax
xor al, al
jmp 0x1401d0780
mov rcx, qword [rbp + 0xc0]
mov rdx, r13
call fcn.1401cdf80
mov r14d, dword [rsp + 0x70]
xor al, al
jmp 0x1401d0780
test ecx, ecx
je 0x1401d0779
lea r9d, [rdx + r8]
mov rcx, rsi
xor r8d, r8d
lea edx, [r8 + 0x49]
call fcn.1401738e0
mov eax, 1
inc ebx
mov edi, eax
movzx eax, byte [rbp + 0xb8]
jmp 0x1401d0783
movzx eax, byte [rbp + 0xb8]
mov edi, dword [rbp - 0x68]
mov r9, qword [rbp - 0x60]
mov r8d, ebx
mov edx, dword [rsp + 0x50]
mov rcx, qword [rbp + 0xa0]
movzx r12d, al
sub r8d, r12d
mov dword [rbp + 0xb8], r12d
call fcn.1401ce000
mov rcx, qword [rsp + 0x58]
lea r13, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x1401d07c8
movzx eax, ax
cmp ebx, eax
je 0x1401d08f6
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1401d07e4
mov edx, 0x46
mov r9d, eax
mov rcx, rsi
lea r8d, [rdx - 0x45]
call fcn.1401738e0
mov rcx, qword [rsp + 0x78]
lea eax, [r14 + rdi*2]
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0x58]
movzx edi, byte [rcx + r13 + 0x215808]
test dword [rax + 0x28], 0x100000
je 0x1401d083d
cmp edi, 0x19
jne 0x1401d083d
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, rsi
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rdi + 0x61]
call fcn.140173870
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x50]
mov edx, edi
mov r9d, dword [rsp + 0x4c]
mov rcx, rsi
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
call fcn.140173790
movsxd rcx, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], r15b
jne 0x1401d0879
mov rax, qword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], ebx
cmp dword [rsp + 0x48], r15d
je 0x1401d08f6
mov r9d, dword [rsi + 0x98]
xor r8d, r8d
add r9d, 2
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1401738e0
mov edi, dword [rsp + 0x50]
mov eax, 2
mov r9d, dword [rsp + 0x4c]
mov ecx, 6
mov r8d, dword [rsp + 0x44]
cmp ebx, 1
mov dword [rsp + 0x20], edi
cmova eax, ecx
mov rcx, rsi
add eax, dword [rsp + 0x78]
movzx edx, byte [rax + r13 + 0x215808]
call fcn.140173790
movsxd rcx, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], r15b
jne 0x1401d08fa
mov rax, qword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
sub ebx, r14d
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], ebx
jmp 0x1401d08fa
mov edi, dword [rsp + 0x50]
mov rax, qword [rbp - 0x70]
mov ecx, dword [rsp + 0x60]
mov r14d, ecx
test rax, rax
je 0x1401d0ad6
mov rax, qword [rax]
mov rbx, qword [rax + 0x18]
cmp dword [rsp + 0x6c], r15d
je 0x1401d092d
mov r8, qword [rbp + 0xc0]
mov eax, dword [rsi + 0x98]
mov dword [r8 + 0x3c], eax
mov r12d, dword [rsp + 0x50]
mov rdx, rbx
movzx edi, word [rsp + 0x64]
add r12d, ecx
mov rcx, qword [rbp + 0xa0]
mov r8d, r12d
mov r9d, edi
call fcn.1401cf1d0
mov r10, qword [rbp - 0x70]
mov rcx, rsi
mov rdx, qword [rbp + 0xc0]
mov r8, r10
call fcn.1401cefb0
test byte [r10 + 0x12], 0x80
jne 0x1401d098d
mov rcx, rbx
call fcn.14018ad90
test eax, eax
je 0x1401d098d
mov r9d, dword [rsp + 0x4c]
mov r8d, r12d
mov edx, 0x32
mov rcx, rsi
call fcn.1401738e0
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1401d09b9
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.1401ce0a0
mov r9, qword [rbp - 0x50]
mov r8d, edi
mov rcx, qword [rbp + 0xa0]
mov edx, r12d
call fcn.1401ce000
movzx eax, byte [rbx]
add r14d, edi
cmp al, 0xaf
jne 0x1401d09c7
movzx eax, byte [rbx + 2]
cmp al, 0xb0
jne 0x1401d09d1
mov rax, qword [rbx + 0x20]
jmp 0x1401d09dd
cmp al, 0x89
jne 0x1401d09f0
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401d09f0
mov r12d, dword [rbp + 0xb8]
mov edi, 1
jmp 0x1401d0a0b
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0xc0]
call fcn.1401cdf80
mov r12d, dword [rbp + 0xb8]
mov edi, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x48]
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x78]
call fcn.14014e6a0
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x78]
call fcn.14014e6a0
mov rcx, qword [rbp + 0xc0]
cmp dword [rcx + 0x3c], r15d
jne 0x1401d0a3f
mov eax, dword [rsi + 0x98]
mov dword [rcx + 0x3c], eax
test r14d, r14d
je 0x1401d0b31
test ebx, ebx
je 0x1401d0a67
mov r9d, dword [rsi + 0x98]
mov r8d, ebx
add r9d, 3
mov edx, 0x14
mov rcx, rsi
call fcn.1401738e0
mov rax, qword [rsp + 0x78]
mov rcx, rsi
mov r9d, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x44]
lea eax, [rdi + rax*2]
mov edi, dword [rsp + 0x50]
movzx edx, byte [rax + r13 + 0x211504]
mov dword [rsp + 0x20], edi
call fcn.140173790
movsxd rcx, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], r15b
jne 0x1401d0ab3
mov rax, qword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r14d
mov ecx, dword [rsp + 0x6c]
test ecx, ecx
je 0x1401d0b35
mov rax, qword [rsi]
mov edx, dword [rsi + 0x98]
cmp byte [rax + 0x63], r15b
je 0x1401d0b12
lea rax, [0x1406dd660]
mov dword [rax + 8], edx
jmp 0x1401d0b35
cmp byte [rsp + 0x54], r15b
je 0x1401d0a07
mov ebx, dword [rsp + 0x48]
test ebx, ebx
jne 0x1401d0b06
lea r9d, [rdi + rcx]
xor r8d, r8d
mov rcx, rsi
lea edx, [rbx + 0x49]
call fcn.1401738e0
inc r14d
mov edi, r15d
jmp 0x1401d0a0f
mov edi, dword [rsp + 0x68]
inc r14d
jmp 0x1401d0a0f
test ecx, ecx
lea eax, [rdx - 1]
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x1401d0b35
mov edi, dword [rsp + 0x50]
test ebx, ebx
je 0x1401d0ba7
mov r9d, dword [rsi + 0x98]
mov r8d, ebx
add r9d, 2
mov edx, 0x12
mov rcx, rsi
call fcn.1401738e0
mov rcx, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x44]
mov r8d, ebx
mov r9d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], edi
lea eax, [r12 + rcx*2]
mov rcx, rsi
movzx edx, byte [rax + r13 + 0x211504]
call fcn.140173790
movsxd rcx, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], r15b
jne 0x1401d0bab
mov rax, qword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xfd
lea rdx, [rax + rcx*8]
lea eax, [r12 + r14]
mov dword [rdx + 0x10], eax
jmp 0x1401d0bab
mov ebx, dword [rsp + 0x44]
mov r14, qword [rsp + 0x58]
mov eax, dword [r14 + 0x28]
bt eax, 0x12
jae 0x1401d0bd8
mov r9d, dword [rsp + 0x60]
mov r8d, ebx
mov edx, 0x7b
mov dword [rsp + 0x20], r9d
mov rcx, rsi
call fcn.140173790
mov eax, dword [r14 + 0x28]
test al, 0x40
je 0x1401d0c02
mov rbx, qword [rbp + 0xb0]
test byte [rbx + 0x3c], 0x20
jne 0x1401d0c02
mov rdi, qword [rbp - 0x80]
mov r13d, 1
mov r11d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
jmp 0x1401d0d5a
mov rdi, qword [rbp - 0x80]
mov r13d, r15d
mov r12d, dword [rsp + 0x40]
mov rbx, qword [rdi + 0x18]
test byte [rbx + 0x30], 0x80
jne 0x1401d0c3c
mov rbx, qword [rbp + 0xb0]
mov r8d, r12d
mov r9d, dword [rsp + 0x44]
mov rcx, rbx
mov rdx, rdi
call fcn.1401cf010
mov r11d, dword [rsp + 0x44]
jmp 0x1401d0d5a
mov r11d, dword [rsp + 0x44]
cmp r12d, r11d
je 0x1401d0d53
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1401d0c65
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401d0c65
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401d0c53
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0xa0]
call fcn.1401916a0
movzx r14d, word [rbx + 0x5e]
mov r12d, eax
mov edi, r15d
cmp r15w, r14w
jae 0x1401d0cf7
mov r13, qword [rbp - 0x80]
mov r14d, 0xffffffff
movzx r8d, word [r13 + 0x60]
mov edx, r15d
test r8d, r8d
je 0x1401d0cc1
mov rax, qword [rbx + 8]
mov r9, qword [r13 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x1401d0cc5
inc edx
cmp edx, r8d
jl 0x1401d0cb0
movzx edx, r14w
lea eax, [rdi + r12]
movsx r9d, dx
mov edx, 0x5c
mov dword [rsp + 0x20], eax
mov r8d, r11d
mov rcx, rsi
call fcn.140173790
movzx eax, word [rbx + 0x5e]
inc edi
mov r11d, dword [rsp + 0x44]
cmp edi, eax
jl 0x1401d0c90
movzx r14d, ax
mov r13d, r15d
mov r9d, dword [rbp - 0x58]
mov edx, 0x1e
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov r12d, dword [rsp + 0x40]
mov r8d, r12d
call fcn.140173790
mov rdi, qword [rbp - 0x80]
mov r11d, dword [rsp + 0x44]
mov rbx, qword [rbp + 0xb0]
movsxd rcx, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], r15b
jne 0x1401d0d4c
mov rax, qword [rsi + 0x90]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xfd
lea rdx, [rax + rcx*8]
movzx eax, r14w
mov dword [rdx + 0x10], eax
mov r14, qword [rsp + 0x58]
jmp 0x1401d0d5a
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc0]
cmp dword [rax], r15d
jne 0x1401d0d92
test byte [rbx + 0x3c], 0x20
jne 0x1401d0d7d
mov r9, rbx
mov r8d, r11d
mov edx, r12d
mov rcx, rdi
call fcn.1401cf430
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x1401d0d92
lea r8, [rbx + 0x70]
mov edx, r12d
call fcn.1401cf6f0
test dword [r14 + 0x28], 0x1000
mov r11, qword [rbp + 0xc0]
je 0x1401d0daa
mov byte [r11 + 0x35], 0xb3
jmp 0x1401d0db8
cmp dword [rsp + 0x78], r15d
sete al
add al, 4
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x44]
mov dword [r11 + 0x38], eax
movzx eax, byte [r14 + 0x2a]
and al, 1
mov byte [r11 + 0x36], al
test byte [r14 + 0x28], 0xf
jne 0x1401d0dd7
mov byte [r11 + 0x37], 1
mov r14, qword [rbp + 0xa0]
test r13d, r13d
mov r10, qword [rbp + 0xb0]
mov r8, r15
cmove r8, rdi
mov qword [rbp - 0x20], r8
jmp 0x1401d19be
bt edx, 0xd
jae 0x1401d195b
dec dword [r12 + 0x44]
mov r13, r15
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x34]
mov ecx, dword [r12 + 0x38]
mov dword [rbp - 0x68], eax
inc eax
mov dword [r12 + 0x34], eax
mov eax, dword [r12 + 0x44]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x50], r15
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x4c], r15d
mov rdi, qword [rax + 0x20]
mov rax, qword [rbx + 0x38]
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x6c], r15d
mov qword [rbp - 0x60], r15
mov r12, qword [rax]
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x18], r12
mov rax, qword [r12 + 0x20]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0xb0]
mov byte [r11 + 0x35], 0x42
mov dword [r11 + 0x38], ecx
movzx eax, byte [rax + 0x40]
cmp al, 1
jbe 0x1401d0f9e
movzx ebx, al
sub ebx, r14d
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
mov rax, qword [rbp - 0x78]
add rcx, 0x78
test rax, rax
je 0x1401d0eac
mov rdx, rcx
mov rcx, rax
call fcn.14014e9c0
jmp 0x1401d0eb1
call fcn.14014e380
mov qword [rbp - 0x30], rax
mov rdx, rax
test rax, rax
jne 0x1401d0ec9
mov rax, qword [rbp + 0xc8]
jmp 0x1401d1dfb
mov r11, qword [rbp + 0xb0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x40]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x1401d0fb4
mov r8, qword [rbp + 0xc0]
add rdx, 0x78
add r8, 0x94
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x60]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x1401d0f40
jmp 0x1401d0fb4
mov rax, qword [rbp + 0xb0]
mov r11, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
test byte [r11 + 0x3c], 0x10
jne 0x1401d1057
test byte [rdi + 0x30], 0x80
jne 0x1401d0ff8
mov r14, qword [rbp + 0xa0]
xor r8d, r8d
mov rcx, rsi
inc dword [r14 + 0x38]
lea edx, [r8 + 0x49]
mov eax, dword [r14 + 0x38]
mov r9d, eax
mov dword [rsp + 0x4c], eax
call fcn.1401738e0
inc dword [r14 + 0x38]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x1401d105e
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1401d1013
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401d1013
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401d1001
mov r14, qword [rbp + 0xa0]
mov edx, 0x73
mov rcx, rsi
mov edi, dword [r14 + 0x34]
mov r8d, edi
mov dword [rsp + 0x4c], edi
lea eax, [rdi + 1]
mov dword [r14 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.1401738e0
mov rdx, rbx
mov rcx, r14
call fcn.1401748d0
inc dword [r14 + 0x38]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x1401d105e
mov r14, qword [rbp + 0xa0]
movsxd rdx, dword [rsi + 0x98]
mov dword [rsp + 0x50], edx
cmp dword [rsi + 0x9c], edx
jg 0x1401d1090
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x46]
call fcn.140173730
mov dword [rsp + 0x50], eax
jmp 0x1401d10be
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x68]
mov dword [rsi + 0x98], eax
mov rax, qword [rsi + 0x90]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rbp - 0x38]
mov eax, dword [rcx + 0x14]
cmp eax, 1
jle 0x1401d1180
mov ebx, r15d
test eax, eax
jle 0x1401d1188
mov rsi, qword [rbp - 0x78]
mov rdi, r15
mov r8d, 0x1fff
nop word [rax + rax]
mov rdx, qword [rcx + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rdx
cmp rcx, r12
je 0x1401d1145
test byte [rdx + rdi + 0x12], 6
jne 0x1401d1145
test word [rdx + rdi + 0x14], r8w
je 0x1401d1145
mov rdx, qword [rdx + rdi]
test rdx, rdx
je 0x1401d112b
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.140189720
jmp 0x1401d112e
mov rax, r15
mov r8, rax
mov rdx, r13
mov rcx, r14
call fcn.140188f50
mov r13, rax
mov r8d, 0x1fff
mov rcx, qword [rbp - 0x38]
inc ebx
add rdi, 0x38
cmp ebx, dword [rcx + 0x14]
jl 0x1401d10f0
mov rsi, qword [rbp + 0xa8]
mov qword [rbp - 0x60], r13
test r13, r13
je 0x1401d1185
mov r9, r13
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r14
call fcn.140188cd0
mov rbx, rax
mov qword [rbp - 0x60], rax
jmp 0x1401d1188
mov rbx, r15
jmp 0x1401d1188
mov rbx, r13
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r14
call fcn.140173c90
mov rax, qword [rbp - 0x28]
mov r13d, r15d
mov dword [rbp + 0xb8], r15d
cmp dword [rax + 0x14], r15d
jle 0x1401d1264
mov edx, dword [rsp + 0x40]
mov rcx, r15
mov qword [rsp + 0x58], rcx
mov r12d, 0x20
mov rax, qword [rax + 0x20]
cmp dword [rcx + rax + 0x1c], edx
je 0x1401d11de
mov r8d, 0x400
test word [rcx + rax + 0x14], r8w
je 0x1401d123b
mov rdx, qword [rcx + rax]
mov r14d, r15d
mov dword [rbp - 0x64], r15d
test rdx, rdx
je 0x1401d1207
mov rcx, qword [rbp - 0x78]
xor r9d, r9d
xor r8d, r8d
call fcn.140189720
mov rcx, qword [rsp + 0x58]
mov rbx, rax
jmp 0x1401d120a
mov rbx, r15
mov rax, qword [rbp - 0x78]
mov rdi, rbx
mov qword [rbp - 0x70], rbx
cmp byte [rax + 0x63], 0
je 0x1401d127b
test rbx, rbx
je 0x1401d1230
mov rdx, rbx
mov rcx, rax
call fcn.140189440
mov rcx, qword [rsp + 0x58]
mov r14, qword [rbp + 0xa0]
mov edx, dword [rsp + 0x40]
mov rax, qword [rbp - 0x28]
inc r13d
add rcx, 0x38
mov dword [rbp + 0xb8], r13d
mov qword [rsp + 0x58], rcx
cmp r13d, dword [rax + 0x14]
jl 0x1401d11c6
mov r12, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x60]
mov ecx, dword [r14 + 0x128]
test ecx, ecx
jne 0x1401d1700
mov eax, r15d
jmp 0x1401d1737
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1401d128b
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0xa0]
lea r9d, [r13 + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.140173c90
mov eax, dword [rbp - 0x68]
xor r9d, r9d
mov rcx, qword [rbp + 0xa0]
mov r8, rbx
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], r12w
mov r12, qword [rbp - 0x30]
mov rdx, r12
mov qword [rsp + 0x20], r15
call fcn.1401da460
mov qword [rsp + 0x78], rax
mov rbx, rax
test rax, rax
je 0x1401d16d8
mov rcx, qword [rbp + 0xa0]
lea r8, [rax + 0x360]
xor r9d, r9d
mov rdx, r12
call fcn.1401cdc90
mov rax, qword [rbp + 0xb0]
mov r12, qword [rbp - 0x80]
test byte [rax + 0x3c], 0x10
jne 0x1401d155d
mov rax, qword [rbp - 0x28]
mov edi, r13d
mov ecx, dword [rax + 0x14]
mov eax, 0xffffffff
dec ecx
cmp r13d, ecx
cmove edi, eax
test byte [r12 + 0x30], 0x80
mov dword [rbp - 0x48], edi
jne 0x1401d138f
mov r14d, dword [rsp + 0x48]
mov edx, 0x85
mov r8d, dword [rsp + 0x40]
mov r9d, r14d
mov rcx, rsi
call fcn.1401738e0
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], r14d
lea edx, [r9 + 0x2e]
call fcn.140173790
mov rcx, qword [rsi]
movsxd r14, eax
cmp byte [rcx + 0x63], 0
jne 0x1401d1386
mov rcx, qword [rsi + 0x90]
lea rdx, [r14 + r14*2]
mov byte [rcx + rdx*8 + 1], 0xfd
mov dword [rcx + rdx*8 + 0x10], edi
mov rdi, qword [rbp - 0x70]
jmp 0x1401d155d
mov rcx, r12
call fcn.14019b0f0
mov rcx, qword [rbp + 0xa0]
mov r14, rax
movzx r13d, word [rax + 0x5e]
mov edx, r13d
call fcn.1401916a0
mov dword [rsp + 0x70], eax
mov rbx, r15
mov r12d, r13d
test r13d, r13d
je 0x1401d13fe
mov r15, qword [rbp - 0x80]
mov edi, eax
mov r13d, dword [rsp + 0x40]
nop dword [rax + rax]
mov rcx, qword [r14 + 8]
mov r8d, r13d
mov rdx, r15
mov dword [rsp + 0x20], edi
movsx r9d, word [rcx + rbx*2]
mov rcx, rsi
call fcn.14018dd00
inc edi
inc rbx
cmp rbx, r12
jl 0x1401d13d0
mov edi, dword [rbp - 0x48]
xor r15d, r15d
mov r13d, r12d
mov ebx, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x4c]
test edi, edi
je 0x1401d1444
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0x1f]
call fcn.140173790
movsxd r14, eax
mov rax, qword [rsi]
cmp byte [rax + 0x63], 0
jne 0x1401d1448
mov rax, qword [rsi + 0x90]
lea rcx, [r14 + r14*2]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
jmp 0x1401d1448
mov r14d, dword [rbp - 0x64]
test edi, edi
js 0x1401d1506
movsxd rcx, dword [rsi + 0x98]
mov edx, dword [rsp + 0x48]
cmp dword [rsi + 0x9c], ecx
jg 0x1401d147c
mov dword [rsp + 0x20], edx
mov r9d, r13d
mov edx, 0x5f
mov r8d, ebx
mov rcx, rsi
call fcn.140173730
jmp 0x1401d14a9
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0x5f
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rsp + 0x48]
mov r8d, r12d
mov edx, 0x88
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.140173790
mov rcx, qword [rsi]
cmp byte [rcx + 0x63], 0
jne 0x1401d14e2
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
test edi, edi
je 0x1401d1506
movsxd rax, dword [rsi + 0x98]
test eax, eax
jle 0x1401d1506
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [rsi + 0x90]
mov word [rax + rcx*8 - 0x16], dx
mov rdi, qword [rbp - 0x70]
mov r12, qword [rbp - 0x80]
cmp r13d, 1
jne 0x1401d153d
mov r13d, dword [rbp + 0xb8]
test ebx, ebx
je 0x1401d1558
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401d1558
movzx eax, al
mov dword [rcx + rax*4 + 0xd8], ebx
inc byte [rcx + 0x1f]
jmp 0x1401d1558
mov rax, qword [rbp + 0xa0]
cmp r13d, dword [rax + 0x28]
jle 0x1401d1551
mov dword [rax + 0x28], r13d
mov dword [rax + 0x2c], ebx
mov r13d, dword [rbp + 0xb8]
mov rbx, qword [rsp + 0x78]
movsxd rcx, dword [rsi + 0x98]
cmp dword [rsi + 0x9c], ecx
jg 0x1401d158a
mov r9d, dword [rsp + 0x60]
mov edx, 0xc
mov r8d, dword [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140173730
jmp 0x1401d15bf
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x60]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test r14d, r14d
je 0x1401d15fa
mov rax, qword [rsi]
mov edx, dword [rsi + 0x98]
cmp byte [rax + 0x63], 0
je 0x1401d15dc
lea rax, [0x1406dd660]
jmp 0x1401d15f7
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x6c]
mov ecx, 1
mov r8d, dword [rbx + 0x44]
test r8b, 2
mov rdx, qword [rbx + 0x3b0]
cmovne eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x1401d1653
test r13d, r13d
je 0x1401d1632
mov rax, qword [rbp - 0x50]
cmp qword [rdx + 0x20], rax
jne 0x1401d1653
test byte [r12 + 0x30], 0x80
je 0x1401d1649
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1401d1653
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x50], rax
jmp 0x1401d1657
mov qword [rbp - 0x50], r15
test r8b, 1
je 0x1401d1668
mov rax, qword [rbp + 0xb0]
or dword [rax + 0x44], 1
mov rcx, rbx
call fcn.1401db240
mov r14, qword [rbp + 0xa0]
mov ecx, dword [r14 + 0x128]
test ecx, ecx
jne 0x1401d168e
mov eax, r15d
mov dword [r14 + 0x128], eax
jmp 0x1401d16df
mov rdx, qword [r14 + 0x10]
test ecx, ecx
jns 0x1401d169e
mov ecx, dword [rdx + 0x98]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x63], 0
je 0x1401d16ba
lea rax, [0x1406dd660]
mov eax, dword [rax + 8]
mov dword [r14 + 0x128], eax
jmp 0x1401d16df
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [r14 + 0x128], eax
jmp 0x1401d16df
mov r14, qword [rbp + 0xa0]
test rdi, rdi
je 0x1401d16f0
mov rcx, qword [rbp - 0x78]
mov rdx, rdi
call fcn.140189440
mov rcx, qword [rsp + 0x58]
mov r12d, 0x20
jmp 0x1401d1237
mov rdx, qword [r14 + 0x10]
test ecx, ecx
jns 0x1401d1710
mov ecx, dword [rdx + 0x98]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x63], 0
je 0x1401d1722
lea rax, [0x1406dd660]
jmp 0x1401d1734
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xc0]
mov dword [r14 + 0x128], eax
mov rax, qword [rbp - 0x50]
mov qword [r8 + 0x40], rax
test rax, rax
je 0x1401d1759
mov eax, dword [rbp - 0x68]
mov dword [r8 + 8], eax
test rbx, rbx
je 0x1401d177a
mov qword [rbx + 0x10], r15
mov rdx, rbx
mov rbx, qword [rbp - 0x78]
mov rcx, rbx
call fcn.140189440
mov r8, qword [rbp + 0xc0]
jmp 0x1401d177e
mov rbx, qword [rbp - 0x78]
mov rax, qword [rsi]
mov edx, dword [rsi + 0x98]
cmp byte [rax + 0x63], 0
je 0x1401d1796
lea rax, [0x1406dd660]
jmp 0x1401d17b3
mov ecx, dword [rsp + 0x50]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [rsi + 0x98]
mov edx, dword [r8 + 0xc]
cmp dword [rsi + 0x9c], ecx
jg 0x1401d17e2
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.140173730
jmp 0x1401d180c
lea eax, [rcx + 1]
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov qword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x60]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401d182b
mov r8d, edx
mov rdx, rsi
call fcn.140173ea0
jmp 0x1401d183b
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x98]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov r10, qword [rbp + 0xb0]
cmp byte [r10 + 0x40], 1
jbe 0x1401d18bb
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401d18bb
test rbx, rbx
je 0x1401d18af
cmp qword [rbx + 0x300], 0
je 0x1401d186e
mov rdx, rcx
mov rcx, rbx
call fcn.14014e5d0
jmp 0x1401d18b4
cmp rcx, qword [rbx + 0x1f0]
jae 0x1401d18af
cmp rcx, qword [rbx + 0x1e0]
jb 0x1401d1893
mov rax, qword [rbx + 0x1d8]
mov qword [rcx], rax
mov qword [rbx + 0x1d8], rcx
jmp 0x1401d18bb
cmp rcx, qword [rbx + 0x1e8]
jb 0x1401d18af
mov rax, qword [rbx + 0x1c8]
mov qword [rcx], rax
mov qword [rbx + 0x1c8], rcx
jmp 0x1401d18bb
call fcn.14014e560
mov r10, qword [rbp + 0xb0]
cmp dword [rsp + 0x6c], 0
mov r11, qword [rbp + 0xc0]
jne 0x1401d19bb
test byte [r12 + 0x12], 4
mov edx, r15d
jne 0x1401d19bb
nop dword [rax]
cmp dword [r11], 0
je 0x1401d18f4
mov rax, qword [r12]
test byte [rax + 4], 1
je 0x1401d19bb
mov rax, qword [r12 + 0x30]
test qword [r11 + 0x58], rax
jne 0x1401d19bb
test edx, edx
je 0x1401d1927
movzx eax, word [r12 + 0x12]
mov ecx, 0x400
test cx, ax
je 0x1401d1927
mov ecx, 0x200
or ax, cx
mov word [r12 + 0x12], ax
jmp 0x1401d192e
or word [r12 + 0x12], 4
movsxd rax, dword [r12 + 0x18]
test eax, eax
js 0x1401d19bb
imul rcx, rax, 0x38
mov rax, qword [r12 + 8]
add rcx, qword [rax + 0x20]
mov r12, rcx
add byte [rcx + 0x16], 0xff
jne 0x1401d19bb
inc edx
test byte [rcx + 0x12], 4
je 0x1401d18e0
jmp 0x1401d19bb
test r8b, 0x20
je 0x1401d1968
mov byte [r11 + 0x35], 0xb3
jmp 0x1401d19ad
mov ecx, r10d
lea r13, [0x140000000]
movzx eax, byte [rcx + r13 + 0x213aec]
movzx edx, byte [rcx + r13 + 0x21413c]
mov rcx, rsi
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x38], eax
call fcn.1401738e0
mov r11, qword [rbp + 0xc0]
inc eax
mov dword [r11 + 0x3c], eax
mov byte [r11 + 0x37], 1
mov r10, qword [rbp + 0xb0]
mov r14, qword [rbp + 0xa0]
mov r8, r15
mov rax, r8
lea r9, [0x140190ff0]
neg rax
lea rax, [r10 + 0x70]
sbb edx, edx
add edx, 2
mov dword [rbp + 0xb8], edx
nop word [rax + rax]
mov r12d, dword [rax + 0x14]
mov r13d, r15d
mov rbx, qword [rax + 0x20]
test r12d, r12d
jle 0x1401d1ad7
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rbx + 0x12]
mov edi, r15d
test cl, 6
jne 0x1401d1a95
mov rax, qword [rbx + 0x30]
test qword [r11 + 0x58], rax
je 0x1401d1a21
or dword [r10 + 0x44], 2
jmp 0x1401d1a95
mov rax, qword [rbp - 0x40]
mov r14, qword [rbx]
test byte [rax + 0x3c], 8
je 0x1401d1a35
test byte [r14 + 4], 1
je 0x1401d1a8e
cmp edx, 1
jne 0x1401d1c08
mov eax, dword [r11 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x10], eax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x28], rax
mov qword [rbp], r15
mov qword [rbp + 0x20], r15
mov qword [rbp - 0x18], r8
mov qword [rbp + 8], r9
movdqu xmmword [rbp + 0x10], xmm0
test r14, r14
je 0x1401d1a7d
mov rdx, r14
lea rcx, [rbp]
call fcn.140184600
mov r11, qword [rbp + 0xc0]
cmp word [rbp + 0x24], 0
je 0x1401d1c0d
mov r13d, 2
mov r14, qword [rbp + 0xa0]
mov edx, dword [rbp + 0xb8]
lea r9, [0x140190ff0]
mov r11, qword [rbp + 0xc0]
dec r12d
mov r10, qword [rbp + 0xb0]
add rbx, 0x38
mov r8, qword [rbp - 0x20]
test r12d, r12d
jg 0x1401d1a00
mov rax, qword [rbp - 0x38]
lea r9, [0x140190ff0]
mov rbx, qword [rax + 0x20]
mov r12d, dword [rax + 0x14]
mov r11, qword [rbp + 0xc0]
mov edx, r13d
mov r10, qword [rbp + 0xb0]
mov dword [rbp + 0xb8], edx
test r13d, r13d
jg 0x1401d19e0
test r12d, r12d
jle 0x1401d1d38
mov rsi, qword [rbp - 0x38]
lea rdi, [rbx + 0x14]
mov r13, qword [rbp - 0x40]
nop dword [rax]
test byte [rdi - 2], 6
jne 0x1401d1d21
movzx eax, word [rdi]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1401d1d21
mov eax, dword [rsp + 0x40]
cmp dword [rdi + 8], eax
jne 0x1401d1d21
test byte [r13 + 0x3c], 8
jne 0x1401d1d21
mov r9, qword [rbp + 0xc8]
mov edx, eax
mov r8d, dword [rdi + 0xc]
mov rcx, rsi
mov r14, qword [rdi - 0x14]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x83
call fcn.1401d4c50
mov rbx, rax
test rax, rax
je 0x1401d1d1a
test byte [rax + 0x12], 4
jne 0x1401d1d1a
test byte [rax + 0x14], 1
je 0x1401d1bad
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x1401d1bad
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x1401d1d1a
mov rax, qword [rbx]
lea rdx, [rbp]
mov r8d, dword [rbp - 0x58]
mov r9d, 0x10
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [r14 + 0x10]
mov r14, qword [rbp + 0xa0]
mov rcx, r14
mov qword [rbp + 0x10], rax
call fcn.140190250
or word [rbx + 0x12], 4
jmp 0x1401d1d21
cmp edx, 3
jge 0x1401d1c36
movzx ecx, word [rbx + 0x12]
mov eax, 0x1000
test ax, cx
je 0x1401d1c36
mov r14, qword [rbp + 0xa0]
test r13d, r13d
jne 0x1401d1a95
mov r13d, 3
jmp 0x1401d1a95
mov eax, 0x200
test ax, cx
je 0x1401d1cb0
mov eax, dword [r11 + 0x2c]
test eax, eax
je 0x1401d1cb0
movsxd rdi, dword [rsi + 0x98]
mov r8d, eax
and eax, 1
shr r8d, 1
lea edx, [rax*2 + 0x12]
cmp dword [rsi + 0x9c], edi
jg 0x1401d1c7b
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.140173730
mov edi, eax
jmp 0x1401d1cb0
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0x98], eax
mov rax, qword [rsi + 0x90]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x58]
mov rdx, r14
mov r14, qword [rbp + 0xa0]
mov r9d, 0x10
mov rcx, r14
call fcn.140190250
test edi, edi
je 0x1401d1d10
mov rax, qword [rsi]
mov edx, dword [rsi + 0x98]
cmp byte [rax + 0x63], 0
je 0x1401d1cf3
lea rax, [0x1406dd660]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
jmp 0x1401d1a95
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
or word [rbx + 0x12], 4
jmp 0x1401d1a95
mov r14, qword [rbp + 0xa0]
dec r12d
add rdi, 0x38
test r12d, r12d
jg 0x1401d1b10
mov rsi, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xc0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1401d1df7
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [rsi + 0x98]
cmp dword [rsi + 0x9c], ecx
jg 0x1401d1d7b
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, rsi
lea r8d, [rdx - 0x45]
call fcn.140173730
jmp 0x1401d1dae
lea eax, [rcx + 1]
mov edx, 1
mov dword [rsi + 0x98], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x90]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [rbp - 0x38]
cmp dword [rsi + 0x14], 0
mov rbx, qword [rsi + 0x20]
jle 0x1401d1df7
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x1401d1dea
mov rax, qword [rbx + 0x30]
test qword [rdi + 0x58], rax
jne 0x1401d1dea
mov r8d, dword [rbp - 0x58]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r14
call fcn.140190250
or word [rbx + 0x12], 4
inc r15d
add rbx, 0x38
cmp r15d, dword [rsi + 0x14]
jl 0x1401d1dc0
mov rax, qword [rdi + 0x58]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret