Function at 0x14027c800
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov qword [rsp + 0x98], rdx
mov rax, qword [0x1404fe040]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov rax, r8
or rax, qword [rsp + 0x1e0]
je 0x14027caf1
mov rsi, rcx
mov rdi, qword [rcx + 0x148]
test rdi, rdi
je 0x14027caf1
mov ebp, r9d
mov rbx, r8
mov r12, qword [rsi]
cmp qword [rsp + 0x1e0], 0
jne 0x14027d466
mov r14, qword [rdi]
mov rcx, r14
mov edx, 0x5f
call fcn.1402994dc
test rax, rax
je 0x14027c8a7
mov r15, rax
mov byte [rax], 0
mov rcx, r12
mov rdx, r14
xor r8d, r8d
call fcn.1402697b0
mov byte [r15], 0x5f
test rax, rax
jne 0x14027cb3a
lea r9, [r12 + 0xc5]
cmp byte [r12 + 0xc5], 0
je 0x14027c8d8
cmp byte [rdi + 0x3f], 0
mov eax, dword [r12 + 0xc0]
jne 0x14027d1e9
mov dword [rdi + 0x28], eax
cmp eax, 1
je 0x14027cb0b
bt ebp, 0x10
mov qword [rsp + 0x68], r9
jb 0x14027d163
test bpl, bpl
js 0x14027ce23
mov rax, qword [rdi + 0x60]
test rax, rax
je 0x14027d3f7
mov rcx, qword [r12 + 0x20]
add rcx, 0x18
mov r13d, 0xffffffff
inc r13d
lea rdx, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rdx
jne 0x14027c90c
mov rdx, qword [rdi + 0x20]
test rdx, rdx
jne 0x14027d1fd
test byte [rdi + 0x30], 0x60
movzx eax, word [rdi + 0x36]
jne 0x14027d2f2
test ax, ax
jle 0x14027d2b9
mov rcx, qword [rdi + 8]
movzx edx, ax
inc edx
add rcx, 0xd
xor eax, eax
movzx r8d, byte [rcx]
add eax, r8d
dec edx
add rcx, 0x18
cmp edx, 1
ja 0x14027c94e
movzx ecx, word [rdi + 0x34]
shr ecx, 0xf
add ecx, eax
shl ecx, 2
cmp ecx, 8
jb 0x14027cd8e
mov ax, 0x28
cmp ecx, 0x100
jae 0x14027cdb3
mov r8, rcx
cmp r8, 0x10
jb 0x14027d2d3
mov rdx, r8
add eax, 0xa
shr rdx, 1
cmp r8, 0x1f
mov r8, rdx
ja 0x14027c995
and edx, 7
lea rcx, [0x1404e5700]
add ax, word [rcx + rdx*2]
add eax, 0xfffffff6
mov word [rdi + 0x3c], ax
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14027ca74
lea rcx, [0x1404e5700]
movzx edx, word [rax + 0x60]
xor r8d, r8d
test rdx, rdx
je 0x14027d2eb
mov r14, rbx
mov r9, qword [rax + 0x18]
mov r9, qword [r9 + 8]
mov r10, qword [rax + 8]
xor r11d, r11d
movsx rbx, word [r10 + r11*2]
test rbx, rbx
js 0x14027cb30
lea rbx, [rbx + rbx*2]
movzx ebx, byte [r9 + rbx*8 + 0xd]
add r8d, ebx
inc r11
cmp rdx, r11
jne 0x14027c9ef
shl r8d, 2
cmp r8d, 8
jb 0x14027d4a9
mov dx, 0x28
cmp r8d, 0x100
jae 0x14027d4c7
mov r9, r8
mov rbx, r14
mov r8, r9
cmp r9, 0x10
jb 0x14027ca52
add edx, 0xa
mov r8, r9
shr r8, 1
cmp r9, 0x1f
mov r9, r8
ja 0x14027ca40
and r8d, 7
add dx, word [rcx + r8*2]
add edx, 0xfffffff6
mov r9, qword [rsp + 0x68]
mov word [rax + 0x5c], dx
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14027c9cd
cmp byte [r9], 0
je 0x14027cb56
mov rdx, qword [rdi]
mov rcx, qword [rdi + 0x60]
add rcx, 8
mov r8, rdi
call fcn.140279f10
test rax, rax
jne 0x14027d402
mov qword [rsi + 0x148], 0
or byte [r12 + 0x2c], 1
mov rcx, qword [rdi]
lea rdx, str.sqlite_sequence
call fcn.1402b7600
test eax, eax
je 0x14027cb49
cmp qword [rsp + 0x1e0], 0
jne 0x14027caf1
cmp byte [rdi + 0x3f], 0
jne 0x14027caf1
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
cmovne rbx, rax
mov eax, dword [rbx]
sub eax, dword [rsi + 0x100]
add eax, 0xd
mov dword [rdi + 0x40], eax
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x14027cb14
call fcn.140297b50
int3
or byte [rdi + 0x30], 1
jmp 0x14027c8d8
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 1
jmp 0x14027ca07
cmp byte [rax + 0x3f], 1
jne 0x14027c8a7
jmp 0x14027d944
mov rax, qword [rdi + 0x60]
mov qword [rax + 0x68], rdi
jmp 0x14027cac2
mov r15, qword [rsi + 0x10]
test r15, r15
je 0x14027d4f9
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x14027cd6e
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x7a
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
cmp byte [rdi + 0x3f], 0
lea rax, str.table
lea r14, str.view
cmove r14, rax
lea rax, str.TABLE
lea r8, str.VIEW
cmove r8, rax
cmp qword [rsp + 0x1e0], 0
mov qword [rsp + 0x88], rbx
jne 0x14027d7b6
lea rcx, [rsi + 0x110]
test ebp, ebp
cmove rcx, rbx
mov rdx, qword [rcx]
mov rax, qword [rsi + 0x100]
mov r9d, edx
sub r9d, eax
cmp byte [rdx], 0x3b
je 0x14027cc06
add r9d, dword [rcx + 8]
mov qword [rsp + 0x20], rax
lea rdx, str.CREATE__s__.s
mov rcx, r12
call fcn.140198f50
mov rbp, rax
mov eax, dword [rsi + 0x88]
mov ecx, dword [rsi + 0x8c]
mov rdx, qword [rdi]
mov r8, qword [r12 + 0x20]
movsxd rbx, r13d
shl rbx, 5
mov r8, qword [r8 + rbx]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
lea rdx, str.UPDATE__Q.sqlite_master_SET_type_s__name_Q__tbl_name_Q__rootpage_d__sql_Q_WHERE_rowid_d
mov rcx, rsi
mov r9, r14
call fcn.1401ca300
test rbp, rbp
je 0x14027cc75
mov rcx, r12
mov rdx, rbp
call fcn.14026a0e0
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rbx + 0x18]
mov eax, dword [rax]
inc eax
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x14027cd52
lea r8d, [rdx + 1]
mov dword [rcx + 0x90], r8d
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x70
mov dword [rcx + rdx*8 + 4], r13d
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
test byte [rdi + 0x30], 8
jne 0x14027cd21
mov r8, qword [rdi]
lea rdx, str.tbl_name_q_AND_type_trigger
mov rcx, r12
call fcn.140198f50
mov rcx, r15
mov edx, r13d
mov r8, rax
xor r9d, r9d
call fcn.1401ca4e0
test byte [rdi + 0x30], 0x60
jne 0x14027d64e
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
mov rbx, qword [rsp + 0x88]
je 0x14027cac2
jmp 0x14027ca7e
cmp byte [rsi + 0x124], 0
jne 0x14027ccd9
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + rbx + 0x18]
cmp qword [rcx + 0x68], 0
jne 0x14027ccd9
add rax, rbx
mov r8, qword [rax]
lea rdx, str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
mov rcx, rsi
call fcn.1401ca300
jmp 0x14027ccd9
mov dword [rsp + 0x20], eax
mov edx, 0x70
mov r8d, r13d
mov r9d, 1
call fcn.1401b1310
jmp 0x14027ccd3
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7a
xor r8d, r8d
xor r9d, r9d
call fcn.1401b1310
jmp 0x14027cba1
test rcx, rcx
je 0x14027d2c0
mov ax, 0x28
mov rdx, rcx
add eax, 0xfffffff6
mov ecx, 0
test rdx, rdx
je 0x14027cd9b
add rdx, rdx
jmp 0x14027c9a4
mov ax, 0x28
mov r8, rcx
add eax, 0x28
shr r8, 4
cmp rcx, 0xfff
mov rcx, r8
jbe 0x14027c988
jmp 0x14027cdba
mov rbx, qword [r13 + 0x40]
mov r14, qword [rbx + rcx*8]
mov qword [rsp + 0x80], r14
mov rbx, qword [rbx + r11*8]
mov qword [rsp + 0x78], rbx
xor r14d, r14d
jmp 0x14027cdf4
inc r14
mov rbx, qword [rsp + 0x78]
movzx ebx, byte [rbx + r14]
mov r15, qword [rsp + 0x80]
movzx r15d, byte [r15 + r14]
cmp bl, r15b
jne 0x14027d963
test rbx, rbx
jne 0x14027cdf1
dec word [r13 + 0x60]
jmp 0x14027cf7f
mov ecx, dword [rdi + 0x30]
test cl, 8
jne 0x14027d450
test cl, 4
je 0x14027d495
or ecx, 0x280
mov dword [rdi + 0x30], ecx
mov rax, qword [rsi]
mov r10, qword [rsi + 0x10]
mov qword [rsp + 0x60], rax
test byte [rax + 0xc8], 2
jne 0x14027cea9
movzx eax, word [rdi + 0x36]
test ax, ax
jle 0x14027cea0
mov ecx, 8
xor edx, edx
jmp 0x14027ce86
mov r9d, dword [r8 + rcx]
test r9b, 0xf
je 0x14027d63d
inc rdx
movsx r8, ax
add rcx, 0x18
cmp rdx, r8
jge 0x14027ce9d
mov r8, qword [rdi + 8]
test byte [r8 + rcx + 0xa], 1
je 0x14027ce76
jmp 0x14027ce68
mov ax, 1
jmp 0x14027cf90
mov ecx, dword [rdi + 0x30]
or ecx, 0x800
mov dword [rdi + 0x30], ecx
movsxd rax, dword [rsi + 0xc0]
test rax, rax
je 0x14027ced8
mov rcx, qword [r10]
cmp byte [rcx + 0x67], 0
jne 0x14027d938
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r10 + 0x88]
mov dword [rax + 0xc], 2
movsx rax, word [rdi + 0x34]
test rax, rax
mov qword [rsp + 0x88], rbx
jns 0x14027d6a6
mov r13, qword [rdi + 0x10]
test r13, r13
je 0x14027d62c
mov eax, dword [r13 + 0x64]
and eax, 3
cmp eax, 2
jne 0x14027d634
movzx edx, word [r13 + 0x5e]
cmp dx, 2
jb 0x14027ce94
mov eax, 1
mov ecx, 1
mov qword [rsp + 0x70], r10
test eax, eax
jle 0x14027cf4f
mov r8, qword [r13 + 8]
movzx r9d, word [r8 + rcx*2]
mov r10d, eax
xor r11d, r11d
cmp word [r8 + r11*2], r9w
je 0x14027cdd3
inc r11
cmp r11, r10
jne 0x14027cf3c
mov rdx, qword [r13 + 0x40]
mov r8, qword [rdx + rcx*8]
movsxd r9, eax
mov qword [rdx + r9*8], r8
mov rdx, qword [r13 + 0x38]
mov r8b, byte [rdx + rcx]
mov byte [rdx + r9], r8b
mov rdx, qword [r13 + 8]
movzx r8d, word [rdx + rcx*2]
inc eax
mov word [rdx + r9*2], r8w
movzx edx, word [r13 + 0x5e]
inc rcx
movzx r8d, dx
cmp rcx, r8
mov r10, qword [rsp + 0x70]
jb 0x14027cf29
mov word [r13 + 0x5e], ax
mov eax, dword [r13 + 0x64]
mov ecx, eax
or ecx, 0x20
mov dword [r13 + 0x64], ecx
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0xc8], 2
jne 0x14027cfb7
or eax, 0x28
mov dword [r13 + 0x64], eax
movzx r15d, word [r13 + 0x5e]
mov word [r13 + 0x60], r15w
test r10, r10
je 0x14027cfee
movsxd rax, dword [r13 + 0x58]
test rax, rax
je 0x14027cfee
mov rcx, qword [r10]
cmp byte [rcx + 0x67], 0
jne 0x14027d92c
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r10 + 0x88]
mov byte [rax], 9
mov eax, dword [rdi + 0x28]
mov dword [r13 + 0x58], eax
mov r14, qword [rdi + 0x10]
test r14, r14
je 0x14027d01a
mov ecx, r15d
mov eax, dword [r14 + 0x64]
and eax, 3
cmp eax, 2
jne 0x14027d530
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x14027d001
movsx rax, word [rdi + 0x36]
test rax, rax
jle 0x14027d2db
mov rcx, qword [r13 + 8]
xor edx, edx
xor r8d, r8d
mov rbx, qword [rsp + 0x88]
jmp 0x14027d05c
mov r9, qword [rdi + 8]
lea r10, [rdx + rdx*2]
mov r9b, byte [r9 + r10*8 + 0x12]
and r9b, 0x20
cmp r9b, 1
adc r8d, 0
inc rdx
cmp rdx, rax
je 0x14027d07c
mov r9d, r15d
mov r10, rcx
test r9d, r9d
jle 0x14027d03b
dec r9d
movsx r11, word [r10]
add r10, 2
mov r11d, r11d
cmp rdx, r11
jne 0x14027d062
jmp 0x14027d054
add r8d, r15d
mov rcx, qword [rsp + 0x60]
mov rdx, r13
call fcn.1401ca610
test eax, eax
mov r9, qword [rsp + 0x68]
jne 0x14027c8f0
movzx edx, word [rdi + 0x36]
test dx, dx
jle 0x14027d104
xor eax, eax
lea rcx, [0x1404dcf50]
jmp 0x14027d0e0
mov r9, qword [rdi + 8]
lea r10, [rax + rax*2]
test byte [r9 + r10*8 + 0x12], 0x20
jne 0x14027d0d4
movsxd r15, r15d
mov word [r8 + r15*2], ax
mov rdx, qword [r13 + 0x40]
mov qword [rdx + r15*8], rcx
inc r15d
movzx edx, word [rdi + 0x36]
inc rax
movsx r8, dx
cmp rax, r8
jge 0x14027d104
mov r8, qword [r13 + 8]
mov r9d, r15d
mov r10, r8
test r9d, r9d
jle 0x14027d0ad
dec r9d
movsx r11, word [r10]
add r10, 2
mov r11d, r11d
cmp rax, r11
jne 0x14027d0ea
jmp 0x14027d0d4
movzx eax, word [r13 + 0x60]
test rax, rax
je 0x14027d2c7
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x18]
inc rax
xor ecx, ecx
movsx r9, word [rdx + rax*2 - 4]
test r9, r9
js 0x14027d149
cmp r9w, 0x3e
ja 0x14027d149
mov r10, qword [r8 + 8]
lea r11, [r9 + r9*2]
movzx r10d, word [r10 + r11*8 + 0x12]
and r10d, 0x20
jne 0x14027d149
bts rcx, r9
dec rax
cmp rax, 1
ja 0x14027d11f
not rcx
mov qword [r13 + 0x68], rcx
mov r9, qword [rsp + 0x68]
jmp 0x14027c8f0
or byte [rdi + 0x32], 1
cmp word [rdi + 0x36], 0
jle 0x14027c8e7
mov eax, 0x12
xor ecx, ecx
jmp 0x14027d190
inc rcx
movsx rdx, word [rdi + 0x36]
add rax, 0x18
cmp rcx, rdx
jge 0x14027c8e7
mov rdx, qword [rdi + 8]
mov r8d, dword [rdx + rax - 0xa]
mov r9d, r8d
shr r9d, 4
and r9d, 0xf
cmp r9d, 1
je 0x14027d622
test r9d, r9d
je 0x14027d40f
test byte [rdx + rax], 1
mov r9, qword [rsp + 0x68]
je 0x14027d17b
movsx r9, word [rdi + 0x34]
mov r9d, r9d
cmp rcx, r9
mov r9, qword [rsp + 0x68]
je 0x14027d17b
test r8b, 0xf
jne 0x14027d17b
or r8d, 2
mov dword [rdx + rax - 0xa], r8d
or byte [rdi + 0x31], 8
jmp 0x14027d17b
test eax, eax
jne 0x14027d471
mov dword [rdi + 0x28], 0
jmp 0x14027c8d8
xorps xmm0, xmm0
lea rcx, [rsp + 0xa0]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov qword [rcx + 0x30], 0
lea rax, [rsp + 0xe0]
movaps xmmword [rax], xmm0
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax + 0x20], xmm0
movaps xmmword [rax + 0x30], xmm0
movaps xmmword [rax + 0x40], xmm0
movaps xmmword [rax + 0x50], xmm0
movaps xmmword [rax + 0x60], xmm0
mov dword [rax], 1
mov r8, qword [rdi]
mov qword [rax + 0x18], r8
mov qword [rax + 0x28], rdi
mov dword [rax + 0x4c], 0xffffffff
mov r8, qword [rdi + 0x60]
mov r9, qword [rsi]
mov r9, qword [r9 + 0x20]
xor r10d, r10d
cmp r8, qword [r9 + 0x38]
setne r10b
mov qword [rcx], rsi
mov qword [rcx + 8], rax
shl r10d, 0x12
or r10d, 0x10004
mov dword [rcx + 0x28], r10d
call fcn.140288f90
mov r9, qword [rsp + 0x68]
cmp dword [rsi + 0x30], 0
je 0x14027c928
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x14027d2a7
mov rcx, r12
call fcn.14027b390
mov qword [rdi + 0x20], 0
mov r9, qword [rsp + 0x68]
jmp 0x14027c928
xor eax, eax
jmp 0x14027c960
xor eax, eax
jmp 0x14027c9b5
mov rcx, 0xffffffffffffffff
jmp 0x14027d155
mov rdx, r8
jmp 0x14027c9a4
xor r8d, r8d
mov rbx, qword [rsp + 0x88]
jmp 0x14027d07c
xor edx, edx
jmp 0x14027ca63
test ax, ax
jle 0x14027d31a
xor r14d, r14d
xorps xmm6, xmm6
xor r15d, r15d
mov dword [rsp + 0x60], 0
jmp 0x14027d35d
cmp dword [rsp + 0x60], 0
mov r9, qword [rsp + 0x68]
jne 0x14027c936
lea rdx, str.must_have_at_least_one_non_generated_column
mov rcx, rsi
call fcn.140198de0
jmp 0x14027caf1
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14027d379
cmp dword [rcx], eax
jl 0x14027d379
dec eax
shl rax, 5
mov r9, qword [rcx + rax + 8]
jmp 0x14027d37c
inc dword [rsp + 0x60]
inc r15
movsx rax, word [rdi + 0x36]
add r14, 0x18
cmp r15, rax
jge 0x14027d30a
mov rax, qword [rdi + 8]
test byte [rax + r14 + 0x12], 0x60
je 0x14027d348
movzx eax, word [rax + r14 + 0x10]
test eax, eax
je 0x14027d379
cmp byte [rdi + 0x3f], 0
je 0x14027d32e
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
mov r8d, 8
call fcn.140406a50
test eax, eax
je 0x14027d34c
cmp byte [r12 + 0x67], 0
je 0x14027d3b9
xor r9d, r9d
mov r8, qword [rdi + 8]
add r8, r14
mov rcx, rsi
mov rdx, rdi
call fcn.1401c9f60
jmp 0x14027d34c
mov edx, 0x48
mov rcx, r12
call fcn.14026a520
test rax, rax
je 0x14027d3a2
mov r9, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
mov qword [rax + 0x40], 0
mov byte [rax], 0x6f
mov word [rax + 0x32], 0xffff
mov dword [rax + 0x28], 1
jmp 0x14027d3a5
mov r13d, 0xffff8000
jmp 0x14027c91b
mov rcx, r12
call fcn.1403f2a80
jmp 0x14027caf1
test byte [rdx + rax], 4
mov rbx, qword [rdx + rax - 0x12]
je 0x14027d439
mov rcx, rbx
call fcn.1402b7c90
add rax, rbx
inc rax
mov r8, qword [rdi]
mov qword [rsp + 0x20], rax
lea rdx, str.unknown_datatype_for__s._s:___s_
jmp 0x14027d443
mov r8, qword [rdi]
lea rdx, str.missing_datatype_for__s._s
mov rcx, rsi
mov r9, rbx
call fcn.140198de0
jmp 0x14027d480
lea rdx, str.AUTOINCREMENT_not_allowed_on_WITHOUT_ROWID_tables
jmp 0x14027d478
lea r9, [r12 + 0xc5]
jmp 0x14027c8d8
cmp byte [r12 + 0xc5], 0
je 0x14027d459
lea rdx, [0x140479cb1]
mov rcx, rsi
call fcn.140198de0
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.140297b50
jmp 0x14027cb14
mov r8, qword [rdi]
lea rdx, str.PRIMARY_KEY_missing_on_table__s
mov rcx, rsi
call fcn.140198de0
jmp 0x14027d480
test r8, r8
je 0x14027d4bd
add r8, r8
mov dx, 0x1e
mov rbx, r14
jmp 0x14027ca52
xor edx, edx
mov rbx, r14
jmp 0x14027ca5e
mov dx, 0x28
mov r9, r8
mov rbx, r14
add edx, 0x28
shr r9, 4
cmp r8, 0xfff
mov r8, r9
jbe 0x14027ca37
jmp 0x14027d4d1
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x14027d503
mov byte [rsi + 0x23], 1
jmp 0x14027d503
cmp qword [rsi + 0xa0], 0
je 0x14027d4ea
mov rcx, rsi
call fcn.140199050
mov r15, rax
test rax, rax
jne 0x14027cb63
jmp 0x14027caf1
movzx eax, word [r14 + 0x5e]
mov word [r14 + 0x60], ax
mov rcx, qword [rsp + 0x78]
jmp 0x14027d011
mov qword [rsp + 0x78], rcx
test r15d, r15d
je 0x14027d51c
movzx eax, word [r14 + 0x5e]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x70], 0
xor eax, eax
mov rcx, r14
mov edx, dword [rsp + 0x80]
mov r8, r13
mov ebx, eax
mov r9d, eax
call fcn.140406f20
xor eax, 1
add dword [rsp + 0x70], eax
inc ebx
mov eax, ebx
cmp r15d, ebx
jne 0x14027d550
cmp dword [rsp + 0x70], 0
je 0x14027d51c
movzx eax, word [r14 + 0x5e]
mov r8d, dword [rsp + 0x70]
add r8d, eax
mov rcx, qword [rsp + 0x60]
mov rdx, r14
call fcn.1401ca610
test eax, eax
mov rbx, qword [rsp + 0x88]
mov r9, qword [rsp + 0x68]
jne 0x14027c8f0
movzx eax, word [r14 + 0x5e]
mov dword [rsp + 0x70], eax
xor ebx, ebx
jmp 0x14027d5da
or byte [r14 + 0x65], 4
inc dword [rsp + 0x70]
mov rax, rbx
inc rax
mov rcx, qword [rsp + 0x78]
mov rbx, rax
cmp rcx, rax
je 0x14027d011
movzx edx, word [r14 + 0x5e]
mov rcx, r14
mov r8, r13
mov r9d, ebx
call fcn.140406f20
test eax, eax
jne 0x14027d5c3
mov rax, qword [r13 + 8]
movzx eax, word [rax + rbx*2]
mov rcx, qword [r14 + 8]
movsxd rdx, dword [rsp + 0x70]
mov word [rcx + rdx*2], ax
mov rax, qword [r13 + 0x40]
mov rax, qword [rax + rbx*8]
mov rcx, qword [r14 + 0x40]
mov qword [rcx + rdx*8], rax
mov rax, qword [r13 + 0x38]
cmp byte [rax + rbx], 0
jne 0x14027d5ba
jmp 0x14027d5bf
mov byte [rdx + rax - 6], 0x41
jmp 0x14027d1b7
xor r13d, r13d
jmp 0x14027cf0b
mov r13, qword [r13 + 0x28]
jmp 0x14027cef2
or r9d, 2
mov dword [r8 + rcx], r9d
movzx eax, word [rdi + 0x36]
jmp 0x14027ce76
mov r9, qword [rdi]
mov rax, qword [r12 + 0x20]
mov r8, qword [rax + rbx]
lea rdx, str.SELECTFROM__w_.__w_
mov rcx, r12
call fcn.140198f50
mov r14, rax
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x95
mov r8d, 1
xor r9d, r9d
call fcn.1404006f0
mov rcx, r15
mov edx, eax
mov r8, r14
mov r9d, 0xfffffffa
call fcn.1401c3300
jmp 0x14027cd06
xor eax, eax
jmp 0x14027d6de
mov r15, r10
mov r14, rbx
movaps xmm0, xmmword [0x140470090]
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, qword [rdi + 8]
lea rax, [rax + rax*2]
mov rcx, qword [rcx + rax*8]
mov qword [rsp + 0xe0], rcx
test rcx, rcx
je 0x14027d6a2
call fcn.1402b7c90
and eax, 0x3fffffff
lea r8, [rsp + 0xe0]
mov dword [r8 + 8], eax
mov rcx, qword [rsp + 0x60]
mov edx, 0x39
xor r9d, r9d
call fcn.1401bcee0
mov rcx, qword [rsi]
mov rdx, rax
call fcn.1402963c0
test rax, rax
je 0x14027d784
cmp byte [rsi + 0x124], 2
jb 0x14027d73c
mov rcx, qword [rsi + 0x188]
test rcx, rcx
je 0x14027d73c
lea r8, [rdi + 0x34]
mov rdx, qword [rax + 8]
cmp qword [rcx], r8
je 0x14027d739
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14027d729
jmp 0x14027d73c
mov qword [rcx], rdx
mov cl, byte [rsi + 0x122]
mov byte [rax + 0x18], cl
mov word [rdi + 0x34], 0xffff
movzx ecx, byte [rdi + 0x3e]
xor ebx, ebx
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x50], 2
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1401b2c10
cmp dword [rsi + 0x30], ebx
je 0x14027d790
and byte [rdi + 0x30], 0x7f
mov rbx, r14
jmp 0x14027d159
mov r13, qword [rdi + 0x10]
test r13, r13
je 0x14027d7ab
mov eax, dword [r13 + 0x64]
and eax, 3
cmp eax, 2
je 0x14027d7ae
mov r13, qword [r13 + 0x28]
jmp 0x14027d794
xor r13d, r13d
mov r10, r15
jmp 0x14027cf95
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [0x140470090]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
cmp byte [rsi + 0x124], 0
je 0x14027d7f7
mov dword [rsi + 0x18], 1
inc dword [rsi + 0x30]
jmp 0x14027caf1
mov r8d, dword [rsi + 0x34]
mov ecx, dword [rsi + 0x38]
lea eax, [r8 + 1]
mov dword [rsi + 0x34], eax
lea ebp, [rcx + 1]
mov qword [rsp + 0x60], rcx
lea eax, [rcx + 3]
mov dword [rsp + 0x80], eax
mov dword [rsi + 0x38], eax
mov rax, qword [rsi + 0xa0]
test rax, rax
cmove rax, rsi
mov byte [rax + 0x21], 1
mov r9d, dword [rsi + 0x8c]
mov dword [rsp + 0x20], r13d
mov rcx, r15
mov edx, 0x73
mov qword [rsp + 0x70], r8
call fcn.1404006f0
movsxd rbx, dword [r15 + 0x90]
test rbx, rbx
jle 0x14027d86f
mov rax, qword [r15 + 0x88]
lea rcx, [rbx + rbx*2]
mov word [rax + rcx*8 - 0x16], 0x10
mov ebx, dword [r15 + 0x90]
lea eax, [rbx + 1]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, ntohl
mov r8d, ebp
xor r9d, r9d
call fcn.1404006f0
cmp dword [rsi + 0x30], 0
jne 0x14027caf1
mov rcx, rsi
mov rdx, qword [rsp + 0x1e0]
mov r8b, 0x41
call fcn.140406b70
test rax, rax
je 0x14027caf1
movzx ecx, word [rax + 0x36]
mov word [rdi + 0x38], cx
mov word [rdi + 0x36], cx
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
mov word [rax + 0x36], 0
mov qword [rax + 8], 0
cmp qword [r12 + 0x2e8], 0
je 0x14027d925
mov rcx, r12
mov rdx, rax
call fcn.14027af60
lea r8, [rsp + 0xe0]
mov byte [r8], ntohl
mov dword [r8 + 4], ebp
mov dword [r8 + 8], 0
xor eax, eax
mov qword [r8 + 0x18], rax
mov qword [r8 + 0xc], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x1e0]
call fcn.1401b6460
cmp dword [rsi + 0x30], 0
jne 0x14027caf1
jmp 0x14027d994
dec dword [rax + 0x2c]
jne 0x14027d8e7
jmp 0x14027d8dc
lea rax, [0x140521a10]
jmp 0x14027cfeb
lea rax, [0x140521a10]
jmp 0x14027ced1
mov rcx, r12
mov rdx, rax
mov r8, r14
call fcn.140406950
test eax, eax
je 0x14027c8a7
or byte [rdi + 0x31], 0x10
jmp 0x14027c8a7
mov qword [rsp + 0x90], r10
lea r10, [0x1404dccc0]
mov bl, byte [rbx + r10]
lea r10, [0x1404dccc0]
cmp bl, byte [r15 + r10]
mov r10, qword [rsp + 0x90]
je 0x14027cdf1
jmp 0x14027cf47
mov rax, qword [rsp + 0x60]
add eax, 2
mov qword [rsp + 0x60], rax
xor eax, eax
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x44
mov r8d, ebp
xor r9d, r9d
call fcn.1404006f0
mov rax, qword [r15 + 0x18]
mov byte [rax + 0x1f], 0
mov rax, qword [r15 + 0x18]
xor ecx, ecx
mov dword [rax + 0x28], ecx
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
lea rdx, [0x140521a10]
cmp byte [rcx + 0x67], 0
mov qword [rsp + 0x78], rdx
mov rcx, rdx
jne 0x14027d9fc
movsxd rcx, ebx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
mov r8d, dword [rsp + 0xe4]
xor eax, eax
mov dword [rsp + 0x20], eax
xor ebx, ebx
mov rcx, r15
mov edx, ntohl
xor r9d, r9d
call fcn.1404006f0
mov dword [rsp + 0x90], eax
mov r8d, dword [rsp + 0xec]
mov r9d, dword [rsp + 0xf0]
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x6d
call fcn.1404006f0
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
call fcn.1401ca030
mov dword [rsp + 0x20], ebx
mov rcx, r15
mov edx, 0x7f
mov rbx, qword [rsp + 0x70]
mov r8d, ebx
mov ebp, dword [rsp + 0x80]
mov r9d, ebp
call fcn.1404006f0
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov edx, 0x80
mov r8d, ebx
mov r9, qword [rsp + 0x60]
call fcn.1404006f0
xor eax, eax
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 9
xor r8d, r8d
mov r9d, dword [rsp + 0x90]
mov ebx, r9d
call fcn.1404006f0
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
jne 0x14027dade
movsxd rcx, ebx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 8], eax
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7a
mov r8, qword [rsp + 0x70]
xor r9d, r9d
call fcn.1404006f0
mov rcx, r12
mov rdx, rdi
call fcn.140406c50
jmp 0x14027cc1a