Function at 0x491db0
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
movups xmmword [rsp + 0x1c0], xmm6
movups xmmword [rsp + 0x1d0], xmm7
movups xmmword [rsp + 0x1e0], xmm8
mov r14, qword [rcx + 0x10]
mov rbp, qword [rcx]
mov qword [rsp + 0x250], r8
mov rbx, rcx
mov r12, rdx
test r14, r14
jne 0x491dfe
call fcn.0043e380
mov r14, rax
test r12, r12
je 0x491e0c
mov r10d, dword [rbx + 0x30]
test r10d, r10d
je 0x491e40
mov eax, 1
movups xmm6, xmmword [rsp + 0x1c0]
movups xmm7, xmmword [rsp + 0x1d0]
movups xmm8, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, rbx
mov qword [rsp + 0x20], 0
call fcn.0043f1c0
test eax, eax
jne 0x491e0c
mov rax, qword [rsp + 0x250]
cmp byte [rax], 6
ja 0x491ea8
mov r9, qword [r12 + 0x48]
test r9, r9
je 0x491e96
lea rdx, [rbx + 0xc0]
lea r8, [0x00425210]
mov rcx, rbx
call fcn.0046b340
mov qword [r12 + 0x48], 0
mov eax, dword [r12 + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [r12 + 4], eax
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.00416220
mov r9d, dword [rbx + 0x30]
test r9d, r9d
jne 0x4920b0
mov r10d, dword [r12 + 4]
test r10d, 0x800000
jne 0x4921a8
mov rax, qword [rsp + 0x250]
cmp byte [rax], 9
je 0x492210
mov rdx, r12
mov rcx, rbx
call fcn.00491600
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x4920b0
mov eax, dword [r12 + 4]
lea rcx, [rbx + 0xc0]
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov r13, qword [r12 + 0x28]
and eax, 8
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x68], eax
setne dil
mov rax, qword [r12 + 0x48]
xor esi, esi
mov qword [rsp + 0x130], 0
movzx edi, dil
mov qword [rsp + 0x110], rax
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rcx
test rax, rax
jne 0x492223
mov qword [rsp + 0x48], r14
mov r14, r12
mov r12, r13
mov r13d, edi
jmp 0x49203c
mov r9, qword [r15 + 0x48]
test r9, r9
je 0x491fe0
cmp qword [r14 + 0x48], 0
je 0x492150
cmp qword [r15 + 0x60], 0
je 0x492160
test esi, esi
jne 0x491fe0
test byte [r14 + 6], 4
je 0x491fe0
cmp dword [r12], 1
je 0x492200
test byte [r12 + 0xac], 0x22
jne 0x492200
nop dword [rax]
mov r9d, r13d
mov r8d, esi
mov rdx, r14
mov rcx, rbx
call fcn.0046b5c0
test eax, eax
je 0x492007
mov r8d, dword [rbx + 0x30]
test r8d, r8d
jne 0x4920b0
mov esi, 0xffffffff
cmp byte [rbp + 0x67], 0
mov r12, qword [r14 + 0x28]
jne 0x4920b0
mov rax, qword [rsp + 0x250]
add esi, 1
cmp byte [rax], 8
jbe 0x492031
mov rax, qword [r14 + 0x48]
mov qword [rsp + 0x110], rax
cmp qword [r14 + 0x50], 0
jne 0x492220
mov eax, dword [r12]
cmp eax, esi
jle 0x492250
movsxd rax, esi
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdi, [r12 + rax*8]
movzx eax, byte [rdi + 0x44]
mov r15, qword [rdi + 0x30]
mov r10, qword [rdi + 0x28]
and eax, 0x18
cmp al, 8
je 0x4920f8
test r15, r15
je 0x49208f
mov rax, qword [r15 + 0x20]
movsx r8d, word [r10 + 0x36]
mov eax, dword [rax]
cmp r8d, eax
jne 0x492098
mov eax, dword [r15 + 4]
test al, 8
je 0x491f98
add esi, 1
jmp 0x492031
mov dword [rsp + 0x20], eax
mov r9, qword [r10]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, rbx
call fcn.0042c9e0
nop
mov eax, 1
movsxd rdx, dword [rbx + 0x140]
test edx, edx
je 0x4920e7
mov r8, qword [rbx + 0x10]
lea rcx, [0x0066e7a0]
mov r9, qword [r8]
cmp byte [r9 + 0x67], 0
jne 0x4920e4
lea rcx, [rdx + rdx*2]
mov rdx, qword [r8 + 0x88]
lea rcx, [rdx + rcx*8]
mov edx, dword [rcx + 8]
mov dword [rbx + 0x140], edx
jmp 0x491e11
mov rcx, qword [r14 + 0x30]
mov edx, dword [rdi + 0x4c]
mov qword [rsp + 0x40], r10
call fcn.00415e80
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x49206e
test byte [rbp + 0x61], 0x20
jne 0x49206e
and byte [rdi + 0x44], 0xd7
movzx r8d, byte [r12 + 0x44]
mov rcx, qword [r14 + 0x30]
mov edx, dword [rdi + 0x4c]
and r8d, 0x40
movzx r8d, r8b
call fcn.00409ad0
mov r10, qword [rsp + 0x40]
jmp 0x49206e
cmp dword [r12], 1
jg 0x491fac
jmp 0x491fb7
test eax, 0x8000000
jne 0x491fb7
test byte [r14 + 7], 8
jne 0x491fb7
test byte [rbp + 0x62], 4
jne 0x491fb7
mov rdx, qword [rsp + 0x58]
lea r8, [0x00425210]
mov rcx, rbx
call fcn.0046b340
mov qword [r15 + 0x48], 0
jmp 0x491fe0
mov r11, qword [r12 + 0x28]
lea rcx, [r11 + 8]
mov rdx, r11
call fcn.00412f20
test eax, eax
jne 0x4921d0
and r10d, 0xff7fffff
mov dword [r12 + 4], r10d
jmp 0x491ed5
mov r8, qword [r11 + 0x20]
test r8, r8
je 0x4936c9
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, rbx
call fcn.0042c9e0
mov eax, 1
jmp 0x4920b5
mov esi, 1
jmp 0x492031
mov rdx, r12
mov rcx, rbx
call fcn.00463380
jmp 0x491ee6
mov r12, r14
mov r8, qword [rsp + 0x250]
mov rdx, r12
mov rcx, rbx
call fcn.004b0d00
cmp qword [r12 + 0x58], 0
jne 0x491e11
jmp 0x4920b5
mov r13, r12
mov r12, r14
mov r14, qword [rsp + 0x48]
mov rdi, qword [r12 + 0x30]
test rdi, rdi
je 0x49226e
cmp byte [rdi], 0x2c
je 0x492e06
lea rdi, [rsp + 0x170]
lea rsi, [r13 + 8]
xor r15d, r15d
mov qword [rsp + 0x58], rdi
lea rdi, [rsp + 0x140]
mov qword [rsp + 0x60], rdi
test eax, eax
jle 0x4926f5
mov qword [rsp + 0x40], rbp
jmp 0x4923e4
test byte [r13 + rax*8 + 0x49], 1
je 0x492670
mov rax, qword [rsi + 0x60]
cmp byte [rax + 0x12], 0
je 0x4922c7
cmp dword [rax], 1
jle 0x492670
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rsi + 0x10]
mov qword [rsp + 0x48], rcx
mov qword [rbx + 0x178], rdx
movzx edx, byte [rax + 0x12]
mov r11, rax
test dl, dl
je 0x492330
cmp dword [rax], 1
jle 0x4922f3
cmp dl, 2
jne 0x492330
test byte [r13 + 0x44], 0x40
jne 0x492330
mov rax, qword [rbx]
test byte [rax + 0x63], 2
jne 0x492330
mov r9d, dword [r13]
lea r8d, [r15 + 1]
mov rdx, rsi
mov rcx, r13
mov qword [rsp + 0x70], r10
call fcn.00413da0
mov r10, qword [rsp + 0x70]
test rax, rax
je 0x495ff4
mov r11, qword [rsi + 0x60]
nop dword [rax]
mov r9d, dword [r11 + 4]
test r9d, r9d
jg 0x4926a0
mov r9d, ebp
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
mov qword [rsp + 0x70], r10
call fcn.00413da0
mov r10, qword [rsp + 0x70]
test rax, rax
mov rbp, rax
je 0x492c96
mov r9d, dword [rax + 0x30]
test r9d, r9d
jne 0x492c80
mov r9d, dword [rbp + 0x44]
mov r8d, dword [rsi + 0x44]
mov edx, 0x73
mov rcx, r14
call fcn.0043e160
mov rax, qword [rbp + 0x28]
movzx eax, word [rax + 2]
mov word [rdi + 2], ax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x4920b0
mov rdx, qword [rsp + 0x60]
mov rcx, r12
mov dword [rsp + 0x140], 0
call fcn.004100e0
mov eax, dword [rsp + 0x140]
sub dword [rbx + 0x13c], eax
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x178], rax
add r15, 1
add rsi, 0x68
cmp dword [r13], r15d
jle 0x4926f0
cmp qword [rsi + 0x50], 0
mov dword [rsp + 0x48], r15d
mov ebp, r15d
jne 0x492419
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x492419
mov rax, qword [rsi + 8]
lea r9, [0x00617534]
mov edx, 0x14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.0043f1c0
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x4923d2
mov rdx, qword [rsp + 0x58]
mov rcx, r12
mov dword [rsp + 0x170], 0
call fcn.004100e0
mov eax, dword [rsp + 0x170]
movsxd r10, ebp
add dword [rbx + 0x13c], eax
mov rax, qword [rsp + 0x40]
test byte [rax + 0x61], 0x10
lea rax, [r10 + r10*2]
lea rax, [r10 + rax*4]
je 0x4922a8
movzx eax, byte [r13 + rax*8 + 0x49]
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rsi + 0x10]
and eax, 1
mov qword [rsp + 0x48], rcx
mov qword [rbx + 0x178], rdx
test al, al
jne 0x492660
movzx eax, byte [r13 + 0x44]
and eax, 0x40
mov byte [rsp + 0x70], al
jne 0x49233d
mov rax, qword [rbx]
test byte [rax + 0x63], 2
jne 0x49233d
mov r9d, dword [r13]
lea r8d, [r15 + 1]
mov rdx, rsi
mov rcx, r13
mov qword [rsp + 0x80], r10
call fcn.00413da0
mov r10, qword [rsp + 0x80]
test rax, rax
jne 0x49233d
mov eax, dword [r12 + 4]
test r15, r15
jne 0x492508
cmp r9d, 1
je 0x492536
test byte [r13 + 0xac], 2
jne 0x492536
test eax, 0x10000000
je 0x492536
cmp byte [rsp + 0x70], 0
jne 0x492329
jmp 0x49233d
test eax, 0x10000000
jne 0x4924f5
imul rdx, r15, 0xffffffffffffff98
mov rax, rsi
add rdx, rsi
jmp 0x49252b
sub rax, 0x68
cmp qword [rax + 0x28], 0
jne 0x4924f5
test byte [rax + 0x3c], 0x22
jne 0x4924f5
cmp rax, rdx
jne 0x492520
movsxd rbp, dword [r14 + 0x90]
mov eax, dword [rbx + 0x38]
xor r9d, r9d
mov rcx, r14
mov edx, 0xb
mov qword [rsp + 0x80], r10
lea r11d, [rbp + 1]
lea r8d, [rax + 1]
mov dword [rbx + 0x38], r8d
mov dword [rsi + 0x34], r8d
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x70], r11d
call fcn.0043e0f0
mov r11d, dword [rsp + 0x70]
mov eax, dword [rsi + 0x34]
mov r9, rsi
lea r8, str.CO_ROUTINE___S
mov edx, 1
mov rcx, rbx
mov dword [rsi + 0x30], r11d
mov byte [rsp + 0x170], 0xd
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call fcn.004614e0
mov r8, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, rbx
call fcn.00491db0
movzx edx, word [rdi + 2]
mov rax, qword [rsi + 0x20]
xor r9d, r9d
mov r10, qword [rsp + 0x80]
mov rcx, r14
mov word [rax + 0x3a], dx
mov edx, 0x44
lea rax, [r10 + r10*2]
lea rax, [r10 + rax*4]
or byte [r13 + rax*8 + 0x48], 0x20
mov eax, dword [rsp + 0x17c]
mov r8d, dword [rsi + 0x34]
mov dword [rsi + 0x38], eax
call fcn.0043e160
mov rax, qword [r14 + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [r14]
mov dword [rax + 0x28], 0
mov edx, dword [r14 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x49264d
mov rax, qword [r14 + 0x88]
lea rcx, [rbp + rbp*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
jmp 0x492392
mov rax, qword [rsi + 0x60]
jmp 0x4922de
mov r8, qword [r12 + 0x30]
mov r9, rsi
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x48], r10
call fcn.00455ee0
mov r10, qword [rsp + 0x48]
lea rax, [r10 + r10*2]
lea rax, [r10 + rax*4]
jmp 0x492461
mov r8d, dword [r11 + 8]
mov edx, 0xa
mov rcx, r14
mov qword [rsp + 0x70], r11
call fcn.0043e160
mov r11, qword [rsp + 0x70]
mov r8d, dword [rsi + 0x44]
mov r9d, dword [r11 + 0xc]
cmp r8d, r9d
je 0x4926da
mov edx, 0x73
mov rcx, r14
call fcn.0043e160
mov r11, qword [rsp + 0x70]
movzx eax, word [r11 + 0x10]
mov word [rdi + 2], ax
jmp 0x492392
mov rbp, qword [rsp + 0x40]
mov rax, qword [r12 + 0x20]
mov r10, qword [rsp + 0x110]
mov qword [rsp + 0x48], rax
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x70], rax
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x40], rax
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x80], rax
mov eax, dword [r12 + 4]
mov byte [rsp + 0xe0], al
and eax, 9
and byte [rsp + 0xe0], 1
cmp eax, 1
je 0x494392
test r10, r10
je 0x492df6
mov rdi, qword [rsp + 0x48]
mov rdx, r10
xor r8d, r8d
mov rcx, rbx
mov r9d, dword [rdi]
call fcn.00456300
mov r8d, dword [rbx + 0x34]
mov rcx, r14
mov rsi, rax
lea eax, [r8 + 1]
mov dword [rsp + 0x11c], r8d
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0x110]
mov edx, dword [rax]
mov eax, dword [rdi]
lea r9d, [rdx + rax + 1]
mov edx, 0x76
call fcn.0043e160
mov r9d, 0xfffffff8
mov r8, rsi
mov rcx, r14
mov edi, eax
mov edx, eax
call fcn.0045e5b0
mov dword [rsp + 0x128], edi
mov rax, qword [rsp + 0x250]
cmp byte [rax], 0xc
je 0x4942b4
mov eax, dword [rbx + 0x44]
sub eax, 1
mov dword [rsp + 0x60], eax
mov dword [rbx + 0x44], eax
mov eax, dword [r12 + 4]
test ah, 0x40
jne 0x4927ea
mov esi, 0x140
mov word [r12 + 2], si
cmp qword [r12 + 0x60], 0
je 0x492807
mov r8d, dword [rsp + 0x60]
mov rdx, r12
mov rcx, rbx
call fcn.0049c050
mov eax, dword [r12 + 4]
mov r11d, dword [r12 + 8]
test r11d, r11d
jne 0x492848
movsxd rdx, dword [rsp + 0x128]
test edx, edx
js 0x492848
mov r8, qword [r14]
lea rcx, [0x0066e7a0]
cmp byte [r8 + 0x67], 0
jne 0x49283d
lea rcx, [rdx + rdx*2]
mov rdx, qword [r14 + 0x88]
lea rcx, [rdx + rcx*8]
mov byte [rcx], 0x77
or byte [rsp + 0x134], 1
test al, 1
jne 0x4936d5
mov byte [rsp + 0xe1], 0
mov r8d, dword [rsp + 0x68]
test r8d, r8d
jne 0x494198
cmp qword [rsp + 0x40], 0
jne 0x492ed6
xor eax, eax
movzx esi, word [r12 + 4]
cmp byte [rsp + 0xe0], 0
setne al
mov r15, qword [r12 + 0x70]
shl eax, 8
and si, 0x4000
or esi, eax
test r15, r15
je 0x4928a9
mov rdx, qword [r12 + 0x28]
mov r8, r15
mov rcx, rbx
call fcn.004646f0
movsx eax, word [r12 + 2]
movzx esi, si
mov rdx, r13
mov rcx, rbx
mov dword [rsp + 0x30], esi
mov r9, qword [rsp + 0x110]
mov dword [rsp + 0x38], eax
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x28], r12
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x20], rax
call fcn.004a9390
mov qword [rsp + 0x68], rax
test rax, rax
je 0x4920b0
movzx eax, word [rax + 0x48]
cmp word [r12 + 2], ax
jle 0x492901
mov word [r12 + 2], ax
cmp byte [rsp + 0xe0], 0
je 0x49291f
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x43]
test al, al
je 0x49291f
mov byte [rsp + 0xe1], al
mov r9, qword [rsp + 0x110]
mov r8d, dword [rsp + 0x128]
test r9, r9
je 0x494297
mov rdi, qword [rsp + 0x68]
mov edx, 0
movsx eax, byte [rdi + 0x41]
test al, al
cmovs eax, edx
mov dword [rsp + 0x118], eax
test byte [rdi + 0x44], 4
je 0x492980
movzx edx, byte [rdi + 0x40]
sub edx, 1
movsxd rdx, edx
lea rcx, [rdx*8]
sub rcx, rdx
shl rcx, 4
cmp qword [rdi + rcx + 0x398], 0
je 0x4951e1
mov edx, dword [rdi + 0x30]
mov dword [rsp + 0x130], edx
cmp dword [r9], eax
je 0x49428b
test r15, r15
je 0x49443b
mov eax, dword [rbx + 0x44]
mov r13, qword [rbx + 0x10]
lea edi, [rax - 1]
mov dword [rsp + 0x98], edi
lea edi, [rax - 2]
sub eax, 3
mov dword [rsp + 0xc4], edi
mov edi, dword [rbx + 0x38]
mov dword [rsp + 0xb8], eax
add edi, 1
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x90], edi
mov dword [rbx + 0x38], edi
mov rdi, qword [r12 + 0x70]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x40], rdi
mov rdi, qword [rdi + 0x18]
mov qword [rsp + 0xa0], rdi
test r13, r13
jne 0x492a0b
mov rcx, rbx
call fcn.0043e380
mov r13, rax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x80], eax
mov rax, qword [r12 + 0x28]
mov rsi, qword [rsp + 0x40]
movq xmm0, rbx
mov r15d, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movq xmm2, rsi
punpcklqdq xmm0, xmm2
movsx edi, word [rax + 0x36]
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
sub eax, 1
mov qword [rsp + 0x1a8], 0
mov dword [rbx + 0x44], eax
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x90]
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0x1b0], 0
mov dword [rsp + 0x188], eax
movups xmmword [rsp + 0x170], xmm0
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x180], r13
lea ecx, [rax + 1]
mov dword [rsp + 0x1a4], eax
lea edx, [rax + 2]
add eax, 3
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x19c], edx
mov dword [rsp + 0x1ac], eax
movzx ecx, byte [rsi + 0x21]
cmp cl, 0x56
je 0x494606
cmp cl, 0x5a
je 0x494710
mov dword [rsp + 0x194], 2
mov eax, dword [rbx + 0x38]
sub ecx, 0x56
mov dword [rsp + 0x58], 0
and ecx, 0xfd
lea edx, [rdi + rax]
lea esi, [rax + 1]
lea eax, [rdx + 1]
mov dword [rsp + 0xa8], eax
lea eax, [rdx + 2]
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x198], eax
jne 0x492b2e
lea eax, [rdx + 3]
mov dword [rsp + 0x58], eax
mov dword [rbx + 0x38], eax
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x70], 0
movzx ecx, byte [rcx + 0x22]
lea edx, [rcx - 0x56]
and edx, 0xfd
jne 0x492b54
add eax, 1
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x70], eax
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0x20], 0x4c
je 0x49468d
mov rdx, qword [rsp + 0xa0]
xor ecx, ecx
test rdx, rdx
je 0x492b74
mov ecx, dword [rdx]
mov rdx, qword [rsp + 0x40]
mov r11d, dword [rdx + 0x78]
mov rdx, qword [rdx + 0x10]
add r11d, esi
mov dword [rsp + 0xc8], r11d
test rdx, rdx
je 0x492b9e
mov edx, dword [rdx]
add r11d, edx
mov dword [rsp + 0xc8], r11d
lea edx, [rcx + rax]
lea r8d, [rdx + 1]
add edx, ecx
mov dword [rsp + 0x1a0], r8d
lea r8d, [rdx + 1]
add edx, ecx
mov dword [rsp + 0x1a8], r8d
lea r8d, [rdx + 1]
add edx, ecx
add eax, 1
mov dword [rbx + 0x38], edx
setne dl
cmp qword [rsp + 0xa0], 0
mov dword [rsp + 0x88], eax
setne al
and edx, eax
mov dword [rsp + 0x1b0], r8d
mov byte [rsp + 0xcc], dl
xor r9d, r9d
test edi, edi
jle 0x493769
mov qword [rsp + 0x240], rbx
mov ebx, r15d
mov r15d, r9d
jmp 0x492c4e
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], ebx
mov dword [rax + 8], r15d
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], 0
mov dword [rax], 0x5e
add r15d, 1
cmp edi, r15d
je 0x493761
movsxd rax, dword [r13 + 0x90]
lea edx, [rsi + r15]
cmp eax, dword [r13 + 0x94]
jl 0x492c10
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov r8d, ebx
mov edx, 0x5e
mov rcx, r13
call fcn.0043df10
jmp 0x492c41
mov r8d, dword [rax + 0x34]
mov edx, 0xa
mov rcx, r14
call fcn.0043e160
jmp 0x492371
mov eax, dword [rbx + 0x38]
mov edx, 9
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x70], r10
add eax, 1
mov dword [rbx + 0x38], eax
mov dword [rsi + 0x34], eax
call fcn.0043e160
mov r10, qword [rsp + 0x70]
lea ebp, [rax + 1]
mov dword [rsp + 0x80], eax
lea rax, [r10 + r10*2]
mov dword [rsi + 0x30], ebp
lea rax, [r10 + rax*4]
lea rdx, [r13 + rax*8 + 0x30]
movzx eax, byte [rdx + 0x18]
or eax, 0x10
mov byte [rdx + 0x18], al
test al, 8
je 0x4941bd
mov eax, dword [rsi + 0x44]
mov r9, rsi
lea r8, str.MATERIALIZE___S
mov rcx, rbx
mov edx, 1
mov qword [rsp + 0x70], r10
mov byte [rsp + 0x170], 0xc
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call fcn.004614e0
mov r8, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, rbx
call fcn.00491db0
mov rax, qword [rsi + 0x20]
movzx edx, word [rdi + 2]
mov r10, qword [rsp + 0x70]
mov word [rax + 0x3a], dx
mov r8d, dword [rsi + 0x34]
mov edx, 0x43
mov rcx, r14
mov r9d, ebp
mov qword [rsp + 0x70], r10
call fcn.0043e160
mov rcx, qword [r14]
mov edx, dword [r14 + 0x90]
lea rax, [0x0066e7a0]
mov r10, qword [rsp + 0x70]
cmp byte [rcx + 0x67], 0
jne 0x492da9
movsxd rax, dword [rsp + 0x80]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea rax, [r10 + r10*2]
lea rax, [r10 + rax*4]
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
movzx eax, word [r13 + rax*8 + 0x48]
and ax, 0x108
cmp ax, 0x100
jne 0x492392
mov edx, dword [rsi + 0x30]
mov rax, qword [rsi + 0x60]
mov dword [rax + 4], edx
mov edx, dword [rsi + 0x34]
mov dword [rax + 8], edx
mov edx, dword [rsi + 0x44]
mov dword [rax + 0xc], edx
movzx edx, word [rdi + 2]
mov word [rax + 0x10], dx
jmp 0x492392
mov dword [rsp + 0x128], 0xffffffff
jmp 0x4927b7
test byte [rbp + 0x61], 0x80
jne 0x49226e
mov rax, qword [rbx]
lea rsi, [0x00438990]
mov qword [rsp + 0xe0], rbx
movq xmm6, rsi
add rax, 0x67
mov qword [rsp + 0xe8], rax
lea rax, [0x0040d710]
movq xmm8, rax
movq xmm7, rax
lea rax, [0x0040fee0]
movq xmm2, rax
movhps xmm8, qword [0x006264b0]
punpcklqdq xmm6, xmm2
nop dword [rax]
mov rdx, qword [r12 + 0x28]
mov eax, 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 0
test rdx, rdx
je 0x492ea9
mov ecx, dword [rdx]
test ecx, ecx
jle 0x492ea9
movzx eax, byte [rdx + 0x44]
and eax, 0x40
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [rsp + 0xfc], eax
test rdi, rdi
je 0x492ecd
test dword [rdi + 4], eax
jne 0x492ecd
movzx eax, byte [rdi]
cmp al, 0x2c
je 0x49496f
cmp al, 0x35
je 0x494099
mov eax, dword [r13]
jmp 0x49226e
mov rcx, qword [r12 + 0x20]
mov edx, dword [rcx]
lea rax, [rcx + 8]
test edx, edx
jle 0x492f07
sub edx, 1
shl rdx, 5
lea rdx, [rcx + rdx + 0x28]
nop dword [rax]
xor esi, esi
add rax, 0x20
mov word [rax - 6], si
cmp rax, rdx
jne 0x492ef8
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
add rax, 8
test ecx, ecx
jle 0x492f41
mov rdi, qword [rsp + 0x40]
lea edx, [rcx - 1]
shl rdx, 5
lea rdx, [rdi + rdx + 0x28]
nop word [rax + rax]
xor r11d, r11d
add rax, 0x20
mov word [rax - 6], r11w
cmp rax, rdx
jne 0x492f30
cmp word [r12 + 2], 0x42
jle 0x492f56
mov r10d, 0x42
mov word [r12 + 2], r10w
mov r9, qword [rsp + 0x110]
mov dword [rsp + 0x98], 0
test r9, r9
je 0x492f77
cmp dword [r9], ecx
je 0x4947ad
mov eax, dword [rbx + 0x44]
mov edx, 0x38
mov rcx, rbp
sub eax, 1
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x88], eax
call fcn.0042dc60
mov qword [rsp + 0x58], rax
mov r9, rax
test rax, rax
je 0x492fb7
lea rdx, [rbx + 0xc0]
lea r8, [0x00416650]
mov rcx, rbx
call fcn.0046b340
movzx eax, byte [rbp + 0x67]
mov edi, eax
mov byte [rsp + 0x68], al
mov eax, 1
test dil, dil
jne 0x4920b5
mov rdi, qword [rsp + 0x58]
mov eax, dword [r12 + 0x10]
movq xmm0, rbx
movq xmm1, r13
punpcklqdq xmm0, xmm1
mov dword [rdi + 0x34], eax
xor eax, eax
mov qword [rsp + 0x180], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
movups xmmword [rsp + 0x170], xmm0
test rdi, rdi
je 0x493039
movzx eax, word [rdi]
mov rdi, qword [rsp + 0x58]
cmp qword [rsp + 0x48], 0
mov word [rdi + 2], ax
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x10], rax
je 0x4947a0
mov rax, qword [rsp + 0x48]
mov edx, dword [rax]
test edx, edx
jle 0x4947a0
lea rax, [0x00408ff0]
lea r15, [0x00409000]
xor edi, edi
movq xmm3, rax
lea rcx, [0x00452750]
lea rax, [rsp + 0x140]
mov qword [rsp + 0x90], rax
movq xmm6, rcx
mov rax, r15
lea rsi, [rsp + 0x170]
mov r15, r12
punpcklqdq xmm6, xmm3
mov r12, rbx
mov rbx, rax
nop
mov rcx, qword [rsp + 0x48]
mov rax, rdi
shl rax, 5
mov r8, qword [rcx + rax + 8]
mov qword [rsp + 0x158], rbx
mov dword [rsp + 0x160], 0
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x140], 0
movups xmmword [rsp + 0x148], xmm6
test r8, r8
je 0x4936b8
mov rcx, qword [rsp + 0x90]
mov rdx, r8
add rdi, 1
call fcn.00415c30
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
cmp edx, edi
jg 0x4930b0
mov rbx, r12
mov r12, r15
mov r9, qword [rsp + 0x110]
test r9, r9
je 0x4931ea
mov edx, dword [r9]
test edx, edx
jle 0x4931ea
lea rax, [0x00408ff0]
lea rcx, [0x00452750]
xor edi, edi
mov qword [rsp + 0x248], r12
movq xmm4, rax
lea rax, [rsp + 0x140]
lea r15, [0x00409000]
mov r12, rbx
mov qword [rsp + 0x90], rax
movq xmm6, rcx
mov rbx, r15
mov r15, r9
punpcklqdq xmm6, xmm4
mov rax, rdi
shl rax, 5
mov r8, qword [r15 + rax + 8]
mov qword [rsp + 0x158], rbx
mov dword [rsp + 0x160], 0
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x140], 0
movups xmmword [rsp + 0x148], xmm6
test r8, r8
je 0x4936a0
mov rcx, qword [rsp + 0x90]
mov rdx, r8
add rdi, 1
call fcn.00415c30
mov edx, dword [r15]
cmp edx, edi
jg 0x493180
mov rbx, r12
mov r12, qword [rsp + 0x248]
cmp qword [rsp + 0x80], 0
je 0x4932d4
cmp qword [rsp + 0x40], 0
lea r8, [rsp + 0x140]
je 0x493272
mov rdx, qword [r12 + 0x40]
lea rax, [0x00443280]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x168], r12
test rdx, rdx
je 0x493268
mov rcx, r8
mov qword [rsp + 0x70], r8
call fcn.00415c30
mov r8, qword [rsp + 0x70]
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [0x00408ff0]
lea rdi, [0x00452750]
mov rcx, r8
mov rdx, qword [rsp + 0x80]
movq xmm5, rax
movq xmm0, rdi
lea rax, [0x00409000]
mov dword [rsp + 0x160], 0
punpcklqdq xmm0, xmm5
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x140], 0
movups xmmword [rsp + 0x148], xmm0
call fcn.00415c30
mov rdi, qword [rsp + 0x58]
xor r15d, r15d
cmp qword [r12 + 0x38], 0
mov eax, dword [rdi + 0x20]
mov dword [rdi + 0x24], eax
je 0x494994
mov rax, qword [rsp + 0x58]
mov r8, rsi
lea rcx, [rax + 0x30]
lea rdi, [rax + 0x28]
mov qword [rsp + 0xa8], rcx
mov rdx, rcx
mov rcx, rdi
call fcn.00415fa0
cmp byte [rbp + 0x67], 0
jne 0x4944c0
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x40], 0
mov edx, dword [rax + 0x30]
je 0x49521f
cmp edx, 1
je 0x495665
xor r8d, r8d
mov r10d, 0x40
xor r11d, r11d
mov word [rsp + 0x90], r8w
mov eax, dword [rbx + 0x34]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov dword [rsp + 0xcc], r11d
mov dword [rsp + 0xb0], r10d
lea edx, [rax + 1]
mov r9d, dword [rcx + 0x20]
mov dword [rbx + 0x34], edx
mov rdx, qword [rsp + 0x40]
mov dword [rcx + 4], eax
mov rcx, rbx
call fcn.00456300
mov rcx, qword [rsp + 0x58]
mov edx, 0x77
mov qword [rsp + 0xb8], rax
movzx r9d, word [rcx + 2]
mov r8d, dword [rcx + 4]
mov rcx, r14
call fcn.0043e160
mov r8, qword [rsp + 0xb8]
mov r9d, 0xfffffff8
mov rcx, r14
mov edx, eax
mov dword [rsp + 0xdc], eax
call fcn.0045e5b0
mov eax, dword [rbx + 0x38]
mov edx, dword [rbx + 0x44]
xor r8d, r8d
lea ecx, [rax + 1]
lea r10d, [rax + 2]
mov dword [rsp + 0xa0], ecx
lea ecx, [rax + 3]
lea r11d, [rax + 4]
mov dword [rsp + 0xd4], ecx
lea ecx, [rdx - 1]
mov dword [rsp + 0xd8], ecx
lea ecx, [rdx - 2]
mov rdx, qword [rsp + 0x40]
mov dword [rbx + 0x44], ecx
mov dword [rsp + 0xc8], ecx
lea ecx, [rax + 5]
mov eax, dword [rdx]
mov dword [rsp + 0xc4], ecx
mov rcx, r14
lea edx, [r11 + rax]
mov dword [rsp + 0xd0], r10d
add eax, edx
lea r9d, [rdx + 1]
mov edx, 0x47
mov dword [rsp + 0xc0], r11d
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x68], r9d
mov r9d, r10d
call fcn.0043e160
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xc4]
xor r8d, r8d
mov eax, dword [rdx]
mov r9d, ecx
mov edx, 0x4b
add eax, ecx
mov rcx, r14
sub eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov r9d, dword [rsp + 0xc8]
mov edx, 0xa
mov rcx, r14
mov r8d, dword [rsp + 0xc0]
call fcn.0043e160
cmp byte [rsp + 0xe0], 2
mov r10d, dword [rsp + 0xb0]
mov r11d, dword [rsp + 0xcc]
jne 0x4934ab
or r11b, 0x80
mov r10d, r11d
mov qword [rsp + 0x28], r12
mov r9, qword [rsp + 0x40]
mov rdx, r13
mov rcx, rbx
movzx eax, word [rsp + 0x98]
mov dword [rsp + 0x38], 0
mov r8, qword [rsp + 0x70]
shl eax, 9
or eax, r10d
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.004a9390
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x4944ab
cmp qword [rbx + 0x60], 0
je 0x493536
mov rcx, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0x24]
cmp word [rcx + 2], 0
mov dword [rcx + 0x20], eax
je 0x493523
test eax, eax
jne 0x495a78
mov word [rcx + 2], 0
mov rdx, qword [rsp + 0xa8]
mov r8, rsi
mov rcx, rdi
call fcn.00415fa0
mov edx, dword [rbx + 0x38]
mov rsi, qword [rsp + 0x58]
lea eax, [rdx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x30]
add eax, dword [rsi + 0x20]
add eax, edx
mov edx, 0
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0xb0]
movzx esi, byte [rax + 0x43]
movsx eax, byte [rax + 0x41]
mov dword [rsp + 0xcc], esi
mov rsi, qword [rsp + 0x40]
test al, al
cmovs eax, edx
cmp dword [rsi], eax
je 0x4958a3
cmp byte [rsp + 0xe0], 0
lea r9, str.GROUP_BY
je 0x49359f
test byte [r12 + 4], 1
lea rax, str.DISTINCT
cmove r9, rax
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rbx
call fcn.004614e0
mov rax, qword [rsp + 0x40]
mov edi, dword [rax]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x20]
test edx, edx
jle 0x495be9
sub edx, 1
mov rcx, qword [rax + 0x18]
mov esi, edi
imul rdx, rdx, 0x18
lea rax, [rcx + 0x16]
lea rcx, [rcx + rdx + 0x2e]
movsx edx, word [rax]
cmp edx, esi
setge dl
add rax, 0x18
movzx edx, dl
add esi, edx
cmp rax, rcx
jne 0x4935dd
mov edx, esi
mov rcx, rbx
xor r13d, r13d
call fcn.0040da90
mov dword [rsp + 0x20], 0
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, eax
mov dword [rsp + 0x70], eax
call fcn.0049dce0
mov rax, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x70]
mov edx, dword [rax + 0x20]
mov byte [rax], 1
test edx, edx
jle 0x494bb2
mov qword [rsp + 0x248], r12
mov rcx, rbx
mov r12d, esi
mov rbx, qword [rsp + 0x58]
mov esi, r10d
jmp 0x493659
add r13, 1
cmp edx, r13d
jle 0x494ba1
mov r8, qword [rbx + 0x18]
lea rax, [r13 + r13*2]
lea rax, [r8 + rax*8]
movsx r8d, word [rax + 0x16]
cmp r8d, edi
jl 0x49364c
cmp qword [rcx + 0x10], 0
je 0x493697
mov rdx, qword [rax + 8]
lea r8d, [rsi + rdi]
mov qword [rsp + 0x240], rcx
call fcn.0049afa0
mov edx, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x240]
add edi, 1
jmp 0x49364c
add rdi, 1
cmp edx, edi
jg 0x493180
jmp 0x4931df
add rdi, 1
cmp edx, edi
jg 0x4930b0
jmp 0x493118
mov rax, qword [r11 + 0x28]
mov r8, qword [rax]
jmp 0x4921dd
mov eax, dword [rbx + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
lea edx, [rax + 1]
mov dword [rsp + 0xe4], eax
mov dword [rbx + 0x34], edx
mov rdx, qword [r12 + 0x20]
call fcn.00456300
xor r9d, r9d
mov edx, 0x76
mov rcx, r14
mov r8d, dword [rsp + 0xe4]
mov rsi, rax
call fcn.0043e160
mov r9d, 0xfffffff8
mov r8, rsi
mov rcx, r14
mov edx, eax
mov edi, eax
call fcn.0045e5b0
movsxd rax, dword [r14 + 0x90]
mov dword [rsp + 0xe8], edi
test eax, eax
jle 0x493754
mov r9, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 8
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
mov byte [rsp + 0xe1], 3
jmp 0x492858
mov rbx, qword [rsp + 0x240]
mov eax, dword [rsp + 0xa8]
mov r9d, edi
mov r8d, esi
mov rcx, r13
mov edx, 0x61
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x494420
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov r15d, dword [rdx]
add esi, dword [rax + 0x78]
call fcn.00456300
mov ecx, dword [rbx + 0x38]
mov edx, 0x5a
mov r8d, esi
mov rdi, rax
mov rax, qword [rsp + 0x40]
add ecx, 1
mov dword [rbx + 0x38], ecx
mov r9d, dword [rax + 0x6c]
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0xb0], ecx
mov rcx, r13
call fcn.0043e0f0
mov rdx, qword [r13]
cmp byte [rdx + 0x67], 0
jne 0x495550
movsxd rdx, dword [r13 + 0x90]
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rdi
lea r8d, [rax + 2]
lea r9d, [rax + 4]
mov edx, 0xe
mov rcx, r13
mov dword [rsp + 0x20], r8d
call fcn.0043e0f0
xor r9d, r9d
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call fcn.0043e160
mov r8d, esi
mov edx, 0x50
mov rcx, r13
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0x40]
mov r9d, dword [rax + 0x6c]
lea eax, [r15 - 1]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov r9d, dword [rsp + 0x198]
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jge 0x494a5f
lea edx, [rax + 1]
mov edi, dword [rsp + 0x78]
mov dword [r13 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov r8d, edi
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x7f
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0xa8]
mov edx, pe_nt_image_headers64
mov rcx, r13
call fcn.0043e0f0
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov rcx, r13
mov edx, 0x34
mov r8d, dword [rax + 0x80]
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov rsi, qword [rbx + 0x10]
mov dword [rsp + 0xd0], eax
test rsi, rsi
jne 0x493919
mov rcx, rbx
call fcn.0043e380
mov rsi, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rbp
xor edi, edi
mov rbp, rsi
mov qword [rsp + 0x240], rbx
mov r15, rax
mov rbx, rax
jmp 0x4939d5
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x4b
mov rax, qword [r15 + 0x70]
mov rdx, qword [rax + 0x20]
xor eax, eax
test rdx, rdx
je 0x493983
mov eax, dword [rdx]
mov ecx, dword [rbx + 0x84]
cmp edi, eax
cmovl edi, eax
test ecx, ecx
jne 0x4939c8
mov rax, qword [rsi + 0x38]
lea rcx, str.nth_value
cmp rax, rcx
je 0x493a0d
lea rcx, str.first_value
cmp rax, rcx
je 0x493a0d
test byte [rsi + 5], 0x10
je 0x4939c8
mov r8d, dword [r15 + 0x64]
test r8d, r8d
jne 0x4943c2
nop dword [rax]
mov r15, qword [r15 + 0x40]
test r15, r15
je 0x493aa0
mov rsi, qword [r15 + 0x50]
mov r9d, dword [r15 + 0x5c]
movsxd rax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0x94]
jl 0x493940
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
call fcn.0043df10
jmp 0x493972
movsxd rdx, dword [rbp + 0x90]
mov r8d, dword [rbp + 0x94]
mov r9d, dword [r15 + 0x68]
cmp edx, r8d
jge 0x4944e7
lea eax, [rdx + 1]
lea r11, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
mov dword [rbp + 0x90], eax
lea rdx, [rdx + r11*8]
mov dword [rdx + 8], r9d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov qword [rdx], 0x47
add r9d, 1
cmp eax, r8d
jge 0x4944ca
lea edx, [rax + 1]
cdqe
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x47
jmp 0x4939ae
mov rbx, qword [rsp + 0x240]
mov r8d, dword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
mov eax, dword [rbx + 0x38]
add edi, eax
add eax, 1
mov dword [rbx + 0x38], edi
mov dword [rsp + 0x190], eax
test r8d, r8d
je 0x493b03
cmp qword [rbx + 0x10], 0
je 0x493ae4
mov rax, qword [rsp + 0x40]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call fcn.0049afa0
mov rax, qword [rsp + 0x40]
mov edx, dword [rsp + 0x58]
mov rcx, rbx
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2]
call fcn.0045fbc0
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x493b45
cmp qword [rbx + 0x10], 0
je 0x493b25
mov rax, qword [rsp + 0x40]
mov rcx, rbx
mov rdx, qword [rax + 0x30]
call fcn.0049afa0
mov rax, qword [rsp + 0x40]
mov edx, dword [rsp + 0x70]
mov rcx, rbx
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2 + 1]
call fcn.0045fbc0
mov rdi, qword [rsp + 0x40]
lea rsi, [rsp + 0x170]
cmp byte [rdi + 0x20], 0x59
movzx eax, byte [rdi + 0x21]
je 0x4943ef
cmp byte [rdi + 0x22], al
jne 0x493b71
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x4957df
cmp al, 0x56
je 0x4949ef
cmp al, 0x5a
jne 0x4943f7
movsxd rdx, dword [r13 + 0x90]
mov ecx, dword [r13 + 0x94]
mov r8d, dword [rsp + 0x1a4]
cmp edx, ecx
jge 0x494a34
lea eax, [rdx + 1]
lea r9, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
mov dword [r13 + 0x90], eax
lea rdx, [rdx + r9*8]
mov dword [rdx + 4], r8d
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x24
mov r8d, dword [rsp + 0x1ac]
cmp eax, ecx
jge 0x494b58
lea edx, [rax + 1]
cdqe
mov dword [r13 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x24
cmp byte [rsp + 0xcc], 0
jne 0x494515
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jge 0x494b75
lea edx, [rax + 1]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov edi, dword [rsp + 0xc0]
mov dword [r13 + 0x90], edx
lea rax, [rax + rcx*8]
mov dword [rax + 8], edi
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 9
mov rcx, qword [r13]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x493c9a
movsxd rax, dword [rsp + 0xd0]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x4945d6
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x21], 0x56
je 0x494a8b
cmp byte [rax + 0x22], 0x58
je 0x49480c
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, rsi
call fcn.0049fd60
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x22], 0x5a
je 0x493d21
cmp byte [rax + 0x20], 0x59
je 0x4955c3
mov edi, dword [rsp + 0x70]
test edi, edi
jne 0x49571b
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rsi
call fcn.0049fd60
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov rcx, rsi
mov edx, 2
call fcn.0049fd60
mov rcx, qword [r13 + 0x18]
mov r8d, dword [rsp + 0x80]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x4949aa
mov edx, dword [r13 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov rcx, qword [rsp + 0x68]
call fcn.004af390
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x10], 0
je 0x494414
mov r9d, dword [rsp + 0xb0]
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
call fcn.0043e160
mov rdx, qword [r13]
movsxd rdi, dword [r13 + 0x90]
mov dword [rsp + 0x50], eax
lea rax, [0x0066e7a0]
cmp byte [rdx + 0x67], 0
jne 0x493db3
movsxd rax, dword [rsp + 0xd4]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], edi
mov dword [rsp + 0x198], 0
cmp dword [r13 + 0x94], edi
jle 0x494b33
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x78]
mov dword [r13 + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x24
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x22], 0x58
je 0x494ae1
xor r9d, r9d
xor r8d, r8d
cmp byte [rax + 0x21], 0x56
mov edx, 3
mov rcx, rsi
je 0x49485d
call fcn.0049fd60
xor r8d, r8d
mov edx, 1
mov rcx, rsi
mov r10d, dword [r13 + 0x90]
mov r9d, 1
mov dword [rsp + 0x68], r10d
call fcn.0049fd60
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov rcx, rsi
mov edx, 2
mov dword [rsp + 0x70], eax
call fcn.0049fd60
mov r10d, dword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov edx, 9
mov r9d, r10d
call fcn.0043e160
mov rdx, qword [r13]
movsxd rax, dword [r13 + 0x90]
lea rcx, [0x0066e7a0]
movzx edx, byte [rdx + 0x67]
test dl, dl
jne 0x493eb4
movsxd rcx, dword [rsp + 0x70]
lea r8, [rcx + rcx*2]
mov rcx, qword [r13 + 0x88]
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], eax
lea rcx, [0x0066e7a0]
test dl, dl
jne 0x493ed1
mov rdx, qword [r13 + 0x88]
lea rcx, [rdi + rdi*2]
lea rcx, [rdx + rcx*8]
mov dword [rcx + 8], eax
mov r8d, dword [rsp + 0x1a4]
cmp dword [r13 + 0x94], eax
jle 0x494ac4
lea edx, [rax + 1]
mov dword [r13 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x92
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x10], 0
je 0x493f7f
mov r9d, dword [rax + 0x84]
test r9d, r9d
jne 0x4949bb
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x493f64
movsxd rax, dword [rsp + 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
xor r9d, r9d
mov edx, 0x43
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call fcn.0043e160
mov edi, dword [rsp + 0xb8]
xor r8d, r8d
mov edx, 9
mov rcx, r14
mov r9d, edi
call fcn.0043e160
mov edx, dword [rsp + 0x98]
mov rcx, r14
call fcn.0043b3d0
mov dword [rsp + 0x38], edi
mov rdx, r12
mov rcx, rbx
mov rax, qword [rsp + 0x250]
mov esi, dword [rsp + 0xc4]
lea r9, [rsp + 0x110]
mov r8d, 0xffffffff
mov dword [rsp + 0x130], 0
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], esi
call fcn.004a0c30
mov edx, esi
mov rcx, r14
call fcn.0043b3d0
mov edx, 0x43
mov rcx, r14
xor r9d, r9d
mov r8d, dword [rsp + 0x90]
call fcn.0043e160
mov edx, edi
mov rcx, r14
call fcn.0043b3d0
cmp byte [rsp + 0xe1], 3
je 0x49448e
cmp qword [rsp + 0x110], 0
je 0x494062
mov rax, qword [rsp + 0x250]
lea r8, [rsp + 0x110]
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r9d, dword [rax]
call fcn.0046c080
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.0043b3d0
mov edx, dword [rbx + 0x30]
xor eax, eax
test edx, edx
setg al
test r15, r15
je 0x4920b5
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x40], eax
call fcn.00425030
mov eax, dword [rsp + 0x40]
jmp 0x4920b5
mov rsi, qword [rdi + 0x18]
mov r15, qword [rdi + 0x10]
cmp byte [rsi], 0xa7
je 0x4946b0
cmp byte [r15], 0xa7
jne 0x492ecd
movdqu xmm0, xmm7
mov eax, 1
lea rcx, [rsp + 0x170]
mov rdx, rsi
movhps xmm0, qword [0x006264b0]
mov word [rsp + 0x194], ax
mov dword [rsp + 0x198], 0
movups xmmword [rsp + 0x178], xmm0
call fcn.00415c30
cmp word [rsp + 0x194], 0
jne 0x495a4d
mov edi, dword [rsp + 0xf0]
test edi, edi
je 0x49417f
mov rdx, qword [r12 + 0x30]
lea rax, [rsp + 0xe0]
mov dword [rsp + 0x164], 0
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x158], 0
mov dword [rsp + 0x160], 0
mov qword [rsp + 0x168], rax
movups xmmword [rsp + 0x148], xmm6
test rdx, rdx
je 0x494162
call fcn.00415c30
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x49417f
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax]
call fcn.004235b0
mov eax, dword [rsp + 0xf4]
test eax, eax
je 0x492ecd
mov rdi, qword [r12 + 0x30]
jmp 0x492e60
cmp qword [rsp + 0x40], 0
jne 0x492ed6
mov dword [rsp + 0x98], 0
xor r9d, r9d
mov word [r12 + 2], r9w
jmp 0x492f77
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, r14
mov qword [rsp + 0x88], r10
call fcn.0043e160
mov r9, rsi
mov edx, 1
mov rcx, rbx
mov dword [rsp + 0x70], eax
mov eax, dword [rsi + 0x44]
lea r8, str.MATERIALIZE___S
mov byte [rsp + 0x170], 0xc
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call fcn.004614e0
mov r8, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, rbx
call fcn.00491db0
mov r11d, dword [rsp + 0x70]
mov rax, qword [rsi + 0x20]
movzx edx, word [rdi + 2]
mov r10, qword [rsp + 0x88]
test r11d, r11d
mov word [rax + 0x3a], dx
je 0x492d5d
mov rcx, qword [r14]
mov edx, dword [r14 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x494283
movsxd rax, r11d
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x492d5d
mov qword [rsp + 0x110], 0
test r8d, r8d
js 0x492993
mov rcx, qword [r14]
lea rdx, [r14 + 0x88]
call fcn.0045bec0
jmp 0x492993
mov r15, qword [rsp + 0x48]
mov r8d, dword [rax + 4]
mov edx, 0x76
mov rcx, r14
mov r9d, dword [r15]
call fcn.0043e160
test byte [r12 + 5], 8
je 0x4927c8
mov eax, dword [r15]
lea edi, [rax - 1]
test edi, edi
jle 0x494335
movsxd rsi, eax
shl rsi, 5
add rsi, r15
nop dword [rax]
movsxd rax, edi
shl rax, 5
test byte [r15 + rax + 0x1c], 0x40
jne 0x49432e
mov rdx, qword [rsi - 0x18]
test rdx, rdx
je 0x494310
mov rcx, rbp
call fcn.00424ea0
mov rdx, qword [rsi - 0x10]
test rdx, rdx
je 0x49437f
mov rcx, rbp
sub rsi, 0x20
call fcn.004235b0
sub dword [r15], 1
sub edi, 1
jne 0x4942f0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov r8, qword [rsp + 0x48]
lea ecx, [rax - 1]
xor edx, edx
test eax, eax
jg 0x494353
jmp 0x4927c8
mov rdx, rax
movsxd rax, edx
shl rax, 5
test byte [r8 + rax + 0x1c], 0x40
jne 0x494371
mov rax, rdx
shl rax, 5
mov rax, qword [r8 + rax + 8]
mov byte [rax], 0x79
lea rax, [rdx + 1]
cmp rcx, rdx
jne 0x494350
jmp 0x4927c8
sub dword [r15], 1
sub rsi, 0x20
sub edi, 1
jne 0x4942f0
jmp 0x49432e
mov rdx, qword [rsp + 0x48]
mov r8d, 0xffffffff
mov rcx, r10
call fcn.00451e50
test eax, eax
jne 0x4943b5
cmp qword [r12 + 0x70], 0
je 0x495a1a
mov r10, qword [rsp + 0x110]
jmp 0x492748
xor r9d, r9d
mov rcx, rbp
mov edx, 0x92
call fcn.0043e160
mov r9d, dword [r15 + 0x68]
xor r8d, r8d
mov rcx, rbp
mov edx, 0x47
add r9d, 1
call fcn.0043e160
jmp 0x4939c8
cmp al, 0x56
jne 0x493b79
mov r8d, dword [rsp + 0x19c]
xor r9d, r9d
mov edx, 0x24
mov rcx, r13
call fcn.0043e160
jmp 0x493b81
movsxd rdi, dword [r13 + 0x90]
jmp 0x493db6
mov dword [rsp + 0xb0], 0
mov dword [rsp + 0xd4], 0
jmp 0x493865
mov rdi, qword [rsp + 0x68]
mov rcx, rbx
mov r8d, 0xffffffff
mov rdx, r12
lea r9, [rsp + 0x110]
mov eax, dword [rdi + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
call fcn.004a0c30
mov rcx, rdi
call fcn.004af390
jmp 0x494021
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rbx
call fcn.004614e0
jmp 0x49402f
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x4944c0
mov rdx, rax
mov rcx, rbp
call fcn.00425030
mov eax, 1
jmp 0x494078
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
call fcn.0043df10
jmp 0x4939ae
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
call fcn.0043df10
mov r9d, dword [r15 + 0x68]
mov eax, dword [rbp + 0x90]
mov r8d, dword [rbp + 0x94]
jmp 0x493a5a
mov rdi, qword [rsp + 0xa0]
mov r9d, dword [rsp + 0x88]
mov rcx, r13
mov edx, 0x50
mov r8d, dword [rsp + 0xc8]
mov eax, dword [rdi]
mov dword [rsp + 0xa8], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov eax, dword [rdi]
mov rcx, r13
mov edx, 0x50
mov r9d, dword [rsp + 0x1a0]
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0xa8], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov eax, dword [rdi]
mov rcx, r13
mov edx, 0x50
mov r9d, dword [rsp + 0x1a8]
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0xa8], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov eax, dword [rdi]
mov edx, 0x50
mov rcx, r13
mov r9d, dword [rsp + 0x1b0]
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0xa8], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
jmp 0x493c25
mov eax, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0x88]
mov rcx, rbx
mov r8d, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
call fcn.00456430
jmp 0x493cac
cmp byte [rsi + 0x20], 0x59
je 0x49558f
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbx]
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x495790
lea rax, [rsp + 0x140]
movzx r8d, byte [rcx + 0x64]
mov r9d, 0x43
mov qword [rsp + 0x20], rax
call fcn.004511b0
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x495792
call fcn.0040d610
mov rcx, qword [rsp + 0x140]
test eax, eax
jle 0x495792
call fcn.00421e50
mov dword [rsp + 0x194], 1
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x21]
jmp 0x492af1
mov dword [rsp + 0x88], 0
mov dword [rsp + 0xc8], 0
mov byte [rsp + 0xcc], 0
jmp 0x492bf0
mov dword [rsp + 0x198], 0
mov eax, 1
mov word [rsp + 0x194], ax
movups xmmword [rsp + 0x178], xmm8
test r15, r15
je 0x4957a5
lea rcx, [rsp + 0x170]
mov rdx, r15
call fcn.00415c30
cmp word [rsp + 0x194], 0
jne 0x4957a5
cmp byte [r15], 0xa7
jne 0x4940fe
jmp 0x4940b4
mov eax, dword [rsi + 0x84]
mov rdx, rsi
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x494774
lea r11, str.nth_value
lea r10, str.first_value
lea r9, str.lead
lea r8, [0x00623944]
jmp 0x494751
cmp rax, r8
je 0x494774
mov rdx, qword [rdx + 0x40]
test rdx, rdx
je 0x4957c0
mov rax, qword [rdx + 0x50]
mov rax, qword [rax + 0x38]
cmp rax, r11
sete cl
cmp rax, r10
sete sil
or ecx, esi
cmp rax, r9
sete sil
or cl, sil
je 0x49473f
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x58], 0
lea esi, [rax + 1]
add eax, edi
lea ecx, [rax + 1]
add eax, 2
mov dword [rsp + 0xa8], ecx
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x198], eax
jmp 0x492b2e
lea rsi, [rsp + 0x170]
jmp 0x49311e
test ecx, ecx
jle 0x4947e5
sub ecx, 1
mov r8, qword [rsp + 0x40]
mov eax, 0x18
shl rcx, 5
add rcx, 0x38
nop word cs:[rax + rax]
movzx edx, byte [r9 + rax]
and edx, 1
mov byte [r8 + rax], dl
add rax, 0x20
cmp rcx, rax
jne 0x4947d0
mov rcx, qword [rsp + 0x40]
mov r8d, 0xffffffff
mov rdx, r9
call fcn.00451e50
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0x98], eax
jmp 0x492f77
movzx edi, word [rax + 0x20]
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov rcx, rsi
mov edx, 3
call fcn.0049fd60
xor r9d, r9d
cmp di, 0x5859
jne 0x493cfc
mov r8d, dword [rsp + 0x58]
mov rcx, rsi
mov edx, 2
call fcn.0049fd60
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rsi
call fcn.0049fd60
jmp 0x493d21
call fcn.0049fd60
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x20], 0x59
je 0x4959ac
cmp byte [rax + 0x22], 0x5a
mov eax, dword [r13 + 0x90]
mov r9d, 1
mov dword [rsp + 0x68], eax
je 0x495977
mov r8d, dword [rsp + 0x70]
mov edx, 1
mov rcx, rsi
call fcn.0049fd60
mov r8d, dword [rsp + 0x58]
mov edx, 2
mov rcx, rsi
mov r9d, 1
mov dword [rsp + 0x70], eax
call fcn.0049fd60
mov dword [rsp + 0x58], eax
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
mov edx, 9
mov rcx, r13
call fcn.0043e160
mov rdx, qword [r13]
mov r10d, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rdx + 0x67], 0
jne 0x4948fb
movsxd rax, dword [rsp + 0x58]
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov dword [rax + 8], r10d
mov rcx, rsi
mov r9d, 1
xor r8d, r8d
mov edx, 1
mov dword [rsp + 0x58], r10d
call fcn.0049fd60
mov r10d, dword [rsp + 0x58]
xor r8d, r8d
mov rcx, r13
mov edx, 9
mov esi, eax
mov r9d, r10d
call fcn.0043e160
mov rdx, qword [r13]
movsxd rax, dword [r13 + 0x90]
movzx edx, byte [rdx + 0x67]
test dl, dl
jne 0x4955b1
movsxd rcx, dword [rsp + 0x70]
mov r8, qword [r13 + 0x88]
imul rcx, rcx, 0x18
mov dword [r8 + rcx + 8], eax
movsxd rcx, esi
imul rcx, rcx, 0x18
add rcx, r8
jmp 0x493eb4
mov rdx, qword [rdi + 0x18]
lea r15, [rsp + 0xe0]
mov rcx, r15
call fcn.00457350
mov rdx, qword [rdi + 0x10]
mov rcx, r15
call fcn.00457350
jmp 0x4940fe
mov r15, qword [r12 + 0x40]
test r15, r15
je 0x4958b8
xor r15d, r15d
jmp 0x4932ee
lea rdx, [r13 + 0x90]
call fcn.0043b1c0
jmp 0x493d4e
mov rcx, r13
mov r8d, 1
mov edx, 0x47
call fcn.0043e160
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, r13
mov edx, 0x47
mov r9d, dword [rax + 0x88]
call fcn.0043e160
jmp 0x493f38
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x20], 0x59
je 0x4943f7
cmp dword [rsp + 0x70], 0
je 0x4943f7
mov eax, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x70]
mov edx, 0x6b
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r8d, eax
call fcn.0043e0f0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x21]
jmp 0x493b79
mov dword [rsp + 0x20], 0
mov rcx, r13
xor r9d, r9d
mov edx, 0x24
call fcn.0043df10
mov eax, dword [r13 + 0x90]
mov ecx, dword [r13 + 0x94]
jmp 0x493bd2
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x78]
mov edx, 0x7f
mov rcx, r13
call fcn.0043df10
mov r9d, dword [rsp + 0x198]
mov r8d, dword [rsp + 0x78]
jmp 0x4938bd
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, rsi
call fcn.0049fd60
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x22], 0x5a
je 0x493d21
cmp byte [rax + 0x20], 0x59
je 0x495b80
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
jmp 0x493cff
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x92
mov rcx, r13
call fcn.0043df10
jmp 0x493f1c
movzx eax, word [rax + 0x20]
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov rcx, rsi
mov edx, 3
mov word [rsp + 0x68], ax
call fcn.0049fd60
cmp word [rsp + 0x68], 0x5859
je 0x495a95
mov edx, 1
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.0049fd60
mov rdx, qword [r13]
movsxd rax, dword [r13 + 0x90]
movzx edx, byte [rdx + 0x67]
jmp 0x493eb7
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov edx, 0x24
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.0043df10
movsxd rdi, eax
jmp 0x493e07
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x24
mov rcx, r13
call fcn.0043df10
jmp 0x493c17
mov dword [rsp + 0x20], 0
mov edx, 9
xor r8d, r8d
mov rcx, r13
mov r9d, dword [rsp + 0xc0]
call fcn.0043df10
mov edx, dword [r13 + 0x90]
jmp 0x493c72
mov r10d, esi
mov esi, r12d
mov r12, qword [rsp + 0x248]
mov rbx, rcx
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x4959f2
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov r13d, dword [rbx + rax*4 + 0xe4]
mov dword [rsp + 0x20], r13d
mov r8d, r10d
mov r9d, esi
mov edx, 0x61
mov rcx, r14
mov dword [rsp + 0x70], r10d
call fcn.0043e0f0
mov rax, qword [rsp + 0x58]
mov r9d, r13d
mov rcx, r14
mov edx, 0x8b
mov r8d, dword [rax + 4]
call fcn.0043e160
test r13d, r13d
mov r10d, dword [rsp + 0x70]
je 0x494c27
mov edx, r13d
mov rcx, rbx
call fcn.0040da70
mov r10d, dword [rsp + 0x70]
cmp esi, 1
je 0x495a68
cmp dword [rbx + 0x28], esi
jge 0x494c3c
mov dword [rbx + 0x28], esi
mov dword [rbx + 0x2c], r10d
mov rcx, qword [rsp + 0xb0]
call fcn.004af390
mov r13d, dword [rbx + 0x34]
lea eax, [r13 + 1]
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], r13d
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x495a02
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov eax, dword [rbx + rax*4 + 0xe4]
mov dword [rsp + 0xa8], eax
mov r9d, eax
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov edx, 0x79
mov rcx, r14
mov esi, 1
call fcn.0043e0f0
mov rdi, qword [rsp + 0x58]
mov edx, 0x22
mov rcx, r14
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rdi + 4]
call fcn.0043e160
mov byte [rdi + 1], 1
cmp qword [rbx + 0x60], 0
je 0x494d42
lea r8, [rsp + 0x140]
xor eax, eax
mov ecx, 0xc
mov rdi, r8
rep stosd dword [rdi], eax
lea rax, [0x00409c80]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x30]
test ecx, ecx
jle 0x494d42
mov r9, qword [rax + 0x28]
xor edi, edi
lea rax, [rdi + rdi*2]
mov rdx, qword [r9 + rax*8]
test rdx, rdx
je 0x494d3a
mov rcx, r8
mov qword [rsp + 0x70], r8
add rdi, 1
call fcn.00415c30
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x30]
cmp ecx, edi
jle 0x494d42
mov r9, qword [rax + 0x28]
lea rax, [rdi + rdi*2]
mov r8, qword [rsp + 0x70]
mov rdx, qword [r9 + rax*8]
test rdx, rdx
jne 0x494d07
add rdi, 1
cmp ecx, edi
jg 0x494cfa
mov ecx, dword [rsp + 0x98]
test ecx, ecx
je 0x49512c
test byte [rbp + 0x60], 4
jne 0x49512c
test esi, esi
jne 0x495109
mov rax, qword [rsp + 0xb0]
test byte [rax + 0x44], 8
jne 0x495109
mov edi, dword [r14 + 0x90]
mov rax, qword [rsp + 0x40]
xor r13d, r13d
mov eax, dword [rax]
test eax, eax
jle 0x494dce
mov eax, dword [rsp + 0x68]
lea r8d, [rax + r13]
mov rax, qword [rsp + 0x58]
mov byte [rax], 1
cmp qword [rbx + 0x10], 0
je 0x4950f0
mov rcx, qword [rsp + 0x40]
mov rax, r13
add r13, 1
shl rax, 5
mov rdx, qword [rcx + rax + 8]
mov rcx, rbx
call fcn.0049afa0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
cmp eax, r13d
jg 0x494d8a
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x494dde
add dword [rcx], 1
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov edx, 0x5a
mov rcx, r14
mov r8d, dword [rsp + 0xc4]
call fcn.0043e0f0
mov r8, qword [rsp + 0xb8]
mov r9d, 0xfffffff8
mov rcx, r14
mov edx, eax
call fcn.0045e5b0
xor r9d, r9d
mov edx, 0xe
mov rcx, r14
mov r13d, dword [r14 + 0x90]
lea r8d, [r13 + 1]
mov dword [rsp + 0x20], r8d
call fcn.0043e0f0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x10]
mov edx, 0x4f
mov r9d, dword [rsp + 0xc4]
mov r8d, dword [rsp + 0x68]
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov r9d, dword [rsp + 0xd8]
mov edx, 0xa
mov rcx, r14
mov r8d, dword [rsp + 0xd4]
call fcn.0043e160
mov r9d, dword [rsp + 0x88]
mov edx, 0x3b
mov rcx, r14
mov r8d, dword [rsp + 0xd0]
call fcn.0043e160
mov r9d, dword [rsp + 0xc8]
mov edx, 0xa
mov rcx, r14
mov r8d, dword [rsp + 0xc0]
call fcn.0043e160
mov rcx, qword [r14]
mov edx, dword [r14 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x494ed6
movsxd rax, r13d
imul rax, rax, 0x18
add rax, qword [r14 + 0x88]
mov dword [rax + 8], edx
mov r13, qword [rsp + 0x58]
mov rcx, rbx
mov r9d, dword [rsp + 0xcc]
mov edx, dword [rsp + 0xa0]
mov r8, r13
call fcn.004a54f0
mov r9d, dword [rsp + 0xa0]
mov edx, 0x47
mov rcx, r14
mov r8d, 1
call fcn.0043e160
test esi, esi
je 0x4951f6
mov r8d, dword [r13 + 4]
mov r9d, edi
mov edx, 0x25
mov rcx, r14
call fcn.0043e160
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x494f44
mov rdx, rax
mov rcx, rbp
call fcn.00425030
mov r13d, dword [rsp + 0xd4]
mov esi, dword [rsp + 0xd8]
mov edx, 0xa
mov rcx, r14
mov r9d, esi
mov r8d, r13d
call fcn.0043e160
xor r8d, r8d
mov edx, 9
mov rcx, r14
mov r9d, dword [rsp + 0x88]
call fcn.0043e160
mov r9d, dword [rsp + 0xd0]
mov edx, 0x47
mov rcx, r14
mov r8d, 1
mov edi, dword [r14 + 0x90]
call fcn.0043e160
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov rcx, r14
call fcn.0043e160
mov edx, esi
mov rcx, r14
call fcn.0043b3d0
mov esi, dword [r14 + 0x90]
mov edx, 0x3b
mov rcx, r14
mov r8d, dword [rsp + 0xa0]
lea r9d, [rsi + 2]
add esi, 1
call fcn.0043e160
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov rcx, r14
call fcn.0043e160
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x58]
call fcn.0043e1e0
mov rdx, qword [rsp + 0x80]
mov r8d, esi
mov rcx, rbx
mov r9d, 0x10
call fcn.00498a30
mov dword [rsp + 0x38], edi
mov rdx, r12
mov rcx, rbx
mov rax, qword [rsp + 0x250]
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0x110]
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
call fcn.004a0c30
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov rcx, r14
call fcn.0043e160
mov edx, dword [rsp + 0xc8]
mov rcx, r14
call fcn.0043b3d0
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.00461680
xor r8d, r8d
mov edx, 0x47
mov rcx, r14
mov r9d, dword [rsp + 0xa0]
call fcn.0043e160
xor r9d, r9d
mov edx, 0x43
mov rcx, r14
mov r8d, dword [rsp + 0xc0]
call fcn.0043e160
cmp word [rsp + 0x90], 0
je 0x4950dc
mov eax, dword [rsp + 0xcc]
test eax, eax
je 0x4950dc
cmp dword [rbx + 0x30], 0
jne 0x4950dc
sub eax, 1
cmp eax, 1
jbe 0x495c11
mov edx, dword [rsp + 0x88]
mov rcx, r14
call fcn.0043b3d0
jmp 0x494021
mov rax, qword [rsp + 0x40]
add r13, 1
mov eax, dword [rax]
cmp eax, r13d
jg 0x494d8a
jmp 0x494dce
mov r8d, dword [rsp + 0x128]
mov rcx, qword [r14]
lea rdx, [r14 + 0x88]
mov qword [rsp + 0x110], 0
call fcn.0045bec0
mov edi, dword [r14 + 0x90]
test esi, esi
je 0x494d7c
mov rax, qword [rsp + 0x58]
mov r9d, dword [rsp + 0xa8]
mov edx, 0x85
mov rcx, r14
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], r13d
call fcn.0043e0f0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
test eax, eax
jle 0x494dce
mov dword [rsp + 0x70], esi
mov esi, dword [rsp + 0x68]
mov qword [rsp + 0x98], rbp
mov rbp, r14
mov r14, r12
mov r12d, dword [rsp + 0x50]
mov dword [rsp + 0xa8], edi
mov edi, r13d
mov r13, rbx
mov rbx, qword [rsp + 0x40]
lea eax, [rsi + r12]
mov r9d, r12d
mov r8d, edi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, rbp
add r12d, 1
call fcn.0043e0f0
mov eax, dword [rbx]
cmp eax, r12d
jg 0x49519a
mov r12, r14
mov esi, dword [rsp + 0x70]
mov r14, rbp
mov rbx, r13
mov edi, dword [rsp + 0xa8]
mov rbp, qword [rsp + 0x98]
jmp 0x494dce
imul rdx, rdx, 0x70
mov rsi, qword [rsp + 0x68]
mov edx, dword [rsi + rdx + 0x370]
jmp 0x492983
mov rcx, qword [rsp + 0xb0]
call fcn.004af390
mov r8d, dword [rsp + 0xdc]
mov rcx, qword [r14]
lea rdx, [r14 + 0x88]
call fcn.0045bec0
jmp 0x494f2f
cmp qword [r12 + 0x30], 0
jne 0x495e41
mov rcx, qword [r12 + 0x20]
cmp dword [rcx], 1
jne 0x495e41
mov rax, qword [r12 + 0x28]
cmp dword [rax], 1
jne 0x495e41
cmp qword [rax + 0x30], 0
jne 0x495e41
cmp edx, 1
jne 0x495dbd
cmp qword [r12 + 0x40], 0
jne 0x495cb7
mov rdi, qword [rax + 0x28]
cmp byte [rdi + 0x3f], 0
jne 0x495cb7
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x58]
cmp byte [rcx], 0xa8
jne 0x495f60
cmp rax, qword [rcx + 0x38]
jne 0x495f60
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov r8, qword [rax + 8]
test byte [r8 + 5], 1
je 0x495cc0
test dword [rcx + 4], 0x1000004
jne 0x495cc0
mov rdx, qword [rdi + 0x60]
mov rcx, qword [rbx]
test rdx, rdx
je 0x495f69
call fcn.0040df00
mov r13d, eax
mov eax, dword [rbx + 0x34]
mov r10d, dword [rdi + 0x28]
mov edx, r13d
mov rcx, rbx
mov dword [rsp + 0x40], eax
add eax, 1
mov dword [rbx + 0x34], eax
mov dword [rsp + 0x50], r10d
call fcn.0048c730
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
xor r9d, r9d
mov edx, r13d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.0043c4e0
test byte [rdi + 0x30], 0x80
mov r10d, dword [rsp + 0x50]
je 0x49546a
mov rax, qword [rdi + 0x10]
mov rsi, rax
test rax, rax
jne 0x49533d
jmp 0x49546a
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x49546a
movzx edx, byte [rsi + 0x64]
and edx, 3
cmp dl, 2
jne 0x495330
mov rdx, qword [r12 + 0x28]
test byte [rdx + 0x48], 1
je 0x495480
mov r9d, dword [rsi + 0x58]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x68], r9d
call fcn.0045ab00
mov dword [rsp + 0x28], 1
mov r9d, dword [rsp + 0x68]
mov rcx, r14
mov dword [rsp + 0x20], r13d
mov r8d, dword [rsp + 0x40]
mov edx, 0x70
mov qword [rsp + 0x50], rax
call fcn.0043e610
mov r10, qword [rsp + 0x50]
test r10, r10
je 0x4953b3
mov r9d, 0xfffffff8
mov r8, r10
or edx, 0xffffffff
mov rcx, r14
call fcn.0045e5b0
mov edx, dword [rbx + 0x38]
mov rcx, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x40]
lea eax, [rdx + 1]
mov dword [rcx + 0xc], eax
mov eax, dword [rcx + 0x20]
mov r8d, r13d
add eax, dword [rcx + 0x30]
add eax, edx
mov edx, 0x62
mov dword [rbx + 0x38], eax
mov r9d, dword [rcx + 0xc]
add r9d, dword [rcx + 0x20]
mov rcx, r14
call fcn.0043e160
xor r9d, r9d
mov r8d, r13d
mov edx, 0x7a
mov rcx, r14
call fcn.0043e160
cmp byte [rbx + 0x133], 2
je 0x495e63
mov edi, dword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r9d, 0x10
mov qword [rsp + 0x110], 0
mov r8d, edi
call fcn.00498a30
mov dword [rsp + 0x38], edi
xor r9d, r9d
or r8d, 0xffffffff
mov rax, qword [rsp + 0x250]
mov dword [rsp + 0x30], edi
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call fcn.004a0c30
jmp 0x4950dc
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x4954ad
mov rax, qword [rdi + 0x10]
xor esi, esi
test rax, rax
je 0x4954ad
test byte [rax + 0x64], 4
jne 0x49549b
movzx edx, word [rax + 0x5c]
cmp dx, word [rdi + 0x3c]
jge 0x49549b
cmp qword [rax + 0x48], 0
je 0x495b69
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x495480
test rsi, rsi
jne 0x495358
mov dword [rsp + 0x20], r13d
mov r13d, dword [rsp + 0x40]
mov r9d, r10d
mov rcx, r14
mov dword [rsp + 0x28], 1
mov edx, 0x70
mov r8d, r13d
call fcn.0043e610
mov edx, dword [rbx + 0x38]
mov rsi, qword [rsp + 0x58]
mov r8d, r13d
mov rcx, r14
lea eax, [rdx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x20]
add eax, dword [rsi + 0x30]
add eax, edx
mov edx, 0x62
mov dword [rbx + 0x38], eax
mov r9d, dword [rsi + 0xc]
add r9d, dword [rsi + 0x20]
call fcn.0043e160
xor r9d, r9d
mov r8d, r13d
mov edx, 0x7a
mov rcx, r14
call fcn.0043e160
cmp byte [rbx + 0x133], 2
jne 0x495409
lea rax, [0x00617534]
mov rdx, rax
mov qword [rsp + 0x20], rdx
lea r8, str.SCAN__s_s_s
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov r9, qword [rdi]
call fcn.004614e0
jmp 0x495409
cmp qword [rdx + 0x308], 0
jne 0x49380b
test rdi, rdi
je 0x49380b
sub dword [rdi], 1
jne 0x49380b
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov dword [rsp + 0xd0], eax
call fcn.0040c530
mov eax, dword [rsp + 0xd0]
jmp 0x49380b
mov eax, dword [rbx + 0x38]
lea edx, [rdi + rax]
lea esi, [rax + 1]
lea eax, [rdx + 1]
mov dword [rsp + 0xa8], eax
lea eax, [rdx + 2]
mov dword [rsp + 0x198], eax
jmp 0x492b24
mov dword [0x0066e7a8], eax
lea rcx, [0x0066e7a0]
jmp 0x493eb4
cmp dword [rsp + 0x70], 0
je 0x493cf9
mov eax, dword [rbx + 0x44]
mov r9d, dword [rsp + 0x70]
mov edx, 0x39
mov rcx, rsi
mov edi, dword [r13 + 0x90]
mov r8d, dword [rsp + 0x1a4]
lea r10d, [rax - 1]
mov eax, dword [rsp + 0x1ac]
mov dword [rbx + 0x44], r10d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x88], r10d
call fcn.00460020
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rsi
call fcn.0049fd60
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov edx, 2
mov rcx, rsi
call fcn.0049fd60
mov rcx, r13
mov r9d, edi
xor r8d, r8d
mov edx, 9
call fcn.0043e160
mov r10d, dword [rsp + 0x88]
mov rcx, r13
mov edx, r10d
call fcn.0043b3d0
jmp 0x493d21
mov rax, qword [rax + 0x28]
cmp dword [rax + 0x10], 0
js 0x493338
mov rax, qword [rax]
test rax, rax
je 0x495bf0
test byte [rax + 5], 0x10
jne 0x493338
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x493338
mov r9, qword [rax + 8]
test r9, r9
je 0x4956b2
mov rdx, r9
mov rcx, rbp
call fcn.00436990
mov r9, rax
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x68], r9
call fcn.00437330
mov r9, qword [rsp + 0x68]
mov rcx, rbx
mov rdx, rax
mov r8, r9
call fcn.0043ad20
cmp rax, 1
mov qword [rsp + 0x78], rax
sbb r10d, r10d
and r10w, 0xfb00
add r10w, 0x540
cmp rax, 1
sbb r11d, r11d
not r11d
and r11w, 0x500
cmp rax, 1
sbb eax, eax
not eax
and ax, 0x500
mov word [rsp + 0x90], ax
jmp 0x49334d
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov edx, 0x3b
mov rcx, r13
mov dword [rsp + 0x20], 1
call fcn.0043e0f0
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rsi
mov edi, eax
call fcn.0049fd60
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov rcx, rsi
mov edx, 2
call fcn.0049fd60
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x495788
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov dword [rax + 8], edx
jmp 0x493d21
xor ecx, ecx
call fcn.00421e50
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x21]
jmp 0x492af1
lea rcx, [rsp + 0xe0]
mov r9, rdi
mov r8, r15
mov rdx, rsi
call fcn.00457190
jmp 0x4946f9
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x22], 0x58
je 0x495aaf
mov dword [rsp + 0x194], 1
jmp 0x494774
xor edx, edx
cmp al, 0x56
mov eax, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x58]
sete dl
mov rcx, r13
xor r9d, r9d
mov dword [rsp + 0x20], eax
lea edx, [rdx + rdx + 0x37]
call fcn.0043e0f0
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
xor r8d, r8d
mov edi, eax
call fcn.0043e980
xor r9d, r9d
mov edx, 0x24
mov rcx, r13
mov r8d, dword [rsp + 0x1a4]
call fcn.0043e160
mov rcx, rsi
call fcn.0049eb30
xor r9d, r9d
mov edx, 0x92
mov rcx, r13
mov r8d, dword [rsp + 0x1a4]
call fcn.0043e160
xor r8d, r8d
mov edx, 9
mov rcx, r13
mov r9d, dword [rsp + 0xc0]
call fcn.0043e160
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x495892
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x21]
jmp 0x493b71
mov dword [rsp + 0xa8], 0
xor r13d, r13d
xor esi, esi
jmp 0x494cbe
cmp dword [rdi + 0x30], 1
jne 0x4932ee
mov rax, qword [rdi + 0x28]
mov rax, qword [rax]
mov r9, qword [rax + 0x20]
test r9, r9
je 0x4932ee
mov edi, dword [r9]
cmp edi, 1
jne 0x4932ee
test byte [rax + 7], 1
jne 0x4932ee
test byte [rbp + 0x62], 1
jne 0x4932ee
mov r10, qword [rax + 8]
xor edx, edx
lea r11, [0x0061955f]
lea rcx, [0x00625d40]
jmp 0x49591f
movzx r8d, byte [rcx + r8]
cmp byte [rcx + rax], r8b
jne 0x495f01
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx r8d, byte [r11 + rdx]
cmp eax, r8d
jne 0x49590c
test eax, eax
jne 0x49591b
mov rcx, qword [r9 + 8]
call fcn.00409050
movzx ecx, byte [rsp + 0x68]
test eax, eax
mov eax, 2
cmovne ecx, eax
mov byte [rsp + 0x68], cl
xor r8d, r8d
mov rdx, r9
mov rcx, rbp
call fcn.00437330
mov r15, rax
test rax, rax
je 0x49596d
movzx eax, byte [rsp + 0x68]
mov byte [r15 + 0x18], al
mov byte [rsp + 0x68], dil
jmp 0x4932ee
mov r8d, dword [rsp + 0x58]
mov edx, 1
mov rcx, rsi
call fcn.0049fd60
xor r8d, r8d
mov edx, 2
mov rcx, rsi
mov r9d, 1
mov dword [rsp + 0x70], eax
call fcn.0049fd60
mov dword [rsp + 0x58], eax
jmp 0x4948be
mov eax, dword [r13 + 0x90]
mov r8d, dword [rsp + 0x58]
mov edx, 2
mov rcx, rsi
mov r9d, 1
mov dword [rsp + 0x68], eax
call fcn.0049fd60
xor r8d, r8d
mov edx, 1
mov rcx, rsi
mov r9d, 1
mov dword [rsp + 0x58], eax
call fcn.0049fd60
mov dword [rsp + 0x70], eax
jmp 0x4948be
mov eax, dword [rbx + 0x38]
lea r13d, [rax + 1]
mov dword [rbx + 0x38], r13d
jmp 0x494bd7
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0xa8], eax
mov r9d, eax
mov dword [rbx + 0x38], eax
jmp 0x494c83
and dword [r12 + 4], 0xfffffffe
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, rbp
call fcn.00437330
or dword [r12 + 4], 8
mov qword [rsp + 0x40], rax
mov qword [r12 + 0x38], rax
mov byte [rsp + 0xe0], 2
jmp 0x4943b5
lea rcx, [rsp + 0xe0]
mov r9, rdi
mov r8, rsi
mov rdx, r15
call fcn.00457190
jmp 0x4940fe
mov edx, r10d
mov rcx, rbx
call fcn.00410e00
jmp 0x494c3c
mov rcx, qword [rsp + 0x58]
imul rax, rax, 0x18
add rax, qword [rcx + 0x18]
movzx eax, word [rax - 2]
add eax, 1
mov word [rcx + 2], ax
jmp 0x493523
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov edx, 2
mov rcx, rsi
call fcn.0049fd60
jmp 0x494b0c
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x20], 0x59
je 0x494774
mov rdx, qword [rax + 0x30]
mov rcx, qword [rbx]
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x49467f
lea rax, [rsp + 0x140]
movzx r8d, byte [rcx + 0x64]
mov r9d, 0x43
mov qword [rsp + 0x20], rax
call fcn.004511b0
mov rcx, qword [rsp + 0x140]
mov rsi, rcx
test rcx, rcx
je 0x49467f
movzx eax, word [rcx + 0x14]
test al, 0x24
jne 0x495ffe
test al, 8
jne 0x495c37
test al, 0x12
je 0x495c4f
cmp qword [rcx + 8], 0
je 0x495c4f
call fcn.00408bd0
test eax, eax
jle 0x495fa5
mov rsi, qword [rsp + 0x140]
test rsi, rsi
jne 0x495fe7
mov dword [rsp + 0x194], 3
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x21]
jmp 0x492af1
test rsi, rsi
je 0x495b78
cmp dx, word [rsi + 0x5c]
jge 0x49549b
mov rsi, rax
jmp 0x49549b
mov eax, dword [rbx + 0x44]
mov r9d, dword [rsp + 0x70]
mov edx, 0x39
mov rcx, rsi
mov r8d, dword [rsp + 0x1a4]
lea r10d, [rax - 1]
mov eax, dword [rsp + 0x1ac]
mov dword [rbx + 0x44], r10d
mov edi, dword [r13 + 0x90]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x88], r10d
call fcn.00460020
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov rcx, rsi
mov edx, 2
call fcn.0049fd60
xor r9d, r9d
xor r8d, r8d
mov edx, 1
jmp 0x495632
mov esi, edi
jmp 0x4935f3
mov qword [rsp + 0x78], 0
mov r10d, 0x40
xor r11d, r11d
mov word [rsp + 0x90], 0
jmp 0x49334d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbx + 0x10]
mov edx, dword [rsp + 0xcc]
mov rax, qword [rax + 0x28]
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.00462540
jmp 0x4950dc
movsd xmm0, qword [rcx]
call fcn.00408b90
test eax, eax
mov rsi, rcx
setg al
movzx eax, al
mov dword [rsp + 0x58], eax
test word [rsi + 0x14], 0x9000
jne 0x495c5d
cmp dword [rsi + 0x20], 0
je 0x495c65
mov rcx, rsi
call fcn.00421bb0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x495c9f
cmp qword [rcx + 0x1f0], rsi
jbe 0x495c91
cmp qword [rcx + 0x1e0], rsi
jbe 0x495fd1
cmp qword [rcx + 0x1e8], rsi
jbe 0x495fbb
cmp qword [rcx + 0x308], 0
jne 0x495f98
mov rcx, rsi
call fcn.0040c4a0
cmp dword [rsp + 0x58], 0
jne 0x495b50
jmp 0x49467f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov rdi, qword [rsp + 0x58]
cmp dword [rdi + 0x24], 0
jne 0x495dd9
xor esi, esi
cmp dword [rax + 0x10], 0
js 0x495cf0
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
cmp rax, 1
mov qword [rsp + 0x40], rax
sbb esi, esi
not esi
and si, 0x500
mov ecx, dword [rbx + 0x38]
mov rdi, qword [rsp + 0x58]
lea eax, [rcx + 1]
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 0x20]
add eax, edx
mov rdx, rdi
add eax, ecx
mov rcx, rbx
mov dword [rbx + 0x38], eax
call fcn.00461680
movzx eax, byte [rsp + 0x68]
mov rdx, r13
mov r9, r15
mov dword [rsp + 0x38], 0
mov r8, qword [rsp + 0x70]
mov rcx, rbx
or eax, esi
mov qword [rsp + 0x28], r12
movzx eax, ax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.004a9390
mov r13, rax
test rax, rax
je 0x4944c0
movzx esi, byte [rax + 0x43]
mov edx, dword [rsp + 0x50]
mov r8, rdi
mov rcx, rbx
mov r9d, esi
call fcn.004a54f0
test esi, esi
je 0x495d8c
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x495d8c
cmp dword [rbx + 0x30], 0
jne 0x495d8c
lea edx, [rsi - 1]
cmp edx, 1
jbe 0x495f48
cmp dword [rsp + 0x50], 0
jne 0x495ee4
cmp byte [rsp + 0x68], 0
jne 0x495e87
mov rcx, r13
call fcn.004af390
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x58]
call fcn.0043e1e0
jmp 0x495409
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x24], 0
je 0x495e32
test edx, edx
jle 0x495f41
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
xor ecx, ecx
mov r8, qword [rax]
test byte [r8 + 7], 1
jne 0x495df0
mov r8, qword [rax + 8]
test byte [r8 + 4], 0x20
jne 0x495e3a
add ecx, 1
add rax, 0x18
cmp ecx, edx
jl 0x495ddb
xor esi, esi
cmp edx, ecx
jne 0x495cf0
mov eax, dword [rbx + 0x38]
mov edx, 0x47
xor r8d, r8d
mov rcx, r14
add eax, 1
mov dword [rbx + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x50], eax
call fcn.0043e160
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x30]
jmp 0x495cf0
mov dword [rsp + 0x50], 0
xor esi, esi
jmp 0x495cf0
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x24], 0
jne 0x495dc8
cmp edx, 1
jne 0x495e32
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
jmp 0x495ccf
test byte [rdi + 0x30], 0x80
je 0x495e78
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
je 0x495523
mov rax, qword [rsi]
lea rdx, str._USING_COVERING_INDEX
jmp 0x49552d
test byte [r13 + 0x44], 4
je 0x495da2
cmp byte [r13 + 0x41], 0
je 0x495da2
movzx eax, byte [r13 + 0x40]
sub eax, 1
cdqe
jmp 0x495ec3
imul rcx, rax, 0x70
sub rax, 1
mov rcx, qword [r13 + rcx + 0x3c0]
test byte [rcx + 0x38], 4
jne 0x495f74
mov edx, eax
cmp rax, 0xffffffffffffffff
jne 0x495ea9
mov r9d, dword [r13 + 0x34]
xor r8d, r8d
mov edx, 9
mov rcx, r14
call fcn.0043e160
jmp 0x495da2
mov r9d, dword [rsp + 0x50]
mov r8d, 1
mov edx, 0x47
mov rcx, r14
call fcn.0043e160
jmp 0x495d97
xor edx, edx
lea r11, [0x00619563]
jmp 0x495f1f
movzx edi, byte [rcx + r8]
cmp byte [rcx + rax], dil
jne 0x4932ee
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx r8d, byte [r11 + rdx]
cmp eax, r8d
jne 0x495f0c
test eax, eax
jne 0x495f1b
mov byte [rsp + 0x68], 1
mov edi, 2
jmp 0x49594e
xor ecx, ecx
jmp 0x495dfb
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rax + 0x14]
mov edx, esi
mov r8d, dword [rax + 0x10]
call fcn.00462540
jmp 0x495d8c
mov rax, qword [rax + 0x28]
jmp 0x495cc0
mov r13d, 0xffff8000
jmp 0x4952ce
movsxd rax, edx
xor r8d, r8d
mov edx, 9
mov rcx, r14
imul rax, rax, 0x70
mov r9d, dword [r13 + rax + 0x370]
call fcn.0043e160
jmp 0x495da2
mov rdx, rsi
call fcn.004068e0
jmp 0x495ca7
mov rsi, qword [rsp + 0x140]
test rsi, rsi
jne 0x495c4f
jmp 0x49467f
mov rax, qword [rcx + 0x1c8]
mov qword [rsi], rax
mov qword [rcx + 0x1c8], rsi
jmp 0x495ca7
mov rax, qword [rcx + 0x1d8]
mov qword [rsi], rax
mov qword [rcx + 0x1d8], rsi
jmp 0x495ca7
mov dword [rsp + 0x58], 1
jmp 0x495c4f
mov byte [rsp + 0x70], 1
jmp 0x4924d4
mov rax, qword [rcx]
jmp 0x495c40