Function at 0x5f8690
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, 0x218
mov rsi, qword [rcx + 0x10]
mov eax, dword [rsp + 0x288]
mov qword [rsp + 0x60], rsi
mov rsi, qword [rcx]
mov r13, rcx
mov r12, r8
mov qword [rsp + 0x268], rdx
mov qword [rsp + 0x278], r9
mov word [rsp + 0x50], ax
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
test r9, r9
je 0x5f873b
cmp dword [r9], 0x40
mov edx, 0
cmovl rdx, r9
mov qword [rsp + 0x278], rdx
mov rsi, qword [rsp + 0x278]
and ah, 0xfe
mov qword [rsp + 0x170], rsi
mov rsi, qword [rsp + 0xb0]
test byte [rsi + 0x5c], 0x10
cmove ax, word [rsp + 0x50]
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x268]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
cmp eax, 0x40
jg 0x5fbde0
movzx eax, word [rsp + 0x50]
and ax, 0x20
mov word [rsp + 0x70], ax
je 0x5f9a78
mov dword [rsp + 0xb8], 1
mov edx, 0x458
mov ebx, 0x3f8
mov rdi, qword [rsp + 0xb0]
mov rcx, rdi
call fcn.00594060
cmp byte [rdi + 0x61], 0
mov r14, rax
jne 0x5f9dc8
mov qword [rax], r13
mov rax, qword [rsp + 0x268]
xor ebp, ebp
add rbx, r14
mov edi, dword [rsp + 0xb8]
mov qword [r14 + 0x20], r12
xor edx, edx
xor r15d, r15d
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x278]
lea rcx, [r14 + 0x398]
mov qword [r14 + 0x28], 0xffffffffffffffff
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x280]
mov byte [r14 + 0x40], dil
mov qword [r14 + 0x18], rax
mov eax, dword [r13 + 0x44]
mov qword [rsp + 0x80], rcx
sub eax, 1
mov qword [rsp + 0x78], rcx
mov dword [r13 + 0x44], eax
mov dword [r14 + 0x30], eax
mov dword [r14 + 0x34], eax
movzx eax, word [rsp + 0x50]
mov word [r14 + 0x3c], ax
movzx eax, word [rsp + 0x290]
mov word [r14 + 0x3e], ax
mov eax, dword [r13 + 0xbc]
mov qword [r14 + 0x41], 0
mov dword [r14 + 0x38], eax
movsxd rax, edi
mov qword [r14 + 0x49], 0
lea r8, [rax + rax*2 + 3]
mov qword [r14 + 0x51], 0
shl r8, 5
mov qword [r14 + 0x59], 0
mov dword [r14 + 0x61], 0
mov word [r14 + 0x65], bp
mov byte [r14 + 0x67], 0
call sub.msvcrt.dll_memset
lea rax, [rbx + 0x48]
lea rcx, [r14 + 0x68]
mov rdx, r12
mov qword [rbx + 0x38], rax
mov eax, 3
mov r8d, 0x2c
mov word [rbx + 0x30], ax
movabs rax, 0x800000000
mov word [rbx + 0x2c], r15w
mov dword [rbx + 0x28], 0
mov qword [r14 + 0x7c], rax
lea rax, [r14 + 0x90]
mov dword [r14 + 0x294], 0
mov qword [r14 + 0x68], r14
mov byte [r14 + 0x79], 0
mov qword [r14 + 0x70], 0
mov qword [r14 + 0x88], rax
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x178], rbx
call fcn.005a2a30
test edi, edi
jne 0x5f9c00
cmp qword [rsp + 0x278], 0
je 0x5f8941
mov rax, qword [rsp + 0x278]
mov eax, dword [rax]
mov byte [r14 + 0x41], al
test word [rsp + 0x50], 0x100
jne 0x5f9e00
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r13
call fcn.005caa70
mov ebx, dword [r14 + 0x7c]
sub ebx, 1
js 0x5f8996
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x268]
nop dword [rax + rax]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
sub ebx, 1
call fcn.005f4fe0
cmp ebx, 0xffffffff
jne 0x5f8980
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x61]
mov byte [rsp + 0x58], al
test al, al
jne 0x5f9bc0
xor ebp, ebp
mov rax, qword [rsp + 0x168]
mov r15d, dword [rsp + 0xb8]
lea r12, [rsp + 0x1c0]
lea rdi, [0x0058d880]
lea rsi, [0x0058c8a0]
mov ebx, dword [rax + 0x14]
test ebx, ebx
jg 0x5f8a79
jmp 0x5f8ac5
mov r11d, 1
mov qword [r12], 0
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0
mov word [rsp + 0x1e4], r11w
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1d0], rsi
test rdx, rdx
je 0x5f9bf8
mov rcx, r12
call fcn.00598570
mov rax, qword [rsp + 0x168]
cmp word [rsp + 0x1e4], 0
jne 0x5f9bf8
nop dword [rax]
add rbp, 1
cmp dword [rax + 0x14], ebp
jle 0x5f8ac5
mov rbx, rbp
shl rbx, 6
add rbx, qword [rax + 0x20]
test byte [rbx + 0x12], 2
jne 0x5f8a70
cmp qword [rbx + 0x38], 0
jne 0x5f8a70
mov rdx, qword [rbx]
test r15d, r15d
jne 0x5f89f0
mov r8d, dword [r14 + 0x34]
mov r9d, 0x10
mov rcx, r13
add rbp, 1
call fcn.005ef7f0
mov rax, qword [rsp + 0x168]
or word [rbx + 0x12], 4
cmp dword [rax + 0x14], ebp
jg 0x5f8a79
movzx eax, word [rsp + 0x50]
and ax, 0x100
mov word [rsp + 0x98], ax
jne 0x5fb860
mov rdi, qword [rsp + 0x160]
cmp dword [rsp + 0xb8], 1
mov r12, qword [rsp + 0x178]
mov rbp, qword [rdi + 8]
je 0x5fb770
movzx edx, byte [rdi + 0x40]
xor ebx, ebx
mov r15d, 3
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea rsi, [rbp + rax + 8]
mov rax, qword [rdi]
mov rax, qword [rax]
mov word [r12 + 0x2c], bx
mov dword [r12 + 0x28], 0
mov qword [rsp + 0x68], rax
lea rax, [r12 + 0x48]
mov qword [r12 + 0x38], rax
lea rax, [rbp + 8]
mov word [r12 + 0x30], r15w
mov dword [rsp + 0x18c], 0x4e20
cmp rsi, rax
jbe 0x5f8c67
xor r10d, r10d
movzx edx, byte [rsp + 0x58]
lea rbx, [rbp + 0x78]
xor r15d, r15d
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x88], r14
mov eax, 0x4e20
xor ebp, ebp
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x260], r13
mov r13d, r10d
nop word cs:[rax + rax]
mov byte [r12 + 0x10], r13b
mov r9d, dword [rdi + 0x294]
add eax, 0x3e8
mov dword [rsp + 0x18c], eax
mov r8d, dword [rbx - 0x2c]
test r9d, r9d
jle 0x5f9ae0
lea r10d, [r9 - 1]
xor eax, eax
jmp 0x5f8be0
lea rcx, [rax + 1]
cmp r10, rax
je 0x5f9ae0
mov rax, rcx
mov ecx, eax
cmp r8d, dword [rdi + rax*4 + 0x298]
jne 0x5f8bd0
mov eax, 1
shl rax, cl
mov qword [r12 + 8], rax
mov rax, qword [rbx - 0x50]
movzx r14d, byte [rbx - 0x34]
mov r11d, dword [rax + 0x54]
or edx, r14d
and edx, 0xa
cmovne r15, rbp
test r11d, r11d
jne 0x5f9af0
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.005c8020
xor r8d, r8d
test eax, eax
jne 0x5f9aa0
mov rax, qword [rsp + 0x168]
cmp byte [rax + 0x11], 0
jne 0x5f9b80
or rbp, qword [r12 + 8]
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x61], 0
je 0x5f9abf
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x68]
mov rdx, r12
call fcn.0059ab80
xor edx, edx
mov rcx, r14
call fcn.005c9870
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x61], 0
jne 0x5f9bc0
cmp qword [r14 + 0x10], 0
je 0x5f9e10
movzx eax, word [r14 + 0x48]
mov rcx, r14
lea edx, [rax + 1]
movsx edx, dx
call fcn.005c9870
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x61], 0
jne 0x5f9bc0
cmp qword [r14 + 0x10], 0
je 0x5f9e10
mov r10d, dword [r13 + 0x30]
test r10d, r10d
jne 0x5f9bc0
mov rax, qword [rsp + 0xb0]
movzx esi, byte [rax + 0x61]
test sil, sil
jne 0x5f9bc0
cmp byte [r14 + 0x40], 1
jbe 0x5fbda0
cmp qword [rsp + 0x280], 0
je 0x5fbda0
mov qword [rsp + 0xa0], 0xffffffffffffffff
test byte [rax + 0x5d], 1
je 0x5fd05b
mov rax, qword [r14]
movsx edx, word [r14 + 0x48]
add dword [rax + 0xbc], edx
test byte [rsp + 0x50], 4
je 0x5f8d68
mov rdx, qword [r14 + 0x3e8]
mov eax, dword [rdx + 0x28]
test ah, 0x10
je 0x5fca9b
mov rdi, qword [rsp + 0x268]
mov r8d, 1
mov rcx, qword [rdi + 0x28]
mov byte [r14 + 0x42], r8b
test byte [rcx + 0x40], 0x80
je 0x5fcb93
nop dword [rax]
mov eax, dword [rsp + 0xb8]
test eax, eax
jle 0x5fd225
sub eax, 1
mov qword [rsp + 0x48], r14
mov rbx, qword [rsp + 0x78]
lea rax, [rax + rax*2]
mov rbp, qword [rsp + 0xb0]
shl rax, 5
lea r15, [r14 + rax + 0x3f8]
movzx eax, sil
mov r14, qword [rsp + 0x268]
mov word [rsp + 0x88], ax
movzx edi, byte [rbx + 0x34]
lea rax, [rdi*8]
sub rax, rdi
shl rax, 4
mov rsi, qword [r14 + rax + 0x28]
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x5fd298
mov rcx, rbp
call fcn.0059a100
mov r12d, eax
mov r10, qword [rbx + 0x50]
mov edx, dword [r10 + 0x28]
test byte [rsi + 0x40], 2
jne 0x5f8df9
cmp qword [rsi + 0x18], 0
je 0x5fb440
and dh, 2
je 0x5f8eb8
mov r11, qword [r10 + 0x20]
test byte [rsi + 0x40], 0x80
je 0x5f8e24
movzx eax, byte [r11 + 0x64]
and eax, 3
cmp al, 2
jne 0x5f8e24
cmp word [rsp + 0x70], 0
jne 0x5fc010
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 0
jne 0x5fb5a0
mov esi, dword [rsp + 0x290]
test esi, esi
je 0x5f8e4a
cmp word [rsp + 0x70], 0
jne 0x5fbbf8
mov r8d, dword [r13 + 0x34]
mov edx, 0x60
lea eax, [r8 + 1]
mov dword [r13 + 0x34], eax
mov dword [rbx + 8], r8d
mov r9d, dword [r11 + 0x58]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x68], r10
mov rcx, rsi
mov qword [rsp + 0x58], r11
call fcn.005af360
mov r11, qword [rsp + 0x58]
mov rcx, r13
mov rdx, r11
call fcn.005c0cc0
mov r10, qword [rsp + 0x68]
mov eax, dword [r10 + 0x28]
test al, 0xf
je 0x5f8eb8
test eax, 0x88002
jne 0x5f8eb8
mov rax, qword [rsp + 0x48]
test byte [rax + 0x3c], 1
je 0x5fcb4d
nop word [rax + rax]
test r12d, r12d
js 0x5f8ec8
mov edx, r12d
mov rcx, r13
call fcn.005e4470
add rbx, 0x60
cmp rbx, r15
jne 0x5f8db0
mov rax, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
mov dword [r14 + 0x4c], eax
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x61], 0
jne 0x5f9bc0
movzx eax, word [rsp + 0x50]
mov rbp, qword [rsp + 0x80]
mov dword [rsp + 0x78], 0
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x10c], eax
mov r15, rbp
nop
mov rax, qword [r15 + 0x50]
test byte [rax + 0x29], 0x40
jne 0x5f9e40
mov rax, qword [r13 + 0xa0]
test rax, rax
cmove rax, r13
cmp byte [rax + 0x113], 2
jne 0x5f8f60
mov r9d, dword [rsp + 0x10c]
mov rdx, qword [rsp + 0x268]
mov r8, r15
mov rcx, r13
call fcn.005cc180
mov rax, qword [rsp + 0x60]
movzx esi, byte [r15 + 0x34]
mov r9, qword [rsp + 0x50]
mov r14, qword [r15 + 0x50]
mov eax, dword [rax + 0x90]
mov qword [rsp + 0x80], rsi
mov rdi, rsi
mov rbx, qword [r9 + 8]
mov dword [r15 + 0x20], eax
mov rax, qword [r13]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], rax
lea rax, [rsi*8]
sub rax, rsi
shl rax, 4
mov r8d, dword [rbx + rax + 0x4c]
mov eax, dword [r9 + 0x294]
mov dword [rsp + 0xa8], r8d
test eax, eax
jle 0x5f9e30
lea ecx, [rax - 1]
xor eax, eax
jmp 0x5f8fe0
lea rdx, [rax + 1]
cmp rcx, rax
je 0x5f9e30
mov rax, rdx
mov edx, eax
cmp r8d, dword [r9 + rax*4 + 0x298]
jne 0x5f8fd0
mov rax, qword [rsp + 0xa0]
btr rax, rdx
mov qword [r15 + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x60]
mov eax, dword [r13 + 0x44]
lea esi, [rax - 1]
mov dword [r13 + 0x44], esi
mov dword [r15 + 0x10], esi
mov dword [r15 + 0xc], esi
mov eax, dword [r13 + 0x44]
sub eax, 1
mov dword [r13 + 0x44], eax
cmp byte [r15 + 0x34], 0
mov dword [rsp + 0xbc], eax
mov dword [r15 + 0x18], eax
je 0x5f905c
mov rcx, qword [rsp + 0x80]
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [rsp + 0x58]
shl rax, 4
test byte [rcx + rax + 0x44], 8
jne 0x5faf00
mov ecx, dword [rsp + 0x78]
mov rdx, r15
mov eax, ecx
test ecx, ecx
jne 0x5f9079
jmp 0x5f907f
sub rdx, 0x60
sub eax, 1
je 0x5f907f
mov ecx, dword [rdx]
test ecx, ecx
je 0x5f9070
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx*8]
sub rdx, rcx
shl rdx, 4
add rdx, qword [rsp + 0x58]
movzx r8d, byte [rdx + 0x48]
mov ecx, r8d
and ecx, 0x10
mov byte [rsp + 0x98], cl
jne 0x5fa6d0
movzx ecx, byte [rsp + 0x78]
mov edx, dword [r14 + 0x28]
shr rbx, cl
mov ecx, ebx
and ecx, 1
mov dword [rsp + 0x48], ecx
test dh, 4
jne 0x5fab88
test dh, 1
je 0x5f90df
test dl, 5
jne 0x5fbb00
cdqe
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rax*2]
shl rax, 5
mov r9d, dword [rcx + rax + 0x3a4]
mov eax, edx
and eax, 0x102
cmp eax, 0x102
je 0x5faf30
test dh, 2
je 0x5fb2d0
movzx edi, word [r14 + 0x1c]
movzx eax, word [r14 + 0x18]
movzx esi, word [r14 + 0x1a]
mov word [rsp + 0x108], di
mov rdi, qword [r14 + 0x20]
mov word [rsp + 0x100], ax
mov qword [rsp + 0x88], rdi
mov edi, dword [r15 + 8]
mov word [rsp + 0x118], si
mov dword [rsp + 0xe4], edi
movzx edi, ax
mov dword [rsp + 0xe0], edi
test dl, 0x20
je 0x5fbc30
mov r8, qword [r14 + 0x38]
lea ecx, [rdi + 1]
movzx ebp, si
mov rax, qword [r8 + rax*8]
mov qword [rsp + 0xf0], rax
mov eax, dword [r13 + 0x38]
lea edi, [rax + 1]
test dl, 0x10
je 0x5fbc10
mov r8, qword [r14 + 0x38]
movsxd rcx, ecx
mov rsi, qword [r8 + rcx*8]
movzx ecx, word [rsp + 0x108]
cmp ebp, ecx
mov qword [rsp + 0xe8], rsi
cmovl ebp, ecx
test byte [rsi + 0x13], 1
jne 0x5fccd5
cmp qword [rsp + 0xf0], 0
mov byte [rsp + 0x110], 0
je 0x5fce16
and edx, 0x80030
mov dword [rsp + 0xd8], 0
cmp edx, 0x80000
jne 0x5f9212
mov dword [r13 + 0x38], edi
mov ebp, 1
mov dword [r15 + 0x24], edi
mov eax, dword [r13 + 0x44]
mov byte [rsp + 0x110], 1
sub eax, 1
mov dword [rsp + 0xd8], edi
mov dword [r13 + 0x44], eax
mov dword [r15 + 0x28], eax
mov eax, edi
add edi, 1
mov rsi, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x100]
cmp cx, word [rsi + 0x5e]
jae 0x5fbc90
movzx edx, cx
mov rcx, qword [rsi + 0x38]
cmp byte [rcx + rdx], 0
sete dl
movzx edx, dl
cmp dword [rsp + 0x48], edx
je 0x5fbc9f
mov rsi, qword [r13 + 0x10]
mov qword [rsp + 0xd0], rsi
mov rsi, qword [r15 + 0x50]
movzx ecx, word [rsi + 0x18]
movzx ebx, word [rsi + 0x2e]
mov rdx, qword [rsi + 0x20]
add ebp, ecx
mov dword [rsp + 0x70], ecx
mov rcx, qword [r13]
add eax, ebp
mov dword [rsp + 0xc8], ebp
movzx ebp, bx
mov dword [r13 + 0x38], eax
mov word [rsp + 0x120], bx
call fcn.00593ec0
mov rcx, qword [r13]
mov rdx, rax
call fcn.00594550
mov qword [rsp + 0xc0], rax
test bx, bx
je 0x5f93ac
mov r12d, dword [rsp + 0x48]
mov ebx, dword [r15 + 8]
test r12d, r12d
je 0x5fc070
mov r12, qword [rsp + 0xd0]
xor r9d, r9d
mov r8d, ebx
mov edx, 0x21
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.005af360
mov edx, 0xb
mov rcx, r12
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
call fcn.005af360
mov edx, 0x16
mov r12d, eax
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0xd0]
xor r9d, r9d
mov r8d, ebx
call fcn.005af360
mov r10, qword [rsp + 0xd0]
mov rdx, qword [r10]
cmp byte [rdx + 0x61], 0
jne 0x5fc050
mov rdx, qword [r10 + 0x88]
movsxd rcx, eax
lea rcx, [rcx + rcx*2]
lea rcx, [rdx + rcx*8]
mov byte [rcx + 1], 0xfd
mov dword [rcx + 0x10], ebp
mov dword [r15 + 0x14], eax
mov eax, dword [r10 + 0x90]
test r12d, r12d
js 0x5fcbb3
movsxd rcx, r12d
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
xor r12d, r12d
mov qword [rsp + 0xf8], rsi
mov esi, ebx
mov rbx, qword [rsp + 0xd0]
nop dword [rax + rax]
lea eax, [r12 + rdi]
mov r9d, r12d
mov r8d, esi
mov edx, 0x59
mov dword [rsp + 0x20], eax
mov rcx, rbx
add r12d, 1
call fcn.005af360
cmp r12d, ebp
jne 0x5f9380
mov rsi, qword [rsp + 0xf8]
cmp qword [rsp + 0xc0], 0
movzx ebx, word [rsp + 0x120]
setne byte [rsp + 0xf8]
cmp dword [rsp + 0x70], ebp
jle 0x5f94f8
mov qword [rsp + 0x128], r14
jmp 0x5f940d
mov rax, qword [r14]
test byte [rax + 5], 8
je 0x5f93ff
cmp byte [rsp + 0xf8], 0
je 0x5f93ff
mov rax, qword [rsp + 0xc0]
mov byte [rax + rbx], 0x41
add rbx, 1
cmp dword [rsp + 0x70], ebx
jle 0x5f94f0
mov rax, qword [rsi + 0x38]
lea r12d, [rdi + rbx]
mov r9d, ebx
mov r8, r15
mov rcx, r13
mov ebp, ebx
mov r14, qword [rax + rbx*8]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov rdx, r14
call fcn.005f7f50
mov r10d, eax
cmp r12d, eax
je 0x5f9468
cmp dword [rsp + 0xc8], 1
jne 0x5fab60
test edi, edi
je 0x5faee0
mov edx, edi
mov rcx, r13
call fcn.00599680
mov edi, r10d
nop dword [rax]
movzx eax, word [r14 + 0x14]
test al, 1
jne 0x5f93e0
test ah, 1
jne 0x5f93ff
mov rax, qword [r14]
mov r11, qword [rax + 0x18]
test byte [r14 + 0x13], 8
je 0x5fb6c8
mov r14, qword [rsp + 0xc0]
test r14, r14
je 0x5f93ff
movsx edx, byte [r14 + rbx]
mov rcx, r11
mov qword [rsp + 0x120], r11
call fcn.0058cf80
cmp al, 0x41
je 0x5f93f3
movsx edx, byte [r14 + rbx]
cmp dl, 0x41
je 0x5f93f3
mov r11, qword [rsp + 0x120]
mov rcx, r11
call fcn.005992f0
test eax, eax
jne 0x5f93f3
add rbx, 1
cmp dword [rsp + 0x70], ebx
jg 0x5f940d
nop
mov r14, qword [rsp + 0x128]
cmp word [rsp + 0x108], 0
je 0x5f9511
cmp byte [rsp + 0xf8], 0
jne 0x5fc198
mov qword [rsp + 0x70], 0
mov r11d, dword [rsp + 0xd8]
test r11d, r11d
je 0x5fbd00
mov esi, dword [r15 + 0x28]
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
setne r12b
cmp word [rsp + 0x100], 0
setne al
test rcx, rcx
je 0x5fbea0
xor ebp, ebp
test byte [rcx + 0x14], 0x28
mov rcx, qword [rsp + 0xe8]
setne bpl
test rcx, rcx
je 0x5fc8d0
or r12d, eax
movzx eax, r12b
mov dword [rsp + 0xc8], eax
xor eax, eax
test byte [rcx + 0x14], 0x28
setne al
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xe0]
movzx ebx, word [rsp + 0x118]
mov rax, qword [rax]
add ecx, edi
mov dword [rsp + 0xf8], ecx
mov r8d, ecx
mov r9d, ebx
mov rcx, r13
mov r12, qword [rax + 0x18]
mov rdx, r12
call fcn.005f1c20
mov rax, qword [rsp + 0xf0]
test byte [rax + 0x13], 1
je 0x5f95e0
mov rcx, qword [rsp + 0x60]
lea rdx, [r15 + 0x2c]
call fcn.0059a950
mov rcx, r12
call fcn.0058c8b0
test eax, eax
jne 0x5fcadc
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x5f9613
movzx r8d, word [rsp + 0x100]
mov edx, ebx
mov rcx, r12
add r8, rax
call fcn.005993a0
movzx eax, byte [r12]
add ebx, dword [rsp + 0xe0]
cmp al, 0xad
jne 0x5f9629
movzx eax, byte [r12 + 2]
cmp al, 0xae
je 0x5fcffe
cmp al, 0x88
je 0x5fce8c
mov r8, qword [rsp + 0xf0]
lea rdx, [r15 + 0x58]
mov rcx, r15
call fcn.0059a8d0
mov r8d, ebx
mov dword [rsp + 0xf0], 0
mov rcx, qword [r13 + 0x10]
mov r9, qword [rsp + 0xc0]
mov edx, edi
call fcn.005afa00
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x5f967c
cmp ebx, eax
je 0x5f96d9
test byte [r14 + 0x2a], 4
jne 0x5fbfe0
mov ecx, dword [rsp + 0xc8]
lea eax, [rbp + rbp]
mov r9d, dword [rsp + 0xd8]
lea eax, [rax + rcx*4]
mov ecx, dword [rsp + 0x48]
lea r12d, [rax + rcx]
test r9d, r9d
jne 0x5fbf28
movsxd rax, r12d
mov dword [rsp + 0x28], ebx
mov rcx, qword [rsp + 0x60]
mov r9d, esi
lea rdx, [0x00829670]
mov dword [rsp + 0x20], edi
mov r8d, dword [rsp + 0xe4]
movzx edx, byte [rdx + rax]
call fcn.005af540
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x5fbd70
mov rax, qword [rax]
mov ecx, dword [rsp + 0xe0]
movzx ebx, word [rsp + 0x108]
mov rbp, qword [rax + 0x18]
lea r12d, [rcx + rdi]
mov rcx, r13
mov r9d, ebx
mov r8d, r12d
mov rdx, rbp
call fcn.005f1c20
mov rax, qword [rsp + 0xe8]
test byte [rax + 0x13], 1
je 0x5f9731
mov rcx, qword [rsp + 0x60]
lea rdx, [r15 + 0x2c]
call fcn.0059a950
mov rcx, rbp
call fcn.0058c8b0
test eax, eax
jne 0x5fcb03
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x5f976c
mov r8, rax
mov edx, ebx
mov rcx, rbp
call fcn.005993a0
mov rcx, qword [r13 + 0x10]
mov r8d, ebx
mov edx, r12d
mov r9, qword [rsp + 0x70]
call fcn.005afa00
movzx eax, byte [rbp]
add dword [rsp + 0xe0], ebx
cmp al, 0xad
jne 0x5f977f
movzx eax, byte [rbp + 2]
cmp al, 0xae
je 0x5fd00a
cmp al, 0x88
je 0x5fceb8
mov r8, qword [rsp + 0xe8]
lea rdx, [r15 + 0x58]
mov rcx, r15
call fcn.0059a8d0
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x5f97bd
mov rcx, qword [rsp + 0x68]
mov rdx, rax
call fcn.00592290
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x5f97d4
mov rcx, qword [rsp + 0x68]
mov rdx, rax
call fcn.00592290
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rax + 0x90]
mov dword [r15 + 0x3c], eax
test ecx, ecx
je 0x5f983c
mov edx, dword [rsp + 0xd8]
test edx, edx
jne 0x5fcd9b
mov eax, dword [rsp + 0xd0]
mov ebx, dword [rsp + 0x48]
mov dword [rsp + 0x20], edi
mov r9d, esi
lea rdx, [0x00829669]
mov r8d, dword [rsp + 0xe4]
mov rcx, qword [rsp + 0x60]
lea eax, [rax + rbx*2]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x28], eax
call fcn.005af540
mov eax, dword [rsp + 0xd8]
test eax, eax
jne 0x5fbe30
mov eax, dword [r14 + 0x28]
test eax, 0x40000
jne 0x5fbe00
test al, 0x40
je 0x5fb600
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x20
jne 0x5fb600
mov ebp, 1
mov edx, dword [r15]
test edx, edx
jne 0x5fb28c
mov rax, qword [rsp + 0x88]
mov r12, qword [rax + 0x50]
test r12, r12
je 0x5fd24b
mov rcx, qword [rsp + 0x88]
lea rax, [rsp + 0x130]
mov rsi, qword [rsp + 0x50]
xor ebx, ebx
lea rdi, [rsp + 0x190]
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x1b8], rax
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0xe4]
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
cmp word [rcx + 0x60], 0
mov dword [rsp + 0x13c], eax
mov rax, qword [rsi]
mov qword [rsp + 0x148], rsi
mov rax, qword [rax]
mov qword [rsp + 0x150], rax
je 0x5fb267
mov dword [rsp + 0x68], ebp
mov rbp, rdx
mov qword [rsp + 0x260], r13
mov r13, rcx
mov qword [rsp + 0x70], r14
jmp 0x5f99de
test r11w, r11w
js 0x5f99cd
movsx rax, r11w
shl rax, 5
add rax, qword [rbp + 8]
test byte [rax + 0x1c], 0x20
je 0x5f99cd
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x5fcc8b
lea rax, [0x0059f640]
mov dword [rsp + 0x144], r11d
mov qword [rsp + 0x198], rax
mov rdx, qword [rsi + 0x20]
mov dword [rsp + 0x140], r14d
test rdx, rdx
je 0x5f99b5
mov rcx, rdi
call fcn.00598570
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.00598640
mov rdx, qword [rsi + 0x18]
mov rcx, rdi
call fcn.00598640
movzx eax, word [r13 + 0x60]
add rbx, 1
cmp eax, ebx
jle 0x5fceef
mov rax, qword [r13 + 8]
mov r14d, ebx
movsx r11d, word [rax + rbx*2]
cmp r11w, 0xfffe
jne 0x5f9960
mov rax, rbx
shl rax, 5
mov rdx, qword [r12 + rax + 8]
mov eax, 1
mov dword [rsp + 0x1e8], 0
mov word [rsp + 0x1e4], ax
lea rax, [0x00598f90]
mov qword [rsp + 0x1c8], rax
lea rax, [0x0058c8a0]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x1d0], rax
test rdx, rdx
je 0x5f99cd
lea rcx, [rsp + 0x1c0]
call fcn.00598570
cmp word [rsp + 0x1e4], 0
jne 0x5f99cd
lea rax, [0x005ca200]
mov qword [rsp + 0x198], rax
jmp 0x5f999c
mov eax, dword [rsp + 0xb8]
lea ebx, [rax + rax*2 - 3]
shl ebx, 5
add ebx, 0x3f8
movsxd rbx, ebx
lea rdx, [rbx + 0x60]
jmp 0x5f87a8
or rbp, qword [r12 + 8]
cmp eax, 0x65
jne 0x5f9b9f
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.005b50b0
add r13d, 1
cmp rsi, rbx
jbe 0x5f8c57
mov eax, dword [rsp + 0x18c]
add rbx, 0x70
mov edx, r14d
jmp 0x5f8ba0
xor eax, eax
jmp 0x5f8bf4
cmp rsi, rbx
jbe 0x5f9df0
mov rax, rbx
xor r8d, r8d
lea r11d, [r9 - 1]
test r8, r8
je 0x5f9b68
mov rdx, rax
add rax, 0x70
mov r10d, dword [rdx + 0x44]
test r9d, r9d
jle 0x5f9b43
xor edx, edx
jmp 0x5f9b2c
lea rcx, [rdx + 1]
cmp r11, rdx
je 0x5f9b43
mov rdx, rcx
mov ecx, edx
cmp r10d, dword [rdi + rdx*4 + 0x298]
jne 0x5f9b20
mov edx, 1
shl rdx, cl
or r8, rdx
cmp rsi, rax
ja 0x5f9b03
mov rcx, qword [rsp + 0x48]
mov rdx, r15
mov qword [rsp + 0x58], r8
call fcn.005bf6f0
mov r8, qword [rsp + 0x58]
jmp 0x5f8c29
movzx ecx, byte [rax + 0x3c]
mov rdx, rax
add rax, 0x70
and ecx, 0xa
jne 0x5f9b0f
cmp rsi, rax
ja 0x5f9b68
jmp 0x5f9b48
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.005c8800
or rbp, qword [r12 + 8]
test eax, eax
je 0x5f8c48
jmp 0x5f9aa5
mov rcx, qword [rsp + 0x68]
mov rdx, r12
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x260]
call fcn.0059ab80
nop dword [rax]
mov eax, dword [r14 + 0x38]
mov rcx, qword [rsp + 0xb0]
mov rdx, r14
xor r14d, r14d
mov dword [r13 + 0xbc], eax
call fcn.005a2680
mov rax, r14
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rbx]
jmp 0x5f8a9d
mov rax, qword [rsp + 0x268]
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x58], r14
lea rsi, [rax + 0x28]
nop dword [rax]
mov rdi, qword [rsp + 0x58]
mov edx, dword [rsi + 0x24]
movsxd rax, dword [rdi + 0x294]
lea ecx, [rax + 1]
mov dword [rdi + 0x294], ecx
mov dword [rdi + rax*4 + 0x298], edx
movsxd rdx, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x268]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
test byte [rdi + rax + 0x48], 4
je 0x5f9d78
mov r12, qword [rsi + 0x40]
test r12, r12
je 0x5f9d78
mov edi, dword [r12]
test edi, edi
jle 0x5f9d78
mov rbp, qword [rsi]
xor ebx, ebx
xor edi, edi
nop word cs:[rax + rax]
movsx edx, word [rbp + 0x46]
mov r9d, ebx
cmp edx, edi
jle 0x5f9db0
movsxd rax, edi
mov r15d, edi
shl rax, 5
add rax, qword [rbp + 8]
jmp 0x5f9cc1
add r15d, 1
add rax, 0x20
cmp r15d, edx
je 0x5f9db0
test byte [rax + 0x1c], 2
je 0x5f9cb0
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa4
call fcn.005949c0
mov r14, rax
test rax, rax
je 0x5f9d78
mov eax, dword [rsi + 0x24]
lea edi, [r15 + 1]
mov word [r14 + 0x30], r15w
mov qword [r14 + 0x40], rbp
mov dword [r14 + 0x2c], eax
mov rax, rbx
shl rax, 5
mov rdx, qword [r12 + rax + 8]
test rdx, rdx
je 0x5f9d1e
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
call fcn.005a5820
mov rdx, rax
mov r8, rdx
xor r9d, r9d
mov edx, 0xab
mov rcx, r13
call fcn.005be150
mov r8, r14
mov edx, 0x35
mov rcx, r13
mov r9, rax
call fcn.005be150
mov r9, rax
test byte [rsi + 0x1c], 8
jne 0x5f9da0
mov rcx, qword [rsp + 0x90]
mov r8d, 1
mov rdx, r9
add rbx, 1
call fcn.005a2850
cmp dword [r12], ebx
jg 0x5f9c90
nop dword [rax]
mov rdi, qword [rsp + 0x268]
add dword [rsp + 0x48], 1
add rsi, 0x70
mov eax, dword [rsp + 0x48]
cmp dword [rdi], eax
jg 0x5f9c20
mov r14, qword [rsp + 0x58]
jmp 0x5f895f
mov edx, dword [rsi + 0x24]
mov rcx, rax
call fcn.0058d460
jmp 0x5f9d4d
mov r8, qword [rbp]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r13
call fcn.005bd640
jmp 0x5f9d78
test rax, rax
je 0x5f9bde
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
xor r14d, r14d
call fcn.00592290
jmp 0x5f9bde
xor r8d, r8d
jmp 0x5f9b48
mov byte [r14 + 0x43], 1
jmp 0x5f894e
mov rax, qword [rsp + 0xb0]
test byte [rax + 0x31], 0x10
je 0x5f8ccb
mov qword [r14 + 0x60], 0xffffffffffffffff
jmp 0x5f8ccb
mov rax, qword [rsp + 0xa0]
jmp 0x5f8ff8
movzx ebx, byte [r15 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11
mov rsi, qword [rsp + 0x268]
lea rax, [rbx*8]
sub rax, rbx
shl rax, 4
lea rax, [rsi + rax + 8]
mov qword [rsp + 0x98], rax
mov rax, qword [r13 + 0x10]
mov dword [rsp + 0x20], 0
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.005af360
mov rdi, qword [rsp + 0x268]
mov rbp, qword [r15 + 0x50]
mov dword [rsp + 0xbc], eax
movsxd rax, ebx
lea r12, [rax*8]
mov qword [rsp + 0x88], rax
sub r12, rax
mov rax, qword [rsp + 0x50]
shl r12, 4
mov r14, qword [rax + 0x88]
movsxd rax, dword [rax + 0x7c]
mov rsi, qword [rdi + r12 + 0x28]
shl rax, 6
add rax, r14
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x48], rax
cmp r14, rax
jae 0x5fce58
mov qword [rsp + 0x70], r12
xor ebx, ebx
xor edi, edi
xor esi, esi
mov qword [rsp + 0xa8], r15
mov r12, qword [rsp + 0x98]
mov r15, r14
mov qword [rsp + 0x260], r13
mov r14, qword [rsp + 0xa0]
mov qword [rsp + 0x80], 0
jmp 0x5f9f6f
movzx eax, word [rbp + 0x30]
lea edi, [rbx + 1]
cmp edi, eax
jle 0x5f9f51
mov rax, qword [rsp + 0x260]
mov r8d, edi
mov rdx, rbp
mov rcx, qword [rax]
call fcn.0059f290
test eax, eax
jne 0x5fbf10
mov rax, qword [rbp + 0x38]
or rsi, r13
mov qword [rax + rbx*8], r15
movsxd rbx, edi
mov edi, 1
add r15, 0x40
cmp qword [rsp + 0x48], r15
jbe 0x5f9fe2
cmp qword [rbp], 0
jne 0x5f9f90
test byte [r15 + 0x12], 2
jne 0x5f9f90
mov r13, qword [r15]
test byte [r13 + 4], 1
je 0x5fa628
nop dword [rax + rax]
mov r8, r14
mov rdx, r12
mov rcx, r15
call fcn.0059aa60
test eax, eax
je 0x5f9f64
movsxd rcx, dword [r15 + 0x28]
mov r11d, 1
movabs r13, 0x8000000000000000
shl r11, cl
cmp ecx, 0x40
cmovl r13, r11
test dil, dil
je 0x5fa5f8
test r13, rsi
je 0x5f9f28
mov edi, 1
add r15, 0x40
cmp qword [rsp + 0x48], r15
ja 0x5f9f6f
not rsi
mov r15, qword [rsp + 0xa8]
mov eax, ebx
movabs rdi, 0x8000000000000000
mov r13, qword [rsp + 0x260]
or rsi, rdi
mov rdi, qword [rsp + 0x88]
mov word [rbp + 0x2c], ax
mov r12d, 0x3f
mov word [rbp + 0x18], ax
lea rax, [rdi*8]
mov dword [rbp + 0x28], 0x4241
sub rax, rdi
mov rdi, qword [rsp + 0x268]
shl rax, 4
mov rdx, qword [rdi + rax + 0x60]
mov rax, qword [rsp + 0x68]
movsx eax, word [rax + 0x46]
and rsi, rdx
cmp ax, 0x3f
mov word [rsp + 0xa8], ax
cmovle r12d, eax
test ax, ax
jle 0x5fa073
xor ecx, ecx
mov rax, rsi
shr rax, cl
add ecx, 1
and eax, 1
add ebx, eax
cmp r12d, ecx
jne 0x5fa060
test rdx, rdx
jns 0x5fa084
movsx eax, word [rsp + 0xa8]
lea ebx, [rbx + rax - 0x3f]
mov rcx, qword [r13]
lea edx, [rbx + 1]
lea r9, [rsp + 0x1c0]
xor r8d, r8d
movsx edx, dx
call fcn.005941d0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x5fa5bd
lea rdi, str.auto_index
mov qword [rbp + 0x20], rax
xor r14d, r14d
mov qword [rax], rdi
mov rdi, qword [rsp + 0x68]
mov qword [rax + 0x18], rdi
mov rax, qword [rsp + 0x50]
mov rdi, qword [rax + 0x88]
mov rax, qword [rsp + 0x48]
cmp rax, rdi
jbe 0x5fc8b0
xor r10d, r10d
xor edx, edx
lea rcx, str.BINARY
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xc8], rsi
mov rbp, qword [rsp + 0x98]
mov rsi, rdx
mov dword [rsp + 0xe0], r12d
mov r12, rax
mov dword [rsp + 0xd0], ebx
mov rbx, r10
mov qword [rsp + 0xd8], r15
mov r15, rdi
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x48], rcx
jmp 0x5fa14d
add r15, 0x40
cmp r12, r15
jbe 0x5fa1e8
mov r8, rdi
mov rdx, rbp
mov rcx, r15
call fcn.0059aa60
lea r8, [rsi + rsi]
test eax, eax
je 0x5fa140
mov ecx, dword [r15 + 0x28]
mov eax, 1
movabs rdx, 0x8000000000000000
shl rax, cl
cmp ecx, 0x40
cmovge rax, rdx
test rax, rbx
jne 0x5fa140
or rbx, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [r15]
mov qword [rsp + 0x98], r8
mov rax, qword [rax + 8]
mov word [rax + r8], cx
mov rcx, r13
call fcn.005c2380
mov r8, qword [rsp + 0x98]
lea rdx, str.BINARY
test rax, rax
je 0x5fa1c0
mov rdx, qword [rax]
mov rax, qword [rsp + 0x70]
add r14d, 1
add r15, 0x40
add r8, 2
mov rax, qword [rax + 0x40]
mov qword [rax + rsi*8], rdx
movsxd rsi, r14d
cmp r12, r15
ja 0x5fa14d
nop dword [rax]
mov rax, rsi
mov rbp, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0xe0]
shl rax, 3
mov ebx, dword [rsp + 0xd0]
mov r15, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xc8]
mov rdi, rax
cmp word [rsp + 0xa8], 0
mov rax, qword [rsp + 0x70]
mov r10, qword [rax + 8]
mov r9, qword [rax + 0x40]
jle 0x5fc1c0
mov rdi, qword [rsp + 0x48]
xor edx, edx
nop dword [rax]
movsxd rax, r14d
lea r8, [rax + rax]
shl rax, 3
bt rsi, rdx
lea rcx, [r10 + r8]
lea r11, [r9 + rax]
jae 0x5fa26d
mov word [rcx], dx
add r14d, 1
lea rcx, [r10 + r8 + 2]
mov qword [r11], rdi
lea r11, [r9 + rax + 8]
add edx, 1
cmp r12d, edx
jne 0x5fa240
mov rsi, qword [rsp + 0x88]
lea rax, [rsi*8]
sub rax, rsi
mov rsi, qword [rsp + 0x268]
shl rax, 4
cmp qword [rsi + rax + 0x60], 0
js 0x5fb540
mov r8d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x58]
lea r9d, [rbx + 1]
mov word [rcx], r8w
mov r8d, dword [r13 + 0x34]
mov edx, 0x63
mov qword [r11], rax
mov rcx, r12
lea eax, [r8 + 1]
mov dword [r13 + 0x34], eax
mov dword [r15 + 8], r8d
mov dword [rsp + 0x20], 0
call fcn.005af360
mov rdx, qword [rsp + 0x70]
mov rcx, r13
call fcn.005c0cc0
mov rax, qword [rsp + 0x50]
movzx esi, byte [r15 + 0x34]
mov rax, qword [rax + 0x68]
lea rbx, [rsi*8]
sub rbx, rsi
mov rax, qword [rax + 8]
shl rbx, 4
add rbx, rax
mov qword [rsp + 0x48], rax
test byte [rbx + 0x48], 0x10
je 0x5fb410
mov edi, dword [rbx + 0x3c]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x45
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.005af360
xor r9d, r9d
mov r8d, edi
mov edx, 0xd
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x38]
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.005af360
xor r9d, r9d
mov r8d, edi
mov edx, 0xe
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.005af360
mov ebx, eax
mov rdx, qword [rsp + 0x80]
xor edi, edi
test rdx, rdx
je 0x5fa3ab
mov eax, dword [r13 + 0x44]
mov r9d, 0x10
mov rcx, r13
lea edi, [rax - 1]
mov dword [r13 + 0x44], edi
mov r8d, edi
call fcn.005ef7f0
or dword [rbp + 0x28], 0x20000
movzx eax, byte [r13 + 0x1f]
test al, al
je 0x5fb6b0
sub eax, 1
mov byte [r13 + 0x1f], al
movzx eax, al
mov r12d, dword [r13 + rax*4 + 0xcc]
mov r8d, dword [r15 + 4]
mov rdx, qword [rsp + 0x70]
mov r9d, r12d
mov rcx, r13
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call fcn.005f7460
mov r8d, dword [r15 + 8]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
mov r9d, r12d
mov edx, 0x83
mov ebp, eax
call fcn.005af360
mov rcx, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0x90]
test eax, eax
jle 0x5fa448
mov r11, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov edx, 0x10
lea rax, [r11 + rax*8]
mov word [rax - 0x16], dx
cmp qword [rsp + 0x80], 0
je 0x5fa45f
mov rcx, qword [rsp + 0x58]
mov edx, edi
call fcn.005af190
lea rax, [rsi*8]
mov rdi, qword [rsp + 0x48]
mov r8d, dword [r15 + 4]
sub rax, rsi
shl rax, 4
test byte [rdi + rax + 0x48], 0x10
je 0x5fb720
mov r10d, dword [rsp + 0x68]
lea edi, [r14 + rbp]
test r10d, r10d
jns 0x5fa4a2
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x90]
sub eax, 1
mov dword [rsp + 0x68], eax
mov rcx, qword [rsp + 0x58]
lea rax, [0x0085a6a0]
mov rdx, qword [rcx]
cmp byte [rdx + 0x61], 0
jne 0x5fa4cb
movsxd rax, dword [rsp + 0x68]
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], edi
mov eax, dword [r15 + 8]
mov r9d, r8d
mov r8d, ebx
mov rdx, qword [r13 + 0x10]
mov dword [rsp + 0x28], eax
lea rax, [rsi*8]
sub rax, rsi
mov rsi, qword [rsp + 0x48]
shl rax, 4
add rsi, rax
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, qword [r13]
call fcn.0059a990
mov rdi, qword [rsp + 0x58]
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov rcx, rdi
call fcn.005af360
and byte [rsi + 0x48], 0xef
mov edx, dword [rdi + 0x90]
mov rdi, qword [rsp + 0x58]
lea eax, [rdx - 1]
test ebx, ebx
lea rcx, [0x0085a6a0]
cmovs ebx, eax
mov rax, qword [rdi]
movzx eax, byte [rax + 0x61]
test al, al
jne 0x5fa562
mov rcx, qword [rdi + 0x88]
movsxd rbx, ebx
lea r8, [rbx + rbx*2]
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], edx
test r12d, r12d
je 0x5fa587
mov edx, r12d
mov rcx, r13
call fcn.00599680
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x90]
mov rax, qword [rax]
movzx eax, byte [rax + 0x61]
mov edi, dword [rsp + 0xbc]
lea ecx, [rdx - 1]
test edi, edi
cmovns ecx, edi
mov esi, ecx
lea rcx, [0x0085a6a0]
test al, al
jne 0x5fa5ba
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x88]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x5fa5d6
mov rcx, qword [r13]
mov rdx, rax
call fcn.005a2090
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x61], 0
je 0x5f8f2e
mov r14, qword [rsp + 0x50]
jmp 0x5f9bc0
mov rax, qword [rsp + 0x68]
shl rcx, 5
lea rdx, str.automatic_index_on__s__s_
add rcx, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [rcx]
mov ecx, 0x11c
call fcn.005b50b0
jmp 0x5f9fc9
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x268]
mov r9d, 3
mov rdx, r13
mov word [rsp + 0x1e4], r9w
mov eax, dword [rax + rcx + 0x4c]
lea rcx, [0x00598f90]
mov qword [rsp + 0x1c8], rcx
lea rcx, [0x0058c8a0]
mov qword [rsp + 0x1d0], rcx
lea rcx, [rsp + 0x1c0]
mov dword [rsp + 0x1e8], eax
call fcn.00598570
cmp word [rsp + 0x1e4], 0
je 0x5f9f90
mov rax, qword [rsp + 0x260]
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, qword [rax]
call fcn.005a5820
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x260]
mov r8, rax
call fcn.005be320
mov qword [rsp + 0x80], rax
jmp 0x5f9f90
mov eax, dword [rdx + 0x38]
mov ebx, dword [rdx + 0x3c]
xor r9d, r9d
mov edx, 0xd
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov r8d, ebx
mov rcx, rdi
call fcn.005af360
mov rcx, rdi
mov r9d, esi
mov r8d, ebx
mov dword [rsp + 0x20], 0
mov edx, 0xe
mov edi, 2
call fcn.005af360
mov byte [r15 + 0x35], 0xb
mov dword [r15 + 0x3c], eax
mov qword [rsp + 0x88], 0
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x50]
mov dword [rsp + 0x48], edi
mov r14d, dword [rsp + 0xbc]
lea rbp, [rax*8]
sub rbp, rax
shl rbp, 4
mov qword [rsp + 0x98], rbp
mov rbp, qword [rsp + 0x60]
nop dword [rax]
mov eax, dword [r12 + 0x7c]
mov rdi, qword [r12 + 0x88]
test eax, eax
jle 0x5faa78
lea ebx, [rax - 1]
xor esi, esi
add rbx, 1
shl rbx, 6
lea rax, [rdi + rbx]
mov qword [rsp + 0x68], rax
mov rax, rdi
mov rdi, rbp
mov rbp, rax
jmp 0x5fa87b
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x98]
mov r11, qword [rbp]
test byte [rcx + rbx + 0x44], 8
je 0x5fa7c3
test byte [r11 + 4], 1
je 0x5fa870
cmp dword [rsp + 0x48], 1
je 0x5fa8d0
cmp dword [rsp + 0x48], 3
jne 0x5fa8fa
test ah, 2
je 0x5fa8b8
mov r8d, dword [r15 + 0x2c]
test r8d, r8d
je 0x5fa8b8
mov eax, r8d
mov dword [rsp + 0x20], 0
mov rcx, rdi
and eax, 1
mov qword [rsp + 0x70], r11
cmp eax, 1
sbb edx, edx
xor r9d, r9d
shr r8d, 1
and edx, 0xfffffffe
add edx, 0x14
call fcn.005af360
mov r11, qword [rsp + 0x70]
mov r8d, r14d
mov rcx, r13
mov ebx, eax
mov r9d, 0x10
mov rdx, r11
call fcn.005ef7f0
test ebx, ebx
je 0x5fa86b
mov edx, dword [rdi + 0x90]
mov rcx, qword [rdi]
lea eax, [rdx - 1]
cmovs ebx, eax
cmp byte [rcx + 0x61], 0
lea rax, [0x0085a6a0]
jne 0x5fa868
mov rax, qword [rdi + 0x88]
movsxd rbx, ebx
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rbp + 0x12], 4
add rbp, 0x40
cmp rbp, qword [rsp + 0x68]
je 0x5fa8a2
movzx eax, word [rbp + 0x12]
test al, 6
jne 0x5fa870
mov rdx, qword [rbp + 0x38]
test qword [r15 + 0x58], rdx
je 0x5fa7a0
or byte [r12 + 0x44], 2
add rbp, 0x40
cmp rbp, qword [rsp + 0x68]
jne 0x5fa87b
mov rbp, rdi
test esi, esi
je 0x5fa918
mov dword [rsp + 0x48], esi
jmp 0x5fa760
mov r9d, 0x10
mov r8d, r14d
mov rdx, r11
mov rcx, r13
call fcn.005ef7f0
jmp 0x5fa86b
mov edx, dword [r15 + 4]
mov r8, qword [rsp + 0x88]
mov rcx, r11
mov qword [rsp + 0x70], r11
call fcn.005989f0
test eax, eax
je 0x5faac0
movzx eax, word [rbp + 0x12]
mov r11, qword [rsp + 0x70]
test ah, 0x10
je 0x5fa7d9
test esi, esi
mov eax, 3
cmove esi, eax
jmp 0x5fa870
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x88]
mov eax, dword [rax + 0x7c]
test eax, eax
jle 0x5faa78
lea edi, [rax - 1]
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x58]
mov r14, r13
add rdi, 1
mov esi, dword [rsp + 0xa8]
lea rbp, [rax*8]
shl rdi, 6
sub rbp, rax
add rdi, rbx
shl rbp, 4
nop dword [rax + rax]
test byte [rbx + 0x12], 6
jne 0x5faa68
movzx eax, word [rbx + 0x14]
test al, 0x82
je 0x5faa68
test ah, 8
je 0x5faa68
cmp esi, dword [rbx + 0x1c]
jne 0x5faa68
test byte [r12 + rbp + 0x44], 8
jne 0x5faa68
mov r13, qword [rbx]
mov r8d, dword [rbx + 0x28]
mov edx, esi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
mov r9, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
call fcn.005c7580
test rax, rax
je 0x5faa68
test byte [rax + 0x12], 4
jne 0x5faa68
mov rdx, qword [rax]
test byte [rax + 0x14], 1
je 0x5fa9fa
test byte [rdx + 5], 8
je 0x5fa9fa
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x5faa68
movdqu xmm0, xmmword [rdx]
mov r8d, dword [rsp + 0xbc]
mov r9d, 0x10
mov rcx, r14
movaps xmmword [rsp + 0x1c0], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x1d0], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x1e0], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x1f0], xmm3
mov rax, qword [rdx + 0x40]
lea rdx, [rsp + 0x1c0]
mov qword [rsp + 0x200], rax
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x1d0], rax
call fcn.005ef7f0
nop dword [rax + rax]
add rbx, 0x40
cmp rbx, rdi
jne 0x5fa968
mov r13, r14
mov r9d, dword [r15]
test r9d, r9d
jne 0x5faad0
mov rax, qword [r15 + 0x58]
mov qword [rsp + 0xa0], rax
mov eax, dword [r15 + 0x18]
mov rdi, qword [rsp + 0x50]
add r15, 0x60
add dword [rsp + 0x78], 1
mov dword [rdi + 0x30], eax
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0xb8], eax
jne 0x5f8f20
mov r14, rdi
jmp 0x5f9bde
mov esi, 2
jmp 0x5fa870
mov rcx, qword [rsp + 0x60]
mov r8d, 1
mov edx, 0x45
mov eax, dword [rcx + 0x90]
mov dword [r15 + 0x1c], eax
mov dword [rsp + 0x20], 0
call fcn.005af360
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x7c]
mov rbx, qword [rax + 0x88]
mov rax, qword [r15 + 0x58]
test ecx, ecx
jle 0x5faa84
mov ebp, dword [rsp + 0xbc]
mov rdi, qword [rsp + 0x50]
xor esi, esi
test byte [rbx + 0x12], 6
jne 0x5fab49
test qword [rbx + 0x38], rax
jne 0x5fab49
mov rdx, qword [rbx]
mov r9d, 0x10
mov r8d, ebp
mov rcx, r13
call fcn.005ef7f0
or word [rbx + 0x12], 4
mov rax, qword [r15 + 0x58]
add esi, 1
add rbx, 0x40
cmp esi, dword [rdi + 0x7c]
jl 0x5fab20
jmp 0x5faa84
mov dword [rsp + 0x20], 0
mov r9d, r12d
mov r8d, eax
mov edx, 0x4e
mov rcx, qword [rsp + 0xd0]
call fcn.005af360
jmp 0x5f9468
movzx esi, word [r14 + 0x2c]
mov rcx, r13
lea edx, [rsi + 2]
call fcn.005996a0
mov edi, dword [r15 + 0xc]
mov dword [rsp + 0x70], eax
test esi, esi
je 0x5fac08
mov r12d, dword [rsp + 0x48]
xor ebp, ebp
lea ebx, [rax + 2]
jmp 0x5fabd4
mov dword [rsp + 0x28], r8d
mov r9d, ebp
mov r8, r15
mov rcx, r13
mov dword [rsp + 0x20], r12d
call fcn.005f7f50
mov edi, dword [r15 + 0x10]
add rbp, 1
cmp esi, ebp
jle 0x5fac08
mov rax, qword [r14 + 0x38]
lea r8d, [rbx + rbp]
mov rdx, qword [rax + rbp*8]
test rdx, rdx
je 0x5fabcc
test byte [rdx + 0x14], 1
jne 0x5fabb0
mov rax, qword [rdx]
mov r9d, 1
mov rcx, r13
add rbp, 1
mov rdx, qword [rax + 0x18]
call fcn.005f1c20
cmp esi, ebp
jg 0x5fabd4
mov r12, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x70]
mov edx, 0x45
mov r8d, dword [r14 + 0x18]
mov dword [rsp + 0x20], 0
mov r9d, ebx
mov rcx, r12
call fcn.005af360
lea r9d, [rbx + 1]
mov r8d, esi
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0x45
mov dword [rsp + 0x70], ebx
call fcn.005af360
mov eax, dword [rsp + 0x70]
mov rbp, qword [r14 + 0x20]
mov r9d, edi
cmp byte [r14 + 0x1c], 1
mov r8d, dword [rsp + 0xa8]
mov edx, 9
mov rcx, r12
mov dword [rsp + 0x20], eax
sbb ebx, ebx
or ebx, 0xfffffff9
call fcn.005af360
mov r9d, ebx
mov r8, rbp
mov rcx, r12
mov edx, eax
lea ebx, [rsi - 1]
call fcn.0059fe40
mov eax, dword [rsp + 0xa8]
mov byte [r14 + 0x1c], 0
mov edi, dword [r15 + 0x40]
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x42], 1
sbb eax, eax
and eax, 0xffffff90
sub eax, 0x53
mov byte [r15 + 0x35], al
mov eax, dword [r12 + 0x90]
mov dword [r15 + 0x3c], eax
test esi, esi
je 0x5fae98
lea rax, [r15 + 0x58]
movsxd rsi, ebx
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x1c0]
shl rsi, 3
mov qword [rsp + 0x88], rax
jmp 0x5fae54
sub edi, 1
cmp ebx, 0xf
jle 0x5faeb0
mov rax, qword [rbp]
mov rdx, qword [rax + 0x10]
movzx eax, byte [rdx]
cmp al, 0xad
jne 0x5fad1f
movzx eax, byte [rdx + 2]
cmp al, 0xae
je 0x5faef0
cmp al, 0x88
je 0x5faec0
cmp byte [r12 + 0x61], 0
jne 0x5fada2
mov rdx, qword [r15 + 0x48]
movsxd rax, edi
lea rax, [rax + rax*4]
lea rax, [rdx + rax*4]
mov edx, dword [rax + 4]
test edx, edx
jns 0x5fad5f
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x48], eax
lea edx, [rax - 1]
mov r10, qword [rsp + 0x60]
lea rax, [0x0085a6a0]
mov rcx, qword [r10]
cmp byte [rcx + 0x61], 0
jne 0x5fad86
mov rax, qword [r10 + 0x88]
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx*8]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
call fcn.005af360
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r13
call fcn.005be150
mov r10, rax
test rax, rax
je 0x5fae48
mov rax, qword [rbp]
xor r9d, r9d
mov edx, 0xad
mov rcx, r12
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x48], r10
mov rax, qword [rax + 0x10]
mov qword [r10 + 0x10], rax
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x1c8], 0
call fcn.005949c0
mov r10, qword [rsp + 0x48]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x5fae31
mov ecx, dword [rsp + 0x70]
mov r8d, dword [r15 + 0x18]
xor r9d, r9d
lea edx, [rcx + rbx + 2]
mov rcx, r13
mov dword [rax + 0x2c], edx
mov rdx, r10
call fcn.005ef7f0
mov r10, qword [rsp + 0x48]
mov qword [r10 + 0x10], 0
mov rdx, r10
mov rcx, r12
call fcn.005a2090
nop dword [rax]
sub ebx, 1
sub rsi, 8
cmp ebx, 0xffffffff
je 0x5fae98
mov rax, qword [r14 + 0x38]
mov rbp, qword [rax + rsi]
test byte [rbp + 0x14], 1
jne 0x5fad00
cmp ebx, 0xf
jg 0x5fae48
movzx eax, word [r14 + 0x1e]
bt eax, ebx
jae 0x5fae48
mov r8, rbp
mov rcx, r15
sub ebx, 1
sub rsi, 8
mov rdx, qword [rsp + 0x98]
call fcn.0059a8d0
cmp ebx, 0xffffffff
jne 0x5fae54
nop dword [rax]
mov qword [rsp + 0x88], 0
mov edi, 2
jmp 0x5fa727
movzx eax, word [r14 + 0x1e]
bt eax, ebx
jae 0x5fad0c
jmp 0x5fae75
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jne 0x5fae48
jmp 0x5fad2f
mov edi, eax
jmp 0x5f9468
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x5faeca
mov eax, dword [r13 + 0x38]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x45
lea r9d, [rax + 1]
mov dword [r13 + 0x38], r9d
mov dword [r15], r9d
mov dword [rsp + 0x20], 0
call fcn.005af360
jmp 0x5f905c
test dl, 0x20
je 0x5fbbe8
mov rax, qword [r14 + 0x38]
mov rbx, qword [rax]
mov eax, 1
and edx, 0x10
jne 0x5fbba0
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x5fc020
mov qword [rsp + 0x88], 0
test rbx, rbx
je 0x5fd25a
mov dword [rsp + 0x1c0], 0x18161719
mov rdi, qword [rbx]
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xad
jne 0x5faf8c
movzx eax, byte [rdx + 2]
cmp al, 0xae
je 0x5fce0b
cmp al, 0x88
je 0x5fca36
lea r8, [rsp + 0x190]
mov rcx, r13
call fcn.005f2140
lea rdx, [r15 + 0x58]
mov r8, rbx
mov rcx, r15
mov ebp, eax
call fcn.0059a8d0
movzx eax, byte [rdi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x1c0]
mov dword [rsp + 0x20], ebp
mov r8d, dword [rsp + 0xa8]
mov r9d, esi
mov rcx, qword [rsp + 0x60]
call fcn.005af360
mov edx, dword [rsp + 0x190]
test edx, edx
je 0x5faff9
mov rcx, r13
call fcn.00599680
mov edi, 5
sub edi, dword [rsp + 0x48]
cmp qword [rsp + 0x88], 0
je 0x5fbd40
mov rax, qword [rsp + 0x88]
mov r9d, 1
mov rcx, r13
mov rbp, qword [rax]
mov eax, dword [r13 + 0x38]
lea ebx, [rax + 1]
mov rdx, qword [rbp + 0x18]
mov dword [r13 + 0x38], ebx
mov r8d, ebx
call fcn.005f1c20
mov rdx, qword [rbp + 0x18]
movzx eax, byte [rdx]
cmp al, 0xad
jne 0x5fb04b
movzx eax, byte [rdx + 2]
cmp al, 0xae
je 0x5fcff3
cmp al, 0x88
je 0x5fbdb1
movzx ecx, byte [rbp]
sub ecx, 0x36
and ecx, 0xfd
jne 0x5fbdc4
cmp dword [rsp + 0x48], 1
sbb r12d, r12d
and r12d, 2
add r12d, 0x37
cmp al, 0xae
je 0x5fcfe8
cmp al, 0x88
je 0x5fce74
mov r8, qword [rsp + 0x88]
lea rdx, [r15 + 0x58]
mov rcx, r15
call fcn.0059a8d0
mov r14, qword [rsp + 0x60]
mov r8d, dword [rsp + 0xa8]
mov edx, 0x7f
mov eax, dword [r14 + 0x90]
mov byte [r15 + 0x35], dil
mov rcx, r14
mov dword [r15 + 0x38], r8d
mov dword [r15 + 0x3c], eax
mov eax, dword [r13 + 0x38]
lea edi, [rax + 1]
mov dword [r13 + 0x38], edi
mov r9d, edi
mov dword [rsp + 0x20], 0
call fcn.005af360
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, ebx
mov edx, r12d
mov rcx, r14
call fcn.005af360
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x5fae98
mov rdi, qword [rsp + 0x60]
lea rax, [rax + rax*2]
mov r14d, 0x53
mov qword [rsp + 0x88], 0
shl rax, 3
add rax, qword [rdi + 0x88]
mov edi, 2
mov word [rax - 0x16], r14w
jmp 0x5fa727
mov esi, dword [rsp + 0xe4]
cmp dword [rsp + 0xa8], esi
je 0x5fb24b
mov rsi, qword [rax + 0x10]
test rsi, rsi
jne 0x5fb175
jmp 0x5fd598
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x642442
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
jne 0x5fb168
movzx edx, word [rsi + 0x5e]
mov rcx, r13
call fcn.005996a0
cmp word [rsi + 0x5e], 0
mov ebx, eax
je 0x5fd507
mov qword [rsp + 0x260], r13
mov r12, qword [rsp + 0x60]
mov r13, rsi
xor edi, edi
mov rbp, qword [rsp + 0x88]
mov esi, dword [rsp + 0xe4]
nop word [rax + rax]
mov rax, qword [r13 + 8]
movzx edx, word [rax + rdi*2]
movzx eax, word [rbp + 0x60]
test eax, eax
je 0x5fcc80
mov rcx, qword [rbp + 8]
xor r9d, r9d
jmp 0x5fb1ed
add r9, 1
cmp eax, r9d
jle 0x5fcc80
cmp dx, word [rcx + r9*2]
jne 0x5fb1e0
movsx r9d, r9w
lea eax, [rbx + rdi]
mov r8d, esi
mov edx, 0x59
mov rcx, r12
mov dword [rsp + 0x20], eax
add rdi, 1
call fcn.005af360
movzx eax, word [r13 + 0x5e]
cmp eax, edi
jg 0x5fb1c0
mov r13, qword [rsp + 0x260]
mov dword [rsp + 0x28], eax
mov r9d, dword [rsp + 0xbc]
mov edx, 0x1d
mov dword [rsp + 0x20], ebx
mov r8d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
call fcn.005af540
mov ebp, dword [r15]
test ebp, ebp
jne 0x5fb6a8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x20
je 0x5f9881
xor ebp, ebp
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x5fb28c
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0xa8]
call fcn.005ca280
mov eax, dword [r14 + 0x28]
test ah, 0x10
je 0x5fbc50
mov byte [r15 + 0x35], 0xad
mov edx, eax
mov esi, dword [rsp + 0xe4]
shr edx, 0x10
and edx, 1
mov dword [r15 + 0x38], esi
mov byte [r15 + 0x36], dl
test al, 0xf
jne 0x5fb2be
mov byte [r15 + 0x37], 1
mov edi, 1
test ebp, ebp
je 0x5fa727
jmp 0x5fae98
and dh, 0x20
je 0x5fbc68
mov eax, dword [r13 + 0x34]
mov rcx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x58]
mov dword [rsp + 0x98], eax
add eax, 1
mov dword [r13 + 0x34], eax
mov eax, dword [r13 + 0x38]
lea esi, [rax + 1]
mov eax, dword [r13 + 0x44]
mov dword [r13 + 0x38], esi
sub eax, 1
mov dword [rsp + 0xd0], esi
mov dword [r13 + 0x44], eax
mov dword [rsp + 0xd8], eax
lea rax, [rcx*8]
sub rax, rcx
shl rax, 4
mov rax, qword [rbp + rax + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [r14 + 0x38]
mov r14, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x100], rax
mov rax, qword [rax + 0x28]
mov byte [r15 + 0x35], 0x41
mov qword [rsp + 0x70], rax
mov dword [r15 + 0x38], esi
movzx eax, byte [r14 + 0x40]
cmp al, 1
ja 0x5fc8f0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x10
jne 0x5fc1d0
mov rax, qword [rsp + 0x48]
test byte [rax + 0x40], 0x80
je 0x5fcc00
mov rax, qword [rsp + 0x48]
mov r12, qword [rax + 0x10]
test r12, r12
jne 0x5fb3be
jmp 0x5fd593
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x5fd58e
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x5fb3b0
mov r8d, dword [r13 + 0x34]
movzx r9d, word [r12 + 0x5e]
mov edx, 0x64
mov rcx, qword [rsp + 0x60]
lea eax, [r8 + 1]
mov dword [rsp + 0xf0], r8d
mov dword [r13 + 0x34], eax
mov dword [rsp + 0x20], 0
call fcn.005af360
mov rdx, r12
mov rcx, r13
call fcn.005c0cc0
jmp 0x5fcc2f
mov r8d, dword [r15 + 4]
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x25
mov rcx, qword [rsp + 0x58]
call fcn.005af360
mov dword [rsp + 0x68], 0
mov ebx, eax
jmp 0x5fa379
test dh, 4
jne 0x5fc0c0
mov eax, dword [rsi + 0x54]
test eax, eax
jne 0x5f8df9
and edx, 0x40
jne 0x5fb510
cmp word [rsp + 0x70], 0
jne 0x5fb510
mov r11, qword [rsp + 0x48]
lea rdx, [rdi*8]
mov ecx, 0x60
sub rdx, rdi
shl rdx, 4
cmp byte [r11 + 0x42], 0
mov edx, dword [r14 + rdx + 0x4c]
je 0x5fb497
mov dword [r11 + 0x28], edx
mov ecx, 0x61
mov dword [rsp + 0x20], ecx
mov r9, rsi
mov r8d, r12d
mov rcx, r13
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x58], r10
call fcn.005c0d00
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
cmp byte [rax + 0x42], 0
jne 0x5fb4d7
cmp word [rsi + 0x46], 0x3f
jg 0x5fb4d7
test byte [rsi + 0x40], 0xe0
mov eax, dword [rsp + 0x68]
je 0x5fd50e
mov rcx, qword [rsp + 0x60]
mov edx, dword [r10 + 0x28]
movsxd rax, dword [rcx + 0x90]
test eax, eax
jle 0x5f8df9
mov r8, qword [rcx + 0x88]
lea rax, [rax + rax*2]
movzx ecx, word [rsp + 0x88]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], cx
jmp 0x5f8df9
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x38]
mov edx, r12d
xor r9d, r9d
mov rcx, r13
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x20], rax
call fcn.005af000
mov r10, qword [rsp + 0x58]
mov edx, dword [r10 + 0x28]
jmp 0x5f8df9
mov r8, qword [rsp + 0x68]
cmp word [r8 + 0x46], 0x3f
jle 0x5fa2a0
lea eax, [r14 + 1]
mov r11, qword [rsp + 0x48]
mov edx, 0x3f
cdqe
nop dword [rax]
mov word [r10 + rax*2 - 2], dx
movsx ecx, word [r8 + 0x46]
add edx, 1
mov r14d, eax
mov qword [r9 + rax*8 - 8], r11
add rax, 1
cmp edx, ecx
jl 0x5fb568
movsxd rax, r14d
lea rcx, [r10 + rax*2]
lea r11, [r9 + rax*8]
jmp 0x5fa2a0
lea rax, [rdi*8]
mov r8d, dword [rsp + 0x290]
sub rax, rdi
shl rax, 4
mov rax, qword [r14 + rax + 0x28]
mov rax, qword [rax + 0x10]
cmp r11, rax
je 0x5fb5e2
test rax, rax
je 0x5fb5e2
nop word [rax + rax]
mov rax, qword [rax + 0x28]
add r8d, 1
test rax, rax
je 0x5fb5e2
cmp r11, rax
jne 0x5fb5d0
mov rax, qword [rsp + 0x48]
mov edx, 0x61
mov dword [rax + 0x2c], r8d
mov dword [rbx + 8], r8d
jmp 0x5f8e5f
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x18]
test byte [rax + 0x40], 0x80
jne 0x5fb140
mov rdi, qword [rsp + 0x50]
movzx eax, word [rdi + 0x3c]
test ah, 4
jne 0x5fc140
test ah, 0x10
je 0x5fb643
cmp byte [rdi + 0x42], 1
je 0x5fc140
cmp word [r14 + 0x2c], 0
je 0x5fc140
mov rdi, qword [rsp + 0x50]
mov eax, dword [rsp + 0xa8]
xor r9d, r9d
mov edx, 0x85
mov r8d, dword [rsp + 0xe4]
mov rbx, qword [rdi]
mov r12, qword [rbx + 0x10]
or byte [rdi + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.005af360
test byte [rdi + 0x3c], 0x20
je 0x5fd280
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
mov eax, dword [rax + 0x70]
test eax, eax
je 0x5fd3df
mov eax, dword [r15]
test eax, eax
je 0x5fb265
nop dword [rax]
xor ebp, ebp
jmp 0x5fb28c
mov eax, dword [r13 + 0x38]
lea r12d, [rax + 1]
mov dword [r13 + 0x38], r12d
jmp 0x5fa3ca
mov rcx, r11
mov qword [rsp + 0x120], r11
call fcn.0058c8b0
mov r11, qword [rsp + 0x120]
test eax, eax
je 0x5f948c
mov r9d, dword [r15 + 0xc]
lea r8d, [rdi + rbp]
mov edx, 0x32
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0xd0]
call fcn.005af360
mov r11, qword [rsp + 0x120]
jmp 0x5f948c
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 5
lea r9d, [rbx + 1]
mov rcx, rsi
call fcn.005af360
mov edx, dword [rsi + 0x90]
test edx, edx
jle 0x5fa531
mov r8, qword [rsi + 0x88]
movsxd rax, edx
mov r9d, 3
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x5fa531
test byte [rdi + 0x3c], 0x20
jne 0x5f8afe
mov rbx, qword [rbp + 0x28]
mov r9d, dword [rbx + 0x54]
test r9d, r9d
jne 0x5f8afe
test byte [rbp + 0x48], 2
jne 0x5f8afe
xor r8d, r8d
mov r15d, dword [rbp + 0x4c]
lea rax, [rdi + 0x68]
xor r9d, r9d
mov word [r12 + 0x2e], r8w
mov rcx, rax
mov r8d, 0xffffffff
mov rsi, rax
mov dword [r12 + 0x28], 0
mov edx, r15d
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
call fcn.005c7580
test rax, rax
je 0x5fd2cf
mov rdx, qword [r12 + 0x38]
mov ecx, 0x21
mov dword [r12 + 0x28], 0x1101
mov qword [rdx], rax
mov eax, 1
mov edx, 1
mov word [r12 + 0x2c], ax
mov word [r12 + 0x18], dx
mov word [r12 + 0x14], cx
mov eax, 1
mov word [r12 + 0x16], ax
mov eax, 1
mov qword [rdi + 0x3e8], r12
mov qword [r12 + 8], 1
mov word [rdi + 0x48], ax
mov rax, qword [rdi + 0x10]
mov dword [rdi + 0x39c], r15d
test rax, rax
je 0x5fb84b
mov eax, dword [rax]
mov byte [rdi + 0x41], al
test byte [rdi + 0x3d], 1
je 0x5f8cc0
mov byte [rdi + 0x43], 1
jmp 0x5f8cc0
mov rax, qword [rsp + 0x268]
cmp dword [rax], 1
jne 0x5fbd19
mov rax, qword [rsp + 0x268]
mov r15d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x280]
mov eax, dword [rax]
test eax, eax
jle 0x5fb902
mov rdi, qword [rsp + 0x280]
sub eax, 1
shl rax, 5
lea rcx, [rdi + 8]
lea r8, [rdi + rax + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test rax, rax
jne 0x5fb8d1
jmp 0x5fd589
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x642438
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x5fb8f0
and edx, 0x40000
jne 0x5fb8c0
mov rax, qword [rax + 0x10]
jmp 0x5fb8c8
cmp byte [rax], 0xa4
je 0x5fbae0
add rcx, 0x20
cmp r8, rcx
jne 0x5fb8b0
mov rdi, qword [r9 + 0x10]
test rdi, rdi
je 0x5fbd19
mov qword [rsp + 0x88], r14
mov r14, qword [rsp + 0x90]
mov qword [rsp + 0x260], r13
mov r13, qword [rsp + 0x280]
jmp 0x5fb945
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x5fbd09
cmp byte [rdi + 0x62], 0
je 0x5fb938
cmp word [rdi + 0x5e], 0
je 0x5fba2b
xor ebx, ebx
jmp 0x5fb975
movzx eax, word [rdi + 0x5e]
add rbx, 1
lea ebp, [r12 + 1]
cmp eax, ebx
jle 0x5fba23
mov qword [rsp + 0x28], rdi
mov r8d, ebx
mov edx, r15d
mov rcx, r14
mov dword [rsp + 0x20], 2
mov r9, 0xffffffffffffffff
mov r12d, ebx
mov ebp, ebx
call fcn.005c7580
test rax, rax
jne 0x5fb960
mov rax, qword [rdi + 0x40]
mov r10d, dword [r13]
mov r9, qword [rax + rbx*8]
test r10d, r10d
jle 0x5fba1f
lea r8, [rbx + rbx]
xor esi, esi
nop dword [rax + rax]
mov rax, rsi
shl rax, 5
mov rdx, qword [r13 + rax + 8]
test rdx, rdx
je 0x5fd5a7
mov rax, rdx
jmp 0x5fb9f1
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x5fd5a2
mov ecx, dword [rax + 4]
test ecx, 0x41000
je 0x5fba10
and ecx, 0x40000
jne 0x5fb9e0
mov rax, qword [rax + 0x10]
jmp 0x5fb9e8
cmp byte [rax], 0xa4
je 0x5fba48
add rsi, 1
cmp dword [r13], esi
jg 0x5fb9c0
movzx eax, word [rdi + 0x5e]
cmp ebp, eax
jne 0x5fb938
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x260]
mov byte [r14 + 0x43], 1
jmp 0x5f8adc
mov rcx, qword [rdi + 8]
movzx ecx, word [rcx + r8]
cmp word [rax + 0x30], cx
jne 0x5fba15
cmp r15d, dword [rax + 0x2c]
jne 0x5fba15
mov rcx, qword [rsp + 0x260]
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x48], r9
call fcn.005c2140
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
test rax, rax
je 0x5fcedb
mov r10, qword [rax]
xor ecx, ecx
jmp 0x5fbaaa
lea r11, [0x0082fba0]
movzx edx, byte [r11 + rdx]
cmp byte [r11 + rax], dl
jne 0x5fba15
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx edx, byte [r9 + rcx]
cmp eax, edx
jne 0x5fba90
test eax, eax
jne 0x5fbaa6
mov rax, qword [rdi + 8]
movsx rax, word [rax + r8]
movsx edx, ax
test edx, edx
jns 0x5fcc60
cmp edx, 0xffffffff
jne 0x5fba1f
jmp 0x5fb960
cmp r15d, dword [rax + 0x2c]
jne 0x5fb8f9
cmp word [rax + 0x30], 0
jns 0x5fb8f9
jmp 0x5fba3b
mov rax, qword [r14 + 0x38]
xor r9d, r9d
mov r8, r15
mov rcx, r13
mov rbx, qword [rax]
mov eax, dword [r13 + 0x38]
lea r12d, [rax + 1]
mov eax, dword [rsp + 0x48]
mov rdx, rbx
mov dword [r13 + 0x38], r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.005f7f50
mov r10d, eax
cmp r12d, eax
je 0x5fbb49
test r12d, r12d
je 0x5fbb49
mov edx, r12d
mov rcx, r13
call fcn.00599680
mov r9d, dword [r15 + 0x10]
mov dword [rsp + 0x20], r10d
mov edx, 0x1f
mov r8d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
call fcn.005af360
mov byte [r15 + 0x35], 0xad
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
jne 0x5fae98
or word [rbx + 0x12], 4
mov edi, 2
mov qword [rsp + 0x88], 0
jmp 0x5fa727
mov rdx, qword [r14 + 0x38]
mov rax, qword [rdx + rax*8]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x5faf66
cmp qword [rsp + 0x88], 0
je 0x5fc020
mov rax, rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x88], rax
jmp 0x5faf6f
xor eax, eax
xor ebx, ebx
jmp 0x5faf45
mov eax, dword [rsp + 0x290]
mov edx, 0x5f
mov dword [rbx + 8], eax
mov r8d, eax
jmp 0x5f8e5f
mov byte [rsp + 0x110], 0
mov qword [rsp + 0xe8], 0
jmp 0x5f91c9
mov qword [rsp + 0xf0], 0
mov ecx, dword [rsp + 0xe0]
xor ebp, ebp
jmp 0x5f9178
mov esi, dword [rsp + 0x48]
test esi, esi
sete dl
add edx, 4
mov byte [r15 + 0x35], dl
jmp 0x5fb29e
and r8d, 0x20
je 0x5fcd4d
mov byte [r15 + 0x35], 0xad
mov edi, 2
mov qword [rsp + 0x88], 0
jmp 0x5fa727
jne 0x5f9247
and ebx, 1
je 0x5f9247
movzx ecx, byte [rsp + 0x110]
mov rsi, qword [rsp + 0xe8]
mov byte [rsp + 0x110], 0
movzx edx, byte [rsp + 0x118]
mov byte [rsp + 0x98], cl
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rsi
movzx esi, word [rsp + 0x108]
mov qword [rsp + 0xe8], rcx
mov word [rsp + 0x118], si
mov word [rsp + 0x108], dx
jmp 0x5f9247
mov esi, dword [r15 + 0x10]
jmp 0x5f952f
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x260]
cmp qword [rsp + 0x278], 0
jne 0x5f8adc
mov rax, qword [rsp + 0x280]
or word [r14 + 0x3c], 0x80
mov qword [r14 + 0x10], rax
jmp 0x5f8adc
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x90]
mov byte [r15 + 0x35], dil
mov edi, dword [rsp + 0xa8]
mov dword [r15 + 0x3c], eax
mov dword [r15 + 0x38], edi
mov edi, 2
jmp 0x5fa727
cmp byte [rsp + 0x98], 0
je 0x5f97a3
mov r8d, dword [rsp + 0xd8]
test r8d, r8d
je 0x5fcbcb
add dword [rsp + 0xe0], 1
jmp 0x5f97a3
mov qword [rsp + 0xa0], 0xffffffffffffffff
jmp 0x5f8d1d
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x5fb05b
cmp dword [rsp + 0x48], 1
sbb r12d, r12d
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x5fb07e
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r13
xor r14d, r14d
call fcn.005bd640
jmp 0x5f9bde
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov edx, 0x76
mov r9d, 1
mov r8d, dword [rsp + 0xe4]
call fcn.005af360
mov eax, dword [r14 + 0x28]
jmp 0x5f985a
mov rbx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0xd8]
mov edx, 0x12
mov eax, dword [rbx + 0x90]
mov dword [rsp + 0x20], 0
mov rcx, rbx
lea r9d, [rax + 2]
call fcn.005af360
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], edi
mov r9d, esi
mov ecx, dword [rsp + 0xf0]
lea rdx, [0x00829669]
mov r8d, dword [rsp + 0xe4]
lea eax, [rcx + rax*2]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov rcx, rbx
mov dword [rsp + 0x28], eax
call fcn.005af540
jmp 0x5f984b
cmp qword [rsp + 0xe8], 0
movzx eax, al
mov dword [rsp + 0xc8], eax
je 0x5fd210
mov rax, qword [rsp + 0xe8]
mov ebp, 1
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xd0], eax
cmp byte [rsp + 0x110], 0
jne 0x5fcdc3
mov r10d, dword [rsp + 0xd8]
test r10d, r10d
jne 0x5fd015
mov ebx, dword [rsp + 0xe0]
mov dword [rsp + 0xf0], 0
mov r8d, ebx
jmp 0x5f965b
mov r15, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x260]
jmp 0x5fa5bd
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov edx, 0x45
mov r8d, 1
mov r9d, dword [rsp + 0xd8]
call fcn.005af360
mov dword [rsp + 0x28], ebx
movsxd rax, r12d
mov r9d, esi
mov r12, qword [rsp + 0x60]
lea r10, [0x00829670]
mov dword [rsp + 0x20], edi
movzx edx, byte [r10 + rax]
mov r8d, dword [rsp + 0xe4]
mov rcx, r12
call fcn.005af540
xor r8d, r8d
mov rcx, r12
mov edx, 0xb
mov eax, dword [r12 + 0x90]
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call fcn.005af360
mov ecx, dword [rsp + 0x48]
xor eax, eax
cmp ebx, 1
setg al
sub ebx, ebp
lea r10, [0x00829670]
mov dword [rsp + 0x20], edi
lea eax, [rcx + rax*4 + 2]
mov dword [rsp + 0x28], ebx
mov r9d, esi
mov rcx, r12
cdqe
mov r8d, dword [rsp + 0xe4]
movzx edx, byte [r10 + rax]
call fcn.005af540
jmp 0x5f96d9
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x76
mov r8d, dword [rsp + 0xe4]
call fcn.005af360
jmp 0x5f9687
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x5f8eb8
mov edx, 0x21
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
call fcn.005af360
mov qword [rsp + 0x88], rbx
jmp 0x5faff9
mov dword [r15 + 0x14], eax
mov rax, qword [rsp + 0xd0]
lea rdx, [0x0085a6a0]
mov eax, dword [rax + 0x90]
jmp 0x5f9363
mov r12, qword [rsp + 0xd0]
xor r9d, r9d
mov r8d, ebx
mov edx, 0x25
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.005af360
mov edx, 0xb
mov rcx, r12
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
call fcn.005af360
mov edx, 0x19
mov r12d, eax
jmp 0x5f92ff
mov r11, qword [rsi + 0x60]
test r11, r11
jne 0x5fc0d9
jmp 0x5fc0de
mov r11, qword [r11 + 0x28]
test r11, r11
je 0x5fc0de
cmp rbp, qword [r11]
jne 0x5fc0d0
lea rax, [rdi*8]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xa5
sub rax, rdi
mov dword [rsp + 0x20], 0
shl rax, 4
mov qword [rsp + 0x58], r10
mov r8d, dword [r14 + rax + 0x4c]
mov qword [rsp + 0x68], r11
call fcn.005af360
mov r11, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffff4
mov edx, eax
mov r8, r11
call fcn.0059fe40
mov r10, qword [rsp + 0x58]
mov edx, dword [r10 + 0x28]
jmp 0x5f8df9
mov eax, dword [r13 + 0x38]
mov rdi, qword [rsp + 0x60]
mov edx, 0x86
mov r8d, dword [rsp + 0xe4]
lea ebx, [rax + 1]
mov rcx, rdi
mov dword [r13 + 0x38], ebx
mov r9d, ebx
mov dword [rsp + 0x20], 0
call fcn.005af360
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov rcx, rdi
mov r8d, dword [rsp + 0xa8]
mov edx, 0x20
call fcn.005af360
jmp 0x5fb24b
mov rcx, qword [rsp + 0x68]
movzx edx, word [rsp + 0x100]
add rdx, qword [rsp + 0xc0]
call fcn.00594550
mov qword [rsp + 0x70], rax
jmp 0x5f951a
lea rcx, [r10 + r8]
lea r11, [r9 + rdi]
jmp 0x5fa275
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x20], 0
xor r8d, r8d
xor ebx, ebx
xor r12d, r12d
mov r9d, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov edx, 0x45
call fcn.005af360
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x7c], 1
jle 0x5fc2b0
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x50]
nop dword [rax]
mov rax, rbx
shl rax, 6
add rax, qword [rbp + 0x88]
cmp rsi, rax
je 0x5fc283
test byte [rax + 0x12], 6
jne 0x5fc283
test word [rax + 0x14], 0x1fff
je 0x5fc283
mov rdx, qword [rax]
test rdx, rdx
je 0x5fc272
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.005a5820
mov rdx, rax
mov r8, rdx
mov rcx, r13
mov rdx, r12
call fcn.005be320
mov r12, rax
add rbx, 1
cmp dword [rbp + 0x7c], ebx
jg 0x5fc238
test r12, r12
je 0x5fc2b0
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r13
call fcn.005be150
mov rdi, rax
jmp 0x5fc2b2
xor edi, edi
mov rax, qword [rsp + 0x50]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r13
movzx eax, word [rax + 0x3c]
mov ebx, eax
mov word [rsp + 0xc0], ax
call fcn.005caa70
mov rax, qword [rsp + 0x70]
and bx, 0x400
mov esi, ebx
mov ebx, dword [rax + 0x14]
or esi, 0x20
test ebx, ebx
jle 0x5fd2a3
movsx esi, si
xor ebx, ebx
mov qword [rsp + 0xc0], rdi
mov ebp, dword [rsp + 0xa8]
mov dword [rsp + 0xe0], esi
mov r14, qword [rsp + 0x48]
mov rdi, rax
mov dword [rsp + 0x70], 0
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x110], r15
jmp 0x5fc409
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xd8]
mov edx, 0xc
mov rcx, rsi
mov r8d, dword [rsp + 0xd0]
call fcn.005af360
test byte [r12 + 0x44], 2
mov eax, 1
cmove eax, dword [rsp + 0x70]
mov dword [rsp + 0x70], eax
mov rax, qword [r12 + 0x3e8]
test byte [rax + 0x29], 2
je 0x5fc3a2
mov rax, qword [rax + 0x20]
test rbx, rbx
je 0x5fc5c8
cmp rax, qword [rsp + 0xc8]
je 0x5fc5c8
mov qword [rsp + 0xc8], 0
mov rcx, r12
call fcn.005b0cf0
mov eax, dword [r13 + 0x120]
test eax, eax
je 0x5fc3f5
mov rdx, qword [r13 + 0x10]
jns 0x5fc3d0
mov eax, dword [rdx + 0x90]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x0085a6a0]
cmp byte [r8 + 0x61], 0
jne 0x5fc3f2
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov dword [r13 + 0x120], eax
add rbx, 1
cmp dword [rdi + 0x14], ebx
jle 0x5fc600
mov rax, rbx
mov dword [rsp + 0x48], ebx
lea r9d, [rbx + 1]
shl rax, 6
add rax, qword [rdi + 0x20]
cmp ebp, dword [rax + 0x1c]
je 0x5fc427
test byte [rax + 0x15], 4
je 0x5fc3fc
mov r12, qword [rax]
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x5fc43e
mov qword [rax + 0x10], r12
mov r12, rax
lea r8, str.INDEX__d
mov edx, 1
mov rcx, r13
call fcn.005caa70
mov r8, r12
xor r9d, r9d
mov rcx, r13
mov eax, dword [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x28], eax
call fcn.005f8690
mov r12, rax
test rax, rax
je 0x5fc3fc
mov rax, qword [r13 + 0xa0]
test rax, rax
cmove rax, r13
cmp byte [rax + 0x113], 2
jne 0x5fc4c5
mov rdx, qword [rsp + 0x88]
xor r9d, r9d
lea r8, [r12 + 0x398]
mov rcx, r13
call fcn.005cc180
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x10
jne 0x5fc340
mov eax, dword [rdi + 0x14]
sub eax, 1
cmp eax, ebx
mov eax, 0xffffffff
cmovne eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
test byte [r14 + 0x40], 0x80
jne 0x5fc748
mov r9d, 0xffffffff
mov r8d, ebp
mov rdx, r14
mov rcx, rsi
mov r15d, dword [rsp + 0xe8]
mov dword [rsp + 0x20], r15d
call fcn.005f14d0
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov rcx, rsi
mov r8d, dword [rsp + 0xf0]
mov edx, 0x2d
call fcn.005af360
mov r15d, eax
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
jne 0x5fc55c
movsxd rax, r15d
mov ecx, dword [rsp + 0x48]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xd8]
mov edx, 0xc
mov rcx, rsi
mov r8d, dword [rsp + 0xd0]
call fcn.005af360
test r15d, r15d
je 0x5fc365
mov edx, dword [rsi + 0x90]
mov rcx, qword [rsi]
lea eax, [rdx - 1]
cmovs r15d, eax
cmp byte [rcx + 0x61], 0
lea rax, [0x0085a6a0]
jne 0x5fc5b9
mov rax, qword [rsi + 0x88]
movsxd r15, r15d
lea rcx, [r15 + r15*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x5fc365
mov qword [rsp + 0xc8], rax
mov rcx, rax
test byte [r14 + 0x40], 0x80
je 0x5fc3ae
movzx eax, byte [rax + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmovne rax, rcx
mov qword [rsp + 0xc8], rax
jmp 0x5fc3ae
mov eax, dword [r13 + 0x120]
mov rdi, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x110]
test eax, eax
je 0x5fc63f
mov rdx, qword [r13 + 0x10]
test eax, eax
js 0x5fcb85
mov r8, qword [rdx]
lea rcx, [0x0085a6a0]
cmp byte [r8 + 0x61], 0
je 0x5fcb25
mov eax, dword [rcx + 8]
mov dword [r13 + 0x120], eax
mov rax, qword [rsp + 0xc8]
mov qword [r15 + 0x40], rax
test rax, rax
je 0x5fc662
mov eax, dword [rsp + 0x98]
mov dword [r15 + 8], eax
test rdi, rdi
je 0x5fc67c
mov qword [rdi + 0x10], 0
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
call fcn.005a2090
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0x108]
mov eax, dword [rdi + 0x90]
test esi, esi
mov rcx, qword [rdi]
lea edx, [rax - 1]
cmovns edx, esi
cmp byte [rcx + 0x61], 0
mov esi, edx
lea rdx, [0x0085a6a0]
jne 0x5fc6ba
movsxd rdx, esi
lea rcx, [rdx + rdx*2]
mov rdx, qword [rdi + 0x88]
lea rdx, [rdx + rcx*8]
mov r9d, dword [r15 + 0xc]
mov rdi, qword [rsp + 0x60]
mov dword [rdx + 4], eax
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov rcx, rdi
call fcn.005af360
mov edx, dword [rsp + 0xd8]
mov rcx, rdi
call fcn.005af190
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x40], 1
jbe 0x5fc709
mov rax, qword [rsp + 0x88]
test rax, rax
jne 0x5fcb3b
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jne 0x5fae98
mov r8, qword [rsp + 0x100]
lea rdx, [r15 + 0x58]
mov rcx, r15
mov edi, 2
call fcn.0059a8d0
mov qword [rsp + 0x88], 0
jmp 0x5fa727
mov r10, qword [r14 + 0x10]
test r10, r10
jne 0x5fc76d
jmp 0x5fd59d
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x64245b
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x5fc760
movzx r11d, word [r10 + 0x5e]
mov rcx, r13
xor r15d, r15d
mov edx, r11d
mov dword [rsp + 0xe4], r11d
call fcn.005996a0
mov edx, r11d
mov dword [rsp + 0xf8], eax
add edx, eax
test r11d, r11d
je 0x5fc813
mov qword [rsp + 0x118], rdi
mov edi, ebp
mov rbp, r10
mov qword [rsp + 0x120], r12
mov r12, r15
mov r15d, eax
mov qword [rsp + 0x128], rbx
mov ebx, edx
nop word [rax + rax]
mov rdx, qword [rbp + 8]
mov r8d, edi
mov rcx, rsi
movsx r9d, word [rdx + r12]
mov dword [rsp + 0x20], r15d
mov rdx, r14
add r15d, 1
add r12, 2
call fcn.005f14d0
cmp ebx, r15d
jne 0x5fc7d0
mov ebp, edi
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x128]
mov r11d, dword [rsp + 0x48]
test r11d, r11d
jne 0x5fcf05
mov r15d, dword [rsp + 0xe8]
mov r9d, dword [rsp + 0xe4]
mov edx, 0x5b
mov rcx, rsi
mov r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x20], r15d
call fcn.005af360
mov r9d, r15d
mov edx, 0x83
mov rcx, rsi
mov eax, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0xf0]
xor r15d, r15d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x20], eax
call fcn.005af540
cmp dword [rsp + 0xe4], 1
je 0x5fd26c
mov eax, dword [rsp + 0xe4]
cmp eax, dword [r13 + 0x28]
jle 0x5fc55c
mov dword [r13 + 0x28], eax
mov eax, dword [rsp + 0xf8]
mov dword [r13 + 0x2c], eax
jmp 0x5fc55c
lea rax, str.BINARY
xor edi, edi
xor r8d, r8d
mov qword [rsp + 0x48], rax
jmp 0x5fa219
mov dword [rsp + 0xd0], 1
mov dword [rsp + 0xc8], 1
jmp 0x5f958c
movzx ebx, al
sub ebx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
lea esi, [rbx - 1]
movsxd rax, esi
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 4
add rdx, 0x78
call fcn.00594140
mov qword [rsp + 0x88], rax
mov rcx, rax
test rax, rax
je 0x5faa8c
lea eax, [rsi + 1]
movzx eax, al
mov dword [rcx + 4], eax
mov dword [rcx], eax
lea rax, [rdi*8]
sub rax, rdi
mov rdi, rcx
shl rax, 4
lea rax, [rbp + rax + 8]
movdqu xmm1, xmmword [rax]
movups xmmword [rcx + 8], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rcx + 0x18], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rcx + 0x28], xmm3
movdqu xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x38], xmm1
movdqu xmm2, xmmword [rax + 0x40]
movups xmmword [rcx + 0x48], xmm2
movdqu xmm3, xmmword [rax + 0x50]
movups xmmword [rcx + 0x58], xmm3
movdqu xmm1, xmmword [rax + 0x60]
movups xmmword [rcx + 0x68], xmm1
mov rax, qword [r14 + 8]
mov qword [rsp + 0xc0], rax
lea rcx, [rax + 8]
test esi, esi
jle 0x5fb379
lea r9d, [rbx - 2]
lea r8, [r15 + 0x94]
lea rax, [r9*8]
lea rdx, [rdi + 0x78]
sub rax, r9
shl rax, 4
lea r9, [rdi + rax + 0xe8]
nop dword [rax]
movzx r10d, byte [r8]
add rdx, 0x70
add r8, 0x60
lea rax, [r10*8]
sub rax, r10
shl rax, 4
add rax, rcx
movdqu xmm4, xmmword [rax]
movups xmmword [rdx - 0x70], xmm4
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rdx - 0x60], xmm5
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [rdx - 0x50], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [rdx - 0x40], xmm5
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [rdx - 0x30], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [rdx - 0x20], xmm5
movdqu xmm0, xmmword [rax + 0x60]
movups xmmword [rdx - 0x10], xmm0
cmp r9, rdx
jne 0x5fc9d0
jmp 0x5fb379
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x5faf9c
movzx eax, byte [r13 + 0x1f]
test al, al
je 0x5fcc46
sub eax, 1
mov byte [r13 + 0x1f], al
movzx eax, al
mov ebp, dword [r13 + rax*4 + 0xcc]
mov r9d, 1
mov r8d, ebp
mov rcx, r13
mov dword [rsp + 0x190], ebp
call fcn.005f1c20
movzx eax, byte [rdi]
sub eax, 0x37
and eax, 2
or eax, 1
cdqe
movzx edx, byte [rsp + rax + 0x1c0]
jmp 0x5fafcd
movzx edi, word [rsp + 0x50]
test dil, 8
je 0x5f8d68
mov rbx, qword [rsp + 0x268]
mov rcx, qword [rbx + 0x28]
mov r9d, dword [rcx + 0x54]
test r9d, r9d
jne 0x5f8d68
test ah, 0x20
je 0x5fcad1
and edi, 0x10
je 0x5f8d68
mov r8d, 2
jmp 0x5f8d57
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov r9d, esi
mov edx, 0x32
mov r8d, dword [rsp + 0xf8]
call fcn.005af360
jmp 0x5f95f0
mov rcx, qword [rsp + 0x60]
mov r9d, esi
mov r8d, r12d
mov edx, 0x32
mov dword [rsp + 0x20], 0
call fcn.005af360
jmp 0x5f9741
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
jmp 0x5fc63c
mov rcx, qword [rsp + 0x68]
mov rdx, rax
call fcn.00592290
jmp 0x5fc709
cmp byte [rax + 0x43], 2
je 0x5f8eb8
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x5f8eb8
mov r10, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov r11d, 2
lea rax, [r10 + rax*8]
mov word [rax - 0x16], r11w
jmp 0x5f8eb8
mov eax, dword [rdx + 0x90]
sub eax, 1
jmp 0x5fc627
test al, 0x40
je 0x5f8d68
test byte [rsp + 0x50], 8
mov ecx, 8
cmovne esi, ecx
and eax, 0xffffffbf
mov dword [rdx + 0x28], eax
jmp 0x5f8d68
mov rcx, qword [rsp + 0xd0]
lea r12d, [rax - 1]
mov rdx, qword [rcx + 0x88]
jmp 0x5f9358
mov eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x48
mov dword [rsp + 0x20], 0
lea r9d, [rax + rdi]
call fcn.005af360
mov dword [rsp + 0xd0], 0
jmp 0x5fbd8f
mov eax, dword [r13 + 0x38]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x48
add eax, 1
mov dword [r13 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0xf0], eax
call fcn.005af360
mov eax, dword [r13 + 0x38]
add eax, 1
mov dword [rsp + 0xe8], eax
mov dword [r13 + 0x38], eax
jmp 0x5fc1e6
mov eax, dword [r13 + 0x38]
lea ebp, [rax + 1]
mov dword [r13 + 0x38], ebp
jmp 0x5fca68
mov rdx, qword [rdi + 0x18]
shl rax, 5
add rax, qword [rdx + 8]
cmp byte [rax + 0x18], 0
jne 0x5fb960
jmp 0x5fba1f
mov r9d, 0xffffffff
jmp 0x5fb1f8
mov eax, 0x42
lea r10, str.BINARY
jmp 0x5fccc5
cdqe
lea r9, [0x0082fba0]
movzx eax, byte [r9 + rax]
cmp byte [r9 + rdx], al
jne 0x5f99cd
movzx eax, byte [r10 + 1]
add r10, 1
add rcx, 1
movzx edx, byte [rcx]
cmp edx, eax
jne 0x5fcca0
test edx, edx
jne 0x5fccb8
jmp 0x5f9985
mov dword [r13 + 0x38], edi
mov r9d, edi
mov edx, 0x45
mov r8d, 1
mov dword [r15 + 0x2c], edi
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.005af360
mov eax, dword [rdi + 0x90]
mov rsi, qword [rsp + 0x88]
mov dword [r15 + 0x30], eax
mov eax, dword [r15 + 0x2c]
mov rcx, qword [rsi + 0x38]
lea edx, [rax + rax]
movzx eax, word [rsp + 0x100]
mov dword [r15 + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x48]
or eax, edx
mov edx, dword [r14 + 0x28]
mov dword [r15 + 0x2c], eax
mov eax, dword [r13 + 0x38]
lea edi, [rax + 1]
jmp 0x5f91b2
movsxd rax, dword [rsp + 0x48]
lea rdx, [0x00829667]
mov rcx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0xa8]
movzx edx, byte [rdx + rax]
mov dword [r15 + 0x38], r8d
mov byte [r15 + 0x35], dl
lea rdx, [0x00829665]
mov dword [rsp + 0x20], 0
movzx edx, byte [rdx + rax]
call fcn.005af360
mov byte [r15 + 0x37], 1
add eax, 1
mov dword [r15 + 0x3c], eax
jmp 0x5fae98
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
lea r9d, [rax + 3]
mov edx, 0x14
mov r8d, dword [rsp + 0xd8]
call fcn.005af360
jmp 0x5f97fd
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x48
xor ebp, ebp
mov ebx, dword [rsp + 0xe0]
mov dword [rsp + 0x20], 0
lea r9d, [rbx + rdi]
call fcn.005af360
mov r8d, ebx
lea ebx, [rbx + 1]
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0xc8], 1
jmp 0x5f965b
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x5fca40
mov rsi, qword [rsp + 0x88]
movzx ecx, word [rsp + 0x100]
mov r8, qword [rsi + 8]
movsx r8, word [r8 + rcx*2]
mov rcx, r8
test r8d, r8d
js 0x5fd287
mov r8, qword [rsi + 0x18]
shl rcx, 5
add rcx, qword [r8 + 8]
cmp byte [rcx + 0x18], 0
sete byte [rsp + 0x110]
jmp 0x5f91c9
mov qword [rsp + 0x80], 0
xor ebx, ebx
mov rsi, 0xffffffffffffffff
xor eax, eax
jmp 0x5fa004
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jg 0x5fb0a2
jmp 0x5fb08e
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x5f9639
mov dword [rsp + 0xf0], 0
mov r8d, ebx
mov ebp, 1
jmp 0x5f965b
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x5f978f
mov dword [rsp + 0xd0], 1
jmp 0x5f97a3
mov rax, qword [rsp + 0x260]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x5fba87
mov ebp, dword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x260]
jmp 0x5fb267
mov eax, dword [rsp + 0xf8]
xor r9d, r9d
mov edx, 0x1e
mov rcx, rsi
mov r8d, dword [rsp + 0xf0]
mov dword [rsp + 0x20], eax
call fcn.005af360
mov r15d, eax
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
jne 0x5fcf54
movsxd rax, r15d
mov ecx, dword [rsp + 0xe4]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
cmp dword [rsp + 0x48], 0xffffffff
je 0x5fc87c
mov eax, dword [rsp + 0xe8]
mov r9d, dword [rsp + 0xe4]
mov edx, 0x5b
mov rcx, rsi
mov r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x20], eax
call fcn.005af360
mov ecx, dword [rsp + 0xe4]
mov edx, 0x83
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0xf0]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0xf8]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.005af540
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x5fc87c
mov r9, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x10
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
jmp 0x5fc87c
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x5fce7e
mov rcx, qword [rdx + 0x20]
mov ecx, dword [rcx]
jmp 0x5fbdbb
mov rax, qword [r12 + 0x20]
mov eax, dword [rax]
jmp 0x5fce97
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
jmp 0x5fcec2
mov ebx, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x48
mov dword [rsp + 0x20], 0
lea r9d, [rbx + rdi]
lea ebx, [rbx + 1]
call fcn.005af360
mov r8d, ebx
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xc8], 1
jmp 0x5f965b
mov rdx, qword [rsp + 0x280]
lea r12, [r14 + 0x290]
mov rcx, r12
call fcn.005a5690
mov rdx, qword [rsp + 0x170]
mov rbp, rax
test rdx, rdx
je 0x5fd08d
mov rcx, r12
call fcn.005a5690
or rbp, rax
movzx edi, byte [r14 + 0x40]
mov rax, rdi
sub edi, 1
test edi, edi
jle 0x5fbda0
mov qword [rsp + 0xa0], 0xffffffffffffffff
lea rbx, [rax + rax*2]
movzx r12d, word [rsp + 0x98]
shl rbx, 5
add rbx, r14
jmp 0x5fd0d5
sub rbx, 0x60
sub edi, 1
je 0x5f8d1d
mov rdx, qword [rbx + 0x388]
mov r8, qword [r14 + 8]
movzx r9d, byte [rdx + 0x10]
lea rax, [r9*8]
sub rax, r9
shl rax, 4
test byte [r8 + rax + 0x44], 8
je 0x5fd0c8
test r12w, r12w
jne 0x5fd108
test byte [rdx + 0x29], 0x10
je 0x5fd0c8
mov rcx, qword [rdx + 8]
test rcx, rbp
jne 0x5fd0c8
mov rax, qword [rsp + 0x168]
movsxd rdx, dword [rax + 0x14]
mov r10, qword [rax + 0x20]
shl rdx, 6
add rdx, r10
cmp r10, rdx
jae 0x5fd556
lea r11, [r9*8]
mov rax, r10
sub r11, r9
mov r9, r11
shl r9, 4
add r8, r9
nop dword [rax]
test qword [rax + 0x38], rcx
je 0x5fd173
mov r9, qword [rax]
test byte [r9 + 4], 1
je 0x5fd1f8
movsx r9d, word [r9 + 0x34]
cmp r9d, dword [r8 + 0x4c]
jne 0x5fd1f8
add rax, 0x40
cmp rdx, rax
ja 0x5fd150
mov rax, rcx
not rax
and qword [rsp + 0xa0], rax
nop word [rax + rax]
test qword [r10 + 0x38], rcx
je 0x5fd19c
or word [r10 + 0x12], 4
add r10, 0x40
cmp rdx, r10
ja 0x5fd190
movzx eax, byte [r14 + 0x40]
mov edx, eax
sub eax, 1
cmp eax, edi
je 0x5fd1e4
sub eax, edi
lea rcx, [rbx + 0x338]
lea r8d, [rax + rax*2]
lea eax, [rdi + 1]
lea rax, [rax + rax*2]
shl r8d, 5
shl rax, 5
movsxd r8, r8d
lea rdx, [r14 + rax + 0x398]
call sub.msvcrt.dll_memmove
movzx edx, byte [r14 + 0x40]
sub edx, 1
sub dword [rsp + 0xb8], 1
mov byte [r14 + 0x40], dl
jmp 0x5fd0c8
cmp rdx, rax
ja 0x5fd0c8
jmp 0x5fd17c
mov dword [rsp + 0xd0], 1
mov ebp, 1
jmp 0x5fbed7
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x90]
mov dword [r14 + 0x4c], eax
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x61], 0
jne 0x5f9bc0
jmp 0x5f9bde
test byte [rax + 0x65], 4
jne 0x5f9896
jmp 0x5fb267
mov rbx, qword [rsp + 0x88]
mov edx, 0x25
jmp 0x5fc025
mov edx, dword [rsp + 0xf8]
mov rcx, r13
call fcn.00599710
jmp 0x5fc55c
xor ebp, ebp
jmp 0x5f9876
cmp r8d, 0xfffffffe
sete byte [rsp + 0x110]
jmp 0x5f91c9
mov r12d, 0xfff0bdc0
jmp 0x5f8de0
mov eax, dword [r13 + 0x120]
test eax, eax
je 0x5fd4c8
mov dword [rsp + 0x70], 0
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0xc8], 0
jmp 0x5fc61f
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x5fd57f
mov qword [rsp + 0x68], rbp
mov rbp, rsi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x260], r13
jmp 0x5fd305
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x5fd495
cmp byte [rbx + 0x62], 0
je 0x5fd2f8
cmp qword [rbx + 0x48], 0
jne 0x5fd2f8
movzx eax, word [rbx + 0x5e]
cmp ax, 3
ja 0x5fd2f8
movzx edx, byte [rbx + 0x64]
mov ecx, edx
and ecx, 8
cmp cl, 1
sbb edi, edi
and edi, 0xffffff80
add edi, 0x82
test ax, ax
je 0x5fd566
xor esi, esi
jmp 0x5fd359
mov rdx, qword [r12 + 0x38]
lea r13d, [rsi + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [rbx + 0x5e]
add rsi, 1
cmp eax, esi
jle 0x5fd37f
mov qword [rsp + 0x28], rbx
xor r9d, r9d
mov r8d, esi
mov edx, r15d
mov dword [rsp + 0x20], edi
mov rcx, rbp
mov r13d, esi
call fcn.005c7580
test rax, rax
jne 0x5fd340
movzx eax, word [rbx + 0x5e]
cmp r13d, eax
jne 0x5fd2f8
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
mov r13, qword [rsp + 0x260]
movzx edx, byte [rbx + 0x64]
mov dword [r12 + 0x28], 0x1201
and edx, 0x20
jne 0x5fd4dd
mov rdx, qword [rbp + 0x60]
test qword [rbx + 0x68], rdx
je 0x5fd4dd
mov word [r12 + 0x2c], ax
mov word [r12 + 0x18], ax
mov eax, 0x27
mov qword [r12 + 0x20], rbx
mov word [r12 + 0x14], ax
jmp 0x5fb812
mov rbp, qword [rsp + 0x88]
mov rcx, qword [rbx]
mov rsi, qword [rbp + 0x18]
movsx edx, word [rsi + 0x46]
add edx, 1
movsxd rdx, edx
shl rdx, 2
call fcn.005941a0
mov rdi, rax
test rax, rax
je 0x5fb24b
movsx eax, word [rsi + 0x46]
mov dword [rdi], eax
movzx eax, word [rbp + 0x60]
cmp ax, 1
jbe 0x5fd47a
mov rbx, qword [rsp + 0x88]
sub eax, 2
mov qword [rsp + 0x68], r12
mov rcx, rsi
lea rbp, [rax + 2]
mov r8, qword [rbx + 8]
mov ebx, 1
mov r12, r8
jmp 0x5fd460
test ax, ax
js 0x5fd457
movsx edx, ax
call fcn.00599a00
movsx rax, ax
mov dword [rdi + rax*4 + 4], esi
add rbx, 1
cmp rbp, rbx
je 0x5fd475
movzx eax, word [r12 + rbx*2 - 2]
mov esi, ebx
test byte [rcx + 0x40], 0x20
jne 0x5fd442
test ax, ax
js 0x5fd457
jmp 0x5fd44f
mov r12, qword [rsp + 0x68]
mov r9d, 0xfffffff1
mov r8, rdi
mov edx, 0xffffffff
mov rcx, r12
call fcn.0059fe40
jmp 0x5fb24b
mov rdi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x260]
mov eax, dword [r12 + 0x28]
test eax, eax
jne 0x5fb812
mov rdi, qword [rsp + 0x160]
mov r12, qword [rsp + 0x178]
mov rbp, qword [rdi + 8]
jmp 0x5f8afe
mov qword [r15 + 0x40], 0
mov dword [rsp + 0x70], 0
jmp 0x5fc662
mov word [r12 + 0x2c], ax
mov word [r12 + 0x18], ax
mov eax, 0x27
mov dword [r12 + 0x28], 0x1241
mov qword [r12 + 0x20], rbx
mov word [r12 + 0x14], ax
jmp 0x5fb812
xor eax, eax
jmp 0x5fb224
lea rdx, [rdi*8]
sub rdx, rdi
shl rdx, 4
mov rdx, qword [r14 + rdx + 0x60]
test rdx, rdx
je 0x5fd52f
add eax, 1
shr rdx, 1
jne 0x5fd527
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffffd
movsxd r8, eax
mov edx, 0xffffffff
mov qword [rsp + 0x58], r10
call fcn.0059fe40
mov r10, qword [rsp + 0x58]
jmp 0x5fb4d7
not rcx
and qword [rsp + 0xa0], rcx
jmp 0x5fd1a5
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
xor eax, eax
mov r13, qword [rsp + 0x260]
jmp 0x5fd39e
mov eax, dword [r12 + 0x28]
jmp 0x5fd4a7
jmp 0x642438
jmp 0x64244c
jmp 0x64244c
jmp 0x642442
jmp 0x64245b
jmp 0x642465
jmp 0x642465
movzx eax, byte [pe_dos_header]
ud2
movzx eax, word [0x5e]
ud2
add dword [r13 + 0x34], 1
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, byte [pe_dos_header]
ud2