Function at 0x1400669f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x138
mov r12, qword [rbp + 0xa0]
lea rax, [r8 + 0x70]
mov r13, rcx
movzx r10d, byte [r12 + 0x34]
mov r11, qword [r12 + 0x50]
mov qword [rbp - 0x38], rax
mov rax, qword [rcx]
imul r10, r10, 0x70
lea rcx, [r8 + 0x258]
mov qword [rbp - 0x68], rax
mov rax, qword [r8 + 8]
mov r14, rdx
lea rax, [r10 + rax + 8]
xor esi, esi
mov edi, r9d
mov qword [rbp - 0x40], rax
mov eax, dword [rax + 0x44]
mov rbx, r8
mov edx, eax
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x40], eax
call fcn.14006a970
mov r8, qword [rbp - 0x40]
not rax
mov ecx, edi
lea edx, [rsi + 1]
and rax, qword [rbp + 0xa8]
mov qword [r12 + 0x58], rax
mov r15d, dword [r13 + 0x44]
mov r10, qword [rbx + 0x68]
dec r15d
shr r10, cl
mov dword [r13 + 0x44], r15d
and r10d, edx
mov dword [r12 + 0x10], r15d
mov dword [r12 + 0xc], r15d
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x78], r15d
dec eax
mov qword [rsp + 0x50], r10
mov dword [r13 + 0x44], eax
mov dword [rbp - 0x50], eax
mov dword [r12 + 0x18], eax
cmp byte [r12 + 0x34], sil
jbe 0x140066b07
test byte [r8 + 0x3c], 8
je 0x140066b07
mov r9d, dword [r13 + 0x38]
lea edx, [rsi + 0x45]
xor r8d, r8d
inc r9d
mov rcx, r14
mov dword [rsp + 0x20], esi
mov dword [r13 + 0x38], r9d
mov dword [r12], r9d
call fcn.140020f34
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x50]
mov r8, qword [rbp - 0x40]
lea edx, [rsi + 1]
mov ecx, edi
test edi, edi
jle 0x140066b24
movsxd rax, ecx
lea rax, [rax + rax*2 + 0x1b]
shl rax, 5
cmp dword [rax + rbx], esi
jne 0x140066b24
sub ecx, edx
test ecx, ecx
jg 0x140066b0d
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov eax, 0x10
shl rcx, 5
mov r9d, dword [rcx + rbx + 0x36c]
test byte [r8 + 0x40], al
je 0x140066bef
mov eax, dword [r8 + 0x30]
mov ebx, dword [r8 + 0x34]
xor r9d, r9d
lea edx, [r9 + 0xd]
mov rcx, r14
mov r8d, ebx
mov dword [rsp + 0x20], eax
call fcn.140020f34
mov r9d, r15d
mov r8d, ebx
mov edx, 0xe
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov byte [r12 + 0x35], 0xb
mov dword [r12 + 0x3c], eax
mov r8, qword [rbp + 0x90]
mov r11d, 1
mov r9, qword [rbp - 0x80]
lea r15, [r8 + 0x70]
mov rax, r9
neg rax
sbb ecx, ecx
add ecx, 2
mov r14d, dword [r15 + 0x14]
mov rbx, qword [r15 + 0x20]
movsxd rdx, ecx
mov edi, esi
mov qword [rbp + 0x80], rdx
test r14d, r14d
jle 0x140068467
movzx ecx, word [rbx + 0x12]
mov dword [rbp + 0x98], esi
test cl, 6
jne 0x140068441
mov rax, qword [rbx + 0x30]
test qword [r12 + 0x58], rax
je 0x140068359
or dword [r8 + 0x44], 2
jmp 0x140068441
mov edx, dword [r11 + 0x28]
mov eax, 0x400
test eax, edx
je 0x140066eba
movzx r14d, word [r11 + 0x2c]
mov rcx, r13
lea edx, [r14 + 2]
call fcn.14003a4ac
mov ebx, esi
mov r15d, eax
mov dword [rbp + 0x80], eax
mov eax, dword [r12 + 0xc]
mov dword [rbp + 0x98], eax
test r14d, r14d
jle 0x140066c9d
mov rdi, rsi
mov eax, 1
mov rcx, qword [r11 + 0x38]
mov rdx, qword [rdi + rcx]
test rdx, rdx
je 0x140066c8d
mov rcx, r13
test byte [rdx + 0x14], al
je 0x140066c6f
lea eax, [r15 + rbx + 2]
mov r9d, ebx
mov r8, r12
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.140065d68
mov eax, dword [r12 + 0x10]
mov dword [rbp + 0x98], eax
jmp 0x140066c83
mov rdx, qword [rdx]
lea r8d, [r15 + rbx + 2]
mov r9d, eax
mov rdx, qword [rdx + 0x18]
call fcn.1400665f0
mov r11, qword [rsp + 0x68]
mov eax, 1
mov r10, qword [rsp + 0x50]
add ebx, eax
add rdi, 8
cmp ebx, r14d
jl 0x140066c34
mov rbx, qword [rbp + 0x88]
mov r8d, dword [r11 + 0x18]
mov edi, 0x45
mov r9d, r15d
mov edx, edi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140020f34
lea r9d, [r15 + 1]
mov r8d, r14d
mov edx, edi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov rcx, qword [rsp + 0x68]
mov al, byte [rcx + 0x1c]
mov rbx, qword [rcx + 0x20]
mov r9d, dword [rbp + 0x98]
mov rcx, qword [rbp + 0x88]
neg al
mov dword [rsp + 0x20], r15d
mov r15d, dword [rsp + 0x40]
sbb edi, edi
mov edx, 9
mov r8d, r15d
and edi, 0xfffffffa
call fcn.140020f34
lea r9d, [rdi - 1]
mov rdi, qword [rbp + 0x88]
mov rcx, rdi
mov r8, rbx
mov edx, eax
call fcn.14002195c
mov r9, qword [rsp + 0x68]
mov r10, qword [rbp - 0x68]
mov byte [r9 + 0x1c], sil
cmp byte [r10 + 0x63], sil
je 0x140066d3a
mov qword [r9 + 0x20], rsi
mov r8, qword [rbp + 0x90]
mov dword [r12 + 0x38], r15d
lea ebx, [r14 - 1]
mov al, byte [r8 + 0x42]
neg al
sbb cl, cl
and cl, 0x74
add cl, 0x3d
mov byte [r12 + 0x35], cl
mov eax, dword [rdi + 0x90]
mov dword [r12 + 0x3c], eax
movsxd rax, dword [r12 + 0x40]
test ebx, ebx
js 0x140066b8d
lea r15, [rax + rax*4]
movsxd r14, ebx
mov r11d, 1
shl r15, 2
shl r14, 3
mov rax, qword [r9 + 0x38]
mov rdx, qword [r14 + rax]
mov qword [rbp - 0x30], rdx
movzx r8d, word [rdx + 0x14]
and r8w, r11w
je 0x140066da5
sub r15, 0x14
mov eax, 0x10
cmp ebx, eax
jge 0x140066dcb
movzx eax, word [r9 + 0x1e]
movzx ecx, bx
shr ax, cl
test r11b, al
je 0x140066dcb
mov rcx, r12
call fcn.140065a1c
jmp 0x140066ea3
test r8w, r8w
je 0x140066ea8
mov rcx, qword [rdx]
mov rcx, qword [rcx + 0x10]
call fcn.1400339a4
cmp eax, r11d
jne 0x140066ea8
cmp byte [r10 + 0x63], sil
jne 0x140066e1c
mov rax, qword [r12 + 0x48]
mov rcx, rdi
mov edx, dword [rax + r15 + 4]
call fcn.140021a4c
mov ecx, dword [rax + 0xc]
movzx edx, byte [rax]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.140020f34
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x35]
call fcn.140034244
mov rdi, rax
test rax, rax
je 0x140066e92
mov rcx, qword [rbp - 0x30]
xor r8d, r8d
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rbp - 0x68]
mov qword [rax + 0x10], rdx
mov edx, 0xaf
call fcn.1400341a4
mov qword [rdi + 0x18], rax
test rax, rax
je 0x140066e82
mov ecx, dword [rbp + 0x80]
mov r9d, 0x10
mov rdx, rdi
lea ecx, [rcx + rbx + 2]
mov dword [rax + 0x2c], ecx
mov r8d, dword [r12 + 0x18]
mov rcx, r13
call fcn.140039294
mov rcx, qword [rbp - 0x68]
mov rdx, rdi
mov qword [rdi + 0x10], rsi
call fcn.14003464c
mov r10, qword [rbp - 0x68]
mov rdi, qword [rbp + 0x88]
mov r11d, 1
mov r9, qword [rsp + 0x68]
sub r14, 8
sub ebx, r11d
jns 0x140066d8a
jmp 0x1400682ef
mov eax, edx
mov ecx, 0x100
and eax, ecx
je 0x140066f65
test dl, 5
je 0x140066f65
mov rax, qword [r11 + 0x38]
mov r15d, 1
xor r9d, r9d
mov rbx, qword [rax]
add dword [r13 + 0x38], r15d
mov edi, dword [r13 + 0x38]
mov r8, r12
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.140065d68
cmp eax, edi
je 0x140066f21
test edi, edi
je 0x140066f21
cmp byte [r13 + 0x1f], 8
jae 0x140066f21
movzx ecx, byte [r13 + 0x1f]
mov dword [r13 + rcx*4 + 0xd0], edi
add byte [r13 + 0x1f], r15b
mov r9d, dword [r12 + 0x10]
mov r8d, dword [rsp + 0x40]
mov edx, 0x1f
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140020f34
mov r8, qword [rbp + 0x90]
mov byte [r12 + 0x35], 0xb1
mov rax, qword [rbx + 0x30]
mov r11, r15
test qword [r12 + 0x58], rax
jne 0x140066b93
or word [rbx + 0x12], 4
jmp 0x140066b93
test eax, eax
je 0x1400671f0
test dl, 2
je 0x1400671f0
mov edi, 0xb1
mov dword [rsp + 0x60], esi
mov eax, esi
mov r14, rsi
mov rbx, rsi
mov r8d, 1
test dl, 0x20
je 0x140066f9c
mov rax, qword [r11 + 0x38]
mov rbx, qword [rax]
mov eax, r8d
mov ecx, 0x10
test cl, dl
je 0x140066fb0
movsxd rcx, eax
mov rax, qword [r11 + 0x38]
mov r14, qword [rax + rcx*8]
test r10d, r10d
je 0x140066fbe
mov rax, rbx
mov rbx, r14
mov r14, rax
test rbx, rbx
je 0x1400670b2
mov r15, qword [rbx]
mov dword [rbp + 0x98], 0x18161719
mov rdx, qword [r15 + 0x18]
mov rcx, rdx
call fcn.1400339a4
cmp eax, r8d
jle 0x14006703f
mov al, byte [r13 + 0x1f]
test al, al
jne 0x140066ff7
add dword [r13 + 0x38], r8d
mov ebx, dword [r13 + 0x38]
jmp 0x140067009
sub al, r8b
movzx eax, al
mov byte [r13 + 0x1f], al
mov ebx, dword [r13 + rax*4 + 0xd0]
mov rdx, qword [r15 + 0x18]
mov r9d, r8d
mov rcx, r13
mov r8d, ebx
mov dword [rbp + 0x80], ebx
call fcn.1400665f0
movzx r11d, byte [r15]
mov eax, 1
add r11d, eax
and r11d, 2
or r11, rax
movzx edx, byte [rbp + r11 + 0x98]
jmp 0x14006706b
lea r8, [rsp + 0x7c]
mov rcx, r13
call fcn.140038a30
mov rdx, rbx
mov rcx, r12
mov dword [rbp + 0x80], eax
call fcn.140065a1c
movzx r10d, byte [r15]
movzx edx, byte [rbp + r10 + 0x62]
mov ebx, dword [rsp + 0x7c]
mov eax, dword [rbp + 0x80]
mov r15d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x88]
mov r9d, r15d
mov dword [rsp + 0x20], eax
call fcn.140020f34
mov r11d, 1
test ebx, ebx
je 0x1400670da
cmp byte [r13 + 0x1f], 8
jae 0x1400670da
movzx eax, byte [r13 + 0x1f]
mov dword [r13 + rax*4 + 0xd0], ebx
add byte [r13 + 0x1f], r11b
jmp 0x1400670da
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x88]
mov eax, r10d
neg eax
mov dword [rsp + 0x20], esi
sbb edx, edx
and edx, 0xfffffffc
add edx, 0x25
call fcn.140020f34
mov r11d, 1
test r14, r14
je 0x140067155
mov rbx, qword [r14]
add dword [r13 + 0x38], r11d
mov eax, dword [r13 + 0x38]
mov rdx, qword [rbx + 0x18]
mov r9d, r11d
mov r8d, eax
mov rcx, r13
mov dword [rsp + 0x60], eax
call fcn.1400665f0
mov rcx, qword [rbx + 0x18]
call fcn.1400339a4
mov r11d, 1
cmp eax, r11d
jg 0x14006712e
cmp byte [rbx], 0x38
je 0x14006711e
cmp byte [rbx], 0x36
jne 0x14006712e
mov eax, dword [rsp + 0x50]
neg eax
sbb edi, edi
and edi, 0xfffffffe
add edi, 0x39
jmp 0x14006713c
mov eax, dword [rsp + 0x50]
neg eax
sbb edi, edi
and edi, 2
add edi, 0x36
mov rcx, qword [rbx + 0x18]
call fcn.1400339a4
cmp eax, r11d
jg 0x140067155
mov rdx, r14
mov rcx, r12
call fcn.140065a1c
neg dword [rsp + 0x50]
mov r14, qword [rbp + 0x88]
mov ecx, dword [r14 + 0x90]
sbb al, al
add al, 5
mov dword [r12 + 0x3c], ecx
mov byte [r12 + 0x35], al
mov eax, dword [rsp + 0x40]
mov dword [r12 + 0x38], eax
cmp edi, 0xb1
je 0x1400682ef
add dword [r13 + 0x38], r11d
mov ebx, dword [r13 + 0x38]
mov r8d, eax
mov edx, 0x83
mov rcx, r14
mov r9d, ebx
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r8d, dword [rsp + 0x60]
mov r9d, r15d
mov edx, edi
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.140020f34
movsxd r11, dword [r14 + 0x90]
mov r8, qword [rbp + 0x90]
test r11d, r11d
jle 0x140066b8d
mov rax, qword [r14 + 0x88]
lea rcx, [r11 + r11*2]
mov edx, 0x53
mov word [rax + rcx*8 - 0x16], dx
jmp 0x140066b8d
bt edx, 9
jae 0x140067bee
movzx r15d, word [r11 + 0x18]
movzx eax, word [r11 + 0x1c]
movzx r9d, word [r11 + 0x1a]
mov r10, qword [r11 + 0x20]
mov word [rsp + 0x5a], ax
mov eax, dword [r12 + 8]
mov dword [rsp + 0x48], eax
mov word [rsp + 0x58], r15w
mov word [rbp - 0x60], r9w
mov r14, rsi
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x70], rsi
mov ebx, esi
mov qword [rbp - 0x58], rsi
mov byte [rbp + 0x98], sil
mov byte [rsp + 0x4c], sil
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x78], esi
mov qword [rbp - 0x80], r10
mov dword [rsp + 0x7c], r15d
mov r8d, r15d
test dl, 0x20
je 0x140067274
mov rax, qword [r11 + 0x38]
inc r8d
mov r14, qword [rax + r15*8]
movzx eax, r9w
test eax, eax
mov qword [rbp - 0x48], r14
cmovns ebx, eax
mov eax, 0x10
test al, dl
je 0x140067354
mov rax, qword [r11 + 0x38]
movsxd rcx, r8d
mov r10, qword [rax + rcx*8]
movzx eax, word [rsp + 0x5a]
cmp ebx, eax
mov qword [rbp - 0x70], r10
cmovle ebx, eax
mov eax, 0x100
test word [r10 + 0x12], ax
je 0x140067310
mov r9d, dword [r13 + 0x38]
mov r15, qword [rbp + 0x88]
mov edx, 0x45
inc r9d
lea r8d, [rdx - 0x44]
mov rcx, r15
mov dword [r13 + 0x38], r9d
mov dword [r12 + 0x2c], r9d
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r11d, dword [r15 + 0x90]
shl dword [r12 + 0x2c], 1
mov r10, qword [rbp - 0x80]
movzx r15d, word [rsp + 0x58]
mov dword [r12 + 0x30], r11d
mov rax, qword [r10 + 0x38]
mov r11, qword [rsp + 0x68]
mov edx, esi
cmp byte [r15 + rax], 1
sete dl
xor edx, dword [rsp + 0x50]
or edx, dword [r12 + 0x2c]
mov dword [r12 + 0x2c], edx
jmp 0x140067314
mov r10, qword [rbp - 0x80]
test r14, r14
jne 0x140067354
mov rax, qword [r10 + 8]
movzx ecx, r15w
movsx r8, word [rax + rcx*2]
test r8d, r8d
js 0x140067341
mov rax, qword [r10 + 0x18]
mov rdx, r8
mov rcx, qword [rax + 8]
shl rdx, 5
cmp byte [rdx + rcx + 0x18], sil
je 0x140067347
cmp r8d, 0xfffffffe
jne 0x140067354
mov eax, 1
mov byte [rbp + 0x98], al
jmp 0x140067359
mov eax, 1
test byte [r11 + 0x28], 0x30
jne 0x1400673b5
test dword [r11 + 0x28], 0x80000
je 0x1400673b5
add dword [r13 + 0x38], eax
mov ebx, eax
mov byte [rbp + 0x98], al
mov eax, dword [r13 + 0x38]
mov dword [rsp + 0x44], eax
mov dword [r12 + 0x24], eax
cmp dword [r12], esi
je 0x1400673a8
mov rcx, qword [rbp + 0x88]
xor r8d, r8d
mov r9d, eax
lea edx, [r8 + 0x45]
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r11, qword [rsp + 0x68]
dec dword [r13 + 0x44]
mov eax, dword [r13 + 0x44]
mov dword [r12 + 0x28], eax
mov rax, qword [rbp - 0x80]
cmp r15w, word [rax + 0x60]
jae 0x14006740c
mov rax, qword [rax + 0x38]
mov edx, esi
movzx ecx, r15w
cmp byte [rcx + rax], sil
sete dl
cmp dword [rsp + 0x50], edx
jne 0x14006740c
mov rax, qword [rbp - 0x70]
movzx ecx, word [rsp + 0x5a]
mov qword [rbp - 0x70], r14
mov r14, rax
mov qword [rbp - 0x48], rax
mov al, byte [rbp + 0x98]
mov byte [rsp + 0x4c], al
movzx eax, word [rbp - 0x60]
mov byte [rbp + 0x98], sil
movzx eax, al
mov word [rbp - 0x60], cx
mov word [rsp + 0x5a], ax
mov r15, qword [rbp + 0x88]
test edi, edi
jle 0x14006743a
test dword [r11 + 0x28], 0x100000
je 0x14006743a
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov edx, 0x84
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r8d, dword [rsp + 0x50]
lea rax, [rbp - 0x78]
mov r9d, ebx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400661f0
mov ecx, eax
mov dword [rsp + 0x64], eax
cmp qword [rbp - 0x78], rsi
je 0x140067487
cmp word [rsp + 0x5a], si
je 0x140067487
movzx ebx, word [rsp + 0x58]
mov rcx, qword [rbp - 0x68]
mov edx, ebx
add rdx, qword [rbp - 0x78]
call fcn.140003f80
mov ecx, dword [rsp + 0x64]
mov qword [rbp - 0x58], rax
jmp 0x14006748c
movzx ebx, word [rsp + 0x58]
mov edx, dword [rsp + 0x44]
test edx, edx
je 0x14006749b
mov eax, dword [r12 + 0x28]
jmp 0x1400674a0
mov eax, dword [r12 + 0x10]
mov dword [rsp + 0x5c], eax
test r14, r14
je 0x1400674bc
test byte [r14 + 0x14], 0x28
jne 0x1400674bc
mov dword [rsp + 0x70], esi
mov r8d, 1
jmp 0x1400674c7
mov r8d, 1
mov dword [rsp + 0x70], r8d
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400674da
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x74], esi
je 0x1400674df
mov dword [rsp + 0x74], r8d
test r14, r14
jne 0x1400674ed
mov dword [rsp + 0x60], esi
test bx, bx
je 0x1400674f2
mov dword [rsp + 0x60], r8d
movzx r8d, bx
mov edi, r8d
test r14, r14
je 0x1400675d7
mov rax, qword [r14]
movzx r15d, word [rbp - 0x60]
lea r14d, [r8 + rcx]
mov rbx, qword [rax + 0x18]
mov r9d, r15d
mov r8d, r14d
mov rdx, rbx
mov rcx, r13
call fcn.1400665f0
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp + 0x88]
mov eax, 0x100
test word [r9 + 0x12], ax
je 0x14006755e
or edx, 0xffffffff
mov rcx, r10
call fcn.140021a4c
mov ecx, dword [r12 + 0x2c]
shr ecx, 1
mov dword [rax + 0xc], ecx
mov cl, byte [r12 + 0x2c]
and cl, 1
movzx ecx, cl
mov word [rax + 2], cx
test byte [r9 + 0x12], 0x80
jne 0x14006758a
mov rcx, rbx
call fcn.1400358d4
test eax, eax
je 0x14006758a
mov r9d, dword [rsp + 0x5c]
mov r8d, r14d
mov edx, 0x32
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.140020f34
cmp qword [rbp - 0x78], rsi
je 0x1400675a5
movzx r8d, word [rsp + 0x58]
mov edx, r15d
mov rcx, rbx
add r8, qword [rbp - 0x78]
call fcn.140065b10
mov rcx, rbx
add edi, r15d
call fcn.1400339a4
mov ecx, 1
cmp eax, ecx
jg 0x1400675c7
mov rdx, qword [rbp - 0x48]
mov rcx, r12
call fcn.140065a1c
jmp 0x1400675cb
mov dword [rsp + 0x70], ecx
mov byte [rbp + 0x98], sil
mov r14b, sil
jmp 0x14006760d
mov r14b, byte [rbp + 0x98]
test r14b, r14b
je 0x140067609
mov dword [rsp + 0x70], esi
lea r9d, [r8 + rcx]
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 0x48]
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov eax, 1
mov ebx, eax
add edi, eax
jmp 0x140067611
test edx, edx
jne 0x1400675e7
mov ebx, dword [rsp + 0x60]
mov r9, qword [rbp - 0x78]
movzx eax, r14b
mov r14d, dword [rsp + 0x64]
mov r8d, edi
mov rcx, r13
mov edx, r14d
sub r8d, eax
call fcn.140065a8c
mov rax, qword [rsp + 0x68]
lea r15, [0x140000000]
cmp word [rax + 0x2e], si
jbe 0x14006764d
movzx eax, word [rax + 0x2e]
cmp edi, eax
je 0x14006776c
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x140067671
mov rcx, qword [rbp + 0x88]
mov edx, 0x45
mov r9d, eax
lea r8d, [rdx - 0x44]
mov dword [rsp + 0x20], esi
call fcn.140020f34
movsxd rax, dword [rsp + 0x70]
movsxd r14, dword [rsp + 0x50]
movsxd rcx, ebx
lea rcx, [rax + rcx*2]
lea rax, [r14 + rcx*2]
mov rcx, qword [rsp + 0x68]
test dword [rcx + 0x28], 0x100000
movzx ebx, byte [rax + r15 + 0xba088]
je 0x1400676de
cmp ebx, 0x18
jne 0x1400676de
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov rax, qword [rcx + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, qword [rbp + 0x88]
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rbx + 0x60]
call fcn.140020f34
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x48]
mov edx, ebx
mov rbx, qword [rbp + 0x88]
mov dword [rsp + 0x28], edi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400213b8
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x140067779
mov r9d, dword [rbx + 0x90]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0xb]
add r9d, 2
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x48]
mov rax, rsi
mov r11d, edi
sub r11d, dword [rsp + 0x70]
cmp edi, 1
setg al
mov dword [rsp + 0x28], r11d
lea rcx, [r14 + rax*4]
mov r14d, dword [rsp + 0x64]
movzx edx, byte [rcx + r15 + 0xba08a]
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.1400213b8
jmp 0x140067773
mov rbx, qword [rbp + 0x88]
mov eax, dword [rsp + 0x44]
jmp 0x14006777e
mov r14d, dword [rsp + 0x64]
mov rcx, qword [rbp - 0x70]
mov edx, dword [rsp + 0x7c]
mov edi, edx
test rcx, rcx
je 0x140067941
mov rax, qword [rcx]
movzx r14d, word [rsp + 0x5a]
mov rcx, r13
mov rbx, qword [rax + 0x18]
mov eax, dword [rsp + 0x64]
mov r9d, r14d
lea r15d, [rdx + rax]
mov rdx, rbx
mov r8d, r15d
call fcn.1400665f0
mov r9, qword [rbp - 0x70]
mov r10, qword [rbp + 0x88]
mov eax, 0x100
test word [r9 + 0x12], ax
je 0x1400677f2
or edx, 0xffffffff
mov rcx, r10
call fcn.140021a4c
mov ecx, dword [r12 + 0x2c]
shr ecx, 1
mov dword [rax + 0xc], ecx
mov cl, byte [r12 + 0x2c]
and cl, 1
movzx ecx, cl
mov word [rax + 2], cx
test byte [r9 + 0x12], 0x80
jne 0x14006781e
mov rcx, rbx
call fcn.1400358d4
test eax, eax
je 0x14006781e
mov r9d, dword [rsp + 0x5c]
mov r8d, r15d
mov edx, 0x32
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140067847
mov r8, rax
mov edx, r14d
mov rcx, rbx
call fcn.140065b10
mov r9, qword [rbp - 0x58]
mov r8d, r14d
mov edx, r15d
mov rcx, r13
call fcn.140065a8c
mov rcx, rbx
add edi, r14d
call fcn.1400339a4
mov ecx, 1
cmp eax, ecx
jg 0x140067933
mov rdx, qword [rbp - 0x70]
mov rcx, r12
call fcn.140065a1c
lea r15, [0x140000000]
mov ebx, dword [rsp + 0x74]
mov r14, qword [rbp - 0x68]
cmp qword [rbp - 0x78], rsi
je 0x14006788c
mov rdx, qword [rbp - 0x78]
mov rcx, r14
call fcn.140003a4c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400678a0
mov rdx, rax
mov rcx, r14
call fcn.140003a4c
mov r14, qword [rbp + 0x88]
mov eax, dword [r14 + 0x90]
mov dword [r12 + 0x3c], eax
test edi, edi
je 0x140067975
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1400678e2
mov r9d, dword [r14 + 0x90]
mov r8d, eax
mov edx, 0x14
mov rcx, r14
add r9d, 3
mov dword [rsp + 0x20], esi
call fcn.140020f34
movsxd rcx, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x48]
movsxd rax, ebx
mov ebx, dword [rsp + 0x64]
mov dword [rsp + 0x28], edi
lea rdx, [rax + rcx*2]
mov rcx, r14
mov dword [rsp + 0x20], ebx
movzx edx, byte [rdx + r15 + 0xb9f74]
call fcn.1400213b8
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140067979
mov edx, eax
mov rcx, r14
call fcn.140021a4c
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
jmp 0x140067979
mov ebx, ecx
lea r15, [0x140000000]
jmp 0x140067876
cmp byte [rsp + 0x4c], sil
je 0x140067872
test eax, eax
jne 0x14006796a
lea r9d, [rdx + r14]
lea edx, [rax + 0x48]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov ebx, esi
jmp 0x14006796e
mov ebx, dword [rsp + 0x74]
inc edi
jmp 0x140067876
mov ebx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1400679dc
mov r9d, dword [r14 + 0x90]
mov r8d, eax
mov edx, 0x12
mov rcx, r14
add r9d, 2
mov dword [rsp + 0x20], esi
call fcn.140020f34
movzx eax, byte [rbp + 0x98]
movsxd rcx, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
lea rdx, [rax + rcx*2]
lea r11d, [rdi + rax]
mov edi, dword [rsp + 0x48]
movzx edx, byte [rdx + r15 + 0xb9f74]
mov dword [rsp + 0x28], r11d
mov r8d, edi
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.1400213b8
jmp 0x1400679e0
mov edi, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
test dword [rbx + 0x28], 0x40000
je 0x140067a08
mov r9d, dword [rsp + 0x7c]
mov r8d, edi
mov edx, 0x79
mov rcx, r14
mov dword [rsp + 0x20], r9d
call fcn.140020f34
test byte [rbx + 0x28], 0x40
je 0x140067a30
mov r15, qword [rbp + 0x90]
test byte [r15 + 0x3c], 0x20
jne 0x140067a30
mov r14d, dword [rsp + 0x40]
mov r10, qword [rbp - 0x80]
mov r15d, 1
jmp 0x140067b53
mov r10, qword [rbp - 0x80]
mov r14d, dword [rsp + 0x40]
mov r15d, esi
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x80
jne 0x140067a6c
mov r9d, edi
mov rdi, qword [rbp + 0x90]
mov r8d, r14d
mov rcx, rdi
mov rdx, r10
call fcn.1400664ec
mov rbx, qword [rsp + 0x68]
mov r10, qword [rbp - 0x80]
jmp 0x140067b5a
cmp r14d, edi
je 0x140067b4e
mov rbx, qword [rbx + 0x10]
jmp 0x140067a88
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140067a8d
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140067a7b
movzx edx, word [rbx + 0x5e]
mov rcx, r13
call fcn.14003a4ac
mov edi, esi
mov r14d, eax
cmp si, word [rbx + 0x5e]
jae 0x140067b20
mov r12, qword [rbp + 0x88]
mov r13d, dword [rsp + 0x48]
or r15d, 0xffffffff
movzx r8d, word [r10 + 0x60]
mov edx, esi
test r8d, r8d
jle 0x140067ae1
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x140067ae5
inc edx
cmp edx, r8d
jl 0x140067ad0
movzx edx, r15w
lea eax, [rdi + r14]
movsx r9d, dx
mov r8d, r13d
mov edx, 0x5b
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.140020f34
movzx eax, word [rbx + 0x5e]
mov r10, qword [rbp - 0x80]
inc edi
cmp edi, eax
jl 0x140067ab4
mov r12, qword [rbp + 0xa0]
mov r13, qword [rbp + 0x80]
mov r15d, esi
movzx eax, word [rbx + 0x5e]
mov r9d, dword [rbp - 0x50]
mov rcx, qword [rbp + 0x88]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x40]
mov r8d, r14d
mov edx, 0x1d
call fcn.1400213b8
mov r10, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rbp + 0x90]
cmp dword [r12], esi
jne 0x140067b92
test byte [rdi + 0x3c], 0x20
jne 0x140067b79
mov r8d, dword [rsp + 0x48]
mov r9, rdi
mov edx, r14d
mov rcx, r10
call fcn.1400667e8
mov rcx, qword [rbp - 0x80]
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x140067b92
lea r8, [rdi + 0x70]
mov edx, r14d
call fcn.140066960
test dword [rbx + 0x28], 0x1000
je 0x140067ba3
mov byte [r12 + 0x35], 0xb1
jmp 0x140067bb0
neg dword [rsp + 0x50]
sbb al, al
add al, 5
mov byte [r12 + 0x35], al
mov eax, dword [rsp + 0x48]
mov r11d, 1
mov dword [r12 + 0x38], eax
mov al, byte [rbx + 0x2a]
and al, r11b
mov byte [r12 + 0x36], al
test byte [rbx + 0x28], 0xf
jne 0x140067bd5
mov byte [r12 + 0x37], r11b
mov r8, qword [rbp + 0x90]
test r15d, r15d
je 0x140066b93
mov qword [rbp - 0x80], rsi
jmp 0x140066b93
bt edx, 0xd
jae 0x1400682fb
dec dword [r13 + 0x44]
mov eax, dword [r13 + 0x34]
mov r9d, 1
add dword [r13 + 0x38], r9d
mov edx, dword [r13 + 0x38]
mov dword [rsp + 0x5c], eax
inc eax
mov qword [rbp - 0x58], rsi
mov dword [rsp + 0x7c], edx
mov dword [r13 + 0x34], eax
mov eax, dword [r13 + 0x44]
mov rcx, qword [r8 + 0x20]
mov dword [rsp + 0x44], eax
mov rax, qword [r11 + 0x38]
mov dword [rbp + 0x98], esi
mov rax, qword [rax]
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x70], esi
mov qword [rbp - 0x30], rax
mov rax, qword [rax + 0x20]
mov byte [r12 + 0x35], 0x41
mov dword [r12 + 0x38], edx
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x68], rax
cmp byte [rbx + 0x40], r9b
jbe 0x140067d86
movzx ebx, byte [rbx + 0x40]
mov rax, qword [rbp - 0x68]
sub ebx, edi
sub ebx, r9d
movsxd rcx, ebx
imul rcx, rcx, 0x70
add rcx, 0x78
test rax, rax
je 0x140067c98
mov rdx, rcx
mov rcx, rax
call fcn.140003da8
mov rdi, rax
jmp 0x140067ca7
test rcx, rcx
je 0x140067ca4
call fcn.1400038a0
jmp 0x140067c93
mov rdi, rsi
mov qword [rsp + 0x50], rdi
test rdi, rdi
jne 0x140067cbd
mov rax, qword [rbp + 0xa8]
jmp 0x1400685fb
mov rdx, qword [rbp - 0x40]
lea eax, [rbx + 1]
mov r8d, 0x70
movzx ecx, al
mov dword [rdi + 4], ecx
mov dword [rdi], ecx
lea rcx, [rdi + 8]
call fcn.14009e430
mov r15, qword [rbp + 0x90]
mov r9d, 1
mov r15, qword [r15 + 8]
add r15, 8
cmp ebx, r9d
jl 0x140067d3c
lea r14, [r12 + 0x94]
add rdi, 0x78
mov r12d, r9d
movzx edx, byte [r14]
mov rcx, rdi
mov r8d, 0x70
imul rdx, rdx, 0x70
add rdx, r15
call fcn.14009e430
add r14, 0x60
add rdi, 0x70
sub rbx, r12
jne 0x140067d04
mov r12, qword [rbp + 0xa0]
mov r14, qword [rbp + 0x88]
lea r9d, [rbx + 1]
mov rbx, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x78]
mov r15, qword [rsp + 0x50]
mov eax, 0x10
test byte [rbx + 0x3c], al
jne 0x140067dea
test byte [rcx + 0x40], 0x80
jne 0x140067d91
add dword [r13 + 0x38], r9d
mov eax, dword [r13 + 0x38]
xor r8d, r8d
lea edx, [r8 + 0x48]
mov rcx, r14
mov r9d, eax
mov dword [rbp + 0x98], eax
mov dword [rsp + 0x20], esi
call fcn.140020f34
jmp 0x140067dde
mov r15, qword [rbx + 8]
mov qword [rsp + 0x50], r15
jmp 0x140067d4c
mov rbx, qword [rcx + 0x10]
jmp 0x140067da4
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140067da9
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140067d97
mov edi, dword [r13 + 0x34]
mov edx, 0x70
mov rcx, r14
lea eax, [rdi + 1]
mov r8d, edi
mov dword [rbp + 0x98], edi
mov dword [r13 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov rdx, rbx
mov rcx, r13
call fcn.140021a20
inc dword [r13 + 0x38]
mov eax, dword [r13 + 0x38]
mov dword [rsp + 0x74], eax
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0x45]
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r8, qword [rbp - 0x38]
cmp dword [r8 + 0x14], 1
mov dword [rbp - 0x60], eax
jle 0x140067ec1
mov edi, esi
cmp dword [r8 + 0x14], esi
jle 0x140067ec1
mov r14, qword [rbp - 0x30]
mov r12, qword [rbp - 0x68]
mov rbx, rsi
mov r15, rsi
mov rcx, qword [r8 + 0x20]
movsxd rax, edi
mov rdx, qword [rcx + rbx]
imul rax, rax, 0x38
add rax, rcx
cmp rax, r14
je 0x140067e88
test byte [rbx + rcx + 0x12], 6
mov rax, rcx
jne 0x140067e88
mov ecx, 0x1fff
test word [rbx + rax + 0x14], cx
je 0x140067e88
test rdx, rdx
je 0x140067e70
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call fcn.1400347dc
jmp 0x140067e73
mov rax, rsi
mov r8, rax
mov rdx, r15
mov rcx, r13
call fcn.140034344
mov r8, qword [rbp - 0x38]
mov r15, rax
inc edi
add rbx, 0x38
cmp edi, dword [r8 + 0x14]
jl 0x140067e2e
mov r12, qword [rbp + 0xa0]
mov qword [rbp - 0x70], r15
test r15, r15
mov r15, qword [rsp + 0x50]
je 0x140067ec1
mov r9, qword [rbp - 0x70]
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r13
call fcn.140034244
mov qword [rbp - 0x70], rax
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r13
call fcn.14002125c
mov rax, qword [rsp + 0x68]
mov r14d, esi
mov dword [rsp + 0x78], esi
cmp dword [rax + 0x14], esi
jle 0x14006822c
mov ecx, dword [rsp + 0x40]
mov rdi, rsi
mov qword [rbp - 0x48], rsi
mov rax, qword [rax + 0x20]
cmp dword [rdi + rax + 0x1c], ecx
je 0x140067f0f
mov edx, 0x400
test word [rdi + rax + 0x14], dx
je 0x140068201
mov rbx, qword [rdi + rax]
mov rax, qword [rbp - 0x70]
mov r12d, esi
test rax, rax
je 0x140067f26
mov qword [rax + 0x10], rbx
mov rbx, rax
lea r9d, [r14 + 1]
lea r8, str.INDEX__d
mov edx, 1
mov rcx, r13
call fcn.14002125c
mov eax, dword [rsp + 0x5c]
xor r9d, r9d
mov dword [rsp + 0x30], eax
mov eax, 0x20
mov r8, rbx
mov word [rsp + 0x28], ax
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0x20], rsi
call fcn.14006f220
mov rbx, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400681fd
lea r8, [rax + 0x360]
xor r9d, r9d
mov rdx, r15
mov rcx, r13
call fcn.140065798
mov rax, qword [rbp + 0x90]
mov ecx, 0x10
test byte [rax + 0x3c], cl
jne 0x140068143
mov rax, qword [rsp + 0x68]
mov edi, r14d
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp - 0x78]
dec ecx
cmp r14d, ecx
mov ecx, 0xffffffff
cmove edi, ecx
test byte [rax + 0x40], 0x80
mov dword [rsp + 0x64], edi
jne 0x140068015
mov r15, qword [rbp + 0x88]
mov r12d, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x40]
mov r9d, ecx
mov rdx, rax
mov rcx, r15
mov dword [rsp + 0x20], r12d
call fcn.14003736c
mov r8d, dword [rbp + 0x98]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x28], edi
lea edx, [r9 + 0x2d]
mov dword [rsp + 0x20], r12d
call fcn.1400213b8
mov rdi, qword [rbp - 0x48]
mov r12d, eax
jmp 0x14006814a
mov rbx, qword [rax + 0x10]
jmp 0x140068028
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14006802d
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14006801b
movzx r15d, word [rbx + 0x5e]
mov rcx, r13
mov edx, r15d
call fcn.14003a4ac
mov r14, rsi
mov dword [rsp + 0x60], eax
test r15d, r15d
jle 0x140068093
mov r13, qword [rbp + 0x88]
mov rsi, qword [rbp - 0x78]
mov edi, eax
mov rcx, qword [rbx + 8]
mov r8d, dword [rsp + 0x40]
mov rdx, rsi
movsx r9d, word [rcx + r14*2]
mov rcx, r13
mov dword [rsp + 0x20], edi
call fcn.14003736c
mov eax, 1
add r14, rax
add edi, eax
cmp r14, r15
jl 0x140068056
mov r13, qword [rbp + 0x80]
mov edi, dword [rsp + 0x64]
mov eax, dword [rsp + 0x60]
xor esi, esi
mov r14, qword [rbp + 0x88]
test edi, edi
je 0x1400680c0
mov r8d, dword [rbp + 0x98]
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0x1e]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.1400213b8
mov r12d, eax
mov ebx, dword [rsp + 0x60]
test edi, edi
js 0x140068129
mov eax, dword [rsp + 0x74]
mov r9d, r15d
mov r8d, ebx
mov edx, 0x5d
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140020f34
mov r9d, dword [rsp + 0x74]
mov r8d, dword [rbp + 0x98]
mov edx, 0x86
mov rcx, r14
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], ebx
call fcn.1400213b8
test edi, edi
je 0x140068129
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x140068129
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov r8d, r15d
mov edx, ebx
mov rcx, r13
call fcn.14003a500
mov r14d, dword [rsp + 0x78]
mov rdi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x28]
mov r15, qword [rbp + 0x88]
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x7c]
mov edx, 0xc
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.140020f34
test r12d, r12d
je 0x14006817f
mov edx, r12d
mov rcx, r15
call fcn.140021a4c
mov ecx, dword [r15 + 0x90]
mov dword [rax + 8], ecx
test byte [rbx + 0x44], 2
mov eax, dword [rsp + 0x70]
mov rdx, qword [rbx + 0x3b0]
mov ecx, 1
cmovne eax, ecx
test dword [rdx + 0x28], 0x200
mov dword [rsp + 0x70], eax
je 0x1400681da
test r14d, r14d
je 0x1400681b2
mov rax, qword [rbp - 0x58]
cmp qword [rdx + 0x20], rax
jne 0x1400681da
mov rax, qword [rbp - 0x78]
test byte [rax + 0x40], 0x80
je 0x1400681d0
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
mov ecx, 1
je 0x1400681da
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x58], rax
jmp 0x1400681de
mov qword [rbp - 0x58], rsi
test byte [rbx + 0x44], cl
je 0x1400681ed
mov rax, qword [rbp + 0x90]
or dword [rax + 0x44], ecx
mov rcx, rbx
call fcn.14006fe2c
mov rcx, r13
call fcn.1400212e4
mov ecx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov r15, qword [rsp + 0x50]
inc r14d
add rdi, 0x38
mov dword [rsp + 0x78], r14d
mov qword [rbp - 0x48], rdi
cmp r14d, dword [rax + 0x14]
jl 0x140067ef5
mov r12, qword [rbp + 0xa0]
mov rcx, r13
call fcn.1400212e4
mov rax, qword [rbp - 0x58]
mov qword [r12 + 0x40], rax
test rax, rax
je 0x14006824b
mov eax, dword [rsp + 0x5c]
mov dword [r12 + 8], eax
mov rax, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x68]
test rax, rax
je 0x140068267
mov rdx, rax
mov rcx, rbx
mov qword [rax + 0x10], rsi
call fcn.14003464c
mov r14, qword [rbp + 0x88]
mov edx, dword [rbp - 0x60]
mov rcx, r14
call fcn.140021a4c
mov ecx, dword [r14 + 0x90]
xor r8d, r8d
mov dword [rax + 4], ecx
mov r9d, dword [r12 + 0xc]
lea edx, [r8 + 0xb]
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov edx, dword [rsp + 0x44]
mov rcx, r14
call fcn.14002149c
mov r8, qword [rbp + 0x90]
mov r11d, 1
cmp byte [r8 + 0x40], r11b
jbe 0x1400682d9
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1400682d9
mov rcx, rbx
call fcn.140003a4c
mov r8, qword [rbp + 0x90]
mov r11d, 1
cmp dword [rsp + 0x70], esi
jne 0x140066b93
mov rdx, qword [rbp - 0x30]
mov rcx, r12
call fcn.140065a1c
mov r8, qword [rbp + 0x90]
jmp 0x140066b93
test byte [r8 + 0x40], 0x20
je 0x14006830d
mov byte [r12 + 0x35], 0xb1
jmp 0x140066b86
mov r15d, dword [rsp + 0x40]
movsxd rcx, r10d
lea rdx, [0x140000000]
mov al, byte [rcx + rdx + 0xba084]
mov dword [r12 + 0x38], r15d
mov r8d, r15d
mov byte [r12 + 0x35], al
movzx edx, byte [rcx + rdx + 0xba090]
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.140020f34
mov r11d, 1
add eax, r11d
mov byte [r12 + 0x37], r11b
mov dword [r12 + 0x3c], eax
jmp 0x1400682ef
mov rax, qword [rbp - 0x40]
mov r15, qword [rbx]
test byte [rax + 0x3c], 8
je 0x140068370
test byte [r15 + 4], r11b
je 0x140068441
cmp rdx, r11
jne 0x140068397
mov edx, dword [r12 + 4]
mov r8, r9
mov rcx, r15
call fcn.140039f18
mov r11d, 1
test eax, eax
jne 0x14006839d
lea edi, [rax + 2]
jmp 0x140068441
cmp rdx, 3
jge 0x1400683bd
movzx ecx, word [rbx + 0x12]
mov eax, 0x1000
test ax, cx
je 0x1400683bd
test edi, edi
jne 0x140068441
mov edi, 3
jmp 0x140068441
mov eax, 0x200
test ax, cx
je 0x1400683fc
mov eax, dword [r12 + 0x2c]
test eax, eax
je 0x1400683fc
mov rcx, qword [rbp + 0x88]
mov r8d, eax
and al, r11b
shr r8d, 1
neg al
mov dword [rsp + 0x20], esi
sbb edx, edx
xor r9d, r9d
and edx, 2
add edx, 0x12
call fcn.140020f34
mov dword [rbp + 0x98], eax
mov r8d, dword [rbp - 0x50]
mov r9d, 0x10
mov rdx, r15
mov rcx, r13
call fcn.140039294
mov eax, dword [rbp + 0x98]
test eax, eax
je 0x140068436
mov r9, qword [rbp + 0x88]
mov edx, eax
mov rcx, r9
call fcn.140021a4c
mov ecx, dword [r9 + 0x90]
mov dword [rax + 8], ecx
or word [rbx + 0x12], 4
mov r11d, 1
mov rdx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x90]
mov r9, qword [rbp - 0x80]
sub r14d, r11d
add rbx, 0x38
test r14d, r14d
jg 0x140066bc3
mov r15, qword [rbp - 0x38]
mov r8, qword [rbp + 0x90]
mov ecx, edi
test edi, edi
jg 0x140066ba6
mov r14d, dword [r15 + 0x14]
mov rbx, qword [r15 + 0x20]
test r14d, r14d
jle 0x14006857e
mov r12d, dword [rsp + 0x40]
mov eax, 0x800
test byte [rbx + 0x12], 6
jne 0x140068563
test byte [rbx + 0x14], 0x82
je 0x140068563
test word [rbx + 0x14], ax
je 0x140068563
cmp dword [rbx + 0x1c], r12d
jne 0x140068563
mov rax, qword [rbp - 0x40]
test byte [rax + 0x3c], 8
jne 0x14006855e
mov r9, qword [rbp + 0xa8]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rbp - 0x38]
mov r15, qword [rbx]
mov edx, r12d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x83
call fcn.14006acc8
mov r11d, 1
mov rdi, rax
test rax, rax
je 0x14006855e
test byte [rax + 0x12], 4
jne 0x14006855e
test byte [rax + 0x14], r11b
je 0x140068523
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x140068523
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], r11d
jg 0x14006855e
mov rdx, qword [rdi]
lea rcx, [rbp - 0x20]
mov r8d, 0x48
call fcn.14009e430
mov r11, qword [r15 + 0x10]
mov r8d, dword [rbp - 0x50]
lea rdx, [rbp - 0x20]
mov r9d, 0x10
mov rcx, r13
mov qword [rbp - 0x10], r11
call fcn.140039294
or word [rdi + 0x12], 4
mov r11d, 1
mov eax, 0x800
sub r14d, r11d
add rbx, 0x38
test r14d, r14d
jg 0x140068493
mov r12, qword [rbp + 0xa0]
mov r15, qword [rbp - 0x38]
cmp dword [r12], esi
je 0x1400685f6
mov rcx, qword [rbp + 0x88]
mov r9d, dword [r12]
mov r8d, r11d
mov eax, dword [rcx + 0x90]
mov edx, 0x45
mov dword [rsp + 0x20], esi
mov dword [r12 + 0x1c], eax
call fcn.140020f34
mov rbx, qword [r15 + 0x20]
cmp dword [r15 + 0x14], esi
jle 0x1400685f6
mov eax, 1
test byte [rbx + 0x12], 6
jne 0x1400685ea
mov rax, qword [rbx + 0x30]
test qword [r12 + 0x58], rax
jne 0x1400685e5
mov r8d, dword [rbp - 0x50]
mov rdx, qword [rbx]
mov r9d, 0x10
mov rcx, r13
call fcn.140039294
or word [rbx + 0x12], 4
mov eax, 1
add esi, eax
add rbx, 0x38
cmp esi, dword [r15 + 0x14]
jl 0x1400685ba
mov rax, qword [r12 + 0x58]
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret