Function at 0x4b0d00
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
movdqu xmm2, xmmword [r8 + 0x10]
movdqu xmm0, xmmword [r8]
mov rax, qword [r8 + 0x20]
mov rbx, qword [rcx + 0x10]
mov r15, qword [rcx]
mov rsi, qword [rdx + 0x50]
mov qword [rsp + 0x1d0], r8
mov r13, rcx
mov r14, rdx
mov qword [rsp + 0x100], rax
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0xf0], xmm2
test rbx, rbx
jne 0x4b0d65
call fcn.0043e380
mov rbx, rax
cmp byte [rsp + 0xe0], 0xc
je 0x4b11a0
mov ecx, dword [r14 + 4]
test ch, 4
jne 0x4b1000
and ch, 0x20
je 0x4b0da3
mov rax, r14
jmp 0x4b0d9a
test byte [rax + 5], 0x20
je 0x4b10e8
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x4b0d90
mov r12, qword [r14 + 0x48]
test r12, r12
jne 0x4b0f60
cmp qword [rsi + 0x50], 0
je 0x4b2890
movzx eax, byte [r14]
cmp al, 0x87
je 0x4b2058
add eax, 0x7a
test al, 0xfd
je 0x4b1e80
mov edi, dword [r13 + 0x34]
xor r9d, r9d
mov edx, 0x76
mov rcx, rbx
lea eax, [rdi + 2]
mov r8d, edi
mov dword [r13 + 0x34], eax
call fcn.0043e160
mov dword [r14 + 0x14], eax
mov rax, r14
nop word [rax + rax]
mov rdx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x4b0e00
or dword [rdx + 4], 0x20
lea r12, [rsp + 0x140]
mov rdx, rsi
mov rcx, r13
mov r8, r12
mov byte [rsp + 0x140], 1
mov dword [rsp + 0x144], edi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.00491db0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x4b1e60
lea ebp, [rdi + 1]
xor r9d, r9d
mov edx, 0x76
mov rcx, rbx
mov r8d, ebp
call fcn.0043e160
mov qword [r14 + 0x50], 0
lea r9, str.EXCEPT
mov dword [r14 + 0x18], eax
mov rax, qword [r14 + 0x60]
mov dword [rsp + 0x144], ebp
mov qword [rsp + 0x70], rax
movzx eax, byte [r14]
mov qword [r14 + 0x60], 0
cmp al, 0x88
je 0x4b0ecc
lea r9, str.INTERSECT
cmp al, 0x89
je 0x4b0ecc
cmp al, 0x87
lea r9, str.UNION
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str._s_USING_TEMP_B_TREE
mov edx, 1
mov rcx, r13
call fcn.004614e0
mov r8, r12
mov rdx, r14
mov rcx, r13
call fcn.00491db0
mov dword [rsp + 0x50], eax
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x50], rsi
mov qword [rsp + 0x68], rax
movzx eax, word [rsi + 2]
cmp word [r14 + 2], ax
jle 0x4b0f0f
mov word [r14 + 2], ax
mov rdx, qword [r14 + 0x60]
test rdx, rdx
je 0x4b0f20
mov rcx, r15
call fcn.00424ea0
mov rax, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x50]
mov qword [r14 + 0x60], rax
test r10d, r10d
je 0x4b2b77
nop word [rax + rax]
cmp qword [r14 + 0x58], 0
je 0x4b2850
mov r9d, dword [r13 + 0x30]
test r9d, r9d
jne 0x4b1122
jmp 0x4b1117
mov eax, dword [r13 + 0x44]
mov rdi, qword [r13]
mov r15, qword [r13 + 0x10]
lea ebx, [rax - 1]
mov dword [rsp + 0xbc], eax
sub eax, 2
mov dword [r13 + 0x44], eax
mov dword [rsp + 0x88], eax
movzx eax, byte [r14]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x70], eax
mov ebp, eax
mov eax, dword [r12]
mov dword [rsp + 0x80], ebx
mov dword [rsp + 0x68], eax
cmp bpl, 0x87
je 0x4b29f0
cmp byte [rdi + 0x67], 0
mov esi, eax
mov ebx, 1
jne 0x4b26c6
mov r8, qword [r14 + 0x20]
cmp ebx, dword [r8]
jg 0x4b26c0
lea rax, [r12 + 8]
test esi, esi
jle 0x4b1430
xor edx, edx
jmp 0x4b0fef
add edx, 1
add rax, 0x20
cmp edx, esi
je 0x4b1440
movzx ecx, word [rax + 0x18]
cmp ebx, ecx
jne 0x4b0fe0
add ebx, 1
jmp 0x4b0fc1
mov rdi, qword [r14 + 0x60]
xor edx, edx
test rdi, rdi
sete dl
cmp qword [r14 + 0x70], 0
jne 0x4b0d80
mov rax, r14
mov ebp, 1
jmp 0x4b1035
add ebp, edx
cmp qword [rax + 0x70], 0
jne 0x4b0d80
mov r12, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x4b1028
cmp ebp, 1
lea rdx, [0x00619cea]
mov r9d, ebp
mov rcx, r13
lea rax, [0x00617534]
lea r8, str.SCAN__d_CONSTANT_ROW_s
cmovne rax, rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.004614e0
test rdi, rdi
jne 0x4b2810
lea rdi, [rsp + 0xe0]
mov qword [rsp + 0x28], rdi
mov rdx, r12
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x38], 1
mov r8d, 0xffffffff
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], 0
call fcn.004a0c30
mov word [r12 + 2], bp
mov r12, qword [r12 + 0x58]
test r12, r12
jne 0x4b1080
mov rax, qword [rsp + 0xec]
mov rdi, qword [rsp + 0x1d0]
mov dword [rsp + 0x50], 0
mov qword [rdi + 0xc], rax
jmp 0x4b1183
cmp qword [r14 + 0x70], 0
je 0x4b11d0
lea rdx, str.cannot_use_window_functions_in_recursive_queries
mov rcx, r13
call fcn.0042c9e0
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x4b10c2
mov qword [rsp + 0x68], 0
test byte [r14 + 4], 0x20
jne 0x4b24c8
mov rax, qword [rsp + 0xec]
mov rdi, qword [rsp + 0x1d0]
cmp qword [rsp + 0x68], 0
mov qword [rdi + 0xc], rax
je 0x4b1183
mov rcx, qword [r13]
test rcx, rcx
je 0x4b2690
mov edx, 0x18
call fcn.0042cd60
test rax, rax
je 0x4b2920
mov rdx, qword [r13 + 0xc0]
mov rdi, qword [rsp + 0x68]
mov qword [rax], rdx
mov qword [r13 + 0xc0], rax
mov qword [rax + 8], rdi
lea rdi, [0x00424e80]
mov qword [rax + 0x10], rdi
mov eax, dword [rsp + 0x50]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r14 + 0x20]
mov r8d, dword [rsp + 0xe4]
mov edx, 0x76
mov rcx, rbx
mov r9d, dword [rax]
call fcn.0043e160
mov byte [rsp + 0xe0], 0xe
jmp 0x4b0d73
mov rax, qword [r14 + 0x20]
mov rsi, qword [r14 + 0x28]
mov edi, dword [rax]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [r13]
mov r10, qword [rax + 0x200]
test r10, r10
je 0x4b1250
cmp byte [rax + 0xc5], 0
jne 0x4b1250
cmp byte [r13 + 0x134], 0
jne 0x4b1250
mov rcx, qword [rax + 0x208]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x21
mov rax, qword [r13 + 0x178]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call r10
cmp eax, 1
je 0x4b34d5
test eax, 0xfffffffd
jne 0x4b34b9
test eax, eax
jne 0x4b1102
nop dword [rax]
mov eax, dword [r13 + 0x44]
mov edx, 0x140
mov rcx, r13
sub eax, 1
mov dword [r13 + 0x44], eax
mov r8d, eax
mov word [r14 + 2], dx
mov rdx, r14
mov dword [rsp + 0x78], eax
call fcn.0049c050
mov rax, qword [r14 + 0x60]
xor edx, edx
mov qword [r14 + 0x60], 0
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 8]
mov dword [rsp + 0x90], eax
mov eax, dword [r14 + 0xc]
mov qword [r14 + 8], 0
mov ecx, dword [rsi]
mov dword [rsp + 0x98], eax
test ecx, ecx
jg 0x4b12cb
jmp 0x4b3289
add edx, 1
cmp edx, ecx
je 0x4b3289
movsxd rax, edx
lea r8, [rax + rax*2]
lea rax, [rax + r8*4]
lea rax, [rsi + rax*8]
test byte [rax + 0x48], 0x40
je 0x4b12c0
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x70], eax
mov rax, qword [r14 + 0x48]
mov esi, dword [r13 + 0x34]
mov qword [rsp + 0x68], rax
mov eax, dword [r13 + 0x38]
lea ebp, [rsi + 1]
mov dword [r13 + 0x34], ebp
add eax, 1
cmp byte [r14], 0x86
mov dword [rsp + 0x88], eax
je 0x4b3330
cmp qword [rsp + 0x68], 0
je 0x4b344d
mov dword [r13 + 0x38], eax
mov r8d, dword [rsp + 0x70]
mov r9d, eax
xor ebp, ebp
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x50]
mov edx, 0x79
mov byte [rsp + 0x140], 7
mov dword [rsp + 0x144], esi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.0043e0f0
mov rdx, r14
mov rcx, r13
call fcn.00456c10
mov r12, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov r8d, esi
mov edx, 0x76
mov rdi, rax
mov r9d, dword [r12]
add r9d, 2
call fcn.0043e160
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff8
mov r8, rdi
mov edx, eax
call fcn.0045e5b0
mov qword [rsp + 0x160], r12
test ebp, ebp
jne 0x4b33b7
mov eax, dword [r14 + 4]
mov qword [r14 + 0x48], 0
mov rbp, r14
jmp 0x4b13ef
mov rdi, qword [rbp + 0x50]
mov byte [rbp], 0x87
mov eax, dword [rdi + 4]
test ah, 0x20
je 0x4b30ab
mov rbp, rdi
test al, 8
je 0x4b13d8
lea rdx, str.recursive_aggregate_queries_not_supported
mov rcx, r13
call fcn.0042c9e0
mov rdx, qword [r14 + 0x48]
test rdx, rdx
je 0x4b1414
mov rcx, qword [r13]
call fcn.00425030
mov rax, qword [rsp + 0x68]
mov qword [r14 + 0x48], rax
mov rax, qword [rsp + 0x80]
mov qword [r14 + 0x60], rax
jmp 0x4b1102
jne 0x4b0ff7
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x50]
mov edx, 0x49
call fcn.0042cd60
mov r8, rax
test rax, rax
je 0x4b33e0
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], 0
mov byte [rax], 0x9b
mov eax, 0xffffffff
mov word [r8 + 0x32], ax
lea rax, [r8 + 0x48]
mov qword [r8 + 8], rax
mov byte [r8 + 0x48], 0
mov dword [r8 + 0x28], 1
mov dword [r8 + 4], 0x800
mov dword [r8 + 8], ebx
test r12, r12
je 0x4b3050
movsxd rax, dword [r12]
cmp eax, dword [r12 + 4]
jge 0x4b27e0
lea edx, [rax + 1]
shl rax, 5
add rax, r12
mov dword [r12], edx
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 8], r8
mov qword [r14 + 0x48], r12
movsxd rax, esi
add esi, 1
shl rax, 5
mov word [r12 + rax + 0x20], bx
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x67]
add ebx, 1
test al, al
je 0x4b0fbd
mov dword [rsp + 0x68], esi
lea edx, [rsi + 1]
mov rcx, qword [rsp + 0x50]
movsxd rdx, edx
shl rdx, 2
call fcn.0042cd60
mov edi, dword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0xd8], edi
sub edi, 0x86
mov dword [rsp + 0xb8], edi
test rax, rax
je 0x4b2288
mov rdi, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x68]
mov dword [rdi], eax
test eax, eax
jle 0x4b15af
sub eax, 1
mov r8, rdi
lea rcx, [rax*4 + 4]
xor eax, eax
nop dword [rax]
movzx edx, word [r12 + rax*8 + 0x20]
sub edx, 1
mov dword [r8 + rax + 4], edx
add rax, 4
cmp rcx, rax
jne 0x4b1598
mov rdx, r14
mov rcx, r13
call fcn.00456c10
cmp dword [rsp + 0x70], 0x87
mov qword [rsp + 0xc0], rax
jne 0x4b2294
mov dword [rsp + 0x98], 0
mov rax, qword [r14 + 0x50]
xor esi, esi
mov rdi, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x90], r14
test byte [rax + 0x62], 0x20
je 0x4b2a80
mov rax, qword [rsp + 0x90]
mov rcx, qword [r13]
xor r8d, r8d
mov rdx, r12
mov qword [rax + 0x50], 0
mov qword [rdi + 0x58], 0
call fcn.00437330
lea rdx, [r14 + 0x20]
lea r9, str.ORDER
mov rcx, r13
mov qword [rdi + 0x48], rax
mov r8, qword [r14 + 0x48]
call fcn.004422c0
mov r8, qword [rdi + 0x48]
lea rdx, [rdi + 0x20]
mov rcx, r13
lea r9, str.ORDER
call fcn.004422c0
mov r8d, dword [rsp + 0x80]
mov rdx, r14
mov rcx, r13
call fcn.0049c050
cmp dword [rsp + 0x70], 0x87
mov eax, dword [r14 + 8]
jne 0x4b167d
test eax, eax
jne 0x4b3064
xor r12d, r12d
xor ebx, ebx
mov rdx, qword [r14 + 0x60]
test rdx, rdx
je 0x4b1695
mov rcx, qword [rsp + 0x50]
call fcn.00424ea0
mov eax, dword [r13 + 0x38]
mov qword [r14 + 0x60], 0
lea r9, str.EXCEPT
mov byte [rsp + 0x110], 0xd
lea ecx, [rax + 2]
lea ebp, [rax + 1]
mov qword [rsp + 0x128], 0
lea edx, [rax + 3]
add eax, 4
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0xc8], eax
mov dword [r13 + 0x38], eax
movzx eax, byte [r14]
mov dword [rsp + 0xa0], edx
mov dword [rsp + 0x114], ebp
mov qword [rsp + 0x118], 0
mov dword [rsp + 0x120], 0
mov byte [rsp + 0x140], 0xd
mov dword [rsp + 0x144], ecx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
cmp al, 0x88
je 0x4b1755
lea r9, str.INTERSECT
cmp al, 0x89
je 0x4b1755
cmp al, 0x87
lea r9, str.UNION
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str.MERGE___s_
mov edx, 1
mov rcx, r13
call fcn.004614e0
xor r9d, r9d
mov r8d, ebp
mov edx, 0xb
mov eax, dword [r15 + 0x90]
mov rcx, r15
add eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov dword [rdi + 8], ebx
mov edx, 1
mov rcx, r13
lea r8, str.LEFT
mov dword [rsp + 0xb0], eax
call fcn.004614e0
lea r8, [rsp + 0x110]
mov rdx, rdi
mov rcx, r13
call fcn.00491db0
movsxd rax, dword [r15 + 0x90]
cmp eax, dword [r15 + 0x94]
jge 0x4b2f38
lea edx, [rax + 1]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov dword [r15 + 0x90], edx
lea rax, [rax + rcx*8]
mov dword [rax + 4], ebp
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x44
mov rax, qword [r15 + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [r15]
mov dword [rax + 0x28], 0
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4b1837
movsxd rbx, dword [rsp + 0xb0]
mov rax, qword [r15 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [r15 + 0x90]
xor r9d, r9d
mov rcx, r15
mov r8d, dword [rsp + 0x78]
mov edx, 0xb
add eax, 1
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov rbx, qword [r14 + 8]
mov dword [r14 + 8], r12d
mov rcx, r13
mov dword [r14 + 0xc], 0
lea r8, str.RIGHT
mov edx, 1
mov dword [rsp + 0xdc], eax
call fcn.004614e0
lea r8, [rsp + 0x140]
mov rdx, r14
mov rcx, r13
call fcn.00491db0
mov qword [r14 + 8], rbx
movsxd rax, dword [r15 + 0x90]
cmp eax, dword [r15 + 0x94]
jge 0x4b2f10
lea edx, [rax + 1]
mov ebx, dword [rsp + 0x78]
mov dword [r15 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ebx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x44
mov rax, qword [r15 + 0x18]
lea rbx, [r14 + 0xc]
lea rdx, [r14 + 8]
mov rcx, r13
lea r9, [rsp + 0x11c]
mov r8, rbx
mov qword [rsp + 0xb0], rdx
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
call fcn.00461860
cmp dword [rsp + 0xb8], 1
mov rdx, qword [rsp + 0xb0]
mov r12d, eax
jbe 0x4b26d0
mov dword [rsp + 0xd0], 0
test rsi, rsi
je 0x4b198d
sub dword [rsi], 1
je 0x4b29d8
mov eax, dword [rsp + 0xd8]
mov esi, dword [rsp + 0x80]
sub eax, 0x88
mov dword [rsp + 0xb0], esi
cmp eax, 1
ja 0x4b2738
cmp dword [rsp + 0x70], 0x89
mov ebx, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jne 0x4b21f0
mov dword [rsp + 0x98], esi
movzx eax, word [rdi + 2]
cmp word [r14 + 2], ax
jle 0x4b19e3
mov word [r14 + 2], ax
cmp ecx, ebx
jle 0x4b2ff0
movsxd rax, ebx
mov r11d, dword [rsp + 0xa0]
lea edx, [rbx + 1]
lea r8, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov dword [r15 + 0x90], edx
lea rax, [rax + r8*8]
mov dword [rax + 4], r11d
mov dword [rax + 8], r12d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xa
cmp ecx, edx
jle 0x4b2fc0
lea eax, [rdx + 1]
movsxd rdx, edx
lea r8, [rdx + rdx*2]
mov rdx, qword [r15 + 0x88]
mov dword [r15 + 0x90], eax
lea rdx, [rdx + r8*8]
mov dword [rdx + 4], ebp
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xc
cmp ecx, eax
jle 0x4b2f98
lea edx, [rax + 1]
cdqe
mov ecx, dword [rsp + 0x88]
mov dword [r15 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 9
mov eax, dword [rsp + 0x70]
mov r12d, ebx
cmp eax, 0x87
je 0x4b1af9
lea r12d, [rbx + 1]
cmp eax, 0x89
je 0x4b1af9
mov r9d, esi
mov r8d, ebp
mov edx, 0xc
mov rcx, r15
call fcn.0043e160
xor r8d, r8d
mov edx, 9
mov rcx, r15
mov r9d, dword [rsp + 0x88]
mov esi, eax
mov r12d, ebx
mov ebx, esi
call fcn.0043e160
mov esi, dword [r15 + 0x90]
cmp dword [rsp + 0xb8], 1
movsxd rdx, esi
jbe 0x4b2958
mov ecx, dword [r15 + 0x94]
cmp ecx, edx
jle 0x4b2f60
lea eax, [rdx + 1]
lea r8, [rdx + rdx*2]
mov rdx, qword [r15 + 0x88]
mov r11d, dword [rsp + 0x78]
mov dword [r15 + 0x90], eax
lea rdx, [rdx + r8*8]
mov dword [rdx + 4], r11d
mov r11d, dword [rsp + 0x98]
mov dword [rdx + 0xc], 0
mov dword [rdx + 8], r11d
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xc
cmp ecx, eax
jle 0x4b2ed8
lea edx, [rax + 1]
cdqe
mov r11d, dword [rsp + 0x88]
lea r8, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov dword [r15 + 0x90], edx
lea rax, [rax + r8*8]
mov dword [rax + 8], r11d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 9
mov r8, qword [r15]
lea rax, [0x0066e7a0]
cmp byte [r8 + 0x67], 0
jne 0x4b1bd0
movsxd rax, dword [rsp + 0xdc]
lea r8, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + r8*8]
mov dword [rax + 8], edx
cmp edx, ecx
jge 0x4b2ea0
lea eax, [rdx + 1]
movsxd rdx, edx
mov r11d, dword [rsp + 0xb0]
lea r8, [rdx + rdx*2]
mov rdx, qword [r15 + 0x88]
mov dword [r15 + 0x90], eax
lea rdx, [rdx + r8*8]
mov dword [rdx + 4], ebp
mov dword [rdx + 8], r11d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xc
cmp eax, ecx
jge 0x4b2e78
lea edx, [rax + 1]
cdqe
mov ecx, dword [rsp + 0x78]
mov dword [r15 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0x98]
mov dword [rax + 0xc], 0
mov dword [rax + 8], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0xc
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0x88]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
not r8d
js 0x4b2988
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov edx, dword [r15 + 0x90]
cmp edx, dword [r15 + 0x94]
jge 0x4b2e50
lea eax, [rdx + 1]
mov dword [r15 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov qword [rax], 0x59
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov r8, qword [rsp + 0xa8]
mov r9d, 0xfffffff2
mov rcx, r15
call fcn.0045e5b0
mov eax, dword [rsp + 0x68]
mov edx, 0x5a
mov rcx, r15
mov r9d, dword [rsp + 0x14c]
mov r8d, dword [rsp + 0x11c]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov r8, qword [rsp + 0xc0]
mov r9d, 0xfffffff8
mov rcx, r15
mov edx, eax
call fcn.0045e5b0
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x4b1d51
mov rbp, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov r14d, 1
lea rax, [rbp + rax*8]
mov word [rax - 0x16], r14w
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, r15
mov r9d, ebx
mov edx, 0xe
call fcn.0043e0f0
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0xbc]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x4b2940
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov rax, qword [rsp + 0x90]
mov r12, qword [rax + 0x50]
test r12, r12
je 0x4b1de6
mov rcx, qword [r13]
test rcx, rcx
je 0x4b32a0
mov edx, 0x18
call fcn.0042cd60
test rax, rax
je 0x4b33a0
mov rdx, qword [r13 + 0xc0]
lea rsi, [0x00424e80]
mov qword [rax], rdx
mov qword [r13 + 0xc0], rax
mov qword [rax + 8], r12
mov qword [rax + 0x10], rsi
mov rax, qword [rsp + 0x90]
mov rdx, qword [rdi + 0x48]
mov qword [rax + 0x50], rdi
mov qword [rdi + 0x58], rax
test rdx, rdx
je 0x4b1e09
mov rcx, qword [rsp + 0x50]
call fcn.00425030
movsxd rax, dword [r13 + 0x140]
mov qword [rdi + 0x48], 0
test eax, eax
je 0x4b1e43
mov rcx, qword [r13 + 0x10]
lea rdx, [0x0066e7a0]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x4b1e40
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov r11d, dword [r13 + 0x30]
mov dword [r13 + 0x140], eax
xor eax, eax
test r11d, r11d
setne al
mov dword [rsp + 0x50], eax
jmp 0x4b1183
mov rax, qword [rsp + 0xec]
mov rdi, qword [rsp + 0x1d0]
mov qword [rdi + 0xc], rax
jmp 0x4b1183
cmp byte [rsp + 0xe0], 1
jne 0x4b28e0
mov edi, dword [rsp + 0xe4]
lea r12, [rsp + 0x140]
mov rdx, rsi
mov rcx, r13
mov byte [rsp + 0x140], 1
mov r8, r12
mov dword [rsp + 0x144], edi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.00491db0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x4b1e60
movzx eax, byte [r14]
mov rbp, qword [r14 + 0x60]
mov qword [r14 + 0x50], 0
mov qword [r14 + 0x60], 0
cmp al, 0x88
je 0x4b32cf
mov byte [rsp + 0x140], 1
lea r9, str.INTERSECT
cmp al, 0x89
je 0x4b1f32
lea r9, str.UNION
ja 0x4b1f32
cmp al, 0x87
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str._s_USING_TEMP_B_TREE
mov edx, 1
mov rcx, r13
call fcn.004614e0
mov r8, r12
mov rdx, r14
mov rcx, r13
call fcn.00491db0
cmp byte [r14], 0x86
mov qword [r14 + 0x48], 0
mov dword [rsp + 0x50], eax
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x50], rsi
mov qword [rsp + 0x68], rax
jne 0x4b1f86
movsx edx, word [rsi + 2]
movsx ecx, word [r14 + 2]
call fcn.0040d230
mov word [r14 + 2], ax
mov rdx, qword [r14 + 0x60]
test rdx, rdx
je 0x4b1f97
mov rcx, r15
call fcn.00424ea0
cmp byte [rsp + 0xe0], 1
mov qword [r14 + 0x60], rbp
mov qword [r14 + 8], 0
je 0x4b0f40
cmp byte [r15 + 0x67], 0
jne 0x4b0f40
mov r12d, dword [r13 + 0x44]
mov rdx, r14
mov rcx, r13
lea ebp, [r12 - 1]
sub r12d, 2
mov dword [r13 + 0x44], r12d
mov r8d, ebp
call fcn.0049c050
mov r9d, ebp
mov r8d, edi
mov rcx, rbx
mov edx, 0x24
call fcn.0043e160
xor r9d, r9d
mov r8d, edi
mov rdx, r14
lea rax, [rsp + 0xe0]
mov esi, dword [rbx + 0x90]
mov dword [rsp + 0x38], ebp
mov rcx, r13
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x20], 0
call fcn.004a0c30
mov edx, r12d
mov rcx, rbx
call fcn.0043b3d0
mov rcx, rbx
mov r9d, esi
mov r8d, edi
mov edx, 0x27
call fcn.0043e160
mov edx, ebp
mov rcx, rbx
call fcn.0043b3d0
jmp 0x4b2c98
mov eax, dword [r14 + 8]
lea rdi, [rsp + 0xe0]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x140], 0
mov r8, rdi
mov dword [rsi + 8], eax
mov eax, dword [r14 + 0xc]
mov dword [rsi + 0xc], eax
mov rax, qword [r14 + 0x60]
mov qword [rsi + 0x60], rax
call fcn.00491db0
mov qword [rsi + 0x60], 0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x4b1e60
movsxd rbp, dword [rsi + 8]
mov eax, dword [rsi + 0xc]
mov qword [r14 + 0x50], 0
mov dword [r14 + 8], ebp
mov dword [r14 + 0xc], eax
test ebp, ebp
jne 0x4b3249
lea r8, str.UNION_ALL
mov edx, 1
mov rcx, r13
call fcn.004614e0
mov r8, rdi
mov rdx, r14
mov rcx, r13
call fcn.00491db0
movsx edx, word [rsi + 2]
movsx ecx, word [r14 + 2]
mov dword [rsp + 0x50], eax
mov rax, qword [r14 + 0x50]
mov qword [r14 + 0x50], rsi
mov qword [rsp + 0x68], rax
call fcn.0040d230
mov word [r14 + 2], ax
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x4b21b0
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x140]
call fcn.0040d860
test eax, eax
je 0x4b21b0
mov eax, dword [rsp + 0x140]
test eax, eax
jle 0x4b21b0
movzx r9d, word [r14 + 2]
movsxd r8, eax
cmp eax, 7
jg 0x4b3502
cmp eax, 1
je 0x4b365d
mov rax, r8
mov edx, 0x1e
nop dword [rax + rax]
add rax, rax
mov ecx, edx
sub edx, 0xa
cmp rax, 7
jbe 0x4b2160
lea rdx, [0x0061f5f0]
and eax, 7
movzx eax, word [rdx + rax*2]
lea ecx, [rcx + rax - 0xa]
cmp r9w, cx
jle 0x4b21b0
mov ecx, 0x1e
mov eax, ecx
add r8, r8
lea ecx, [rax - 0xa]
cmp r8, 7
jbe 0x4b218b
and r8d, 7
movzx edx, word [rdx + r8*2]
lea eax, [rdx + rax - 0xa]
mov word [r14 + 2], ax
nop dword [rax + rax]
test ebp, ebp
je 0x4b0f40
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4b21de
mov rax, qword [rbx + 0x88]
lea rcx, [rbp + rbp*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x4b0f40
cmp ebx, ecx
jge 0x4b32e3
lea eax, [rbx + 1]
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x98], ebx
mov dword [r15 + 0x90], eax
movsxd rax, ebx
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov dword [rax + 8], r12d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xa
mov r9d, dword [rsp + 0x80]
mov r8d, ebp
mov edx, 0xc
mov rcx, r15
call fcn.0043e160
mov rcx, r15
xor r8d, r8d
mov edx, 9
mov r9d, dword [rsp + 0x98]
call fcn.0043e160
mov ebx, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jmp 0x4b19e3
mov qword [rsp + 0xc0], 0
mov rax, qword [r14 + 0x20]
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
mov r10d, dword [rax]
mov eax, dword [r13 + 0x38]
lea ebx, [r10 + 1]
lea r9d, [rax + 1]
mov dword [rsp + 0x78], r10d
add eax, ebx
lea edi, [rbx + rbx*8 - 8]
mov dword [rsp + 0x98], r9d
mov dword [r13 + 0x38], eax
movsxd rdi, edi
call fcn.0043e160
mov rcx, qword [rsp + 0x50]
lea rdx, [rdi + 0x28]
call fcn.0042cd60
mov r10d, dword [rsp + 0x78]
test rax, rax
mov rsi, rax
je 0x4b246b
movsxd rbx, ebx
mov word [rsi + 6], r10w
lea rcx, [rsi + 0x28]
mov r8, rdi
lea rax, [rax + rbx*8 + 0x20]
mov rbx, qword [rsp + 0x50]
xor edx, edx
mov qword [rsi + 0x18], rax
lea eax, [r10 + 1]
mov word [rsi + 8], ax
movzx eax, byte [rbx + 0x64]
mov qword [rsi + 0x10], rbx
mov byte [rsi + 4], al
mov dword [rsi], 1
call sub.msvcrt.dll_memset
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jle 0x4b248b
lea eax, [r10 - 1]
mov qword [rsp + 0x90], r12
xor ebx, ebx
mov qword [rsp + 0x78], rax
mov byte [rsp + 0xb0], bpl
mov qword [rsp + 0xa0], r15
mov r15, r13
nop dword [rax]
mov rdi, qword [r14 + 0x50]
movsxd rbp, ebx
test rdi, rdi
je 0x4b243d
mov r12, qword [rdi + 0x50]
test r12, r12
je 0x4b2431
mov r13, qword [r12 + 0x50]
test r13, r13
je 0x4b2424
mov r10, qword [r13 + 0x50]
test r10, r10
je 0x4b2418
mov r11, qword [r10 + 0x50]
test r11, r11
je 0x4b23f2
mov rax, qword [r11 + 0x50]
test rax, rax
je 0x4b23e6
mov r8, qword [rax + 0x50]
lea rdx, [rax + 0x20]
mov r9d, ebx
mov rcx, r15
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0xc8], r10
call fcn.00455e70
mov r10, qword [rsp + 0xc8]
mov r11, qword [rsp + 0xd0]
test rax, rax
jne 0x4b2447
mov rax, qword [r11 + 0x20]
cmp dword [rax], ebx
jg 0x4b3544
mov rax, qword [r10 + 0x20]
cmp dword [rax], ebx
jle 0x4b2418
movsxd rdx, ebp
mov rcx, r15
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2447
nop dword [rax + rax]
mov rax, qword [r13 + 0x20]
cmp dword [rax], ebx
jg 0x4b2cb0
mov rax, qword [r12 + 0x20]
cmp dword [rax], ebx
jg 0x4b3025
mov rax, qword [rdi + 0x20]
cmp dword [rax], ebx
jg 0x4b2668
mov rax, qword [r14 + 0x20]
cmp dword [rax], ebx
jg 0x4b24b0
xor eax, eax
mov qword [rsi + rbx*8 + 0x20], rax
mov rax, qword [rsi + 0x18]
mov byte [rax + rbx], 0
lea rax, [rbx + 1]
cmp qword [rsp + 0x78], rbx
je 0x4b28c0
mov rbx, rax
jmp 0x4b2368
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x78], r10d
call fcn.0042cc50
mov r10d, dword [rsp + 0x78]
test rax, rax
mov rsi, rax
jne 0x4b2332
mov rdi, qword [r14 + 0x50]
cmp dword [rsp + 0xb8], 1
mov rax, rdi
jbe 0x4b15e1
mov qword [rsp + 0x90], r14
jmp 0x4b15fb
shl rbp, 5
mov rcx, r15
mov rdx, qword [rax + rbp + 8]
call fcn.00455620
jmp 0x4b2447
mov rax, qword [r14 + 0x20]
mov eax, dword [rax]
lea esi, [rax + rax*8 + 1]
mov dword [rsp + 0x70], eax
lea edi, [rax + 1]
movzx eax, word [r15 + 0x1a4]
movsxd rsi, esi
lea rdx, [rsi + 0x28]
cmp rdx, rax
jbe 0x4b29a0
mov r8d, dword [r15 + 0x1a0]
test r8d, r8d
je 0x4b2cd8
cmp byte [r15 + 0x67], 0
jne 0x4b330f
mov rcx, r15
call fcn.0042ccf0
mov r12, rax
test rax, rax
je 0x4b330f
movsxd rdi, edi
lea rcx, [r12 + 0x28]
mov r8, rsi
xor edx, edx
lea rax, [r12 + rdi*8 + 0x20]
mov qword [r12 + 0x18], rax
mov eax, dword [rsp + 0x70]
mov word [r12 + 6], ax
add eax, 1
mov word [r12 + 8], ax
movzx eax, byte [r15 + 0x64]
mov qword [r12 + 0x10], r15
mov byte [r12 + 4], al
mov dword [r12], 1
call sub.msvcrt.dll_memset
mov eax, dword [rsp + 0x70]
xor esi, esi
lea edi, [rax - 1]
mov ebp, eax
test eax, eax
jle 0x4b2b30
mov qword [rsp + 0x78], r15
mov r15, rdi
mov qword [rsp + 0x80], rbx
jmp 0x4b2635
mov rbp, qword [rbx + 0x50]
test rbp, rbp
je 0x4b2db8
mov r10, qword [rbp + 0x50]
test r10, r10
je 0x4b2d90
mov r11, qword [r10 + 0x50]
test r11, r11
je 0x4b2d68
mov rax, qword [r11 + 0x50]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x4b2d30
mov rcx, rax
mov rax, qword [rax + 0x50]
test rax, rax
je 0x4b2ce5
mov r8, qword [rax + 0x50]
lea rdx, [rax + 0x20]
mov r9d, esi
mov rcx, r13
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x90], r10
call fcn.00455e70
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x98]
test rax, rax
je 0x4b3637
nop dword [rax + rax]
mov qword [r12 + rsi*8 + 0x20], rax
lea rax, [rsi + 1]
cmp rsi, r15
je 0x4b2e38
mov rsi, rax
mov rbx, qword [r14 + 0x50]
movsxd rdi, esi
test rbx, rbx
jne 0x4b2590
mov rax, qword [r14 + 0x20]
cmp dword [rax], esi
jg 0x4b2df0
mov qword [r12 + rsi*8 + 0x20], 0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
jmp 0x4b2620
movsxd rdx, ebp
mov rcx, r15
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2447
jmp 0x4b243d
mov eax, dword [0x0060de60]
test eax, eax
je 0x4b2a40
mov rcx, qword [0x0066ea40]
test rcx, rcx
je 0x4b26b0
call qword [0x0060dee0]
mov ecx, 0x18
call fcn.00410e20
jmp 0x4b1155
mov dword [rsp + 0x68], esi
mov eax, esi
lea edx, [rax + 1]
jmp 0x4b1539
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x40], rsi
mov r8, rbx
mov rcx, r13
lea r9, [rsp + 0x14c]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
call fcn.00461860
mov dword [rsp + 0xd0], eax
test rsi, rsi
jne 0x4b1984
nop dword [rax + rax]
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xc8]
mov edx, 0xa
mov rcx, r15
call fcn.0043e160
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x78]
mov rcx, r15
mov esi, eax
mov edx, 0xc
call fcn.0043e160
xor r8d, r8d
mov rcx, r15
mov r9d, esi
mov edx, 9
mov dword [rsp + 0xb0], eax
call fcn.0043e160
movsx r8d, word [r14 + 2]
movsx ecx, word [rdi + 2]
mov eax, r8d
cmp cx, r8w
jle 0x4b2a50
lea r9d, [r8 + 0x31]
mov eax, ecx
cmp ecx, r9d
jg 0x4b27d0
lea edx, [r8 + 0x1f]
cmp ecx, edx
jg 0x4b3241
sub ecx, r8d
movsxd rdx, ecx
lea rcx, str._n_n_t_t_b_b_a_a_a
movzx edx, byte [rcx + rdx]
add eax, edx
nop dword [rax + rax]
mov word [r14 + 2], ax
jmp 0x4b19b0
mov rcx, qword [r13]
mov rdx, r12
call fcn.0043ac40
mov r12, rax
mov rax, qword [rsp + 0x50]
mov qword [r14 + 0x48], r12
movzx eax, byte [rax + 0x67]
test r12, r12
je 0x4b1527
jmp 0x4b150e
lea rax, [rsp + 0xe0]
xor r9d, r9d
mov rdx, r12
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], rax
mov r8d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], 0
call fcn.004a0c30
jmp 0x4b10c2
movsxd rax, dword [r13 + 0x140]
test eax, eax
je 0x4b2882
mov rcx, qword [r13 + 0x10]
lea rdx, [0x0066e7a0]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x4b287f
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov dword [r13 + 0x140], eax
jmp 0x4b0f4b
mov rcx, r13
lea r8, str.COMPOUND_QUERY
mov edx, 1
call fcn.004614e0
lea r8, str.LEFT_MOST_SUBQUERY
mov edx, 1
mov rcx, r13
call fcn.004614e0
jmp 0x4b0dbb
mov r13, r15
mov r12, qword [rsp + 0x90]
movzx ebp, byte [rsp + 0xb0]
mov r15, qword [rsp + 0xa0]
jmp 0x4b248b
mov edi, dword [r13 + 0x34]
xor r9d, r9d
mov edx, 0x76
mov rcx, rbx
lea eax, [rdi + 1]
mov r8d, edi
mov dword [r13 + 0x34], eax
call fcn.0043e160
mov dword [r14 + 0x14], eax
mov rax, r14
nop dword [rax]
mov rdx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x4b2908
or dword [rdx + 4], 0x20
jmp 0x4b1e95
mov rdx, qword [rsp + 0x68]
mov rcx, qword [r13]
mov r8d, 1
call fcn.00424780
jmp 0x4b1183
lea rdx, [r15 + 0x90]
call fcn.0043b1c0
jmp 0x4b1d95
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xc8]
mov edx, 0xa
mov rcx, r15
call fcn.0043e160
movsxd rdx, dword [r15 + 0x90]
jmp 0x4b1b11
lea rdx, [r15 + 0x90]
call fcn.0043b1c0
jmp 0x4b1c91
cmp rdx, 0x80
ja 0x4b2b4f
mov r12, qword [r15 + 0x1d8]
test r12, r12
je 0x4b3425
mov rax, qword [r12]
add dword [r15 + 0x1b0], 1
mov qword [r15 + 0x1d8], rax
jmp 0x4b2520
mov rcx, qword [rsi + 0x10]
mov rdx, rsi
call fcn.0040c530
jmp 0x4b198d
lea edx, [rax + 1]
mov rcx, rdi
movsxd rdx, edx
shl rdx, 2
call fcn.0042cd60
mov dword [rsp + 0xd8], 0x87
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0xb8], 1
test rax, rax
jne 0x4b1573
mov qword [rsp + 0xc0], 0
jmp 0x4b15d0
mov ecx, 0x18
call qword [0x0060de80]
jmp 0x4b1155
lea edx, [rcx + 0x31]
cmp r8d, edx
jg 0x4b27d0
lea edx, [rcx + 0x1f]
cmp r8d, edx
jg 0x4b3241
sub r8d, ecx
lea rcx, str._n_n_t_t_b_b_a_a_a
movsxd rdx, r8d
movzx edx, byte [rcx + rdx]
add eax, edx
jmp 0x4b27d0
mov rax, rdi
mov r8, r14
mov ecx, 1
test rdi, rdi
jne 0x4b2aaa
jmp 0x4b15fb
mov rdx, qword [rax + 0x50]
add ecx, 1
mov r8, rax
test rdx, rdx
je 0x4b2aaf
mov rax, rdx
cmp bpl, byte [r8]
je 0x4b2a98
mov qword [rsp + 0x90], r14
cmp ecx, 3
jle 0x4b15fb
mov eax, 2
nop dword [rax]
add eax, 2
mov rdx, rdi
mov rdi, qword [rdi + 0x50]
cmp eax, ecx
jl 0x4b2ac8
mov qword [rsp + 0x90], rdx
jmp 0x4b15fb
mov rcx, qword [rbx + 0x88]
movsxd rax, edx
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
mov dword [rax + 8], ebp
add dword [r12], 1
mov r8, r12
mov rcx, rbx
add rsi, 4
mov r9d, 0xfffffff8
call fcn.0045e5b0
mov dword [rsi - 4], 0xffffffff
cmp rsi, rdi
jne 0x4b2b38
mov r14, qword [r14 + 0x50]
test r14, r14
je 0x4b2e18
lea rsi, [r14 + 0x14]
lea rdi, [r14 + 0x1c]
mov edx, dword [rsi]
test edx, edx
js 0x4b2b23
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x4b2ae8
mov dword [0x0066e7a8], ebp
jmp 0x4b2afd
mov r12, qword [r15 + 0x1c8]
test r12, r12
je 0x4b33ed
mov rax, qword [r12]
add dword [r15 + 0x1b0], 1
mov qword [r15 + 0x1c8], rax
jmp 0x4b2520
mov r12d, dword [r13 + 0x44]
mov rdx, r14
mov rcx, r13
lea esi, [r12 - 1]
sub r12d, 2
mov dword [r13 + 0x44], r12d
mov r8d, esi
call fcn.0049c050
mov r9d, esi
mov r8d, edi
mov edx, 0x24
mov rcx, rbx
call fcn.0043e160
movzx eax, byte [r13 + 0x1f]
test al, al
je 0x4b34f1
sub eax, 1
mov byte [r13 + 0x1f], al
movzx eax, al
mov r10d, dword [r13 + rax*4 + 0xe4]
mov r9d, r10d
mov r8d, edi
mov edx, 0x86
mov rcx, rbx
mov dword [rsp + 0x78], r10d
call fcn.0043e160
mov r10d, dword [rsp + 0x78]
mov r9d, r12d
mov r8d, ebp
mov dword [rsp + 0x28], 0
mov edx, 0x1c
mov rcx, rbx
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x70], eax
call fcn.0043e610
mov r10d, dword [rsp + 0x78]
test r10d, r10d
je 0x4b2c2b
movzx eax, byte [r13 + 0x1f]
cmp al, 7
ja 0x4b2c2b
lea edx, [rax + 1]
mov byte [r13 + 0x1f], dl
mov dword [r13 + rax*4 + 0xe4], r10d
mov dword [rsp + 0x38], esi
xor r9d, r9d
mov r8d, edi
mov rdx, r14
lea rax, [rsp + 0xe0]
mov dword [rsp + 0x30], r12d
mov rcx, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.004a0c30
mov edx, r12d
mov rcx, rbx
call fcn.0043b3d0
mov r9d, dword [rsp + 0x70]
mov r8d, edi
mov rcx, rbx
mov edx, 0x27
call fcn.0043e160
mov edx, esi
mov rcx, rbx
call fcn.0043b3d0
xor r9d, r9d
mov r8d, ebp
mov edx, 0x7a
mov rcx, rbx
call fcn.0043e160
xor r9d, r9d
mov r8d, edi
mov edx, 0x7a
mov rcx, rbx
call fcn.0043e160
jmp 0x4b0f40
movsxd rdx, ebp
mov rcx, r15
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2447
jmp 0x4b2424
add dword [r15 + 0x1b4], 1
jmp 0x4b250c
mov rax, qword [rcx + 0x20]
cmp dword [rax], esi
jle 0x4b2d30
movsxd rdx, edi
mov rcx, r13
mov qword [rsp + 0x90], r11
shl rdx, 5
mov qword [rsp + 0x88], r10
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2620
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
nop word [rax + rax]
mov rax, qword [r11 + 0x20]
cmp dword [rax], esi
jle 0x4b2d68
movsxd rdx, edi
mov rcx, r13
mov qword [rsp + 0x88], r10
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
mov r10, qword [rsp + 0x88]
test rax, rax
jne 0x4b2620
nop dword [rax]
mov rax, qword [r10 + 0x20]
cmp dword [rax], esi
jle 0x4b2d90
movsxd rdx, edi
mov rcx, r13
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2620
nop dword [rax]
mov rax, qword [rbp + 0x20]
cmp dword [rax], esi
jle 0x4b2db8
movsxd rdx, edi
mov rcx, r13
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2620
nop dword [rax]
mov rax, qword [rbx + 0x20]
cmp dword [rax], esi
jle 0x4b2645
movsxd rdx, edi
mov rcx, r13
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2620
jmp 0x4b2645
shl rdi, 5
mov rcx, r13
mov rdx, qword [rax + rdi + 8]
call fcn.00455620
mov qword [r12 + rsi*8 + 0x20], rax
test rax, rax
jne 0x4b2625
jmp 0x4b265a
sub dword [r12], 1
jne 0x4b1122
mov rcx, qword [r12 + 0x10]
mov rdx, r12
call fcn.0040c530
jmp 0x4b1122
mov rbx, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x70]
jmp 0x4b2b30
mov edx, 0x59
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.0043df10
mov edx, eax
jmp 0x4b1cd8
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x98]
mov edx, 0xc
mov rcx, r15
mov r8d, dword [rsp + 0x78]
call fcn.0043df10
jmp 0x4b1c64
mov dword [rsp + 0x20], 0
mov rcx, r15
mov r8d, ebp
mov edx, 0xc
mov r9d, dword [rsp + 0xb0]
call fcn.0043df10
mov eax, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jmp 0x4b1c1b
mov dword [rsp + 0x20], 0
mov edx, 9
mov rcx, r15
xor r8d, r8d
mov r9d, dword [rsp + 0x88]
call fcn.0043df10
mov edx, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jmp 0x4b1ba8
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov edx, 0x44
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.0043df10
jmp 0x4b18e9
mov edx, 0x44
xor r9d, r9d
mov r8d, ebp
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.0043df10
mov edx, dword [r15 + 0x90]
jmp 0x4b1801
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x78]
mov rcx, r15
mov edx, 0xc
mov r9d, dword [rsp + 0x98]
call fcn.0043df10
mov eax, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jmp 0x4b1b63
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, r15
mov r9d, dword [rsp + 0x88]
call fcn.0043df10
jmp 0x4b1aae
mov rcx, r15
mov r9d, esi
mov r8d, ebp
mov edx, 0xc
mov dword [rsp + 0x20], 0
call fcn.0043df10
mov eax, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
jmp 0x4b1a6b
mov dword [rsp + 0x20], 0
mov edx, 0xa
mov rcx, r15
mov r9d, r12d
mov r8d, dword [rsp + 0xa0]
call fcn.0043df10
mov edx, dword [r15 + 0x90]
mov ecx, dword [r15 + 0x94]
mov ebx, eax
jmp 0x4b1a2c
movsxd rdx, ebp
mov rcx, r15
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
test rax, rax
jne 0x4b2447
jmp 0x4b2431
mov rcx, qword [r13]
mov rdx, r8
call fcn.00438af0
mov r12, rax
jmp 0x4b27ef
mov r12d, dword [r13 + 0x38]
mov edx, dword [r14 + 0xc]
mov rcx, r15
lea ebx, [r12 + 1]
add r12d, 2
lea r8d, [rdx + 1]
test edx, edx
mov dword [r13 + 0x38], r12d
cmove r8d, eax
mov r9d, ebx
mov edx, 0x50
call fcn.0043e160
mov r9d, r12d
mov r8d, ebx
mov edx, 0x50
mov rcx, r15
call fcn.0043e160
jmp 0x4b1682
mov qword [rdi + 0x58], 0
lea r8, str.SETUP
mov edx, 1
mov rcx, r13
lea r12, [rsp + 0x140]
call fcn.004614e0
mov r8, r12
mov rdx, rdi
mov rcx, r13
call fcn.00491db0
mov qword [rdi + 0x58], r14
test eax, eax
jne 0x4b1402
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
mov r8d, esi
mov edx, 0x24
call fcn.0043e160
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0x88
mov dword [rsp + 0xb8], eax
call fcn.0043e160
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4b3618
mov edx, dword [rsp + 0x88]
mov eax, dword [rax]
mov r8d, esi
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], edx
lea r9d, [rax + 1]
mov edx, 0x5e
call fcn.0043e0f0
mov rcx, qword [rsp + 0x50]
mov r8d, esi
xor r9d, r9d
mov edx, 0x82
call fcn.0043e160
mov eax, dword [r13 + 0x44]
lea esi, [rax - 1]
mov eax, dword [rsp + 0x98]
mov dword [r13 + 0x44], esi
test eax, eax
jle 0x4b3197
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov r8d, eax
mov edx, 0x3b
mov dword [rsp + 0x20], 1
call fcn.0043e0f0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x30], esi
xor r9d, r9d
mov rdx, r14
mov qword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x70]
mov rcx, r13
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
call fcn.004a0c30
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x4b3580
mov edx, esi
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.0043b3d0
mov qword [rbp + 0x50], 0
mov rcx, r13
lea r8, str.RECURSIVE_STEP
mov edx, 1
call fcn.004614e0
mov r8, r12
mov rdx, r14
mov rcx, r13
call fcn.00491db0
mov qword [rbp + 0x50], rdi
mov rcx, rsi
xor r8d, r8d
mov r9d, dword [rsp + 0xb8]
mov edx, 9
call fcn.0043e160
mov edx, dword [rsp + 0x78]
mov rcx, rsi
call fcn.0043b3d0
jmp 0x4b1402
add eax, 1
jmp 0x4b27d0
mov r8d, ebp
xor r9d, r9d
mov edx, 0x11
mov rcx, rbx
call fcn.0043e160
movsxd rbp, eax
mov eax, dword [r14 + 0xc]
test eax, eax
je 0x4b20c2
mov r8d, dword [r14 + 8]
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
mov rcx, rbx
mov edx, 0xa0
call fcn.0043e0f0
jmp 0x4b20c2
mov dword [rsp + 0x70], 0
jmp 0x4b12e7
mov ebx, dword [0x0060de60]
test ebx, ebx
je 0x4b3415
mov rcx, qword [0x0066ea40]
test rcx, rcx
je 0x4b32c0
call qword [0x0060dee0]
mov ecx, 0x18
call fcn.00410e20
jmp 0x4b1dbd
mov byte [rsp + 0x140], 2
lea r9, str.EXCEPT
jmp 0x4b1f32
mov dword [rsp + 0x20], 0
mov r9d, r12d
mov edx, 0xa
mov rcx, r15
mov r8d, dword [rsp + 0xa0]
call fcn.0043df10
mov dword [rsp + 0x98], eax
jmp 0x4b223e
mov rcx, r15
call fcn.0042cc50
mov r12, rax
test rax, rax
jne 0x4b2566
mov dword [rsp + 0x50], 7
jmp 0x4b1122
cmp qword [rsp + 0x68], 0
lea eax, [rsi + 2]
je 0x4b35a1
mov dword [r13 + 0x34], eax
mov r8d, dword [rsp + 0x70]
mov edx, 0x79
mov eax, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov byte [rsp + 0x140], 6
mov dword [rsp + 0x144], esi
mov dword [r13 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.0043e0f0
jmp 0x4b1372
mov rcx, qword [r13]
mov r8d, 1
mov rdx, r12
call fcn.00424780
jmp 0x4b1de6
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, ebp
mov edx, 0x76
call fcn.0043e160
mov dword [r14 + 0x14], eax
mov eax, dword [r14 + 4]
or eax, 0x20
mov dword [r14 + 4], eax
jmp 0x4b13c8
mov dword [rsp + 0x50], 7
jmp 0x4b1183
mov r12, qword [r15 + 0x1c0]
test r12, r12
je 0x4b3650
mov rax, qword [r12]
add dword [r15 + 0x1b0], 1
mov qword [r15 + 0x1c0], rax
jmp 0x4b2520
mov ecx, 0x18
call qword [0x0060de80]
jmp 0x4b1dbd
mov r12, qword [r15 + 0x1d0]
test r12, r12
je 0x4b2b4f
mov rax, qword [r12]
add dword [r15 + 0x1b0], 1
mov qword [r15 + 0x1d0], rax
jmp 0x4b2520
mov rbp, qword [rsp + 0x50]
mov dword [r13 + 0x38], eax
mov r9d, eax
mov edx, 0x79
mov dword [rsp + 0x20], edi
mov r8d, dword [rsp + 0x70]
mov rcx, rbp
mov byte [rsp + 0x140], 8
mov dword [rsp + 0x144], esi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.0043e0f0
mov r9d, edi
mov r8d, esi
mov edx, 0x76
mov rcx, rbp
call fcn.0043e160
jmp 0x4b13c4
lea rdx, str.authorizer_malfunction
mov rcx, r13
call fcn.0042c9e0
mov dword [r13 + 0x18], 1
jmp 0x4b1102
lea rdx, str.not_authorized
mov rcx, r13
call fcn.0042c9e0
mov dword [r13 + 0x18], 0x17
jmp 0x4b1102
mov eax, dword [r13 + 0x38]
lea r10d, [rax + 1]
mov dword [r13 + 0x38], r10d
jmp 0x4b2bc8
bsr rax, r8
mov ecx, 0x3c
mov rdx, r8
xor rax, 0x3f
sub ecx, eax
shr rdx, cl
lea r10d, [rcx + rcx*4]
lea rcx, [0x0061f5f0]
and edx, 7
add r10d, r10d
movzx edx, word [rcx + rdx*2]
lea eax, [r10 + 0x28]
lea r10d, [rdx + r10 + 0x1e]
cmp r9w, r10w
jg 0x4b21a2
jmp 0x4b21b0
movsxd rdx, ebp
mov rcx, r15
mov qword [rsp + 0xc8], r10
shl rdx, 5
mov rdx, qword [rax + rdx + 8]
call fcn.00455620
mov r10, qword [rsp + 0xc8]
test rax, rax
jne 0x4b2447
jmp 0x4b23f2
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
mov edx, 0x3d
mov r8d, dword [rsp + 0x90]
call fcn.0043e160
jmp 0x4b31db
mov dword [r13 + 0x34], eax
mov r12, qword [rsp + 0x50]
mov edx, 0x79
mov eax, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x70]
mov byte [rsp + 0x140], 5
mov rcx, r12
mov dword [rsp + 0x144], esi
mov dword [r13 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
call fcn.0043e0f0
mov r9d, edi
mov r8d, esi
mov edx, 0x76
mov rcx, r12
call fcn.0043e160
jmp 0x4b13bc
mov r9d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov r8d, esi
mov edx, 0x86
call fcn.0043e160
jmp 0x4b314f
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x20]
cmp dword [rax], esi
jle 0x4b2d30
jmp 0x4b2ced
add dword [r15 + 0x1b8], 1
jmp 0x4b250c
test r9w, r9w
jle 0x4b21b0
xor eax, eax
jmp 0x4b21a6