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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
mov eax, dword [rsp + 0x270]
mov r15, qword [rcx + 0x10]
mov qword [rsp + 0x248], rdx
lea rdx, [rsp + 0x148]
mov r14, rcx
mov rsi, r8
mov qword [rsp + 0x258], r9
mov rbp, qword [rsp + 0x268]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov rdi, rdx
mov word [rsp + 0x40], ax
mov rax, qword [rcx]
mov ecx, 0xe
mov qword [rsp + 0x58], rax
xor eax, eax
test r9, r9
rep stosd dword [rdi], eax
je 0x68e6cc
cmp dword [r9], 0x3f
jle 0x68e6cc
mov qword [rsp + 0x258], 0
mov rax, qword [rsp + 0x248]
mov eax, dword [rax]
cmp eax, 0x40
mov dword [rsp + 0x90], eax
jle 0x68e6fc
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, 0x40
mov rcx, r14
call fcn.00659eb0
jmp 0x691547
test byte [rsp + 0x60], 0x20
mov eax, 1
mov rcx, qword [rsp + 0x58]
cmove eax, dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
dec eax
imul eax, eax, 0x70
add eax, 0x3d8
movsxd r12, eax
lea rdx, [r12 + 0x68]
call fcn.00657a00
mov rbx, rax
mov rax, qword [rsp + 0x58]
mov al, byte [rax + 0x67]
test al, al
mov byte [rsp + 0x4c], al
je 0x68e756
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.00657910
jmp 0x691547
mov rax, qword [rsp + 0x248]
mov qword [rbx + 0x30], 0xffffffffffffffff
lea rdx, [rbx + 0x49]
mov qword [rbx], r14
mov qword [rbx + 0x20], rsi
mov ecx, 0x2f
mov rdi, rdx
mov r8d, 0x2c
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x258]
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x260]
mov qword [rbx + 0x18], rax
mov al, byte [rsp + 0x90]
mov byte [rbx + 0x48], al
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbx + 0x38], eax
mov dword [rbx + 0x3c], eax
mov eax, dword [rsp + 0x60]
mov word [rbx + 0x44], ax
mov eax, dword [rsp + 0x278]
mov word [rbx + 0x46], ax
mov eax, dword [r14 + 0xc8]
mov qword [rbx + 0x28], rbp
mov dword [rbx + 0x40], eax
mov al, byte [rsp + 0x4c]
rep stosb byte [rdi], al
movsxd rcx, dword [rsp + 0x90]
lea rax, [rbx + 0x368]
mov qword [rsp + 0x50], rax
mov rdi, rax
mov al, byte [rsp + 0x4c]
imul rcx, rcx, 0x70
add rcx, 0x68
rep stosb byte [rdi], al
movabs rax, 0xffffff9d00000000
mov qword [rsp + 0x148], rbx
lea rcx, [rbx + 0x78]
mov qword [rbx + 0x264], rax
lea rax, [rbx + 0x78]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x150], rax
lea rax, [rbx + r12]
lea rdx, [rax + 0x50]
mov qword [rsp + 0x158], rax
mov word [rax + 0x34], 0
mov word [rax + 0x38], 3
mov dword [rax + 0x30], 0
mov qword [rax + 0x40], rdx
movabs rax, 0x800000000
mov qword [rbx + 0x78], rbx
mov qword [rbx + 0x8c], rax
lea rax, [rbx + 0xa0]
mov byte [rbx + 0x89], 0
mov qword [rbx + 0x80], 0
mov dword [rbx + 0x94], 0
mov rdx, rsi
mov qword [rbx + 0x98], rax
call fcn.00692900
cmp dword [rsp + 0x90], 0
jne 0x68e8f1
cmp qword [rsp + 0x258], 0
je 0x68e8c2
mov rax, qword [rsp + 0x258]
mov eax, dword [rax]
mov byte [rbx + 0x49], al
mov eax, dword [rsp + 0x60]
bt eax, 8
jae 0x68e8db
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 0x10
jne 0x68e8db
mov byte [rbx + 0x4b], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r14
call fcn.0068a840
jmp 0x68ea99
mov rax, qword [rsp + 0x248]
mov dword [rsp + 0x68], 0
lea rsi, [rax + 0x28]
movsxd rax, dword [rbx + 0x264]
mov edx, dword [rsi + 0x24]
mov rdi, qword [rsp + 0x248]
lea ecx, [rax + 1]
mov dword [rbx + 0x264], ecx
mov dword [rbx + rax*4 + 0x268], edx
movsxd rax, dword [rsp + 0x68]
imul rax, rax, 0x68
test byte [rdi + rax + 0x48], 4
je 0x68ea7d
mov r13, qword [rsi + 0x38]
test r13, r13
je 0x68ea7d
mov r10, qword [rsi]
xor r12d, r12d
xor edi, edi
cmp r12d, dword [r13]
mov r9d, r12d
jge 0x68ea7d
movsxd rax, edi
movsx edx, word [r10 + 0x36]
imul rax, rax, 0x18
cmp edi, edx
jge 0x68e983
mov rcx, qword [r10 + 8]
mov cx, word [rcx + rax + 0x12]
add rax, 0x18
and cl, 2
jne 0x68e99a
inc edi
jmp 0x68e969
mov r8, qword [r10]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r14
call fcn.00659eb0
jmp 0x68ea7d
mov rcx, qword [r14]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa7
mov qword [rsp + 0x78], r10
call fcn.0065a140
test rax, rax
mov r11, rax
je 0x68ea7d
mov eax, dword [rsi + 0x24]
mov r10, qword [rsp + 0x78]
mov rcx, r11
mov word [r11 + 0x30], di
mov qword [rsp + 0x78], r11
mov dword [r11 + 0x2c], eax
lea eax, [rdi + 1]
mov qword [r11 + 0x40], r10
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x70], eax
call fcn.0065c560
or qword [rsi + 0x30], rax
mov rax, r12
mov rcx, qword [r14]
shl rax, 5
xor r8d, r8d
mov rdx, qword [r13 + rax + 8]
call fcn.0065cb00
xor r9d, r9d
mov r8, rax
mov edx, 0xae
mov rcx, r14
call fcn.0066e830
mov r11, qword [rsp + 0x78]
mov r9, rax
mov edx, 0x35
mov rcx, r14
mov r8, r11
call fcn.0066e830
mov r9, rax
mov al, byte [rsi + 0x1c]
mov edx, dword [rsi + 0x24]
and eax, 0x48
cmp al, 1
sbb ecx, ecx
inc r12
not ecx
lea r8d, [rcx + 2]
mov rcx, r9
call fcn.0067e6a0
mov rcx, qword [rsp + 0xa8]
mov r8d, 1
mov rdx, r9
call fcn.006a5fc0
mov edi, dword [rsp + 0x70]
mov r10, qword [rsp + 0x80]
jmp 0x68e950
mov rax, qword [rsp + 0x248]
inc dword [rsp + 0x68]
add rsi, 0x68
mov edi, dword [rsp + 0x68]
cmp dword [rax], edi
jg 0x68e905
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x248]
call fcn.00692380
test rbp, rbp
je 0x68eb97
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x68eb97
test byte [rbp + 4], 9
jne 0x68eb97
mov rax, qword [rbp + 0x28]
cmp dword [rax], 1
jne 0x68eb97
mov rdx, qword [rax + 0x28]
cmp byte [rdx + 0x3f], 1
jne 0x68eb97
mov r8d, dword [rbx + 0x8c]
mov esi, dword [rax + 0x4c]
xor eax, eax
cmp r8d, eax
jle 0x68eb19
imul rdx, rax, 0x38
add rdx, qword [rbx + 0x98]
test byte [rdx + 0x12], 4
jne 0x68eb14
cmp esi, dword [rdx + 0x1c]
jne 0x68eb97
inc rax
jmp 0x68eaf5
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x68eb51
mov r9d, dword [rax]
xor edx, edx
add rax, 8
cmp edx, r9d
jge 0x68eb51
mov r8, qword [rax]
mov r10, rax
cmp byte [r8], 0xa7
jne 0x68eb97
cmp esi, dword [r8 + 0x2c]
jne 0x68eb97
add rax, 0x20
test byte [r10 + 0x10], 2
jne 0x68eb97
inc edx
jmp 0x68eb2b
mov r8, qword [rcx + 0x10]
mov edx, dword [rbp + 8]
mov r9d, esi
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x20], 0x49
call fcn.006a5df0
mov edx, dword [rbp + 0xc]
test edx, edx
jle 0x68eb97
mov rax, qword [rbp + 0x60]
mov rcx, qword [rsp + 0xa8]
mov r9d, esi
mov r8, qword [rax + 0x18]
mov dword [rsp + 0x20], 0x4a
call fcn.006a5df0
cmp dword [r14 + 0x30], 0
jne 0x691528
lea rax, [rsp + 0x180]
lea r12, [0x00612c10]
lea r13, [0x0067e610]
xor esi, esi
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x150]
cmp dword [rax + 0x1c], esi
jle 0x68ec57
imul rdx, rsi, 0x38
add rdx, qword [rax + 0x20]
test byte [rdx + 0x12], 2
mov rbp, rdx
jne 0x68ec4f
cmp qword [rdx + 0x30], 0
jne 0x68ec4f
cmp dword [rsp + 0x90], 0
jne 0x68ec0f
mov r8d, dword [rbx + 0x3c]
mov rdx, qword [rbp]
mov r9d, 0x10
mov rcx, r14
call fcn.0065ccb0
or word [rbp + 0x12], 4
jmp 0x68ec4f
mov rdi, qword [rsp + 0x68]
xor eax, eax
mov ecx, 0xc
mov rdx, qword [rdx]
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x68]
mov word [rsp + 0x1a4], 1
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x190], r13
call fcn.0068e440
cmp word [rsp + 0x1a4], 0
jne 0x68ebf2
inc rsi
jmp 0x68ebbf
mov eax, dword [rsp + 0x60]
bt eax, 8
jae 0x68ee47
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 0x10
je 0x68ec87
mov eax, dword [rsp + 0x60]
and word [rbx + 0x44], 0xfeff
and ah, 0xfe
mov word [rsp + 0x40], ax
jmp 0x68ee47
mov rax, qword [rsp + 0x248]
cmp dword [rax], 1
je 0x68ecba
cmp qword [rsp + 0x258], 0
jne 0x68ee47
mov rax, qword [rsp + 0x260]
or word [rbx + 0x44], 0x80
mov qword [rbx + 0x10], rax
jmp 0x68ee47
mov rax, qword [rsp + 0x248]
xor r8d, r8d
mov edi, dword [rax + 0x4c]
mov r10, qword [rax + 0x28]
mov rax, qword [rsp + 0x260]
mov r9d, dword [rax]
cmp r9d, r8d
jle 0x68ed1a
mov rsi, qword [rsp + 0x260]
mov rax, r8
shl rax, 5
mov rcx, qword [rsi + rax + 8]
call fcn.0065dbc0
test rax, rax
je 0x68ed15
mov sil, byte [rax]
lea edx, [rsi + 0x59]
and dl, 0xfd
jne 0x68ed15
cmp edi, dword [rax + 0x2c]
jne 0x68ed15
cmp word [rax + 0x30], 0
js 0x68ee43
inc r8
jmp 0x68ecd7
mov r12, qword [r10 + 0x10]
test r12, r12
je 0x68ec94
cmp byte [r12 + 0x62], 0
jne 0x68ed36
mov r12, qword [r12 + 0x28]
jmp 0x68ed1e
xor r13d, r13d
cmp qword [r12 + 0x48], 0
jne 0x68ed2f
movzx eax, word [r12 + 0x5e]
mov dword [rsp + 0x60], r13d
cmp r13d, eax
jge 0x68ee33
mov rcx, qword [rsp + 0xa8]
or r9, 0xffffffffffffffff
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 2
mov r8d, r13d
mov edx, edi
call fcn.00692520
test rax, rax
je 0x68ed82
inc r13
jmp 0x68ed41
mov rax, qword [r12 + 0x40]
lea rbp, [r13 + r13]
xor esi, esi
mov rax, qword [rax + r13*8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x260]
cmp dword [rax], esi
jle 0x68ee33
mov rcx, qword [rsp + 0x260]
mov rax, rsi
shl rax, 5
mov r8, qword [rcx + rax + 8]
mov rcx, r8
call fcn.0065dbc0
test rax, rax
jne 0x68edcd
inc rsi
jmp 0x68ed97
mov cl, byte [rax]
add ecx, 0x59
and cl, 0xfd
jne 0x68edc8
mov rdx, qword [r12 + 8]
mov cx, word [rdx + rbp]
cmp word [rax + 0x30], cx
jne 0x68edc8
cmp edi, dword [rax + 0x2c]
jne 0x68edc8
mov rdx, r8
mov rcx, r14
call fcn.0065d9b0
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.0067f7b0
test eax, eax
jne 0x68edc8
mov rax, qword [r12 + 8]
movsx rax, word [rax + rbp]
movsx edx, ax
test edx, edx
js 0x69154e
mov rdx, qword [r12 + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jne 0x68ed7d
movzx eax, word [r12 + 0x5e]
cmp dword [rsp + 0x60], eax
jne 0x68ed2f
mov byte [rbx + 0x4b], 1
cmp dword [rsp + 0x90], 1
jne 0x68efcb
mov rbp, qword [rsp + 0x148]
test byte [rbp + 0x44], 0x20
jne 0x68efcb
mov r12, qword [rbp + 8]
mov r13, qword [r12 + 0x28]
cmp byte [r13 + 0x3f], 1
je 0x68efcb
test byte [r12 + 0x48], 3
jne 0x68efcb
mov eax, dword [r12 + 0x4c]
mov rsi, qword [rsp + 0x158]
lea rdi, [rsp + 0x180]
or r9d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x60], eax
lea rax, [rbp + 0x78]
mov r8d, dword [rsp + 0x60]
mov dword [rsi + 0x30], 0
mov word [rsi + 0x36], 0
mov rdx, rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
mov qword [rsp + 0x70], rax
call fcn.006aa730
test rax, rax
je 0x6915d8
cmp qword [rax + 0x28], 0
je 0x69155b
mov rcx, rdi
call fcn.006aa820
jmp 0x68eedb
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x68efc0
cmp byte [rdi + 0x62], 0
je 0x68eef9
cmp qword [rdi + 0x48], 0
jne 0x68eef9
cmp word [rdi + 0x5e], 3
ja 0x68eef9
mov al, byte [rdi + 0x64]
and eax, 8
cmp al, 1
sbb r10d, r10d
xor r13d, r13d
and r10d, 0xffffff80
add r10d, 0x82
movzx eax, word [rdi + 0x5e]
mov dword [rsp + 0x78], r13d
cmp r13d, eax
jge 0x68ef7b
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov r9d, r13d
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x80], r10d
call fcn.006aa730
test rax, rax
mov r10d, dword [rsp + 0x80]
jne 0x6915ee
movzx eax, word [rdi + 0x5e]
cmp dword [rsp + 0x78], eax
jne 0x68eef9
test byte [rdi + 0x64], 0x20
mov dword [rsi + 0x30], 0x1201
jne 0x69160c
mov rax, qword [r12 + 0x58]
test qword [rdi + 0x90], rax
je 0x69160c
mov word [rsi + 0x34], r13w
mov word [rsi + 0x18], r13w
mov qword [rsi + 0x20], rdi
mov word [rsi + 0x14], 0x27
mov eax, dword [rsi + 0x30]
test eax, eax
jne 0x691580
lea rsi, [rsp + 0x148]
mov rcx, rsi
call fcn.006a6490
test eax, eax
jne 0x691528
test byte [rsp + 0x175], 4
jne 0x68f007
xor edx, edx
mov rcx, rbx
call fcn.006a9df0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
je 0x68f045
jmp 0x691528
mov rdi, qword [rbx + 0x58]
test rdi, rdi
je 0x68f034
mov rax, qword [rdi + 0x48]
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
mov qword [rbx + 0x58], rax
call fcn.006a8e70
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.00657920
jmp 0x68f007
mov rcx, rsi
call fcn.006a6490
test eax, eax
je 0x68efed
jmp 0x691528
cmp qword [rbx + 0x10], 0
je 0x68f074
mov ax, word [rbx + 0x4e]
mov rcx, rbx
lea edx, [rax + 1]
movsx edx, dx
call fcn.006a9df0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x691528
cmp qword [rbx + 0x10], 0
jne 0x68f087
mov rax, qword [rsp + 0x58]
test byte [rax + 0x31], 0x10
je 0x68f087
mov qword [rbx + 0x70], 0xffffffffffffffff
mov eax, dword [r14 + 0x30]
test eax, eax
mov dword [rsp + 0x94], eax
jne 0x691528
cmp byte [rbx + 0x48], 1
jbe 0x68f0e8
cmp qword [rsp + 0x260], 0
je 0x68f0e8
test word [rsp + 0x40], 0x400
mov qword [rsp + 0x98], 0xffffffffffffffff
jne 0x68f0f4
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 1
jne 0x68f0f4
mov rcx, rbx
call fcn.006a9440
mov qword [rsp + 0x98], rax
movzx eax, byte [rbx + 0x48]
mov dword [rsp + 0x90], eax
jmp 0x68f0f4
mov qword [rsp + 0x98], 0xffffffffffffffff
cmp byte [rbx + 0x48], 1
jbe 0x68f10d
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 8
jne 0x68f10d
mov rcx, rbx
call fcn.006a5f30
mov rax, qword [rbx]
movsx edx, word [rbx + 0x4e]
add dword [rax + 0xc8], edx
movzx eax, word [rsp + 0x40]
test byte [rsp + 0x40], 4
mov dword [rsp + 0x100], eax
je 0x68f19e
mov rcx, qword [rbx + 0x3c8]
mov eax, dword [rcx + 0x30]
bt eax, 0xc
jb 0x68f165
test byte [rsp + 0x40], 8
je 0x68f19e
mov rdi, qword [rsp + 0x248]
mov rdx, qword [rdi + 0x28]
cmp byte [rdx + 0x3f], 1
je 0x68f19e
bt eax, 0xd
jae 0x68f169
test byte [rsp + 0x40], 0x10
je 0x68f19e
jmp 0x68f169
mov dl, 1
jmp 0x68f16b
mov dl, 2
mov rdi, qword [rsp + 0x248]
mov byte [rbx + 0x4a], dl
mov rdx, qword [rdi + 0x28]
test byte [rdx + 0x30], 0x80
jne 0x68f19e
test al, 0x40
je 0x68f19e
test byte [rsp + 0x40], 8
mov dil, byte [rsp + 0x4c]
mov dl, 8
cmovne edi, edx
and eax, 0xffffffbf
mov byte [rsp + 0x4c], dil
mov dword [rcx + 0x30], eax
movzx eax, byte [rsp + 0x4c]
xor r13d, r13d
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x90], r13d
jle 0x68f55f
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
movzx r10d, byte [rax + 0x40]
mov rdi, r10
imul r10, r10, 0x68
add r10, qword [rsp + 0x248]
mov rsi, qword [r10 + 0x28]
mov rdx, qword [rsi + 0x60]
call fcn.0067abc0
test byte [rsi + 0x31], 0x40
mov r12d, eax
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x60]
jne 0x68f32b
mov dl, byte [rsi + 0x3f]
cmp dl, 2
je 0x68f32b
mov eax, dword [rbp + 0x30]
bt eax, 0xa
jae 0x68f24a
mov rdx, qword [rsi + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.00669de0
mov dword [rsp + 0x30], 0xfffffff5
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, dword [r10 + 0x4c]
mov edx, 0xad
mov rcx, r15
call fcn.00682b30
jmp 0x68f32b
dec dl
je 0x68f32b
test al, 0x40
jne 0x68f25d
test byte [rsp + 0x40], 0x20
je 0x68f277
movsxd rax, edi
mov rcx, qword [rsp + 0x248]
imul rax, rax, 0x68
test byte [rcx + rax + 0x44], 0x50
je 0x68f311
movsxd rax, edi
mov rcx, qword [rsp + 0x248]
imul rax, rax, 0x68
cmp byte [rbx + 0x4a], 0
mov edx, dword [rcx + rax + 0x4c]
mov eax, 0x70
je 0x68f29d
mov dword [rbx + 0x30], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, r12d
mov rcx, r14
call fcn.0066e3b0
cmp byte [rbx + 0x4a], 0
jne 0x68f303
cmp word [rsi + 0x36], 0x3f
jg 0x68f303
test byte [rsi + 0x30], 0xe0
jne 0x68f303
test dword [rbp + 0x30], 0x404000
jne 0x68f303
movsxd rax, edi
mov rcx, qword [rsp + 0x248]
xor r8d, r8d
imul rax, rax, 0x68
mov rax, qword [rcx + rax + 0x58]
test rax, rax
je 0x68f2ef
shr rax, 1
inc r8d
jmp 0x68f2e2
mov r9d, 0xfffffffd
movsxd r8, r8d
or edx, 0xffffffff
mov rcx, r15
call fcn.00682e40
mov edx, dword [rsp + 0x4c]
mov rcx, r15
call fcn.00682ec0
jmp 0x68f32b
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.0067fac0
test byte [rbp + 0x31], 2
je 0x68f42d
test byte [rsi + 0x30], 0x80
mov r10, qword [rbp + 0x20]
je 0x68f35e
mov al, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x68f35e
test byte [rsp + 0x40], 0x20
je 0x68f35e
mov rax, qword [rsp + 0x50]
xor edx, edx
mov r8d, dword [rax + 4]
jmp 0x68f3d3
cmp byte [rbx + 0x4a], 0
je 0x68f3a2
movsxd rax, edi
mov rcx, qword [rsp + 0x248]
mov r8d, dword [rsp + 0x278]
imul rax, rax, 0x68
mov rax, qword [rcx + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x68f397
cmp rax, r10
je 0x68f397
inc r8d
mov rax, qword [rax + 0x28]
jmp 0x68f384
mov dword [rbx + 0x34], r8d
mov edx, 0x71
jmp 0x68f3d3
cmp dword [rsp + 0x278], 0
je 0x68f3b3
test byte [rsp + 0x40], 0x20
jne 0x68f3c6
mov r8d, dword [r14 + 0x34]
mov edx, 0x70
lea eax, [r8 + 1]
mov dword [r14 + 0x34], eax
jmp 0x68f3d3
mov r8d, dword [rsp + 0x278]
mov edx, 0x65
mov rax, qword [rsp + 0x50]
test edx, edx
mov dword [rax + 8], r8d
je 0x68f42d
mov r9d, dword [r10 + 0x58]
mov rcx, r15
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x60], r10
call fcn.00682ad0
mov r10, qword [rsp + 0x60]
mov rcx, r14
mov rdx, r10
call fcn.0068d1c0
mov eax, dword [rbp + 0x30]
test al, 0xf
je 0x68f42d
test eax, 0x188002
jne 0x68f42d
test byte [rbx + 0x44], 1
jne 0x68f42d
cmp byte [rbx + 0x4b], 2
je 0x68f42d
mov edx, 2
mov rcx, r15
call fcn.00682ec0
test r12d, r12d
js 0x68f43d
mov edx, r12d
mov rcx, r14
call fcn.00655790
imul rdi, rdi, 0x68
mov rax, qword [rsp + 0x248]
test byte [rax + rdi + 0x44], 0x10
je 0x68f551
mov edx, 0x14
mov rcx, rbx
call fcn.006925d0
mov rdi, rax
mov rax, qword [rsp + 0x50]
test rdi, rdi
mov qword [rax + 0x38], rdi
je 0x68f551
mov eax, dword [r14 + 0x34]
mov r8d, 0x10000
mov rcx, r15
lea edx, [rax + 1]
mov dword [r14 + 0x34], edx
mov dword [rdi], eax
mov edx, 0x4d
mov eax, dword [r14 + 0x38]
lea r9d, [rax + 1]
mov dword [r14 + 0x38], r9d
mov dword [rdi + 4], r9d
call fcn.00682ab0
mov eax, dword [r14 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
lea r9d, [rax + 1]
mov dword [r14 + 0x38], r9d
mov dword [rdi + 8], r9d
call fcn.00682ab0
test byte [rsi + 0x30], 0x80
jne 0x68f519
mov r8d, dword [rdi]
mov r9d, 1
mov edx, 0x76
mov rcx, r15
call fcn.00682ab0
mov rcx, qword [r14]
xor r8d, r8d
mov edx, 1
call fcn.0066d010
test rax, rax
je 0x68f545
mov rdx, qword [rax + 0x18]
mov qword [rax + 0x20], 0
mov r8d, 0xfffffff8
mov rcx, r15
mov byte [rdx], 0
mov rdx, rax
call fcn.00682da0
jmp 0x68f545
mov rcx, qword [rsi + 0x10]
call fcn.00673610
movzx r9d, word [rax + 0x5e]
mov r8d, dword [rdi]
mov rsi, rax
mov edx, 0x76
mov rcx, r15
call fcn.00682ab0
mov rdx, rsi
mov rcx, r14
call fcn.0068d1c0
and dword [rbp + 0x30], 0xffffffbf
mov byte [rbx + 0x49], 0
mov byte [rbx + 0x4b], 3
inc r13d
add qword [rsp + 0x50], 0x70
jmp 0x68f1aa
mov eax, dword [r15 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x691528
lea rbp, [rbx + 0x368]
mov qword [rsp + 0xe8], 0
mov edi, dword [rsp + 0x94]
cmp dword [rsp + 0x90], edi
jle 0x691519
cmp dword [r14 + 0x30], 0
jne 0x691528
movzx r12d, byte [rbp + 0x40]
mov rax, qword [rbp + 0x60]
mov esi, dword [rax + 0x30]
imul r12, r12, 0x68
add r12, qword [rsp + 0x248]
mov al, byte [r12 + 0x48]
test al, 0x10
je 0x68f618
test al, 8
je 0x68f5e8
mov r9d, dword [r12 + 0x38]
mov r8d, dword [r12 + 0x3c]
mov edx, 9
mov rcx, r15
call fcn.00682ab0
jmp 0x68f618
mov edx, 0xe
mov rcx, r15
call fcn.00682a70
mov r9d, dword [r12 + 0x38]
mov r8d, dword [r12 + 0x3c]
mov edi, eax
mov edx, 9
mov rcx, r15
call fcn.00682ab0
mov edx, edi
mov rcx, r15
call fcn.0068b5a0
test esi, 0x404000
jne 0x68f658
mov rax, qword [r14 + 0xa0]
test rax, rax
cmove rax, r14
cmp byte [rax + 0x123], 2
jne 0x68f6c0
mov r9d, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x248]
mov r8, rbp
mov rcx, r14
call fcn.00692000
jmp 0x68f6c0
bt esi, 0xe
jae 0x68f692
movzx eax, byte [rbp + 0x40]
mov rdi, qword [rsp + 0x248]
mov rcx, r14
mov r9, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], rbp
imul rax, rax, 0x68
lea r8, [rdi + rax + 8]
call fcn.0060e4f0
jmp 0x68f6ac
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0x94]
mov r8, rbp
mov rcx, rbx
call fcn.00656140
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
je 0x68f620
jmp 0x691528
mov eax, dword [r15 + 0x90]
mov r13, qword [rbp + 0x60]
mov dword [rbp + 0x20], eax
mov rax, qword [r14]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xb0], rax
movzx eax, byte [rbp + 0x40]
movsxd r10, eax
mov dword [rsp + 0xb8], eax
mov rsi, rax
imul r10, r10, 0x68
add r10, qword [rsp + 0xb0]
mov eax, dword [r10 + 0x4c]
mov dword [rsp + 0x4c], eax
lea rax, [rbx + 0x260]
mov edx, dword [rsp + 0x4c]
mov rcx, rax
mov qword [rsp + 0xf8], rax
call fcn.006925a0
not rax
and rax, qword [rsp + 0x98]
mov qword [rbp + 0x68], rax
mov eax, dword [r14 + 0x44]
mov r12, qword [rbx + 0x70]
lea edi, [rax - 1]
mov dword [r14 + 0x44], edi
mov dword [rbp + 0x10], edi
mov dword [rbp + 0xc], edi
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
cmp byte [rbp + 0x40], 0
mov dword [rsp + 0xbc], eax
mov dword [rbp + 0x18], eax
je 0x68f787
test byte [r10 + 0x44], 8
je 0x68f787
mov eax, dword [r14 + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
lea r9d, [rax + 1]
mov dword [r14 + 0x38], r9d
mov dword [rbp], r9d
call fcn.00682ab0
mov rax, qword [rsp + 0xe8]
mov rcx, rbp
test eax, eax
movsxd rdx, eax
je 0x68f7af
cmp dword [rcx], 0
mov r8, rcx
jne 0x68f7af
dec rax
sub rcx, 0x70
cmp qword [r8 + 0x38], 0
je 0x68f792
movsxd rax, dword [rsp + 0xb8]
imul rax, rax, 0x68
add rax, qword [rsp + 0xb0]
mov r8b, byte [rax + 0x48]
test r8b, 0x20
je 0x68f809
mov esi, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xa
mov rcx, r15
mov r8d, esi
mov dword [rsp + 0x20], eax
call fcn.00682ad0
mov r9d, edi
mov r8d, esi
mov edx, 0xb
mov rcx, r15
call fcn.00682ab0
mov byte [rbp + 0x41], 8
mov dword [rbp + 0x48], eax
jmp 0x690ff7
mov cl, byte [rsp + 0x94]
shr r12, cl
mov eax, r12d
and eax, 1
mov dword [rsp + 0x50], eax
mov eax, dword [r13 + 0x30]
bt eax, 0xa
jae 0x68fb6d
movzx eax, word [r13 + 0x34]
mov rcx, r14
xor edi, edi
lea edx, [rax + 2]
mov dword [rsp + 0x40], eax
call fcn.006697b0
mov r12d, dword [rbp + 0xc]
mov esi, eax
lea eax, [rax + 2]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x40], edi
mov r9d, edi
jle 0x68f967
mov rdx, qword [r13 + 0x40]
mov eax, dword [rsp + 0x68]
mov r11, qword [rdx + rdi*8]
add eax, edi
test r11, r11
je 0x68f95f
test byte [r11 + 0x14], 1
je 0x68f917
xor edx, edx
cmp r9d, 0x1f
jg 0x68f88f
mov edx, 1
mov cl, r9b
shl edx, cl
test dword [r13 + 0x28], edx
je 0x68f8f7
mov r10d, dword [r14 + 0x34]
mov dword [rsp + 0x80], eax
mov rcx, r14
mov eax, dword [r14 + 0x38]
lea edx, [r10 + 1]
mov r8d, r10d
mov dword [rsp + 0x70], r10d
lea r9d, [rax + 1]
mov dword [r14 + 0x34], edx
mov rdx, qword [r11]
mov dword [r14 + 0x38], r9d
mov dword [rsp + 0x78], r9d
call fcn.00654f10
mov r9d, dword [rsp + 0x78]
mov eax, dword [rsp + 0x80]
mov edx, 0xae
mov r10d, dword [rsp + 0x70]
mov rcx, r15
mov dword [rsp + 0x20], r9d
mov r9d, eax
mov r8d, r10d
call fcn.00682ad0
jmp 0x68f95f
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov r8, rbp
mov rdx, r11
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.0060c910
mov r12d, dword [rbp + 0x10]
jmp 0x68f95f
mov rdx, qword [r11]
mov r9d, 1
mov r8d, eax
mov rcx, r14
mov qword [rsp + 0x70], r11
mov rdx, qword [rdx + 0x18]
call fcn.0060cf20
mov r11, qword [rsp + 0x70]
cmp byte [r11 + 0x17], 0x4a
jne 0x68f95f
test byte [r13 + 0x1c], 2
je 0x68f95f
mov rax, qword [rbx + 0x28]
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
mov r9d, dword [rax + 0xc]
call fcn.00682ab0
inc rdi
jmp 0x68f84e
mov r8d, dword [r13 + 0x18]
mov r9d, esi
mov edx, 0x47
mov rcx, r15
call fcn.00682ab0
mov r8d, dword [rsp + 0x40]
lea r9d, [rsi + 1]
mov edx, 0x47
mov rcx, r15
call fcn.00682ab0
mov al, byte [r13 + 0x1c]
mov r8d, dword [rsp + 0x4c]
mov r9d, r12d
mov edx, 6
mov rcx, r15
and eax, 1
cmp al, 1
sbb eax, eax
or eax, 0xfffffffa
mov dword [rsp + 0x30], eax
mov rax, qword [r13 + 0x20]
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], rax
call fcn.00682b30
mov rax, qword [rsp + 0x60]
and byte [r13 + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x68f9dd
mov qword [r13 + 0x20], 0
mov eax, dword [rsp + 0x4c]
mov dword [rbp + 0x44], eax
cmp byte [rbx + 0x4a], 1
sbb eax, eax
xor edi, edi
and eax, 0xffffff86
sub eax, 0x48
mov byte [rbp + 0x41], al
mov eax, dword [r15 + 0x90]
mov dword [rbp + 0x48], eax
lea eax, [rsi + 2]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x40], edi
mov ecx, edi
jle 0x690ff7
mov rax, qword [r13 + 0x40]
cmp edi, 0xf
mov r12, qword [rax + rdi*8]
jg 0x68fa39
movzx eax, word [r13 + 0x1e]
bt eax, ecx
jae 0x68fa39
mov rdx, r12
mov rcx, rbp
call fcn.006101e0
jmp 0x68fb65
test byte [r12 + 0x14], 1
je 0x68fb65
xor eax, eax
cmp ecx, 0x1f
jg 0x68fa53
mov eax, 1
shl eax, cl
test dword [r13 + 0x28], eax
jne 0x68fb65
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x68fb65
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x50]
xor r9d, r9d
lea r11d, [rax + rdi]
cmp r10d, r9d
jle 0x68faca
imul rax, r9, 0x14
mov rcx, r15
add rax, qword [rbp + 0x58]
mov edx, dword [rax + 4]
call fcn.0068ab90
movzx edx, byte [rax]
cmp dl, 0x5e
jne 0x68faa1
cmp dword [rax + 0xc], r11d
jmp 0x68faaa
cmp dl, 0x87
jne 0x68fac5
cmp dword [rax + 8], r11d
jne 0x68fac5
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov rcx, r15
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x20], eax
call fcn.00682ad0
jmp 0x68faca
inc r9
jmp 0x68fa7b
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r14
call fcn.0066e830
mov rsi, rax
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x68fb58
mov eax, dword [r12 + 0x24]
mov rdx, qword [r12]
test eax, eax
mov rdx, qword [rdx + 0x10]
jle 0x68fb12
dec eax
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rax, qword [rax + 8]
mov qword [rsi + 0x10], rax
jmp 0x68fb16
mov qword [rsi + 0x10], rdx
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0xb0
call fcn.0065a020
test rax, rax
mov qword [rsi + 0x18], rax
je 0x68fb50
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rbp + 0x18]
mov r9d, 0x10
lea edx, [rcx + rdi]
mov rcx, r14
mov dword [rax + 0x2c], edx
mov rdx, rsi
call fcn.0065ccb0
mov qword [rsi + 0x10], 0
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.0065ca50
inc rdi
jmp 0x68fa06
bt eax, 8
jae 0x68fc24
test al, 5
je 0x68fc24
mov rax, qword [r13 + 0x40]
xor r9d, r9d
mov r8, rbp
mov rcx, r14
mov rdx, qword [rax]
mov eax, dword [r14 + 0x38]
lea esi, [rax + 1]
mov eax, dword [rsp + 0x50]
mov dword [r14 + 0x38], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call fcn.0060c910
cmp esi, eax
mov edi, eax
je 0x68fbbb
mov edx, esi
mov rcx, r14
call fcn.00673c60
mov r8d, dword [rbp + 0x34]
mov esi, dword [rbp + 0x10]
test r8d, r8d
je 0x68fc06
mov r9d, esi
mov edx, 0x3f
mov rcx, r15
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], edi
call fcn.00682be0
mov rax, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x94]
mov r9d, esi
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.006136b0
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], edi
mov r9d, esi
mov edx, 0x1d
mov rcx, r15
call fcn.00682ad0
jmp 0x690fb9
imul rdx, rdx, 0x70
mov r9d, dword [rbx + rdx + 0x374]
mov edx, eax
and edx, 0x102
cmp edx, 0x102
jne 0x68fc7a
test al, 0x20
je 0x68fc52
mov rdx, qword [r13 + 0x40]
mov r11, qword [rdx]
mov edx, 1
jmp 0x68fc57
xor edx, edx
xor r11d, r11d
test al, 0x10
je 0x691628
mov rax, qword [r13 + 0x40]
cmp dword [rsp + 0x50], 0
mov r10, qword [rax + rdx*8]
mov rsi, r10
jne 0x691710
jmp 0x691635
bt eax, 9
jae 0x690906
mov si, word [r13 + 0x1a]
mov edi, dword [r13 + 0x18]
test al, 0x20
mov word [rsp + 0xd8], si
mov esi, dword [r13 + 0x1c]
mov word [rsp + 0xc0], si
mov rsi, qword [r13 + 0x20]
mov qword [rsp + 0x40], rsi
mov esi, dword [rbp + 8]
mov dword [rsp + 0x78], esi
movzx esi, di
mov dword [rsp + 0x68], esi
je 0x68fcd5
mov r8, qword [r13 + 0x40]
movzx ecx, di
lea edx, [rsi + 1]
movzx r10d, word [rsp + 0xd8]
mov r12, qword [r8 + rcx*8]
jmp 0x68fcde
xor r10d, r10d
movzx edx, di
xor r12d, r12d
test al, 0x10
je 0x68fda9
mov rax, qword [r13 + 0x40]
movsxd rdx, edx
mov rsi, qword [rax + rdx*8]
movzx eax, word [rsp + 0xc0]
cmp r10d, eax
cmovl r10d, eax
test byte [rsi + 0x13], 1
je 0x68fd65
mov eax, dword [r14 + 0x38]
mov edx, 0x47
mov rcx, r15
mov r8d, 1
mov dword [rsp + 0x70], r10d
lea r9d, [rax + 1]
mov dword [r14 + 0x38], r9d
mov dword [rbp + 0x2c], r9d
call fcn.00682ab0
mov eax, dword [r15 + 0x90]
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x70]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rcx + 0x38]
lea edx, [rax + rax]
movzx eax, di
mov dword [rbp + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x50]
or eax, edx
mov dword [rbp + 0x2c], eax
test r12, r12
mov byte [rsp + 0x88], 0
jne 0x68fdb3
mov rcx, qword [rsp + 0x40]
movzx eax, di
mov rdx, qword [rcx + 8]
movsx rdx, word [rdx + rax*2]
test edx, edx
mov rax, rdx
js 0x68fd9c
mov rdx, qword [rcx + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jmp 0x68fd9f
cmp edx, 0xfffffffe
sete byte [rsp + 0x88]
jmp 0x68fdb3
mov byte [rsp + 0x88], 0
xor esi, esi
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x70], 0
and eax, 0x80030
cmp eax, 0x80000
jne 0x68fe10
mov eax, dword [r14 + 0x38]
inc eax
cmp dword [rbp], 0
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x70], eax
mov dword [rbp + 0x24], eax
je 0x68fdf5
mov r9d, eax
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
call fcn.00682ab0
mov eax, dword [r14 + 0x44]
mov byte [rsp + 0x88], 1
mov r10d, 1
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbp + 0x28], eax
mov rax, qword [rsp + 0x40]
mov byte [rsp + 0xf4], 0
cmp di, word [rax + 0x60]
jae 0x68fe7d
mov rcx, qword [rsp + 0x40]
movzx eax, di
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x50], eax
jne 0x68fe7d
mov cl, byte [rsp + 0x88]
movzx eax, byte [rsp + 0xd8]
mov rdx, r12
mov byte [rsp + 0x88], 0
mov r12, rsi
mov rsi, rdx
mov byte [rsp + 0xf4], cl
mov ecx, dword [rsp + 0xc0]
mov word [rsp + 0xc0], ax
mov word [rsp + 0xd8], cx
cmp dword [rsp + 0x94], 0
je 0x68feb0
test byte [r13 + 0x32], 0x10
je 0x68feb0
mov r8d, dword [rsp + 0x78]
mov edx, 0x88
mov rcx, r15
mov dword [rsp + 0x80], r10d
call fcn.00682a90
mov r10d, dword [rsp + 0x80]
lea rax, [rsp + 0x118]
mov r8d, dword [rsp + 0x50]
mov rdx, rbp
mov r9d, r10d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.0060c270
cmp word [rsp + 0xc0], 0
mov dword [rsp + 0x80], eax
mov rdx, qword [rsp + 0x118]
je 0x68ff09
test rdx, rdx
je 0x68ff09
mov rcx, qword [rsp + 0x60]
movzx eax, di
add rdx, rax
call fcn.00657c30
mov qword [rsp + 0xc8], rax
jmp 0x68ff15
mov qword [rsp + 0xc8], 0
cmp dword [rsp + 0x70], 0
je 0x68ff21
mov eax, dword [rbp + 0x28]
jmp 0x68ff24
mov eax, dword [rbp + 0x10]
test r12, r12
mov dword [rsp + 0xa0], eax
setne al
test di, di
setne dl
or eax, edx
test r12, r12
movzx eax, al
mov dword [rsp + 0xe4], eax
je 0x690088
xor eax, eax
test byte [r12 + 0x14], 0x28
setne al
test rsi, rsi
mov dword [rsp + 0xd0], eax
je 0x68ff7d
xor eax, eax
test byte [rsi + 0x14], 0x28
setne al
test r12, r12
mov dword [rsp + 0xe0], eax
jne 0x68ff88
jmp 0x6900a7
mov dword [rsp + 0xe0], 1
mov rax, qword [r12]
mov rcx, r14
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0xd8]
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0xd8], eax
movzx eax, di
add eax, dword [rsp + 0x80]
mov r9d, dword [rsp + 0xd8]
mov r8d, eax
mov dword [rsp + 0xf0], eax
call fcn.0060cf20
imul rax, qword [rsp + 0xe8], 0x70
mov r8w, word [r12 + 0x12]
mov rcx, r15
lea rdx, [rbx + rax + 0x394]
call fcn.006a6460
test byte [r12 + 0x12], 0x80
jne 0x690028
mov rcx, qword [rsp + 0x88]
call fcn.0065a380
test eax, eax
je 0x690028
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0xf0]
mov edx, 0x32
mov rcx, r15
call fcn.00682ab0
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x690050
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
movzx r8d, di
add r8, rax
call fcn.006a1330
mov rcx, qword [rsp + 0x88]
mov edi, dword [rsp + 0xd8]
add edi, dword [rsp + 0x68]
call fcn.0065d4b0
test eax, eax
jne 0x69011c
mov rdx, r12
mov rcx, rbp
call fcn.006101e0
mov byte [rsp + 0x88], 0
jmp 0x69012f
test rsi, rsi
mov dword [rsp + 0xe0], 1
mov dword [rsp + 0xd0], 1
jne 0x68ff63
cmp byte [rsp + 0x88], 0
je 0x6900e2
mov r9d, dword [rsp + 0x68]
add r9d, dword [rsp + 0x80]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
call fcn.00682ab0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xd0], 0
lea edi, [rax + 1]
jmp 0x69010f
cmp dword [rsp + 0x70], 0
mov edi, dword [rsp + 0x68]
je 0x69012f
mov r9d, dword [rsp + 0x80]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
add r9d, edi
call fcn.00682ab0
mov eax, dword [rsp + 0x68]
lea edi, [rax + 1]
mov dword [rsp + 0xe4], 1
jmp 0x69012f
mov byte [rsp + 0x88], 0
mov dword [rsp + 0xd0], 1
movzx eax, byte [rsp + 0x88]
mov rcx, qword [r14 + 0x10]
mov r8d, edi
mov r9, qword [rsp + 0x118]
mov edx, dword [rsp + 0x80]
sub r8d, eax
mov dword [rsp + 0xd8], eax
call fcn.0060c4f0
movzx eax, word [r13 + 0x36]
test ax, ax
je 0x69016e
cmp edi, eax
je 0x691833
cmp dword [rsp + 0x70], 0
je 0x69018d
mov r9d, dword [rsp + 0x70]
mov r8d, 1
mov edx, 0x47
mov rcx, r15
call fcn.00682ab0
mov r8d, dword [rbp + 0x34]
test r8d, r8d
je 0x6901e6
mov eax, dword [rsp + 0x68]
mov r9d, dword [rsp + 0xa0]
mov edx, 0x3f
mov rcx, r15
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.00682be0
mov rax, qword [rsp + 0x98]
mov r9d, dword [rsp + 0xa0]
mov rdx, rbx
mov r8d, dword [rsp + 0x94]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.006136b0
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xe4]
lea rdx, [0x007ae6f0]
add eax, eax
lea eax, [rax + rcx*4]
add eax, dword [rsp + 0x50]
test byte [r13 + 0x32], 0x10
cdqe
movzx r10d, byte [rdx + rax]
je 0x690254
cmp r10d, 0x16
jne 0x690254
mov rax, qword [rsp + 0x40]
mov ecx, 0xa
mov dword [rsp + 0x88], r10d
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
add eax, 9
cdq
idiv ecx
mov edx, 0x7c
mov rcx, r15
mov r8d, eax
call fcn.00682a90
mov r10d, dword [rsp + 0x88]
mov r12d, eax
jmp 0x690257
xor r12d, r12d
mov eax, dword [rsp + 0x80]
mov r9d, dword [rsp + 0xa0]
mov edx, r10d
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x28], edi
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.00682be0
cmp dword [rsp + 0x70], 0
je 0x6902eb
mov r9d, dword [r15 + 0x90]
xor r8d, r8d
mov edx, 8
mov rcx, r15
add r9d, 2
call fcn.00682ab0
xor eax, eax
cmp edi, 2
lea rdx, [0x007ae6f0]
setge al
sub edi, dword [rsp + 0xd0]
mov r9d, dword [rsp + 0xa0]
lea eax, [rax*4 + 2]
add eax, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x78]
mov rcx, r15
mov dword [rsp + 0x28], edi
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.00682be0
test rsi, rsi
je 0x6903e6
mov rax, qword [rsi]
test r12d, r12d
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
je 0x690312
mov eax, dword [r15 + 0x90]
mov dword [rbp + 0x48], eax
movzx edi, word [rsp + 0xc0]
mov eax, dword [rsp + 0x68]
mov rcx, r14
add eax, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r9d, edi
mov r8d, eax
mov dword [rsp + 0xc0], eax
call fcn.0060cf20
mov r8w, word [rsi + 0x12]
lea rdx, [rbp + 0x2c]
mov rcx, r15
call fcn.006a6460
test byte [rsi + 0x12], 0x80
jne 0x690387
mov rcx, qword [rsp + 0x88]
call fcn.0065a380
test eax, eax
je 0x690387
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0xc0]
mov edx, 0x32
mov rcx, r15
call fcn.00682ab0
cmp qword [rsp + 0xc8], 0
je 0x6903c4
mov r8, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x88]
mov edx, edi
call fcn.006a1330
mov rcx, qword [r14 + 0x10]
mov r9, qword [rsp + 0xc8]
mov r8d, edi
mov edx, dword [rsp + 0xc0]
call fcn.0060c4f0
mov rcx, qword [rsp + 0x88]
add edi, dword [rsp + 0x68]
call fcn.0065d4b0
test eax, eax
jne 0x69042a
mov rdx, rsi
mov rcx, rbp
call fcn.006101e0
jmp 0x690435
cmp byte [rsp + 0xf4], 0
mov edi, dword [rsp + 0x68]
je 0x690435
cmp dword [rsp + 0x70], 0
jne 0x690421
mov r9d, dword [rsp + 0x80]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
add r9d, edi
call fcn.00682ab0
mov dword [rsp + 0xe0], 0
mov eax, dword [rsp + 0x68]
lea edi, [rax + 1]
jmp 0x690435
mov dword [rsp + 0xe0], 1
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x60]
call fcn.00657910
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
call fcn.00657910
cmp dword [rbp + 0x48], 0
jne 0x690469
mov eax, dword [r15 + 0x90]
mov dword [rbp + 0x48], eax
test edi, edi
je 0x6904e0
cmp dword [rsp + 0x70], 0
je 0x690491
mov r9d, dword [r15 + 0x90]
mov r8d, dword [rsp + 0x70]
mov edx, 0x10
mov rcx, r15
add r9d, 3
call fcn.00682ab0
mov eax, dword [rsp + 0xe0]
mov esi, dword [rsp + 0x50]
lea rdx, [0x007ab1b0]
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0x78]
mov rcx, r15
mov dword [rsp + 0x28], edi
lea eax, [rax + rsi*2]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.00682be0
test r12d, r12d
je 0x6904e0
mov edx, r12d
mov rcx, r15
call fcn.0068b5a0
cmp dword [rsp + 0x70], 0
je 0x69054a
mov r9d, dword [r15 + 0x90]
mov r8d, dword [rsp + 0x70]
mov edx, 0xf
mov rcx, r15
add r9d, 2
call fcn.00682ab0
mov eax, dword [rsp + 0xd8]
mov esi, dword [rsp + 0x50]
lea rdx, [0x007ab1b0]
add edi, dword [rsp + 0xd8]
mov r9d, dword [rsp + 0xa0]
mov rcx, r15
mov r8d, dword [rsp + 0x78]
lea eax, [rax + rsi*2]
cdqe
mov dword [rsp + 0x28], edi
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.00682be0
test byte [r13 + 0x32], 4
je 0x69056e
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x78]
mov edx, 0x7d
mov rcx, r15
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.00682ad0
test byte [r13 + 0x30], 0x40
je 0x690587
test word [rbx + 0x44], 0x1020
mov r12d, 1
je 0x69070e
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
jne 0x690684
mov rsi, qword [rbx]
mov eax, dword [rsp + 0x4c]
xor r9d, r9d
mov r8d, dword [rsp + 0x78]
mov edx, 0x8d
mov r12, qword [rsi + 0x10]
or byte [rbx + 0x4c], 1
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.00682ad0
test word [rbx + 0x44], 0x1020
je 0x69070b
mov rax, qword [rsi + 0xa0]
test rax, rax
cmove rax, rsi
cmp dword [rax + 0x70], 0
jne 0x69070b
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsi]
mov rdi, qword [rax + 0x18]
movsx edx, word [rdi + 0x36]
inc edx
movsxd rdx, edx
shl rdx, 2
call fcn.00657af0
test rax, rax
mov r8, rax
je 0x69070b
movsx eax, word [rdi + 0x36]
mov dword [r8], eax
mov rax, qword [rsp + 0x40]
movzx esi, word [rax + 0x60]
lea eax, [rsi - 1]
xor esi, esi
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], esi
jle 0x69066e
mov rax, qword [rsp + 0x40]
mov rcx, rdi
mov qword [rsp + 0x70], r8
mov rax, qword [rax + 8]
movsx edx, word [rax + rsi*2]
mov dword [rsp + 0x68], edx
call fcn.0067fa70
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
test r9w, r9w
js 0x690669
lea edx, [rsi + 1]
movsx rax, ax
mov dword [r8 + rax*4 + 4], edx
inc rsi
jmp 0x690629
mov r9d, 0xfffffff2
or edx, 0xffffffff
mov rcx, r12
call fcn.00682e40
jmp 0x69070b
mov esi, dword [rsp + 0x78]
cmp dword [rsp + 0x4c], esi
je 0x69070b
mov rcx, qword [rax + 0x10]
xor edi, edi
call fcn.00673610
movzx edx, word [rax + 0x5e]
mov rcx, r14
mov r12, rax
call fcn.006697b0
mov esi, eax
movzx eax, word [r12 + 0x5e]
cmp eax, edi
jle 0x6906e9
mov rax, qword [r12 + 8]
mov rcx, qword [rsp + 0x40]
movsx edx, word [rax + rdi*2]
call fcn.0067fa40
lea edx, [rsi + rdi]
mov r8d, dword [rsp + 0x78]
movsx r9d, ax
mov rcx, r15
inc rdi
mov dword [rsp + 0x20], edx
mov edx, 0x5e
call fcn.00682ad0
jmp 0x6906aa
mov r9d, dword [rsp + 0xbc]
mov r8d, dword [rsp + 0x4c]
mov edx, 0x1b
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
mov rcx, r15
call fcn.00682be0
xor r12d, r12d
cmp dword [rbp], 0
jne 0x6908ab
test word [rbx + 0x44], 0x1020
jne 0x69088c
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
test rax, rax
mov qword [rsp + 0x60], rax
jne 0x690746
mov rax, qword [rsp + 0x40]
test byte [rax + 0x65], 4
je 0x69088c
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x180]
mov ecx, 0xa
xor esi, esi
mov rdi, rdx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x68], rax
xor eax, eax
rep stosd dword [rdi], eax
lea rax, [rsp + 0x120]
mov rdi, rdx
mov qword [rsp + 0x1a8], rax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x12c], eax
mov rax, qword [rbx]
mov rax, qword [rax]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x70], esi
movzx eax, word [rax + 0x60]
cmp esi, eax
jge 0x69088c
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
movsx r11d, word [rax + rsi*2]
cmp r11w, 0xfffe
jne 0x690802
mov rcx, qword [rsp + 0x60]
mov rax, rsi
shl rax, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0x120], rcx
call fcn.0065d400
test eax, eax
jne 0x690884
lea rax, [0x006a61b0]
jmp 0x69084d
test r11w, r11w
js 0x690884
mov rax, qword [rsp + 0x68]
movsx rcx, r11w
imul rcx, rcx, 0x18
add rcx, qword [rax + 8]
mov ax, word [rcx + 0x12]
test al, 0x20
je 0x690884
test ah, 2
je 0x69083e
call fcn.00655880
lea rdx, str.BINARY
mov rcx, rax
call fcn.0067f7b0
test eax, eax
jne 0x690884
lea rax, [0x006a6150]
mov dword [rsp + 0x134], r11d
mov qword [rsp + 0x188], rax
mov rdx, qword [rbx + 0x20]
mov rcx, rdi
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x130], eax
call fcn.0068e440
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call fcn.0068e450
mov rdx, qword [rbx + 0x18]
mov rcx, rdi
call fcn.0068e450
inc rsi
jmp 0x6907a9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x6908ab
mov r8, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x4c]
call fcn.006a5ec0
mov eax, dword [r13 + 0x30]
bt eax, 0xc
jae 0x6908bb
mov byte [rbp + 0x41], 0xb8
jmp 0x6908c9
cmp dword [rsp + 0x50], 0
sete dl
add edx, 0x25
mov byte [rbp + 0x41], dl
mov edi, dword [rsp + 0x78]
mov edx, eax
shr edx, 0x10
and edx, 1
test al, 0xf
mov dword [rbp + 0x44], edi
mov byte [rbp + 0x42], dl
jne 0x6908e3
mov byte [rbp + 0x43], 1
test r12d, r12d
mov eax, 0
cmove rax, qword [rsp + 0x40]
cmp r12d, 1
sbb r13d, r13d
add r13d, 2
mov qword [rsp + 0x40], rax
jmp 0x691006
bt eax, 0xd
jae 0x690fb3
mov eax, dword [r14 + 0x34]
mov rdi, qword [rsp + 0xb0]
mov dword [rsp + 0xc8], eax
inc eax
mov dword [r14 + 0x34], eax
mov eax, dword [r14 + 0x38]
inc eax
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x88], eax
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
mov dword [rsp + 0xe0], eax
movsxd rax, dword [rsp + 0xb8]
imul rax, rax, 0x68
mov rax, qword [rdi + rax + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [r13 + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0xd0], rax
mov rax, qword [rax + 0x20]
mov byte [rbp + 0x41], 0x43
mov qword [rsp + 0xd8], rax
mov eax, dword [rsp + 0x88]
mov dword [rbp + 0x44], eax
movzx r12d, byte [rbx + 0x48]
cmp r12b, 1
jbe 0x690a37
sub r12d, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x60]
dec r12d
movsxd rdx, r12d
imul rdx, rdx, 0x68
add rdx, 0x70
call fcn.006579e0
test rax, rax
mov qword [rsp + 0x40], rax
je 0x6914fb
mov rdi, qword [rsp + 0x40]
lea eax, [r12 + 1]
mov ecx, 0x1a
imul rsi, rsi, 0x68
movzx eax, al
mov dword [rdi + 4], eax
mov dword [rdi], eax
mov rax, rdi
mov rdi, qword [rsp + 0xb0]
add rax, 8
lea rsi, [rdi + rsi + 8]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rax, qword [rbx + 8]
lea rdx, [rax + 8]
xor eax, eax
inc rax
cmp r12d, eax
jl 0x690a40
imul rcx, rax, 0x68
mov rdi, qword [rsp + 0x40]
lea r8, [rdi + rcx + 8]
imul rcx, rax, 0x70
mov rdi, r8
movzx esi, byte [rbp + rcx + 0x40]
mov ecx, 0x1a
imul rsi, rsi, 0x68
add rsi, rdx
rep movsd dword [rdi], dword [rsi]
jmp 0x690a05
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
test byte [rbx + 0x44], 0x10
jne 0x690abb
mov rax, qword [rsp + 0x50]
test byte [rax + 0x30], 0x80
jne 0x690a71
mov eax, dword [r14 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
lea edi, [rax + 1]
mov dword [r14 + 0x38], edi
mov r9d, edi
call fcn.00682ab0
jmp 0x690aad
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
call fcn.00673610
mov edi, dword [r14 + 0x34]
mov rsi, rax
mov edx, 0x76
movzx r9d, word [rsi + 0x5e]
mov rcx, r15
lea eax, [rdi + 1]
mov r8d, edi
mov dword [r14 + 0x34], eax
call fcn.00682ab0
mov rdx, rsi
mov rcx, r14
call fcn.0068d1c0
mov eax, dword [r14 + 0x38]
lea r12d, [rax + 1]
mov dword [r14 + 0x38], r12d
jmp 0x690ac0
xor r12d, r12d
xor edi, edi
mov r9d, dword [rsp + 0x88]
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
call fcn.00682ab0
cmp dword [rbx + 0x8c], 1
mov dword [rsp + 0x104], eax
jg 0x690af6
mov qword [rsp + 0x68], 0
jmp 0x690b78
xor esi, esi
xor r9d, r9d
cmp dword [rbx + 0x8c], esi
jle 0x690b5e
imul rax, rsi, 0x38
add rax, qword [rbx + 0x98]
cmp qword [rsp + 0xd0], rax
je 0x690b59
test word [rax + 0x12], 0x8006
jne 0x690b59
test word [rax + 0x14], 0x3fff
je 0x690b59
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x690b59
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x68], r9
call fcn.0065cb00
mov r9, qword [rsp + 0x68]
mov r8, rax
mov rcx, r14
mov rdx, r9
call fcn.0065a2e0
mov r9, rax
inc rsi
jmp 0x690afb
test r9, r9
je 0x690ae8
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r14
call fcn.0066e830
mov qword [rsp + 0x68], rax
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r14
call fcn.0068a840
mov dword [rsp + 0xf4], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xc0], 0
mov eax, dword [rsp + 0x80]
mov esi, dword [rsp + 0x80]
mov dword [rsp + 0xe4], eax
mov rax, qword [rsp + 0xd8]
cmp esi, dword [rax + 0x14]
jge 0x690f02
imul rax, qword [rsp + 0x80], 0x38
mov rsi, qword [rsp + 0xd8]
add rax, qword [rsi + 0x20]
mov esi, dword [rsp + 0x4c]
cmp esi, dword [rax + 0x1c]
je 0x690bfd
test byte [rax + 0x15], 4
je 0x690ef5
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.0065cb00
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
je 0x690c30
mov rdx, qword [rsp + 0xa0]
mov rcx, rax
jmp 0x690ef0
cmp qword [rsp + 0x68], 0
mov rsi, qword [rsp + 0xa0]
je 0x690c4c
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x10], rsi
mov rsi, rax
mov eax, dword [rsp + 0x80]
lea r8, str.INDEX__d
mov edx, 1
mov rcx, r14
lea r9d, [rax + 1]
call fcn.0068a840
mov eax, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov r8, rsi
mov qword [rsp + 0x20], 0
mov rcx, r14
mov dword [rsp + 0x38], eax
call fcn.0068e650
test rax, rax
mov qword [rsp + 0x78], rax
je 0x690ee3
mov rax, qword [r14 + 0xa0]
test rax, rax
cmove rax, r14
cmp byte [rax + 0x123], 2
jne 0x690ce4
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov rcx, r14
lea r8, [rax + 0x368]
call fcn.00692000
xor r13d, r13d
test byte [rbx + 0x44], 0x10
jne 0x690e24
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x70], eax
dec eax
cmp dword [rsp + 0xe4], eax
mov eax, 0xffffffff
cmovne eax, dword [rsp + 0xe4]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x30], 0x80
jne 0x690d6c
mov r8d, dword [rsp + 0x4c]
mov rdx, rax
or r9d, 0xffffffff
mov rcx, r15
mov dword [rsp + 0x20], r12d
call fcn.0065a7c0
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov edx, 0x2e
mov rcx, r15
mov dword [rsp + 0x28], eax
call fcn.00682be0
mov r13d, eax
jmp 0x690e24
mov rax, qword [rsp + 0x50]
xor r13d, r13d
mov rcx, qword [rax + 0x10]
call fcn.00673610
movzx esi, word [rax + 0x5e]
mov rcx, r14
mov qword [rsp + 0x108], rax
mov edx, esi
call fcn.006697b0
mov dword [rsp + 0x70], eax
cmp esi, r13d
mov r10, qword [rsp + 0x108]
jle 0x690dd7
mov rax, qword [r10 + 8]
mov r8d, dword [rsp + 0x4c]
mov rcx, r15
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x108], r10
movsx r9d, word [rax + r13*2]
mov eax, dword [rsp + 0x70]
add eax, r13d
inc r13
mov dword [rsp + 0x20], eax
call fcn.0065a7c0
jmp 0x690d97
cmp dword [rsp + 0xf0], 0
je 0x691856
mov eax, dword [rsp + 0x70]
xor r9d, r9d
mov dword [rsp + 0x28], esi
mov r8d, edi
mov edx, 0x1c
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.00682be0
cmp dword [rsp + 0xf0], 0
mov r13d, eax
jns 0x691897
mov edx, dword [rsp + 0x70]
mov r8d, esi
mov rcx, r14
call fcn.00673c40
mov r9d, dword [rsp + 0xe0]
mov r8d, dword [rsp + 0x88]
mov edx, 9
mov rcx, r15
call fcn.00682ab0
test r13d, r13d
je 0x690e51
mov edx, r13d
mov rcx, r15
call fcn.0068b5a0
mov rax, qword [rsp + 0x78]
test byte [rax + 0x4c], 2
mov eax, 1
cmove eax, dword [rsp + 0xf4]
xor esi, esi
mov dword [rsp + 0xf4], eax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3c8]
test byte [rax + 0x31], 2
je 0x690eba
cmp dword [rsp + 0xe4], 0
mov rsi, qword [rax + 0x20]
je 0x690e9a
cmp qword [rsp + 0xc0], rsi
jne 0x690eb8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x30], 0x80
je 0x690eba
mov al, byte [rsi + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmove rsi, rax
jmp 0x690eba
xor esi, esi
mov rax, qword [rsp + 0x78]
test byte [rax + 0x4c], 1
je 0x690ec9
or byte [rbx + 0x4c], 1
mov rcx, qword [rsp + 0x78]
call fcn.006919a0
mov rcx, r14
call fcn.0068a8c0
mov qword [rsp + 0xc0], rsi
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
call fcn.0065ca50
inc qword [rsp + 0x80]
jmp 0x690baf
mov rcx, r14
call fcn.0068a8c0
mov rax, qword [rsp + 0xc0]
test rax, rax
mov qword [rbp + 0x50], rax
je 0x690f25
mov eax, dword [rsp + 0xc8]
mov dword [rbp + 8], eax
cmp qword [rsp + 0x68], 0
je 0x690f47
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x10], 0
mov rdx, rax
call fcn.0065ca50
mov edx, dword [rsp + 0x104]
mov r9d, dword [r15 + 0x90]
mov rcx, r15
call fcn.0068ab90
mov edx, dword [rbp + 0xc]
mov dword [rax + 4], r9d
call fcn.0068abc0
mov edx, dword [rsp + 0xe0]
mov rcx, r15
call fcn.0068cf60
mov eax, dword [r15 + 0x90]
mov dword [rbp + 0x48], eax
cmp byte [rbx + 0x48], 1
jbe 0x690f97
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
call fcn.00657910
cmp dword [rsp + 0xf4], 0
jne 0x690ff7
mov rdx, qword [rsp + 0xd0]
mov rcx, rbp
call fcn.006101e0
jmp 0x690ff7
and r8b, 0x40
je 0x690fbf
mov byte [rbp + 0x41], 0xb8
jmp 0x690ff7
movsxd rax, dword [rsp + 0x50]
lea rdx, [0x007ae700]
mov edi, dword [rsp + 0x4c]
mov rcx, r15
mov dword [rbp + 0x44], edi
mov r8d, edi
mov dl, byte [rdx + rax]
mov byte [rbp + 0x41], dl
lea rdx, [0x007ae6e0]
movzx edx, byte [rdx + rax]
call fcn.00682ab0
inc eax
mov byte [rbp + 0x43], 1
mov dword [rbp + 0x48], eax
mov qword [rsp + 0x40], 0
mov r13d, 2
movsxd rax, dword [rsp + 0xb8]
imul rax, rax, 0x68
add rax, qword [rsp + 0xb0]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx + 0x8c]
mov rsi, qword [rbx + 0x98]
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
jle 0x69119b
test byte [rsi + 0x12], 6
jne 0x69118e
mov r11, qword [rbp + 0x68]
test qword [rsi + 0x30], r11
je 0x691060
or byte [rbx + 0x4c], 2
jmp 0x69118e
mov rax, qword [rsp + 0x68]
mov r12, qword [rsi]
mov dl, byte [rax + 0x44]
test dl, 0x58
je 0x6910a5
mov eax, dword [r12 + 4]
test al, 3
je 0x69118e
and dl, 8
je 0x69108a
test al, 1
je 0x69118e
mov edx, dword [r12 + 0x34]
mov rcx, qword [rsp + 0xf8]
call fcn.006925a0
test r11, rax
jne 0x69118e
cmp r13d, 1
jne 0x691113
lea r8, [rsp + 0x180]
xor eax, eax
mov ecx, 0xa
mov edx, dword [rbp + 4]
mov rdi, r8
rep stosd dword [rdi], eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x128], edx
mov rcx, r8
mov rdx, r12
mov qword [rsp + 0x120], rax
lea rax, [0x00612670]
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x1a8], rax
call fcn.0068e440
cmp word [rsp + 0x1a4], 0
jne 0x691186
test byte [rsi + 0x13], 0x10
je 0x69112c
jmp 0x69111b
cmp r13d, 3
je 0x69112c
jmp 0x69110b
cmp dword [rsp + 0x50], 0
jne 0x69118e
mov dword [rsp + 0x50], 3
jmp 0x69118e
xor edi, edi
test byte [rsi + 0x13], 2
je 0x691158
mov r8d, dword [rbp + 0x2c]
test r8d, r8d
je 0x691158
mov eax, r8d
mov rcx, r15
and eax, 1
cmp eax, 1
sbb edx, edx
shr r8d, 1
add edx, 0x10
call fcn.00682a90
mov edi, eax
mov r8d, dword [rsp + 0xbc]
mov r9d, 0x10
mov rdx, r12
mov rcx, r14
call fcn.0065ccb0
test edi, edi
je 0x69117f
mov edx, edi
mov rcx, r15
call fcn.0068b5a0
or word [rsi + 0x12], 4
jmp 0x69118e
mov dword [rsp + 0x50], 2
dec dword [rsp + 0x60]
add rsi, 0x38
jmp 0x691038
mov r13d, dword [rsp + 0x50]
test r13d, r13d
jne 0x69101f
movsxd r12, dword [rsp + 0xb8]
mov eax, dword [rbx + 0x94]
mov r13, qword [rbx + 0x98]
mov dword [rsp + 0x40], eax
imul r12, r12, 0x68
add r12, qword [rsp + 0xb0]
mov qword [rsp + 0x60], r12
cmp dword [rsp + 0x40], 0
jle 0x6912ca
test byte [r13 + 0x12], 6
jne 0x6912bd
mov eax, dword [r13 + 0x14]
test al, 0x82
je 0x6912bd
test ah, 8
je 0x6912bd
mov eax, dword [rsp + 0x4c]
cmp eax, dword [r13 + 0x1c]
jne 0x6912bd
mov rax, qword [rsp + 0x60]
test byte [rax + 0x44], 0x58
jne 0x6912bd
mov r8d, dword [r13 + 0x20]
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xa8]
mov r12, qword [r13]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
call fcn.00692520
test rax, rax
je 0x6912bd
test byte [rax + 0x12], 4
jne 0x6912bd
test byte [rax + 0x14], 1
mov rsi, qword [rax]
je 0x691274
test byte [rsi + 5], 0x10
je 0x691274
mov rdx, qword [rsi + 0x20]
mov rdx, qword [rdx + 0x20]
cmp dword [rdx], 1
jg 0x6912bd
lea rdi, [rsp + 0x180]
mov ecx, 0x12
mov r8d, dword [rsp + 0xbc]
rep movsd dword [rdi], dword [rsi]
mov r9d, 0x10
mov rcx, r14
mov qword [rsp + 0x68], rax
mov rdx, qword [r12 + 0x10]
mov qword [rsp + 0x190], rdx
lea rdx, [rsp + 0x180]
call fcn.0065ccb0
mov rax, qword [rsp + 0x68]
or word [rax + 0x12], 4
dec dword [rsp + 0x40]
add r13, 0x38
jmp 0x6911d3
mov r13, qword [rbp + 0x38]
test r13, r13
je 0x69142c
movzx eax, byte [rbp + 0x40]
imul rax, rax, 0x68
add rax, qword [rbx + 8]
mov r12, qword [rax + 0x28]
test byte [r12 + 0x30], 0x80
jne 0x69131f
mov edx, 2
mov rcx, r14
mov esi, 1
call fcn.006697b0
mov r8d, dword [rbp + 4]
mov edi, eax
lea eax, [rax + 1]
or r9d, 0xffffffff
mov rdx, r12
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.0065a7c0
jmp 0x691392
mov rcx, qword [r12 + 0x10]
call fcn.00673610
movzx esi, word [rax + 0x5e]
mov rcx, r14
mov qword [rsp + 0x40], rax
lea edx, [rsi + 1]
call fcn.006697b0
mov r10, qword [rsp + 0x40]
mov edi, eax
xor eax, eax
lea r11d, [rdi + 1]
cmp esi, eax
jle 0x691392
mov rdx, qword [r10 + 8]
mov r8d, dword [rsp + 0x4c]
mov rcx, r15
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x40], r11d
movsx r9d, word [rdx + rax*2]
lea edx, [r11 + rax]
mov dword [rsp + 0x20], edx
mov rdx, r12
call fcn.0065a7c0
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
inc rax
jmp 0x69134a
lea r12d, [rdi + 1]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0x1c
mov rcx, r15
mov dword [rsp + 0x20], r12d
mov r8d, dword [r13]
call fcn.00682be0
mov r9d, esi
mov r8d, r12d
mov edx, 0x61
mov rcx, r15
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x40], eax
call fcn.00682ad0
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r12d
mov r9d, edi
mov r8d, dword [r13]
mov edx, 0x8a
mov rcx, r15
call fcn.00682be0
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov edx, 0xb4
mov rcx, r15
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r12d
call fcn.00682be0
mov rcx, r15
mov edx, 0x10
call fcn.00682ec0
mov edx, dword [rsp + 0x40]
call fcn.0068b5a0
lea r8d, [rsi + 1]
mov edx, edi
mov rcx, r14
call fcn.00673c40
mov r9d, dword [rbp]
test r9d, r9d
jne 0x691440
mov rsi, qword [rbp + 0x38]
test rsi, rsi
jne 0x691466
jmp 0x6914af
mov eax, dword [r15 + 0x90]
mov r8d, 1
mov edx, 0x47
mov rcx, r15
mov dword [rbp + 0x1c], eax
call fcn.00682ab0
cmp qword [rbp + 0x38], 0
jne 0x691435
jmp 0x691488
mov r9d, dword [rsi + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, r15
call fcn.00682ab0
mov eax, dword [r15 + 0x90]
mov dword [rsi + 0xc], eax
inc byte [r14 + 0x26]
movsxd rdi, dword [rsp + 0xb8]
mov rsi, qword [rbx + 0x98]
imul rdi, rdi, 0x68
add rdi, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x50]
cmp eax, dword [rbx + 0x94]
jl 0x6914bd
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x98], rax
jmp 0x6914fb
test byte [rsi + 0x12], 6
jne 0x6914f1
mov rax, qword [rsi + 0x30]
test qword [rbp + 0x68], rax
jne 0x6914f1
test byte [rdi + 0x44], 0x40
jne 0x6914f1
mov r8d, dword [rsp + 0xbc]
mov rdx, qword [rsi]
mov r9d, 0x10
mov rcx, r14
call fcn.0065ccb0
or word [rsi + 0x12], 4
inc dword [rsp + 0x50]
add rsi, 0x38
jmp 0x6914a3
mov eax, dword [rbp + 0x18]
inc dword [rsp + 0x94]
add rbp, 0x70
inc qword [rsp + 0xe8]
mov dword [rbx + 0x38], eax
jmp 0x68f58b
mov eax, dword [r15 + 0x90]
mov dword [rbx + 0x54], eax
jmp 0x691914
mov rcx, rbx
call fcn.006aaa40
mov eax, dword [rbx + 0x40]
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
mov dword [r14 + 0xc8], eax
call fcn.006a6220
xor ebx, ebx
jmp 0x691914
inc edx
jne 0x68ee33
jmp 0x68ed7d
mov rdx, qword [rsi + 0x40]
mov dword [rsi + 0x30], 0x1101
mov qword [rdx], rax
mov word [rsi + 0x34], 1
mov word [rsi + 0x18], 1
mov word [rsi + 0x14], 0x21
jmp 0x68efc0
mov rdx, qword [rbp + 0x10]
mov edi, dword [rsp + 0x60]
mov word [rsi + 0x16], 1
mov qword [rbp + 0x3c8], rsi
mov qword [rsi + 8], 1
mov word [rbp + 0x4e], 1
test rdx, rdx
mov dword [rbp + 0x36c], edi
je 0x6915b3
mov edx, dword [rdx]
mov byte [rbp + 0x49], dl
test byte [rbp + 0x45], 1
je 0x6915bd
mov byte [rbp + 0x4b], 1
cmp byte [rsp + 0x1a9], 1
jbe 0x68f06d
or eax, 0x200000
mov dword [rsi + 0x30], eax
jmp 0x68f06d
lea rax, [rsp + 0x180]
mov rdi, qword [r13 + 0x10]
mov qword [rsp + 0x68], rax
jmp 0x68eefd
cmp qword [rax + 0x28], 0
je 0x691618
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x80], r10d
call fcn.006aa820
jmp 0x68ef6a
mov dword [rsi + 0x30], 0x1241
jmp 0x68efac
mov rdx, qword [rsi + 0x40]
mov qword [rdx + r13*8], rax
inc r13
jmp 0x68ef33
xor esi, esi
cmp dword [rsp + 0x50], 0
jne 0x69171c
test r11, r11
mov r10, r11
je 0x691826
mov dword [rsp + 0x180], 0x16141517
mov r12, qword [r10]
mov qword [rsp + 0x40], r10
mov r9, qword [r12 + 0x18]
mov rcx, r9
call fcn.0065d4b0
test eax, eax
mov r10, qword [rsp + 0x40]
je 0x6916aa
mov rcx, r14
call fcn.006697f0
mov rdx, qword [r12 + 0x18]
mov r9d, 1
mov r8d, eax
mov r13d, eax
mov dword [rsp + 0x120], eax
call fcn.0060cf20
movzx edx, byte [r12]
sub edx, 0x37
and edx, 2
or edx, 1
movsxd rdx, edx
movzx edx, byte [rsp + rdx + 0x180]
jmp 0x6916e7
lea r8, [rsp + 0x120]
mov rdx, r9
mov rcx, r14
mov qword [rsp + 0x40], r10
call fcn.0065c4c0
mov r10, qword [rsp + 0x40]
mov rcx, rbp
mov r13d, eax
mov rdx, r10
call fcn.006101e0
movzx eax, byte [r12]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x180]
mov r8d, dword [rsp + 0x4c]
mov r9d, edi
mov rcx, r15
mov dword [rsp + 0x20], r13d
call fcn.00682ad0
mov edx, dword [rsp + 0x120]
mov rcx, r14
call fcn.00673c60
mov r11, rsi
jmp 0x691738
test r10, r10
mov rsi, r11
jne 0x691641
mov edx, 0x1f
mov r8d, dword [rsp + 0x4c]
mov rcx, r15
mov qword [rsp + 0x40], r11
call fcn.00682ab0
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x6917a9
mov r12, qword [r11]
mov eax, dword [r14 + 0x38]
mov r9d, 1
mov rcx, r14
mov qword [rsp + 0x40], r11
lea esi, [rax + 1]
mov rdx, qword [r12 + 0x18]
mov r8d, esi
mov dword [r14 + 0x38], esi
call fcn.0060cf20
mov rcx, qword [r12 + 0x18]
call fcn.0065d4b0
test eax, eax
jne 0x6918e2
mov al, byte [r12]
mov r11, qword [rsp + 0x40]
sub eax, 0x36
cmp dword [rsp + 0x50], 1
sbb r12d, r12d
test al, 0xfd
jne 0x691907
and r12d, 2
add r12d, 0x37
mov rdx, r11
mov rcx, rbp
call fcn.006101e0
jmp 0x6917b1
xor esi, esi
mov r12d, 0xb8
cmp dword [rsp + 0x50], 0
mov edx, dword [r15 + 0x90]
sete al
add eax, 0x25
mov byte [rbp + 0x41], al
mov eax, dword [rsp + 0x4c]
cmp r12d, 0xb8
mov dword [rbp + 0x48], edx
mov dword [rbp + 0x44], eax
je 0x690ff7
mov eax, dword [r14 + 0x38]
mov r8d, dword [rsp + 0x4c]
mov rcx, r15
mov edx, 0x87
lea r13d, [rax + 1]
mov r9d, r13d
mov dword [r14 + 0x38], r13d
call fcn.00682ab0
mov edx, r12d
mov rcx, r15
mov dword [rsp + 0x20], r13d
mov r9d, edi
mov r8d, esi
call fcn.00682ad0
mov edx, 0x53
mov rcx, r15
call fcn.00682ec0
jmp 0x690ff7
mov r11, rsi
mov edx, 0x23
jmp 0x691721
xor r12d, r12d
test rsi, rsi
je 0x6903e6
mov rax, qword [rsi]
xor r12d, r12d
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
jmp 0x690312
mov r8d, dword [rsp + 0x70]
mov r9d, esi
mov edx, 0x61
mov rcx, r15
mov dword [rsp + 0x20], r12d
xor r13d, r13d
call fcn.00682ad0
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], esi
mov r9d, r12d
mov r8d, edi
mov edx, 0x8a
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.00682be0
jmp 0x690e15
mov r8d, dword [rsp + 0x70]
mov r9d, esi
mov rcx, r15
mov dword [rsp + 0x20], r12d
mov edx, 0x61
call fcn.00682ad0
mov eax, dword [rsp + 0x70]
mov rcx, r15
mov dword [rsp + 0x28], esi
mov r9d, r12d
mov r8d, edi
mov edx, 0x8a
mov dword [rsp + 0x20], eax
call fcn.00682be0
mov edx, 0x10
mov rcx, r15
call fcn.00682ec0
jmp 0x690e15
cmp dword [rsp + 0x50], 1
mov al, byte [rsp + 0x50]
mov edx, dword [r15 + 0x90]
sbb r12d, r12d
neg eax
and r12d, 0xfffffffe
add eax, 0x26
add r12d, 0x38
jmp 0x6917c3
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x69179c
mov rax, rbx
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret