Function at 0x140035f20
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push r13
push r14
lea rbp, [r11 - 0x248]
sub rsp, 0x330
mov rax, qword [0x140123080]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov qword [r11 + 0x10], rbx
mov rax, rcx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
xor dil, dil
mov qword [r11 - 0x20], r12
xor r12d, r12d
mov r13, qword [rax]
mov r14d, r12d
mov qword [r11 - 0x28], r15
mov r15, qword [rax + 0x70]
movaps xmmword [r11 - 0x38], xmm6
mov rbx, qword [r13 + 0x30]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rcx + 0x68]
movaps xmmword [r11 - 0x48], xmm7
mov rsi, rcx
mov qword [rsp + 0x50], rcx
movzx ecx, byte [r13 + 0x52]
movaps xmmword [r11 - 0x58], xmm8
mov byte [rsp + 0x48], cl
mov rcx, rax
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
mov dword [rsp + 0x58], r12d
mov qword [rbp - 0x60], r13
mov byte [rsp + 0x30], dil
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x34], r12d
mov dword [rbp - 0x80], r12d
mov qword [rsp + 0x60], r15
mov qword [rbp - 0x70], r12
mov qword [rsp + 0x40], rbx
call fcn.14002d1d0
mov r11, qword [rsp + 0x38]
mov r10d, 1
cmp dword [r11 + 0x38], 7
je 0x1400379ce
mov dword [r11 + 0x38], r12d
mov qword [r11 + 0x48], r12
mov qword [r11 + 0x88], r12
mov eax, dword [r13 + 0x150]
mov dword [r13 + 0x228], r12d
test eax, eax
jne 0x14003b144
cmp qword [r13 + 0x1a0], r12
je 0x140036035
mov r8d, dword [r13 + 0x1b0]
xor edx, edx
mov eax, dword [r11 + 0xdc]
div r8d
sub r8d, edx
mov dword [rbp - 0x80], r8d
movsxd rax, dword [r11 + 0x34]
mov r9, rsi
movdqa xmm8, xmmword [0x140110b50]
xorps xmm10, xmm10
movdqa xmm7, xmmword [0x140110b40]
movdqa xmm9, xmmword [0x140110b60]
lea rcx, [rax + rax*2]
mov eax, r12d
lea rsi, [rsi + rcx*8]
lea rcx, [0x140000000]
mov r8d, dword [0x1401230d8]
inc eax
mov rdi, rbx
mov qword [rsp + 0x70], rsi
movzx ebx, byte [rsi]
mov edx, 0x1000
mov dword [rsp + 0x34], eax
cmp ebx, 0x9f
ja case.default.0x1400360a6
mov ecx, dword [rcx + rbx*4 + 0x3b180]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rsi + 4]
mov rcx, rsi
imul r8, rax, 0x38
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r15 + 8], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x14003aba5
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov word [rdx + r15 + 8], 0x80
lea rsi, [r9 + rcx*8]
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, dword [rsi + 0xc]
dec eax
cdqe
mov qword [rcx + r15], rax
mov word [rcx + r15 + 8], 4
cmp dword [rsi + 8], 0
jne 0x14003aba5
mov rbx, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
cdqe
jmp 0x1400360f0
movsxd rax, dword [rsi + 4]
sub rsi, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
movsxd rcx, dword [r8 + r15]
sar rdx, 2
mov rax, rdx
mov word [r8 + r15 + 8], 4
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea rsi, [r9 + rcx*8]
mov qword [r8 + r15], rax
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je case.0x1400360a6.112
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov ecx, dword [rsi + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x14003ac0f
mov rdi, qword [r11 + 0xf0]
test rdi, rdi
je 0x14003ac0f
mov rax, qword [rdi + 8]
mov rcx, r13
mov edx, dword [r11 + 0x3c]
dec dword [r11 + 0x100]
mov qword [r11 + 0xf0], rax
call fcn.140031c40
mov rcx, rdi
call fcn.14002e130
cmp dword [rsi + 8], 4
mov rbx, qword [r13 + 0x30]
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
jne 0x14003623a
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x68]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r11 + 0x68]
mov r10d, 1
mov r15, qword [r11 + 0x70]
cdqe
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x60], r15
lea rcx, [rax + rax*2]
mov eax, dword [rsp + 0x34]
lea rsi, [r9 + rcx*8]
lea rcx, [0x140000000]
add rsi, 0x18
jmp 0x14003606c
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
mov rcx, rax
movsxd rax, dword [rsi + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp case.0x1400360a6.112
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
mov rdx, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036285
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
mov rdx, rax
mov word [rax + 8], 8
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036285
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
mov rcx, qword [rsi + 0x10]
mov rbx, rax
mov byte [rsi], 0x4e
call fcn.140009a50
movzx edi, byte [rsp + 0x48]
mov dword [rsi + 4], eax
cmp dil, 1
je 0x140036360
mov rdx, qword [rsi + 0x10]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], r12
mov rcx, rbx
call fcn.14002ad40
mov edx, edi
mov dword [rsp + 0x58], eax
mov rcx, rbx
mov r14d, eax
call fcn.140029c50
test eax, eax
jne 0x1400379c9
mov eax, 0x800
mov dword [rbx + 0x20], r12d
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xff
jne 0x14003634e
mov rdx, qword [rsi + 0x10]
mov rcx, r13
call fcn.140006970
mov byte [rsi + 1], 0xff
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
cmp eax, dword [r13 + 0x70]
jg 0x14003a0f8
mov r11, qword [rsp + 0x38]
jmp 0x140036376
movzx edi, byte [rsp + 0x48]
movsxd rax, dword [rsi + 8]
imul rdx, rax, 0x38
mov eax, 0x2460
add rdx, qword [r11 + 0x70]
test word [rdx + 8], ax
je 0x14003639d
mov rcx, rdx
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov rdx, rax
mov word [rdx + 8], 0xa02
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rsi + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], dil
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x14003628a
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov rbx, qword [rsp + 0x40]
imul rcx, rax, 0x38
movzx eax, byte [rsi + 3]
cmp qword [rcx + r15], rax
lea rcx, [0x140000000]
mov eax, dword [rsp + 0x34]
jne 0x140036137
mov word [rdx + 8], 0xa10
add rsi, 0x18
jmp 0x14003606c
movsxd rax, dword [rsi + 8]
mov edx, 0x2460
imul rcx, rax, 0x38
add rcx, qword [r11 + 0x70]
test word [rcx + 8], dx
je 0x140036433
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov rcx, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov edx, 0x2460
jmp 0x140036439
mov word [rcx + 8], 4
cmp dword [rsi + 4], 0
lea rbx, [rcx + 8]
mov edi, dword [rsi + 0xc]
mov r15d, r10d
mov eax, dword [rsi + 8]
mov r8d, 0x101
cmovne r15w, r8w
mov dword [rcx + 0xc], r12d
sub edi, eax
mov word [rbx], r15w
test edi, edi
jle 0x14003abec
nop word [rax + rax]
test word [rbx + 0x38], dx
lea rbx, [rbx + 0x38]
je 0x140036488
lea rcx, [rbx - 8]
call fcn.14002a460
mov edx, 0x2460
dec edi
mov word [rbx], r15w
mov dword [rbx + 4], r12d
test edi, edi
jg 0x140036470
mov r15, qword [rsp + 0x60]
jmp 0x140036285
movsxd rax, dword [rsi + 4]
mov edx, 0xff7f
imul rcx, rax, 0x38
movzx eax, word [rcx + r15 + 8]
and ax, dx
or ax, 1
mov word [rcx + r15 + 8], ax
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 8]
mov edi, 0x2460
imul rbx, rax, 0x38
add rbx, qword [r11 + 0x70]
test word [rbx + 8], di
je 0x1400364e9
mov rcx, rbx
call fcn.140035ec0
mov rbx, rax
jmp 0x1400364ef
mov word [rbx + 8], 4
mov r8d, dword [rsi + 4]
xor r9d, r9d
mov rdx, qword [rsi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r12
call fcn.14002ad40
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
jmp 0x140036285
mov eax, dword [rsi + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r11 + 0xa0]
mov rcx, rbx
call fcn.14002abf0
test eax, eax
jne 0x14003a0f8
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035ef0
mov r8d, 0x800
mov rdx, rbx
mov rcx, rax
call fcn.14002ac60
jmp 0x140036285
movsxd rax, dword [rsi + 4]
mov r15d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
nop word [rax + rax]
mov eax, 0x2460
test word [rbx + 8], ax
jne 0x140036591
cmp dword [rbx + 0x20], 0
je 0x1400365a4
mov rcx, rbx
call fcn.14002a4e0
mov edx, 0x1000
mov r10d, 1
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r10w
mov dword [rdi + 0x20], r12d
test word [rbx + 8], dx
je 0x1400365ee
mov rcx, rbx
call fcn.140029fe0
test eax, eax
jne 0x1400379c9
mov edx, 0x1000
mov r10d, 1
add rdi, 0x38
add rbx, 0x38
sub r15d, 1
jne 0x140036580
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
mov r15d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
nop
mov r8d, edx
mov rcx, rbx
mov rdx, rdi
call fcn.14002ac60
mov edx, 0x1000
test word [rbx + 8], dx
je 0x14003665e
mov rcx, rbx
call fcn.140029fe0
test eax, eax
jne 0x1400379c9
mov edx, 0x1000
mov eax, r15d
dec r15d
test eax, eax
je 0x140036496
add rbx, 0x38
add rdi, 0x38
jmp 0x140036630
movsxd rax, dword [rsi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rdx, r15
add rcx, r15
call fcn.14002ac60
jmp 0x140036285
movsxd rax, dword [rsi + 8]
imul r8, rax, 0x38
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add r8, r15
mov rax, qword [rcx + r15]
mov ecx, 0x2460
test word [r8 + 8], cx
je 0x1400366cf
mov rdx, rax
mov rcx, r8
call fcn.14002aaa0
jmp 0x140036285
mov qword [r8], rax
mov word [r8 + 8], 4
jmp case.0x1400360a6.112
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rsi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r15, rcx
imul rbx, rax, 0x38
add rdi, rcx
add rbx, rcx
movzx ecx, word [r15 + 8]
movzx eax, cl
or al, byte [rdi + 8]
test al, 1
je 0x140036725
mov rcx, rbx
call fcn.14002aa80
mov r15, qword [rsp + 0x60]
jmp 0x140036285
mov r12d, 0x4000
test r12w, cx
je 0x140036741
mov rcx, r15
call fcn.14002a100
test eax, eax
jne 0x1400379c9
test word [rdi + 8], r12w
je 0x140036758
mov rcx, rdi
call fcn.14002a100
test eax, eax
jne 0x1400379c9
test byte [r15 + 8], 0x12
movzx r12d, byte [rsp + 0x48]
jne 0x14003677c
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.14002a1c0
test eax, eax
jne 0x1400379c9
test byte [rdi + 8], 0x12
jne 0x140036799
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.14002a1c0
test eax, eax
jne 0x1400379c9
mov r12d, dword [r15 + 0xc]
add r12d, dword [rdi + 0xc]
cmp r12d, dword [r13 + 0x70]
jg 0x14003a0f8
xor r8d, r8d
lea edx, [r12 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.140029c70
test eax, eax
jne 0x1400379c9
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [rbx + 8], ax
cmp rbx, rdi
je 0x1400367f4
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400f3c40
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call fcn.1400f3c40
mov rax, qword [rbx + 0x10]
movsxd rcx, r12d
mov byte [rcx + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r12d
mov r11, qword [rsp + 0x38]
xor r12d, r12d
mov r15, qword [rsp + 0x60]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140035ea0
mov word [rbp + 0x20], ax
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
add r15, qword [rsp + 0x60]
mov rcx, r15
call fcn.140035ea0
movzx r12d, ax
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
movzx eax, byte [r15 + 8]
add rbx, qword [rsp + 0x60]
or al, byte [rdi + 8]
test al, 1
jne 0x140036a64
movzx eax, r12b
and al, byte [rbp + 0x20]
test al, 4
je 0x140036976
movzx edx, byte [rsi]
mov r8, qword [r15]
mov rcx, qword [rdi]
mov qword [rbp + 0x58], r8
mov byte [rsp + 0x68], 1
sub edx, 0x2f
je 0x14003693e
sub edx, 1
je 0x140036930
sub edx, 1
je 0x140036922
cmp edx, 1
je 0x1400368f6
test rcx, rcx
je 0x140036a64
cmp rcx, 0xffffffffffffffff
mov r9d, 1
mov rax, r8
cmove rcx, r9
cqo
idiv rcx
mov qword [rbp + 0x58], rdx
jmp 0x14003694e
test rcx, rcx
je 0x140036a64
cmp rcx, 0xffffffffffffffff
jne 0x140036914
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003697b
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x58], rax
jmp 0x14003694e
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000ad60
jmp 0x14003694a
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000acf0
jmp 0x14003694a
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000aca0
test eax, eax
jne 0x14003697b
mov rax, qword [rbp + 0x58]
mov ecx, 0x3e00
mov r15, qword [rsp + 0x60]
mov qword [rbx], rax
movzx eax, word [rbx + 8]
and ax, cx
or ax, 4
mov word [rbx + 8], ax
xor r12d, r12d
jmp 0x140036285
mov byte [rsp + 0x68], 0
mov rcx, rdi
call fcn.14002a6c0
mov rcx, r15
movaps xmm6, xmm0
call fcn.14002a6c0
movzx ecx, byte [rsi]
movaps xmm3, xmm0
sub ecx, 0x2f
je 0x1400369f7
sub ecx, 1
je 0x1400369f1
sub ecx, 1
je 0x1400369eb
cmp ecx, 1
je 0x1400369dc
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp + 0x58], rax
test rcx, rcx
je 0x140036a64
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
xorps xmm3, xmm3
cmove rcx, r9
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x1400369fb
ucomisd xmm6, xmm10
jp 0x1400369e5
je 0x140036a64
divsd xmm3, xmm6
jmp 0x1400369fb
mulsd xmm3, xmm6
jmp 0x1400369fb
subsd xmm3, xmm6
jmp 0x1400369fb
addsd xmm3, xmm6
movsd qword [rbp - 0x58], xmm3
movsd xmm0, qword [rbp - 0x58]
movsd qword [rsp + 0x70], xmm0
movsd xmm2, qword [rbp - 0x58]
movsd xmm1, qword [rsp + 0x70]
ucomisd xmm2, xmm1
jp 0x140036a64
jne 0x140036a64
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
or r12b, byte [rbp + 0x20]
and ax, cx
or ax, 8
movsd qword [rbx], xmm3
mov word [rbx + 8], ax
test r12b, 8
jne 0x140036832
cmp byte [rsp + 0x68], 0
jne 0x140036832
mov rcx, rbx
call fcn.14002a720
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
mov eax, 0x2460
test word [rbx + 8], ax
je 0x140036a84
mov rcx, rbx
call fcn.14002a460
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov r9, qword [rsp + 0x50]
mov word [rbx + 8], r10w
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
test eax, eax
je case.0x1400360a6.112
imul rcx, rax, 0x38
xor edx, edx
add rcx, r15
call fcn.14002aae0
jmp 0x140036285
movzx ebx, byte [rsi + 3]
mov rcx, r13
lea rdx, [rbx*8 + 0x30]
call fcn.140006d80
mov r8, rax
test rax, rax
je 0x1400379c9
mov r15, qword [rsp + 0x38]
mov rcx, rsi
sub rcx, qword [rsp + 0x50]
mov qword [rax], r12
mov rax, qword [rsi + 0x10]
mov qword [r8 + 8], rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rsi], 0xeb5a
mov qword [rsi + 0x10], r8
jmp 0x140036b34
mov r15, qword [rsp + 0x38]
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
mov r10, qword [rsp + 0x60]
imul rdi, rax, 0x38
add rdi, r10
cmp qword [rbx], rdi
je 0x140036b90
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140036b90
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r10
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140036b70
mov rcx, qword [rbx]
lea r8, [rbx + 0x30]
mov edx, 0x3e00
movzx eax, word [rcx + 8]
and ax, dx
or ax, 1
mov word [rcx + 8], ax
mov rcx, rbx
mov rax, qword [rsp + 0x40]
mov byte [rbx + 0x29], 0
mov qword [r13 + 0x30], rax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x40], rax
je 0x140036c20
cmp dword [rbx + 0x24], 0
je 0x140036c00
mov rcx, qword [rbx]
mov dl, 1
call fcn.14002b210
mov r8, rax
lea rdx, [0x140104aac]
mov rcx, r15
call fcn.14002b9e0
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x58], r14d
mov r9d, dword [rsi + 4]
lea rdx, [r15 + 0x110]
mov r8d, dword [rbx + 0x20]
mov rcx, r13
call fcn.14002f8c0
test r14d, r14d
jne 0x140037603
test byte [rdi + 8], 0x12
je 0x140036496
mov rcx, qword [rbx]
test byte [rcx + 8], 2
je 0x140036c47
movzx edi, byte [rsp + 0x48]
cmp byte [rcx + 0xa], dil
je 0x140036c47
movzx edx, dil
call fcn.140009430
mov rcx, qword [rbx]
call fcn.14002abf0
test eax, eax
jne 0x14003a0f8
mov r15, qword [rsp + 0x60]
jmp 0x140036285
mov rdx, qword [rsp + 0x60]
movsxd rax, dword [rsi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r15, rdx
imul rdi, rax, 0x38
add rcx, rdx
add rdi, rdx
movzx eax, byte [rcx + 8]
or al, byte [r15 + 8]
test al, 1
je 0x140036cbd
mov eax, 0x2460
test word [rdi + 8], ax
je 0x140036cb0
mov rcx, rdi
call fcn.14002a460
mov r15, qword [rsp + 0x60]
jmp 0x140036285
mov word [rdi + 8], r10w
mov r15, rdx
jmp case.0x1400360a6.112
call fcn.14002a630
mov rcx, r15
mov rbx, rax
call fcn.14002a630
movzx ecx, byte [rsi]
mov rdx, rax
cmp cl, 0x2b
jne 0x140036cdd
and rbx, rax
jmp 0x140036d51
cmp cl, 0x2c
jne 0x140036ce7
or rbx, rdx
jmp 0x140036d51
test rdx, rdx
je 0x140036d51
jns 0x140036d01
mov eax, 0x5b
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x140036d07
neg rdx
cmp rdx, 0x40
jl 0x140036d1f
test rbx, rbx
jns 0x140036d1a
cmp cl, 0x2d
je 0x140036d1a
mov rbx, 0xffffffffffffffff
jmp 0x140036d51
mov rbx, r12
jmp 0x140036d51
cmp cl, 0x2d
mov rcx, rdx
jne 0x140036d2f
shl rbx, cl
mov r8, rbx
jmp 0x140036d4e
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140036d4e
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rdi + 8]
mov ecx, 0x3e00
mov r15, qword [rsp + 0x60]
and ax, cx
or ax, 4
mov qword [rdi], rbx
mov word [rdi + 8], ax
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a630
mov qword [rbx], rax
mov rcx, rax
movzx eax, word [rbx + 8]
mov edx, 0x3e00
and ax, dx
or ax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rsi + 8]
add rax, rcx
mov qword [rbx], rax
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x140036dfe
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.140035cc0
movzx eax, word [rbx + 8]
test al, 4
jne 0x140036dee
cmp dword [rsi + 8], 0
jne 0x14003aba0
mov r14d, socket
jmp 0x140037603
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 4
je case.0x1400360a6.112
call fcn.14002a7c0
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
mov rcx, rbx
test word [rbx + 8], ax
je 0x140036e77
call fcn.14002a100
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [rsi + 8]
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.14002a950
test r14d, r14d
jne 0x140037603
jmp 0x140036285
movzx r8d, byte [rsp + 0x48]
mov r14d, r12d
movzx edx, byte [rsi + 8]
mov dword [rsp + 0x58], r12d
call fcn.14002a950
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r15, qword [rsp + 0x60]
imul rdi, rax, 0x38
movzx r12d, word [r15 + 8]
add rdi, qword [rsp + 0x60]
movzx eax, byte [rsi + 3]
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r12w
test cl, 1
je 0x140036f32
test al, al
jns 0x140036ef2
movzx eax, bx
xor r8d, r8d
and ax, r12w
bt ax, r8w
jae 0x140036f91
bt bx, 8
jb 0x140036f91
mov ecx, r8d
jmp 0x140037029
mov r15, qword [rsp + 0x60]
test al, 0x20
je 0x140036f28
movsxd rax, dword [rsi + 8]
mov edx, 0x3e00
imul rcx, rax, 0x38
mov dword [rsp + 0x6c], r10d
movzx eax, word [rcx + r15 + 8]
and ax, dx
or ax, 1
mov word [rcx + r15 + 8], ax
xor r12d, r12d
jmp case.0x1400360a6.112
xor r12d, r12d
test al, 0x10
jmp 0x140036121
and al, 0x47
cmp al, 0x43
jb 0x140036fa9
test cl, 2
je 0x140036f68
movzx eax, r12b
and al, 0xe
cmp al, 2
jne 0x140036f55
xor edx, edx
mov rcx, r15
call fcn.140035bc0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x140036f68
xor edx, edx
mov rcx, rdi
call fcn.140035bc0
movzx eax, byte [rdi + 8]
and al, byte [r15 + 8]
test al, 4
je 0x14003700a
mov rax, qword [rdi]
xor r8d, r8d
mov rdx, qword [r15]
mov r10d, 1
mov r11, qword [rsp + 0x38]
cmp rax, rdx
jle 0x140036f99
mov ecx, r10d
jmp 0x140037029
cmp rax, rdx
mov ecx, r8d
setge cl
dec ecx
jmp 0x140037029
cmp al, 0x42
jne 0x14003700a
test r12b, 2
jne 0x140036fde
test r12b, 0xc
je 0x140036fde
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, r15
call fcn.14002a1c0
movzx eax, r12w
mov ecx, 0x7e00
xor ax, word [r15 + 8]
and ax, cx
xor r12w, ax
test bl, 2
jne 0x14003700a
test bl, 0xc
je 0x14003700a
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rdi
call fcn.14002a1c0
movzx eax, bx
mov ecx, 0x7e00
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [rsi + 0x10]
mov rdx, r15
mov rcx, rdi
call fcn.140030aa0
mov r11, qword [rsp + 0x38]
mov ecx, eax
xor r8d, r8d
mov r10d, 1
movzx edx, byte [rsi]
sub edx, 0x24
je 0x14003706c
sub edx, 1
je 0x140037062
sub edx, 1
je 0x140037058
sub edx, 1
je 0x14003704e
cmp edx, 1
mov edx, ecx
je 0x140037049
not edx
shr edx, 0x1f
jmp 0x14003706e
test ecx, ecx
mov edx, r8d
setle dl
jmp 0x14003706e
test ecx, ecx
mov edx, r8d
setg dl
jmp 0x14003706e
test ecx, ecx
mov edx, r8d
sete dl
jmp 0x14003706e
mov edx, ecx
mov word [r15 + 8], r12w
xor r12d, r12d
mov r15, qword [rsp + 0x60]
mov word [rdi + 8], bx
movzx r9d, byte [rsi + 3]
test r9b, 0x20
je 0x1400370e3
movsxd rax, dword [rsi + 8]
imul r8, rax, 0x38
mov dword [rsp + 0x6c], ecx
test r9b, 8
je 0x1400370b5
cmp byte [rsi], 0x25
mov ecx, r12d
mov eax, r12d
sete cl
test edx, edx
setne al
cmp ecx, eax
je 0x140036290
movzx eax, word [r8 + r15 + 8]
mov ecx, 0x3e00
mov r9, qword [rsp + 0x50]
and ax, cx
or ax, 4
mov word [r8 + r15 + 8], ax
test edx, edx
mov rax, r12
setne al
mov qword [r8 + r15], rax
jmp case.0x1400360a6.112
mov r9, qword [rsp + 0x50]
test edx, edx
jmp 0x140036121
cmp dword [rsp + 0x6c], 0
jmp 0x140036121
mov rcx, qword [rsi + 0x10]
add rcx, 4
mov qword [rbp - 0x70], rcx
jmp case.0x1400360a6.112
test byte [rsi + 3], 1
mov edi, r12d
mov r8, qword [rbp - 0x70]
mov rbx, r12
movsxd rax, dword [rsi + 0xc]
cmove r8, r12
mov rcx, qword [rsi + 0x10]
mov r9d, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], rcx
mov dword [rbp + 0x30], r9d
mov dword [rsp + 0x78], edx
mov qword [rsp + 0x70], rax
test rax, rax
jle 0x1400371d9
lea r15, [rcx + 0x20]
nop dword [rax]
test r8, r8
je 0x14003715b
mov r8d, dword [r8 + rbx*4]
jmp 0x14003715e
mov r8d, edi
mov rax, qword [rcx + 0x18]
movzx r12d, byte [rbx + rax]
lea eax, [r8 + rdx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [r15]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x60]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x60]
call fcn.140030aa0
mov dword [rsp + 0x6c], eax
mov edx, eax
test eax, eax
jne 0x1400371bb
mov rcx, qword [rbp - 0x78]
inc edi
mov r9d, dword [rbp + 0x30]
inc rbx
mov edx, dword [rsp + 0x78]
add r15, 8
mov r8, qword [rbp - 0x70]
cmp rbx, qword [rsp + 0x70]
jl 0x140037150
jmp 0x1400371c6
test r12b, r12b
je 0x1400371c6
neg edx
mov dword [rsp + 0x6c], edx
mov r11, qword [rsp + 0x38]
xor r12d, r12d
mov r15, qword [rsp + 0x60]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov qword [rbp - 0x70], r12
jmp case.0x1400360a6.112
mov edx, dword [rsp + 0x6c]
test edx, edx
jns 0x140037203
mov eax, dword [rsi + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x1400360a6.112
mov rbx, qword [rsp + 0x40]
jne 0x14003722d
mov eax, dword [rsi + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rsp + 0x34]
lea rsi, [r9 + rcx*8]
lea rcx, [0x140000000]
add rsi, 0x18
jmp 0x14003606c
mov eax, dword [rsi + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rsp + 0x34]
lea rsi, [r9 + rcx*8]
lea rcx, [0x140000000]
add rsi, 0x18
jmp 0x14003606c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x14003726a
mov edx, 2
mov ebx, edx
jmp 0x14003727d
call fcn.14002a630
test rax, rax
mov rbx, r12
mov edx, 2
setne bl
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140037293
mov rcx, rdx
jmp 0x1400372a1
call fcn.14002a630
test rax, rax
mov rcx, r12
setne cl
lea r9, [rcx + rbx*2]
add r9, rbx
lea rax, [0x140000000]
cmp byte [rsi], 0x1c
jne 0x1400372bf
movzx r9d, byte [r9 + rax + 0x10c5d8]
jmp 0x1400372c8
movzx r9d, byte [r9 + rax + 0x10d3a8]
movsxd rax, dword [rsi + 0xc]
imul rdx, rax, 0x38
mov eax, 0x3e00
movzx ecx, word [rdx + r15 + 8]
and cx, ax
cmp r9b, 2
jne 0x1400372f3
or cx, 1
mov word [rdx + r15 + 8], cx
jmp 0x140036285
movzx eax, r9b
or cx, 4
mov qword [rdx + r15], rax
mov word [rdx + r15 + 8], cx
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r15
mov eax, 0x2460
add rbx, r15
test word [rbx + 8], ax
je 0x140037345
mov rcx, rbx
call fcn.14002a460
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp 0x14003734a
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne case.0x1400360a6.112
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002a630
mov rcx, r12
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r15
mov eax, 0x2460
add rbx, r15
test word [rbx + 8], ax
je 0x1400373ae
mov rcx, rbx
call fcn.14002a460
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp 0x1400373b3
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne case.0x1400360a6.112
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002a630
not rax
mov qword [rbx], rax
jmp 0x140036285
mov rax, qword [r11 + 0x68]
mov ecx, dword [rax + 4]
cmp ecx, dword [rsi + 4]
je 0x14003aba5
mov dword [rsi + 4], ecx
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140037409
mov eax, dword [rsi + 0xc]
test eax, eax
jmp 0x140036121
call fcn.14002a6c0
ucomisd xmm0, xmm10
jp 0x140037422
jne 0x140037422
mov eax, r12d
mov r10d, 1
jmp 0x14003742b
mov r10d, 1
mov eax, r10d
cmp byte [rsi], 0x16
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
jne 0x14003743d
xor eax, 1
test eax, eax
jmp 0x140036121
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jmp 0x140036121
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x14003aba5
jmp case.0x1400360a6.112
mov rax, qword [r11 + 0x98]
lea rdx, [rbp - 0x40]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x48]
mov dword [rbp - 0x40], eax
call fcn.140030140
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov r8, qword [rbp - 0x48]
movsxd rax, dword [rsi + 0xc]
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [r8 + 0x70]
mov r12, qword [r8 + 0x18]
imul r15, rax, 0x38
mov eax, dword [rdi + 0x30]
add r15, rcx
mov qword [rbp - 0x58], rbx
mov qword [rbp + 0x20], r15
mov qword [rbp - 0x68], r12
cmp dword [r8 + 0x58], eax
je 0x140037782
cmp byte [r8 + 2], r14b
je 0x14003753a
cmp byte [r8], 3
jne 0x140037517
movsxd rax, r12d
imul rdx, rax, 0x38
add rdx, rcx
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x3c], eax
mov dword [r8 + 0x60], eax
mov rcx, qword [rbp - 0x48]
mov eax, dword [rbp + 0x3c]
mov dword [rcx + 0x5c], eax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x68], rcx
jmp 0x14003757d
mov rcx, r15
call fcn.14002aa80
mov r9, qword [rsp + 0x50]
mov r11, rdi
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov r10d, 1
jmp case.0x1400360a6.112
mov rcx, r12
call fcn.140021360
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp + 0x3c]
mov dword [rcx + 0x5c], eax
mov rcx, r12
call fcn.140021a10
mov rcx, qword [rbp - 0x48]
mov qword [rcx + 0x68], rax
mov rcx, qword [rbp - 0x48]
mov edx, dword [rbp + 0x3c]
mov eax, dword [rcx + 0x5c]
cmp eax, edx
ja 0x140037570
mov dword [rcx + 0x60], eax
jmp 0x14003757d
cmp eax, dword [r13 + 0x70]
ja 0x14003a0f8
mov dword [rcx + 0x60], edx
mov rax, qword [rbp - 0x48]
mov ecx, dword [rdi + 0x30]
mov dword [rax + 0x58], ecx
mov rcx, qword [rbp - 0x48]
mov r8, qword [rcx + 0x68]
movzx eax, byte [r8]
cmp al, 0x80
jae 0x14003759e
mov dword [rbp + 0x40], eax
mov al, 1
jmp 0x1400375ae
lea rdx, [rbp + 0x40]
mov rcx, r8
call fcn.14000ab30
mov rcx, qword [rbp - 0x48]
movzx eax, al
xor edi, edi
mov dword [rcx + 0x64], eax
mov rax, qword [rbp - 0x48]
mov word [rax + 0x12], di
mov eax, dword [rbp + 0x40]
mov dword [rbx], eax
mov eax, dword [rbp + 0x40]
cmp dword [rbp + 0x3c], eax
jae 0x140037774
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x68], rdi
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x60], edi
mov eax, dword [rbp + 0x40]
cmp eax, 0x18003
ja 0x1400375f6
mov r8, qword [rbp - 0x48]
cmp eax, dword [r8 + 0x5c]
jbe 0x140037784
mov ecx, 0x13ba7
call fcn.1400ab780
mov r14d, eax
movzx edi, byte [rsp + 0x30]
mov ebx, 7
cmp byte [r13 + 0x55], 0
mov rax, qword [rsp + 0x38]
cmovne r14d, ebx
cmp qword [rax + 0x90], 0
jne 0x14003764f
cmp r14d, 0xc0a
je 0x14003764f
mov ecx, r14d
call fcn.1400a86f0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140104aac]
mov r8, rax
call fcn.14002b9e0
mov rax, qword [rsp + 0x38]
mov edx, r14d
mov dword [rax + 0x38], r14d
mov rcx, r13
call fcn.140009af0
sub rsi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov rsi, qword [rsp + 0x38]
mov ecx, r14d
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
mov rax, qword [rsi + 0x90]
add r8, rdx
mov r9, qword [rsi + 0xe0]
lea rdx, str.statement_aborts_at__d:___s___s
mov qword [rsp + 0x20], rax
call fcn.140008fe0
mov rcx, rsi
call fcn.14002f0e0
cmp r14d, 0xc0a
jne 0x1400376be
mov rcx, r13
call fcn.140007160
mov r14d, 1
test dil, dil
je 0x1400376d7
movzx edx, dil
mov rcx, r13
dec edx
call fcn.1400544f0
mov rax, qword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x2d0]
movaps xmm9, xmmword [rsp + 0x2e0]
movaps xmm8, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
movaps xmm6, xmmword [rsp + 0x310]
mov r15, qword [rsp + 0x320]
mov r12, qword [rsp + 0x328]
mov rdi, qword [rsp + 0x368]
mov rsi, qword [rsp + 0x360]
mov rbx, qword [rsp + 0x358]
mov qword [r13 + 0x30], rax
mov r13, qword [rsp + 0x38]
mov eax, dword [rsp + 0x34]
add dword [r13 + 0xdc], eax
cmp dword [r13 + 0xc8], 0
je 0x140037755
mov rcx, r13
call fcn.14002d270
mov eax, r14d
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400d12d0
add rsp, 0x330
pop r14
pop r13
pop rbp
ret
mov r8, qword [rbp - 0x48]
test eax, eax
je 0x140037784
mov rcx, qword [r8 + 0x68]
jmp 0x1400377fc
xor edi, edi
movzx eax, word [r8 + 0x12]
movsxd r9, dword [rbp - 0x40]
cmp eax, r9d
jg 0x140037936
mov eax, dword [rbx]
cmp dword [r8 + 0x64], eax
jae 0x1400378f0
mov rcx, qword [r8 + 0x68]
mov qword [rbp + 0x30], rcx
test rcx, rcx
jne 0x140037800
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 8], rax
mov r9d, edi
movups xmmword [rbp - 0x38], xmm0
mov rcx, r12
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
cmp byte [r8 + 4], al
lea rax, [rbp - 0x38]
mov r8d, dword [rbx]
sete r9b
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.14002b100
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x48]
mov qword [rbp + 0x30], rcx
movzx r15d, word [r8 + 0x12]
mov rax, qword [rbp - 0x58]
mov r12d, r15d
mov edi, dword [rbx + r15*4]
mov ebx, dword [r8 + 0x64]
mov eax, dword [rax]
add rbx, rcx
add rax, rcx
mov qword [rsp + 0x78], rax
movzx ecx, byte [rbx]
mov eax, 0x80
mov dword [rbp - 0x50], ecx
cmp ecx, eax
jae 0x14003783d
inc rbx
call fcn.1400302b0
movzx eax, al
jmp 0x140037859
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000ab30
mov ecx, dword [rbp - 0x50]
movzx eax, al
add rbx, rax
call fcn.140030290
mov eax, eax
mov rcx, qword [rbp - 0x48]
add rdi, rax
mov eax, dword [rbp - 0x50]
inc r15d
mov dword [rcx + r12*4 + 0x78], eax
mov rax, qword [rbp - 0x58]
movsxd r12, r15d
mov dword [rax + r12*4], edi
mov rcx, qword [rbp - 0x48]
mov rax, qword [rsp + 0x78]
cmp r15d, dword [rbp - 0x40]
jg 0x14003788c
cmp rbx, rax
jb 0x140037821
jmp 0x140037891
cmp rbx, rax
jb 0x1400378a6
cmp rbx, rax
ja 0x14003acf4
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
jne 0x14003acf4
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
ja 0x14003acf4
sub ebx, dword [rbp + 0x30]
mov word [rcx + 0x12], r15w
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x64], ebx
mov r8, qword [rbp - 0x48]
cmp qword [r8 + 0x68], 0
jne 0x1400378d9
lea rcx, [rbp - 0x38]
call fcn.14002a610
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x40]
xor edi, edi
mov edx, dword [rbp - 0x50]
mov rbx, qword [rbp - 0x58]
mov r15, qword [rbp + 0x20]
mov r12, qword [rbp - 0x68]
jmp 0x1400378f5
mov edx, edi
mov dword [rbp - 0x50], edx
movzx eax, word [r8 + 0x12]
cmp eax, r9d
jg 0x14003793e
cmp byte [rsi + 1], 0xf8
mov rcx, r15
jne 0x140037924
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.14002ac60
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
call fcn.14002aa80
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rbp - 0x50], edx
mov eax, 0x2460
test word [r15 + 8], ax
je 0x14003795d
mov rcx, r15
call fcn.14002aa80
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x40]
mov edx, dword [rbp - 0x50]
lea eax, [r9 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r8 + 0x60], eax
jb 0x140037a60
movsxd rax, r9d
mov edi, dword [rbx + rax*4]
add rdi, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x140037998
mov rcx, rdi
mov r8, r15
call fcn.140030400
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
movzx eax, byte [rsp + 0x48]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r15 + 0xc], ebx
mov byte [r15 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r15 + 0x20], edx
jge 0x1400379f4
xor r8d, r8d
mov word [r15 + 8], 1
mov rcx, r15
call fcn.140029c70
test eax, eax
je 0x1400379fc
movzx edi, byte [rsp + 0x30]
mov rcx, r13
call fcn.140007160
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140105610]
call fcn.14002b9e0
mov ebx, 7
mov r14d, ebx
jmp 0x14003760d
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x10], rax
mov rcx, qword [r15 + 0x10]
mov r8, rbx
mov rdx, rdi
call fcn.1400f3c40
mov rax, qword [r15 + 0x10]
lea rcx, [0x140000000]
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov byte [rbx + rax], 0
mov rax, qword [r15 + 0x10]
mov byte [rax + rbx + 1], 0
mov eax, dword [rbp - 0x50]
mov rbx, qword [rsp + 0x40]
and eax, 1
xor r12d, r12d
movzx eax, word [rcx + rax*2 + 0x109928]
mov word [r15 + 8], ax
mov r15, qword [rsp + 0x60]
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
movzx eax, byte [rsp + 0x48]
mov byte [r15 + 0xa], al
movzx eax, byte [rsi + 3]
mov edx, dword [rbp - 0x50]
test al, 0xc0
je 0x140037a82
cmp edx, 0xc
jb 0x140037a7e
test dl, 1
je 0x140037a93
test al, al
js 0x140037a93
mov ecx, edx
call fcn.140030290
mov r8d, eax
test eax, eax
jne 0x140037aaf
mov edx, dword [rbp - 0x50]
lea rcx, [0x140128968]
mov r8, r15
call fcn.140030400
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036285
mov rax, qword [rbp - 0x48]
mov r9d, edi
movsxd rdx, dword [rbp - 0x40]
mov rcx, r12
mov qword [rsp + 0x20], r15
cmp byte [rax + 4], 0
mov edx, dword [rbx + rdx*4]
sete r9b
call fcn.14002b100
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov edx, dword [rbp - 0x50]
mov r8, r15
mov rcx, qword [r15 + 0x10]
call fcn.140030400
mov ecx, 0xefff
and word [r15 + 8], cx
jmp 0x140036832
movsxd rax, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r15
test al, al
je case.0x1400360a6.112
movzx r13d, byte [rsp + 0x48]
nop
movzx r8d, r13b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.140035cc0
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140037b20
mov r13, qword [rbp - 0x60]
jmp 0x140036285
mov rbx, qword [rsi + 0x10]
xor eax, eax
movzx ecx, byte [r11 + 0xbf]
mov qword [rbp + 0x30], rax
movsxd rax, dword [rsi + 4]
imul r15, rax, 0x38
mov eax, dword [rsi + 8]
add r15, qword [rsp + 0x60]
dec eax
cdqe
imul rax, rax, 0x38
mov qword [rbp - 0x58], r12
add rax, r15
mov dword [rsp + 0x78], ecx
mov qword [rbp - 0x68], rax
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x60]
mov qword [rbp - 0x78], rax
test rbx, rbx
je 0x140037bd7
movzx eax, byte [rbx]
mov rdi, r15
movzx r13d, byte [rsp + 0x48]
nop dword [rax]
nop word [rax + rax]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.140035cc0
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x140037bb0
mov r13, qword [rbp - 0x60]
mov ecx, dword [rsp + 0x78]
mov rbx, qword [rbp - 0x68]
nop dword [rax + rax]
mov edx, ecx
lea r8, [rbp + 0x50]
mov rcx, rbx
call fcn.140030190
mov edi, eax
mov eax, 0x4000
mov dword [rbx + 0x24], edi
test word [rbx + 8], ax
je 0x140037c21
cmp qword [rbp - 0x58], 0
je 0x140037c17
mov rcx, rbx
call fcn.14002a100
test eax, eax
jne 0x1400379c9
jmp 0x140037c21
movsxd rcx, dword [rbx]
add qword [rbp + 0x30], rcx
sub dword [rbp + 0x50], ecx
mov eax, dword [rbp + 0x50]
mov ecx, 1
add qword [rbp - 0x58], rax
cmp edi, 0x7f
jbe 0x140037c4b
mov rax, rdi
shr rax, 7
test rax, rax
je 0x140037c4b
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x140037c40
add r12d, ecx
cmp rbx, r15
je 0x140037c5d
mov ecx, dword [rsp + 0x78]
sub rbx, 0x38
jmp 0x140037be0
cmp r12d, 0x7e
jle 0x140037c80
movsxd rcx, r12d
call fcn.14000abb0
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
mov dword [rbp + 0x20], r12d
call fcn.14000abb0
cmp ebx, eax
jge 0x140037c87
inc r12d
mov dword [rbp + 0x20], r12d
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x30]
movsxd rax, dword [r13 + 0x70]
movsxd rbx, r12d
add rdx, rbx
add rcx, rdx
mov qword [rbp - 0x58], rdx
cmp rcx, rax
jg 0x14003a0f8
mov r12, qword [rbp - 0x78]
mov rcx, r12
call fcn.140029fc0
test eax, eax
jne 0x1400379c9
mov edx, dword [rbp + 0x20]
mov r14d, 0x80
mov r12, qword [r12 + 0x10]
cmp edx, r14d
jae 0x140037cdd
mov esi, 1
mov byte [r12], dl
mov eax, esi
jmp 0x140037ced
mov rdx, rbx
mov rcx, r12
call fcn.14000a900
mov esi, 1
mov r13, qword [rbp - 0x68]
movzx edi, al
nop dword [rax]
nop dword [rax + rax]
mov ebx, dword [r15 + 0x24]
movsxd rcx, edi
add rcx, r12
cmp ebx, r14d
jae 0x140037d15
mov byte [rcx], bl
mov eax, esi
jmp 0x140037d1d
mov rdx, rbx
call fcn.14000a900
movsxd rcx, dword [rbp + 0x20]
mov r8d, ebx
movzx eax, al
add rcx, r12
mov rdx, r15
add edi, eax
call fcn.1400302c0
add dword [rbp + 0x20], eax
add r15, 0x38
cmp r15, r13
jbe 0x140037d00
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x58]
mov rsi, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x58]
mov r13, qword [rbp - 0x60]
mov dword [rcx + 0xc], eax
mov rax, qword [rbp + 0x30]
mov word [rcx + 8], send
test rax, rax
je 0x140037d70
mov dword [rcx], eax
mov word [rcx + 8], 0x4010
mov byte [rcx + 0xa], 1
jmp 0x140036832
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x98]
mov rax, qword [r11 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x18]
mov qword [rbp + 0x98], r12
call fcn.140027680
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035ef0
mov rcx, qword [rbp + 0x98]
mov qword [rax], rcx
jmp 0x140036285
mov r15d, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
mov dword [rbp + 0x20], r15d
test r15d, r15d
jne 0x140037e99
cmp dword [r13 + 0xb4], r15d
jg 0x14003ad0e
mov rcx, rdi
call fcn.140009a50
mov r8d, dword [r13 + 0x280]
xor edx, edx
add r8d, dword [r13 + 0x27c]
mov rcx, r13
movsxd r15, eax
call fcn.14008ef30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
lea rdx, [r15 + 0x21]
mov rcx, r13
call fcn.140006d80
mov rbx, rax
test rax, rax
je 0x140036496
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [r15 + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400f3c40
cmp byte [r13 + 0x53], r14b
je 0x140037e60
mov byte [r13 + 0x53], r14b
mov byte [r13 + 0x5b], 1
jmp 0x140037e67
inc dword [r13 + 0x27c]
mov rax, qword [r13 + 0x270]
mov r11, qword [rsp + 0x38]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x288]
mov qword [r13 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x14003683a
mov rbx, qword [r13 + 0x270]
test rbx, rbx
je 0x140037ec5
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.140009e90
test eax, eax
je 0x140037ee2
mov rbx, qword [rbx + 0x18]
inc r12d
test rbx, rbx
jne 0x140037ea5
mov r11, qword [rsp + 0x38]
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.14002b9e0
mov r14d, 1
jmp 0x140037603
cmp dword [r13 + 0xb4], 0
mov edx, r15d
jle 0x140037ef9
cmp r15d, 1
je 0x14003ad28
cmp qword [rbx + 0x18], 0
jne 0x140037f5c
cmp byte [r13 + 0x5b], 0
je 0x140037f5c
mov r15d, 1
mov dword [rsp + 0x78], r15d
cmp edx, r15d
jne 0x140037f64
mov rdi, qword [rsp + 0x38]
mov edx, r15d
mov rcx, rdi
call fcn.14002f090
mov r14d, eax
test eax, eax
jne 0x1400376d7
mov rcx, rdi
mov byte [r13 + 0x53], r15b
call fcn.14002f0e0
cmp eax, 5
je 0x14003ad44
mov byte [r13 + 0x5b], r14b
mov r14d, dword [rdi + 0x38]
mov edi, r15d
mov dword [rsp + 0x58], r14d
jmp 0x140038051
xor ecx, ecx
mov dword [rsp + 0x78], ecx
jmp 0x140037f66
xor ecx, ecx
mov eax, dword [r13 + 0x27c]
sub eax, r12d
lea r12d, [rax - 1]
cmp edx, 2
jne 0x140037fdc
mov eax, dword [r13 + 0x2c]
mov r15d, ecx
shr eax, 1
and eax, 1
cmp dword [r13 + 0x28], 0
mov dword [rbp + 0x30], eax
jle 0x140037fdf
xor eax, 1
mov rdi, rcx
mov dword [rbp - 0x58], eax
nop dword [rax + rax]
mov rcx, qword [r13 + 0x20]
mov r8d, eax
mov edx, 0x204
mov rcx, qword [rdi + rcx + 8]
call fcn.140020c90
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov eax, dword [rbp - 0x58]
inc r15d
add rdi, 0x20
cmp r15d, dword [r13 + 0x28]
jl 0x140037fa0
mov edx, dword [rbp + 0x20]
xor ecx, ecx
jmp 0x140037fdf
mov dword [rbp + 0x30], ecx
cmp dword [r13 + 0x28], 0
mov r15d, ecx
jle 0x140038020
mov rdi, rcx
nop dword [rax]
mov rcx, qword [r13 + 0x20]
mov r8d, r12d
mov rcx, qword [rdi + rcx + 8]
call fcn.140020f60
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov edx, dword [rbp + 0x20]
inc r15d
add rdi, 0x20
cmp r15d, dword [r13 + 0x28]
jl 0x140037ff0
cmp dword [rbp + 0x30], 0
je 0x14003804d
mov rax, qword [r13 + 8]
test rax, rax
je 0x140038040
nop
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140038030
mov rcx, r13
call fcn.140054540
or dword [r13 + 0x2c], 2
mov edi, dword [rsp + 0x78]
mov rcx, qword [r13 + 0x270]
cmp rcx, rbx
je 0x140038089
nop dword [rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r13
mov qword [r13 + 0x270], rax
call fcn.140006970
dec dword [r13 + 0x27c]
mov rcx, qword [r13 + 0x270]
cmp rcx, rbx
jne 0x140038060
mov r15d, dword [rbp + 0x20]
cmp r15d, 1
jne 0x1400380d6
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, r13
mov qword [r13 + 0x270], rax
call fcn.140006970
test edi, edi
jne 0x1400380f6
dec dword [r13 + 0x27c]
mov r8d, r12d
mov edx, r15d
mov rcx, r13
call fcn.14008ef30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036832
mov rax, qword [rbx + 8]
mov qword [r13 + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [r13 + 0x290], rax
test edi, edi
je 0x1400380b4
cmp r15d, 2
je 0x1400380b4
test r14d, r14d
jne 0x140037603
jmp 0x140036832
mov edx, dword [rsi + 8]
test edx, edx
je 0x140038119
test dword [r13 + 0x2c], 0x4000000
jne 0x14003ad7b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14003820d
mov rcx, rbx
call fcn.14001fa20
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x14003ad86
cmp dword [rsi + 8], eax
je 0x1400381d3
mov rdi, qword [rsp + 0x38]
test byte [rdi + 0xc0], 0x40
je 0x1400381d3
cmp byte [r13 + 0x53], al
je 0x140038171
cmp dword [r13 + 0xb0], 1
jle 0x1400381d3
mov r8d, dword [rdi + 0x40]
test r8d, r8d
jne 0x140038193
inc dword [r13 + 0x280]
mov r8d, dword [r13 + 0x280]
add r8d, dword [r13 + 0x27c]
mov dword [rdi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.14008ef30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400381bd
mov edx, dword [rdi + 0x40]
mov rcx, rbx
call fcn.140020ef0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov rax, qword [r13 + 0x288]
mov qword [rdi + 0x58], rax
mov rax, qword [r13 + 0x290]
mov qword [rdi + 0x60], rax
lea r8, [rbp + 0x64]
mov edx, 1
mov rcx, rbx
call fcn.140027550
mov rax, qword [r13 + 0x20]
mov r10d, 1
movsxd rcx, dword [rsi + 4]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x64]
mov edx, dword [rcx + 4]
jmp 0x140038216
mov eax, r12d
mov edx, r12d
mov dword [rbp + 0x64], eax
cmp byte [rsi + 3], 0
je 0x14003822e
cmp eax, dword [rsi + 0xc]
jne 0x14003adc1
cmp edx, dword [rsi + 0x10]
jne 0x14003adc1
test r14d, r14d
jne 0x140037603
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
lea r8, [rbp + 0x80]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140027550
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035ef0
movsxd rcx, dword [rbp + 0x80]
mov qword [rax], rcx
jmp 0x140036285
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1400275e0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 8]
cmp eax, 1
jne 0x1400382b3
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], 2
jmp 0x1400382c3
cmp eax, 2
jne 0x1400382c3
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rsi + 4], 1
jne 0x1400382e0
mov rcx, r13
call fcn.140031c50
mov r11, qword [rsp + 0x38]
and dword [r11 + 0xc0], 0xfffffffe
jmp 0x1400382e5
mov r11, qword [rsp + 0x38]
test r14d, r14d
jne 0x140037603
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x1400360a6.104
mov eax, dword [rsi + 8]
cmp dword [rdi + 0xc], eax
je 0x14003842a
test byte [r11 + 0xc0], 1
jne 0x14003ae21
movsxd rdx, dword [rsi + 0xc]
mov edi, r12d
mov rax, rdx
mov dword [rbp - 0x58], edx
shl rax, 5
mov r15, r12
add rax, qword [r13 + 0x20]
movsxd r12, dword [rsi + 8]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
cmp bl, 0x69
jne 0x14003837d
mov rax, qword [rax + 0x18]
movzx r14d, byte [rsi + 3]
and r14d, 8
or r14d, 4
movzx ecx, byte [rax + 0x70]
cmp cl, byte [r11 + 0xbf]
jae 0x140038380
mov byte [r11 + 0xbf], cl
jmp 0x140038380
xor r14d, r14d
test byte [rsi + 3], 0x10
je 0x1400383a2
imul rbx, r12, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002a790
mov edx, dword [rbp - 0x58]
mov r11, qword [rsp + 0x38]
mov r12d, dword [rbx]
movzx eax, byte [rsi + 1]
cmp al, 0xfa
jne 0x1400383bc
mov r15, qword [rsi + 0x10]
movzx edi, word [r15 + 8]
movzx eax, word [r15 + 6]
add edi, eax
jmp 0x1400383c3
cmp al, 0xf2
jne 0x1400383c3
mov edi, dword [rsi + 0x10]
mov r9d, edx
mov byte [rsp + 0x20], 0
mov edx, dword [rsi + 4]
mov r8d, edi
mov rcx, r11
call fcn.140035a60
mov rdi, rax
test rax, rax
je 0x1400379c9
mov rcx, qword [rax + 0x18]
mov r9, r15
or dword [rax + 8], 4
mov r8d, r14d
mov qword [rsp + 0x20], rcx
mov edx, r12d
mov rcx, qword [rsp + 0x70]
mov byte [rax + 2], 1
mov dword [rax + 0xc], r12d
call fcn.140021020
mov qword [rdi + 0x28], r15
mov r14d, eax
cmp byte [rsi + 1], 0xfa
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x58], eax
setne al
mov byte [rdi + 4], al
xor r12d, r12d
movzx edx, byte [rsi + 3]
mov rcx, qword [rdi + 0x18]
and edx, 3
call fcn.14001d170
test r14d, r14d
jne 0x140037603
jmp 0x140036285
mov r8d, dword [rsi + 8]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 0
call fcn.140035a60
mov rbx, rax
test rax, rax
je 0x1400379c9
or dword [rax + 8], 1
lea r9, [rax + 0x20]
mov byte [rax + 2], 1
mov r8, r13
movzx ecx, byte [rsi + 3]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
call fcn.14001e480
mov r14d, eax
test eax, eax
jne 0x140037603
mov rcx, qword [rbx + 0x20]
mov edx, 1
call fcn.14001fa20
mov r14d, eax
test eax, eax
jne 0x140037603
mov r15, qword [rsi + 0x10]
mov rcx, qword [rbx + 0x20]
test r15, r15
je 0x14003851c
movzx r8d, byte [rsi + 3]
lea rdx, [rbp + 0x90]
or r8d, 2
call fcn.140026d80
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140038518
mov rax, qword [rbx + 0x18]
mov r9, r15
mov edx, dword [rbp + 0x90]
mov r8d, 4
mov rcx, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x28], r15
call fcn.140021020
mov r14d, eax
mov dword [rsp + 0x58], eax
xor al, al
jmp 0x140038541
mov rax, qword [rbx + 0x18]
xor r9d, r9d
mov edx, 1
mov qword [rsp + 0x20], rax
mov r8d, 4
call fcn.140021020
mov r14d, eax
mov dword [rsp + 0x58], eax
mov al, 1
mov r8d, 4
mov rcx, rbx
mov edx, r8d
mov byte [rbx + rdx], al
test r14d, r14d
jne 0x140037603
cmp byte [rsi + 3], 8
mov ecx, r12d
mov eax, dword [rbx + 8]
mov r11, qword [rsp + 0x38]
cmovne ecx, r8d
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
jmp 0x14003683a
mov r8d, dword [rsi + 8]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 1
call fcn.140035a60
test rax, rax
je 0x1400379c9
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x28], rcx
mov rcx, r13
mov edx, dword [rsi + 0xc]
call fcn.14003d230
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
test rcx, rcx
je 0x14003aba5
jmp case.0x1400360a6.112
mov r8d, dword [rsi + 0xc]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 3
call fcn.140035a60
test rax, rax
je 0x1400379c9
mov byte [rax + 2], 1
mov ecx, dword [rsi + 8]
mov dword [rax + 0x18], ecx
mov byte [rax + 4], 1
jmp 0x140036285
movsxd rax, dword [rsi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x98]
mov rdx, qword [rdx + rax*8]
call fcn.14002def0
mov r11, qword [rsp + 0x38]
mov r10d, 1
movsxd rcx, dword [rsi + 4]
mov r9, qword [rsp + 0x50]
mov rax, qword [r11 + 0x98]
mov qword [rax + rcx*8], r12
jmp case.0x1400360a6.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov dword [rbp + 0x20], r12d
mov r15, qword [rax + rcx*8]
cmp byte [r15 + 4], 0
mov byte [r15 + 2], 0
je 0x140038751
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x60]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x1400386a4
xor edx, edx
mov rcx, rdi
call fcn.140035bc0
mov rcx, rdi
call fcn.14002a630
movzx ecx, word [rdi + 8]
mov r12, rax
test cl, 4
jne 0x1400386e9
test cl, 8
je 0x14003ab98
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x1400386dc
test bl, 1
jne 0x1400386e9
dec ebx
jmp 0x1400386e9
comisd xmm0, xmm1
jbe 0x1400386e9
test bl, 1
je 0x1400386e9
inc ebx
mov rcx, qword [r15 + 0x18]
lea rax, [rbp + 0x28]
lea rdi, [r15 + 0x18]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r12
xor edx, edx
call fcn.140021f30
mov dword [rsp + 0x58], eax
mov r14d, eax
mov qword [r15 + 0x40], r12
test eax, eax
jne 0x140037603
mov ecx, dword [rbp + 0x20]
xor r12d, r12d
mov byte [r15 + 3], 0
mov dword [r15 + 0x58], r12d
mov eax, dword [rbp + 0x28]
cmp ebx, 0x19
jl 0x140038852
test eax, eax
js 0x14003882e
jne 0x140038748
cmp ebx, 0x1a
je 0x14003882e
mov dword [rbp + 0x28], r12d
jmp 0x1400387f4
mov rax, qword [r15 + 0x18]
lea rdi, [r15 + 0x18]
mov ecx, 0xffffffff
lea rdx, [rbp - 0x38]
movzx r12d, byte [rax + 0x57]
mov eax, 0
and r12b, 2
setne al
mov dword [rbp + 0x20], eax
mov rax, qword [r15 + 0x28]
mov qword [rbp - 0x38], rax
movzx eax, word [rsi + 0x10]
mov word [rbp - 0x28], ax
lea eax, [rbx - 1]
test al, 1
mov byte [rbp - 0x22], 0
mov eax, r10d
cmovne eax, ecx
xor r9d, r9d
mov byte [rbp - 0x26], al
xor r8d, r8d
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
lea rax, [rbp + 0x28]
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x30], rcx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140021f30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
test r12b, r12b
je 0x14003871a
mov ecx, dword [rbp + 0x20]
mov dword [rbp + 0x20], ecx
cmp byte [rbp - 0x22], al
jne 0x14003871d
xor r12d, r12d
cmp dword [rbp + 0x28], 0
jne 0x14003ab9b
mov r11, qword [rsp + 0x38]
test ecx, ecx
mov r15, qword [rsp + 0x60]
lea rcx, [0x140000000]
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov rbx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x34]
je 0x140036137
add rsi, 0x18
add rsi, 0x18
jmp 0x14003606c
mov dword [rbp + 0x28], r12d
lea rdx, [rbp + 0x28]
mov rcx, qword [rdi]
call fcn.140022640
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov ecx, dword [rbp + 0x20]
jmp 0x1400387ea
test eax, eax
jg 0x140038870
jne 0x14003885d
cmp ebx, 0x17
je 0x140038870
mov rcx, qword [rdi]
call fcn.1400224f0
mov ecx, dword [rbp + 0x20]
mov dword [rbp + 0x28], eax
jmp 0x1400387ea
mov dword [rbp + 0x28], r12d
lea rdx, [rbp + 0x28]
mov rcx, qword [rdi]
call fcn.1400227e0
jmp 0x14003883e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov r15, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
mov eax, dword [rsi + 0x10]
add rbx, qword [rsp + 0x60]
mov qword [rbp], r12
mov rcx, qword [r15 + 0x28]
test eax, eax
jle 0x1400388bf
mov qword [rbp + 8], rcx
lea rdi, [rbp + 8]
mov word [rbp + 0x18], ax
mov qword [rbp + 0x10], rbx
jmp 0x14003890d
lea r9, [rbp]
mov r8d, 0xff
lea rdx, [rbp + 0xc0]
call fcn.140030580
mov rdi, rax
test rax, rax
je 0x1400379c9
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400388f4
mov rcx, rbx
call fcn.14002a100
mov r8, qword [rbx + 0x10]
mov r9, rdi
mov edx, dword [rbx + 0xc]
mov rcx, qword [r15 + 0x28]
call fcn.140030610
mov r10d, 1
mov byte [rdi + 0x12], 0
mov ebx, r12d
cmp byte [rsi], 0x1d
jne 0x140038945
movzx r8d, word [rdi + 0x10]
mov edx, r12d
cmp r12w, r8w
jae 0x140038945
mov rcx, qword [rdi + 8]
add rcx, 8
nop
test byte [rcx], 1
jne 0x140038942
inc edx
add rcx, 0x38
cmp edx, r8d
jl 0x140038930
jmp 0x140038945
mov ebx, r10d
mov rcx, qword [r15 + 0x18]
lea rax, [rbp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.140021f30
mov rdx, qword [rbp]
mov rcx, r13
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.140006970
test r14d, r14d
jne 0x140037603
mov eax, dword [rbp + 0x70]
mov ecx, r12d
mov dword [r15 + 0x30], eax
mov eax, dword [rbp + 0x70]
test eax, eax
mov byte [r15 + 3], r14b
sete cl
mov dword [r15 + 0x58], r12d
test eax, eax
setne al
mov byte [r15 + 2], al
cmp byte [rsi], 0x1f
mov r15, qword [rsp + 0x60]
jne 0x1400389c6
mov r9, qword [rsp + 0x50]
test ecx, ecx
jne 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
test ebx, ebx
jne 0x14003aba0
mov r9, qword [rsp + 0x50]
test ecx, ecx
je 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 4
jne case.0x1400360a6.33
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.140035cc0
test byte [rbx + 8], 4
je 0x14003aba0
mov r11, qword [rsp + 0x38]
movsxd rcx, dword [rsi + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x98]
xor edx, edx
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x18]
lea rax, [rbp + 0x54]
mov dword [rbp + 0x54], r12d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + r15]
mov rcx, r10
mov r8, rbx
call fcn.140021f30
mov qword [rdi + 0x40], rbx
mov r14d, eax
mov word [rdi + 2], 0
mov dword [rdi + 0x58], r12d
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x54]
mov dword [rdi + 0x30], eax
cmp dword [rbp + 0x54], 0
je 0x140038a93
cmp dword [rsi + 8], 0
jne 0x14003aba0
mov ecx, 0x14224
call fcn.1400ab780
mov r14d, eax
mov dword [rsp + 0x58], eax
test r14d, r14d
jne 0x140037603
jmp 0x140036285
movsxd rax, dword [rsi + 8]
imul rdx, rax, 0x38
mov eax, 0x2460
add rdx, qword [r11 + 0x70]
test word [rdx + 8], ax
je 0x140038ad5
mov rcx, rdx
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov rdx, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp 0x140038adb
mov word [rdx + 8], 4
mov rax, qword [r11 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rdx], rax
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x38]
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
mov eax, 0x2460
mov qword [rbp - 0x58], r12
add r15, qword [r11 + 0x70]
mov dword [rbp + 0x20], r12d
test word [r15 + 8], ax
je 0x140038b3b
mov rcx, r15
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov r15, rax
jmp 0x140038b42
mov word [r15 + 8], 4
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], 2
jne 0x140038bb0
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp + 0x20]
call fcn.140021ea0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
cmp dword [rbp + 0x20], eax
je 0x140038b82
mov qword [rbp - 0x58], 1
jmp 0x140038bab
mov rcx, qword [rdi + 0x18]
call fcn.140021340
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x58], rax
cmp rax, rcx
jl 0x140038ba4
or dword [rdi + 8], 2
jmp 0x140038bab
inc rax
mov qword [rbp - 0x58], rax
mov r11, qword [rsp + 0x38]
movsxd rax, dword [rsi + 0xc]
test eax, eax
je 0x140038c47
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x140038beb
mov rax, qword [rcx + 8]
test rax, rax
je 0x140038bdd
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140038bd1
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x140038bf4
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002a630
movzx ecx, word [rbx + 8]
mov edx, 0x3e00
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140038ca8
test byte [rdi + 8], 2
jne 0x140038ca8
lea rcx, [rax + 1]
mov rax, qword [rbp - 0x58]
cmp rax, rcx
jge 0x140038c44
mov rax, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbx], rax
test byte [rdi + 8], 2
je 0x140038cb3
mov ebx, r12d
lea rdx, [rbp - 0x58]
mov ecx, 8
call fcn.140009130
mov r8, qword [rbp - 0x58]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x20]
mov qword [rbp - 0x58], r8
xor edx, edx
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x20], rax
call fcn.140021f30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
cmp dword [rbp + 0x20], eax
jne 0x140038cb3
inc ebx
cmp ebx, 0x64
jl 0x140038c50
mov r14d, 0xd
jmp 0x140037603
mov r11, qword [rsp + 0x38]
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], r12d
mov rax, qword [rbp - 0x58]
mov qword [r15], rax
jmp 0x14003683a
movsxd rax, dword [rsi + 8]
mov r15d, r12d
mov r9, qword [rsp + 0x60]
movsxd rcx, dword [rsi + 4]
movsxd rdx, dword [rsi + 0xc]
imul r8, rax, 0x38
mov rax, qword [r11 + 0x98]
add r8, r9
mov rdi, qword [rax + rcx*8]
cmp bl, 0x73
jne 0x140038cff
imul rax, rdx, 0x38
mov rdx, qword [rax + r9]
cmp byte [rsi + 1], 0xec
mov qword [rbp - 0x30], rdx
jne 0x140038d40
cmp qword [r13 + 0x118], 0
je 0x140038d40
mov rax, qword [r13 + 0x20]
mov r15d, send
movsx rcx, byte [rdi + 1]
mov r12, qword [rsi + 0x10]
shl rcx, 5
test byte [rsi + 3], 4
mov rbx, qword [rcx + rax]
mov eax, reloc.WS2_32.dll_socket
cmovne r15d, eax
xor r10d, r10d
jmp 0x140038d46
xor r10d, r10d
mov ebx, r10d
test byte [rsi + 3], 1
je 0x140038d50
inc dword [r11 + 0x3c]
test byte [rsi + 3], 2
je 0x140038d5f
mov qword [rsp + 0x40], rdx
mov qword [r13 + 0x30], rdx
test byte [r8 + 8], 1
je 0x140038d70
mov qword [rbp - 0x28], r10
mov dword [rbp - 0x20], r10d
jmp 0x140038d7f
mov rax, qword [r8 + 0x10]
mov qword [rbp - 0x28], rax
mov eax, dword [r8 + 0xc]
mov dword [rbp - 0x20], eax
movzx ecx, byte [rsi + 3]
test cl, 0x10
je 0x140038d8e
mov r9d, dword [rdi + 0x30]
jmp 0x140038d91
mov r9d, r10d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x140038da5
mov eax, dword [r8]
mov dword [rbp - 0x1c], eax
jmp 0x140038da9
mov dword [rbp - 0x1c], r10d
mov r8d, ecx
mov qword [rbp - 0x38], r10
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp - 0x38]
shr r8d, 3
and r8d, 1
call fcn.1400261d0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], 0
test eax, eax
jne 0x140037603
mov r10, qword [r13 + 0x118]
test r10, r10
je 0x140036832
test r15d, r15d
je 0x140036832
mov rax, qword [rbp - 0x30]
mov r8, rbx
mov r9, qword [r12]
mov edx, r15d
mov rcx, qword [r13 + 0x110]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140036832
cmp byte [rsi + 1], 0xec
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov r12d, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
jne 0x140038e6d
cmp qword [r13 + 0x118], 0
je 0x140038e6d
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [rsi + 0x10]
shl rcx, 5
test byte [rsi + 3], 2
mov r15, qword [rcx + rax]
je 0x140038e74
cmp byte [rbx + 4], 0
je 0x140038e74
mov rcx, qword [rbx + 0x18]
call fcn.140021340
mov qword [rbx + 0x40], rax
jmp 0x140038e74
xor eax, eax
mov r15d, eax
mov edi, eax
movzx edx, byte [rsi + 3]
mov rcx, qword [rbx + 0x18]
call fcn.1400264c0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov dword [rbx + 0x58], 0
test eax, eax
jne 0x140037603
mov r11, qword [rsp + 0x38]
test r12b, 1
je 0x140036837
inc dword [r11 + 0x3c]
mov r10, qword [r13 + 0x118]
test r10, r10
je 0x140036837
test byte [rdi + 0x46], 0x20
jne 0x140036837
mov rax, qword [rbx + 0x40]
mov r8, r15
mov r9, qword [rdi]
mov edx, 9
mov rcx, qword [r13 + 0x110]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140036832
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x6c], eax
mov dword [r13 + 0x68], eax
mov dword [r11 + 0x3c], r12d
jmp case.0x1400360a6.112
mov rax, qword [r11 + 0x98]
lea r9, [rbp + 0x68]
movsxd rcx, dword [rsi + 4]
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x68], r12d
add rdx, r15
call fcn.14003ff60
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x68], eax
jne 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x98]
add rdx, r15
mov rcx, qword [rax + rcx*8]
call fcn.14003fe90
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
movsxd rcx, dword [rsi + 0xc]
mov r10d, 1
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov rax, qword [r11 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x58], r12d
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rbx, rax, 0x38
mov rax, qword [r11 + 0x98]
add rbx, r15
mov r15, qword [rax + rcx*8]
mov r14, qword [r15 + 0x18]
mov rcx, r14
call fcn.1400212f0
mov edi, dword [r14 + 0x30]
cmp edi, dword [r13 + 0x70]
ja 0x14003a0f8
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x140039002
xor r8d, r8d
mov rcx, rbx
call fcn.140029c70
test eax, eax
jne 0x1400379c9
jmp 0x14003900f
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
mov r9, qword [rbx + 0x10]
and ax, cx
or ax, 0x10
mov dword [rbx + 0xc], edi
xor edx, edx
mov word [rbx + 8], ax
mov r8d, edi
mov rcx, r14
cmp byte [r15 + 4], dl
jne 0x14003903f
call fcn.140021980
jmp 0x140039044
call fcn.1400219a0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov r11, qword [rsp + 0x38]
mov byte [rbx + 0xa], 1
jmp 0x14003683a
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
mov eax, 0x2460
add rdi, qword [r11 + 0x70]
test word [rdi + 8], ax
je 0x140039095
mov rcx, rdi
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov rdi, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp 0x14003909b
mov word [rdi + 8], 4
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1400390ba
mov word [rdi + 8], r10w
jmp case.0x1400360a6.112
cmp byte [rbx + 3], 0
je 0x1400390de
mov rax, qword [rbx + 0x40]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov qword [rbp + 0x88], rax
mov qword [rdi], rax
jmp case.0x1400360a6.112
cmp byte [rbx], 2
jne 0x140039133
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp + 0x88]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.140031c80
test r14d, r14d
jne 0x140037603
mov rax, qword [rbp + 0x88]
mov r10d, 1
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov qword [rdi], rax
jmp case.0x1400360a6.112
mov rcx, rbx
call fcn.140030120
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
cmp byte [rbx + 2], al
je 0x140039169
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov word [rdi + 8], r10w
jmp case.0x1400360a6.112
mov rcx, qword [rbx + 0x18]
call fcn.140021340
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov qword [rbp + 0x88], rax
mov qword [rdi], rax
jmp case.0x1400360a6.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x58], r12d
jne case.0x1400360a6.112
mov rcx, qword [rcx + 0x18]
call fcn.14001cce0
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x60]
mov rax, qword [r11 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x18]
mov dword [rbp + 0x60], r12d
call fcn.140021ea0
mov r14d, eax
mov dword [rsp + 0x58], eax
movzx eax, byte [rbp + 0x60]
mov byte [rbx + 2], al
mov byte [rbx + 3], 0
mov dword [rbx + 0x58], r12d
mov eax, dword [rsi + 0xc]
mov dword [rbx + 0x30], eax
test r14d, r14d
jne 0x140037603
cmp dword [rsi + 8], r14d
jle 0x140036285
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x60], r14d
jne 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
inc dword [r11 + 0xd4]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x38], r10d
cmp byte [rbx], 1
jne 0x140039261
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.14003fc50
mov r14d, eax
mov dword [rsp + 0x58], eax
jmp 0x1400392a1
mov rdi, qword [rbx + 0x18]
mov rcx, rdi
call fcn.140021ad0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140039299
cmp byte [rdi + 0x56], al
jne 0x140039286
mov dword [rbp + 0x38], 1
jmp 0x140039299
mov rcx, rdi
mov dword [rbp + 0x38], r12d
call fcn.140021ca0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x58], r12d
test r14d, r14d
jne 0x140037603
movzx eax, byte [rbp + 0x38]
mov r9, qword [rsp + 0x50]
mov byte [rbx + 2], al
cmp dword [rbp + 0x38], r14d
jne 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rcx, dword [rsi + 4]
lea r8, [rbp + 0x44]
mov rax, qword [r11 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rdx, rbx
mov dword [rbp + 0x44], r12d
call fcn.14003fd20
jmp 0x14003932a
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
cmp qword [rax + rcx*8], 0
je 0x14003abf6
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x44]
mov rax, qword [r11 + 0x98]
mov rbx, qword [rax + rcx*8]
mov eax, dword [rsi + 0xc]
mov dword [rbp + 0x44], eax
mov rcx, qword [rbx + 0x18]
call qword [rsi + 0x10]
mov dword [rsp + 0x58], eax
mov r14d, eax
mov dword [rbx + 0x58], r12d
test eax, eax
jne 0x140037603
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x44], eax
jne 0x14003935f
mov rcx, qword [rsp + 0x38]
mov byte [rbx + 2], al
movzx eax, byte [rsi + 3]
inc dword [rcx + rax*4 + 0xcc]
jmp case.0x1400360a6.13
mov byte [rbx + 2], 1
jmp 0x140039a19
mov rax, qword [r11 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, r15
test byte [rsi + 3], 1
je 0x14003938c
inc dword [r11 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400393aa
mov rcx, rbx
call fcn.14002a100
mov r14d, eax
test eax, eax
jne 0x140037603
cmp byte [rsi], 0x7d
jne 0x1400393bc
mov rdx, rbx
mov rcx, rdi
call fcn.14003e890
jmp 0x1400393f0
test byte [rsi + 3], 0x10
movsxd rax, dword [rbx + 0xc]
mov qword [rbp - 0x30], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x38], rax
je 0x1400393d8
mov r9d, dword [rdi + 0x30]
jmp 0x1400393db
mov r9d, r12d
mov r8d, dword [rsi + 0xc]
lea rdx, [rbp - 0x38]
mov rcx, qword [rdi + 0x18]
call fcn.1400261d0
mov dword [rdi + 0x58], r12d
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp - 0x38]
mov rax, qword [r11 + 0x98]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x28]
mov rdi, qword [rbx + 0x18]
mov qword [rbp - 0x38], rax
movzx eax, word [rsi + 0xc]
mov word [rbp - 0x28], ax
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x94]
mov byte [rbp - 0x26], 0
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x30], rcx
mov rcx, rdi
call fcn.140021f30
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
cmp dword [rbp + 0x94], eax
jne 0x140039488
mov dl, 4
mov rcx, rdi
call fcn.1400264c0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
mov dword [rbx + 0x58], r12d
jmp 0x140036285
mov rax, qword [r11 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x56], 1
je 0x1400394c3
mov rcx, rbx
call fcn.1400300c0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x1400394cb
mov r14d, r12d
mov dword [rsp + 0x58], r12d
cmp byte [rbx + 2], 0
jne 0x14003955c
mov qword [rbp + 0x78], r12
lea r8, [rbp + 0x78]
mov rdx, qword [rbx + 0x18]
mov rcx, r13
call fcn.1400318a0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
cmp byte [rsi], 0x80
jne 0x14003953d
movsxd rcx, dword [rsi + 0xc]
mov r10d, 1
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov rax, qword [r11 + 0x98]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r14b
mov rax, qword [rbp + 0x78]
mov qword [rdx + 0x40], rax
mov byte [rdx + 3], 1
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x50], rax
mov qword [rdx + 0x48], rbx
jmp case.0x1400360a6.112
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035ef0
mov rcx, qword [rbp + 0x78]
mov qword [rax], rcx
mov word [rax + 8], 4
jmp 0x140036285
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14002aa80
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
lea r9, [rbp + 0x48]
mov rax, qword [r11 + 0x98]
lea r8, [rbp - 0x38]
cmp bl, 0x3c
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x28]
mov qword [rbp - 0x38], rax
movzx eax, word [rsi + 0x10]
mov word [rbp - 0x28], ax
sbb al, al
mov byte [rbp - 0x26], al
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp + 0x48], r12d
add rcx, r15
mov qword [rbp - 0x30], rcx
mov rcx, r13
call fcn.140031b00
test byte [rsi], 1
mov r14d, eax
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x48]
jne 0x1400395ce
neg eax
jmp 0x1400395d0
inc eax
mov dword [rbp + 0x48], eax
test r14d, r14d
jne 0x140037603
mov r9, qword [rsp + 0x50]
test eax, eax
jg 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x2460
add rbx, qword [r11 + 0x70]
test word [rbx + 8], ax
je 0x140039626
mov rcx, rbx
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov rbx, rax
mov r10d, 1
mov word [rbx + 8], r10w
mov eax, dword [r13 + 0xbc]
inc eax
cmp dword [r13 + 0xb0], eax
jg 0x14003ae2c
movsxd rdi, dword [rsi + 0xc]
lea r8, [rbp + 0x4c]
mov rcx, qword [r13 + 0x20]
mov rax, rdi
mov edx, dword [rsi + 4]
shl rax, 5
mov dword [rbp + 0x4c], r12d
mov rcx, qword [rax + rcx + 8]
call fcn.1400274f0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov word [rbx + 8], 4
movsxd rax, dword [rbp + 0x4c]
mov qword [rbx], rax
test r14d, r14d
jne 0x140037603
mov r8d, dword [rbp + 0x4c]
test r8d, r8d
je 0x140036285
mov r9d, dword [rsi + 4]
mov edx, edi
mov rcx, r13
call fcn.1400583c0
lea eax, [rdi + 1]
mov byte [rsp + 0x30], al
jmp 0x140036285
cmp dword [rsi + 0xc], 0
lea r8, [rbp + 0x30]
movsxd rax, dword [rsi + 8]
mov rcx, qword [r13 + 0x20]
cmove r8, r12
mov edx, dword [rsi + 4]
shl rax, 5
mov dword [rbp + 0x30], r12d
mov rcx, qword [rax + rcx + 8]
call fcn.1400270a0
cmp dword [rsi + 0xc], 0
mov r14d, eax
mov r11, qword [rsp + 0x38]
mov dword [rsp + 0x58], eax
je 0x1400396fc
movsxd rdx, dword [rbp + 0x30]
add dword [r11 + 0x3c], edx
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x1400396fc
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
test r14d, r14d
jne 0x140037603
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x1400360a6.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003973a
mov rdx, qword [rcx + 0x18]
mov rcx, r13
call fcn.14003d950
jmp 0x140036285
mov rcx, qword [rcx + 0x18]
call fcn.140027180
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036285
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x2460
add rbx, qword [r11 + 0x70]
test word [rbx + 8], ax
je 0x14003977b
mov rcx, rbx
call fcn.140035ec0
mov rbx, rax
jmp 0x140039781
mov word [rbx + 8], 4
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x74]
shl rcx, 5
mov r8d, r12d
add rcx, qword [r13 + 0x20]
cmp byte [rsi], 0x87
mov dword [rbp + 0x74], r12d
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.140026d80
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
movsxd rax, dword [rbp + 0x74]
mov qword [rbx], rax
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
lea rax, [r11 + 0x90]
mov r8, qword [r13 + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp - 0x30], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmp ecx, 1
mov dword [rbp - 0x28], ecx
lea rax, str.sqlite_master
mov qword [rbp - 0x38], r13
cmovne r9, rax
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, r13
call fcn.140008ba0
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x14003ae3f
lea r9, [rbp - 0x38]
mov byte [r13 + 0xa9], 1
lea r8, [fcn.140076b60]
mov dword [rbp - 0x24], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
call fcn.14006f430
test eax, eax
mov r14d, eax
mov rdx, rbx
mov rcx, r13
cmove r14d, dword [rbp - 0x24]
mov dword [rsp + 0x58], r14d
call fcn.140006970
mov byte [r13 + 0xa9], 0
test r14d, r14d
je 0x140036285
mov rcx, r13
call fcn.140054540
movzx edi, byte [rsp + 0x30]
cmp r14d, 7
je 0x1400379ce
jmp 0x140037608
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.1400519e0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036285
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.140054d30
jmp 0x140036285
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.1400541c0
jmp 0x140036285
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.140088d40
jmp 0x140036285
movsxd rax, dword [rsi + 0xc]
lea rdx, [rbp + 0x6c]
mov rcx, qword [r13 + 0x20]
mov r8d, dword [rsi + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movzx eax, byte [rsi + 3]
add rbx, r15
shl rax, 5
add rdi, r15
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsi + 0x10]
mov r9d, dword [rbx]
mov rcx, qword [rax + rcx + 8]
call fcn.140028540
movsxd rcx, dword [rbp + 0x6c]
mov r15, rax
sub qword [rbx], rcx
mov eax, 0x2460
test word [rdi + 8], ax
je 0x140039949
mov rcx, rdi
call fcn.14002a460
jmp 0x14003994f
mov word [rdi + 8], 1
cmp dword [rbp + 0x6c], 0
je 0x14003997e
test r15, r15
je 0x1400379c9
lea rax, [fcn.1400068b0]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rcx, rdi
call fcn.14002ad40
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.140029c50
mov r11, qword [rsp + 0x38]
jmp 0x14003683a
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 8]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x1400399c0
mov rcx, rbx
call fcn.14002ab00
test byte [rbx + 8], 0x20
je 0x1400379c9
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.140013080
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 0x20
je 0x140039a75
mov rcx, qword [rbx]
lea rdx, [rbp + 0xa0]
call fcn.140013550
test eax, eax
je 0x140039a75
movsxd rax, dword [rsi + 0xc]
mov rdx, qword [rbp + 0xa0]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14002aae0
mov r9, qword [rsp + 0x50]
mov eax, dword [r13 + 0x150]
test eax, eax
jne 0x14003b13a
mov r8, qword [r13 + 0x1a0]
mov eax, dword [rsp + 0x34]
test r8, r8
je 0x14003abc4
cmp eax, dword [rbp - 0x80]
jb 0x14003abc4
mov ecx, dword [r13 + 0x1b0]
xor edx, edx
div ecx
sub ecx, edx
add ecx, dword [rsp + 0x34]
mov dword [rbp - 0x80], ecx
mov rcx, qword [r13 + 0x1a8]
call r8
test eax, eax
jne 0x14003af01
mov r11, qword [rsp + 0x38]
jmp 0x14003683a
mov rcx, rbx
call fcn.14002aa80
jmp 0x14003a8a5
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
add rbx, r15
add rdi, r15
mov r15d, dword [rsi + 0x10]
test byte [rbx + 8], 0x20
jne 0x140039ab4
mov rcx, rbx
call fcn.14002ab00
test byte [rbx + 8], 0x20
je 0x1400379c9
test r15d, r15d
je 0x140039ad8
mov r8, qword [rdi]
mov edx, r15d
mov rcx, qword [rbx]
call fcn.1400135d0
test eax, eax
jne 0x14003ab9b
test r15d, r15d
js 0x140036496
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.140013080
mov r11, qword [rsp + 0x38]
jmp 0x14003683a
movsxd rax, dword [rsi + 0xc]
mov r12, qword [rsi + 0x10]
imul r15, rax, 0x38
add r15, qword [rsp + 0x60]
cmp byte [rsi + 3], 0
je 0x140039b28
mov rax, qword [r11 + 0xf0]
mov rcx, qword [r12 + 0x18]
test rax, rax
je 0x140039b28
cmp qword [rax + 0x30], rcx
je 0x14003abe9
mov rax, qword [rax + 8]
test rax, rax
jne 0x140039b15
mov eax, dword [r13 + 0x98]
cmp dword [r11 + 0x100], eax
jge 0x14003ae49
test byte [r15 + 8], 0x40
jne 0x140039cd3
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
mov rcx, r13
imul eax, edi, 7
add eax, edx
lea eax, [rax*8 + 0x68]
movsxd rdx, eax
call fcn.140006ce0
mov rbx, rax
test rax, rax
je 0x1400379c9
mov rcx, r15
call fcn.14002a610
mov r11, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rsi, qword [rsp + 0x50]
mov word [r15 + 8], 0x40
mov qword [r15], rbx
imul rsi
mov qword [rbx], r11
mov dword [rbx + 0x58], edi
mov ecx, dword [r12 + 0x10]
mov dword [rbx + 0x5c], ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r11 + 0x70]
mov qword [rbx + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [rbx + 0x54], eax
mov rax, qword [r11 + 0x98]
mov qword [rbx + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [rbx + 0x48], eax
mov rax, qword [r11 + 0x68]
mov qword [rbx + 0x10], rax
mov eax, dword [r11 + 0xb8]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x18]
mov qword [rbx + 0x30], rax
movsxd rax, edi
imul rdx, rax, 0x38
lea rax, [rbx + 0x68]
add rdx, 0x68
add rdx, rbx
cmp rax, rdx
je 0x140039c33
nop dword [rax]
mov word [rax + 8], 0x80
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rdx
jne 0x140039c20
mov r10d, 1
inc dword [r11 + 0x100]
lea r15, [rbx + 0x68]
mov rax, qword [r11 + 0xf0]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x38], rax
mov eax, dword [r11 + 0x3c]
mov dword [rbx + 0x60], eax
mov rax, qword [r11]
mov qword [rsp + 0x60], r15
mov ecx, dword [rax + 0x68]
mov dword [rbx + 0x64], ecx
mov rax, qword [r11 + 0x110]
mov qword [rbx + 0x40], rax
xor eax, eax
mov qword [r11 + 0x110], rax
mov dword [r11 + 0x3c], eax
mov qword [r11 + 0xf0], rbx
mov qword [r11 + 0x70], r15
movsxd rcx, dword [rbx + 0x58]
mov dword [r11 + 0x28], ecx
movzx eax, word [rbx + 0x5c]
imul rcx, rcx, 0x38
mov dword [r11 + 0x2c], eax
add rcx, r15
mov qword [r11 + 0x98], rcx
mov r9, qword [r12]
mov qword [r11 + 0x68], r9
mov eax, dword [r12 + 8]
xor r12d, r12d
mov qword [rsp + 0x50], r9
lea rsi, [r9 - 0x18]
mov dword [r11 + 0xb8], eax
jmp case.0x1400360a6.112
mov rbx, qword [r15]
jmp 0x140039c39
movsxd rax, dword [rsi + 8]
imul r9, rax, 0x38
mov eax, 0x2460
add r9, qword [r11 + 0x70]
test word [r9 + 8], ax
je 0x140039d05
mov rcx, r9
call fcn.140035ec0
mov r11, qword [rsp + 0x38]
mov r9, rax
jmp 0x140039d0c
mov word [r9 + 8], 4
mov r8, qword [r11 + 0xf0]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
mov rcx, r9
add eax, dword [rsi + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
call fcn.14002ac60
jmp 0x140036285
test dword [r13 + 0x2c], 0x2000000
movsxd rax, dword [rsi + 8]
je 0x140039d5d
add qword [r13 + 0x290], rax
jmp case.0x1400360a6.112
cmp dword [rsi + 4], 0
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
je 0x140039d83
add qword [r13 + 0x288], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
add qword [r11 + 0x50], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
cmp dword [rsi + 4], 0
je 0x140039dbb
cmp qword [r13 + 0x288], 0
jne case.0x1400360a6.112
cmp qword [r13 + 0x290], 0
je 0x14003aba5
jmp case.0x1400360a6.112
cmp qword [r11 + 0x50], 0
jne case.0x1400360a6.112
cmp qword [r13 + 0x290], 0
je 0x14003aba5
jmp case.0x1400360a6.112
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x140039e0a
mov rax, qword [rcx + 8]
test rax, rax
je 0x140039dfc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140039df0
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140039e15
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.14002a630
mov qword [rdi], rax
mov ecx, 0x3e00
movzx eax, word [rdi + 8]
and ax, cx
or ax, 4
mov word [rdi + 8], ax
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a630
movzx ecx, word [rbx + 8]
mov edx, 0x3e00
mov r11, qword [rsp + 0x38]
and cx, dx
mov r9, qword [rsp + 0x50]
or cx, 4
mov word [rbx + 8], cx
mov r10d, 1
mov qword [rbx], rax
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
cmp qword [rdi], rax
jge 0x140036133
mov qword [rdi], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle case.0x1400360a6.112
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14003aba5
movsxd rax, dword [rsi + 4]
mov rdx, rsi
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
mov rcx, r11
imul rdi, rax, 0x38
call fcn.140035ef0
mov rdx, qword [rbx + r15]
test rdx, rdx
jg 0x140039eeb
mov rcx, 0xffffffffffffffff
mov qword [rax], rcx
jmp 0x140036285
mov rcx, qword [rdi + r15]
test rcx, rcx
cmovle rcx, r12
add rcx, rdx
mov qword [rax], rcx
jmp 0x140036285
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
je case.0x1400360a6.112
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14003aba5
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
sub qword [rcx + r15], 1
je 0x14003aba5
jmp case.0x1400360a6.112
movzx ebx, byte [rsi + 3]
mov rcx, r13
lea rdx, [rbx*8 + 0x30]
call fcn.140006d80
mov r8, rax
test rax, rax
je 0x1400379c9
mov rdi, qword [rsp + 0x38]
mov qword [rax + 0x10], r12
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rsi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], rdi
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rsi], 0xeb94
mov qword [rsi + 0x10], r8
jmp 0x140039fae
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul r10, rax, 0x38
add r10, r15
cmp qword [rbx + 0x10], r10
je 0x14003a000
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003a000
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140039fe0
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov qword [rbp - 0x10], r13
mov eax, 1
mov word [rbp - 0x30], ax
mov rcx, rbx
mov dword [rbp - 0x18], r12d
lea rax, [rbp - 0x38]
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
mov word [rbx + 0x28], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x14003a089
cmp dword [rbx + 0x24], 0
je 0x14003a066
mov dl, 1
lea rcx, [rbp - 0x38]
call fcn.14002b210
mov r8, rax
lea rdx, [0x140104aac]
mov rcx, rdi
call fcn.14002b9e0
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x58], r14d
mov eax, 0x2460
test word [rbp - 0x30], ax
jne 0x14003a077
cmp dword [rbp - 0x18], 0
je 0x14003a080
lea rcx, [rbp - 0x38]
call fcn.14002a4e0
test r14d, r14d
jne 0x140037603
cmp byte [rbx + 0x28], 0
je 0x140036285
movsxd rax, dword [rsi - 0x14]
test eax, eax
je 0x140036285
imul rcx, rax, 0x38
mov edx, 1
add rcx, r15
call fcn.14002aae0
jmp 0x140036285
movsxd rax, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a2c0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov rcx, rbx
test eax, eax
jne 0x14003ae60
movzx edx, byte [rsp + 0x48]
call fcn.140029c50
mov rcx, rbx
call fcn.14002abf0
test eax, eax
je 0x140036285
mov rcx, qword [rsp + 0x38]
lea rdx, str.string_or_blob_too_big
call fcn.14002b9e0
mov r14d, send
jmp 0x140037603
mov r8d, dword [rsi + 8]
lea rax, [rbp + 0xb8]
mov edx, dword [rsi + 4]
lea r9, [rbp + 0xb4]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xb0], r12d
mov qword [rbp + 0xb4], 0xffffffffffffffff
call fcn.1400a9780
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x14003a171
cmp eax, 5
jne 0x140037603
mov ecx, 1
mov dword [rsp + 0x58], r12d
mov dword [rbp + 0xb0], ecx
mov r14d, r12d
jmp 0x14003a177
mov ecx, dword [rbp + 0xb0]
movsxd rax, dword [rsi + 0xc]
mov edi, 0x2460
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, r15
test word [rbx + 8], di
je 0x14003a1a3
mov rdx, rax
mov rcx, rbx
call fcn.14002aaa0
mov r8d, 4
jmp 0x14003a1b1
mov r8d, 4
mov qword [rbx], rax
mov word [rbx + 8], r8w
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0xb4]
test word [rbx + 0x40], di
je 0x14003a1d2
mov rdx, rax
call fcn.14002aaa0
mov r8d, 4
jmp 0x14003a1da
mov qword [rcx], rax
mov word [rbx + 0x40], r8w
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0xb8]
test word [rbx + 0x78], di
je 0x14003a1f8
mov rdx, rax
call fcn.14002aaa0
jmp 0x140036285
mov qword [rcx], rax
mov word [rbx + 0x78], r8w
jmp 0x140036285
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
mov rcx, qword [r13 + 0x20]
mov r12, rax
movsxd rdx, dword [rsi + 4]
mov ebx, dword [rsi + 0xc]
shl rdx, 5
mov rax, qword [rdx + rcx + 8]
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.1400277c0
mov rcx, rax
mov r15, rax
call fcn.1400193e0
cmp ebx, 0xffffffff
mov rcx, r15
mov edi, eax
cmove ebx, eax
call fcn.1400193f0
test eax, eax
mov edx, 1
mov rcx, r15
cmove ebx, edi
call fcn.140018f30
cmp ebx, 5
jne 0x14003a282
mov rcx, rax
call fcn.140009a50
test eax, eax
je 0x14003a27e
mov rcx, r15
call fcn.140019420
test eax, eax
jne 0x14003a282
mov ebx, edi
jmp 0x14003a2ff
cmp ebx, edi
je 0x14003a2ff
cmp edi, 5
je 0x14003a290
cmp ebx, 5
jne 0x14003a2ff
cmp byte [r13 + 0x53], 0
je 0x14003ae7e
cmp dword [r13 + 0xb0], 1
jg 0x14003ae7e
cmp edi, 5
jne 0x14003a2cd
mov rcx, r15
call fcn.140019620
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x14003a304
mov edx, ebx
mov rcx, r15
call fcn.140019260
jmp 0x14003a2e4
cmp edi, 4
jne 0x14003a2df
mov edx, 2
mov rcx, r15
call fcn.140019260
test r14d, r14d
jne 0x14003a304
mov rcx, qword [rsp + 0x70]
xor edx, edx
cmp ebx, 5
sete dl
inc edx
call fcn.140028d10
mov r14d, eax
mov dword [rsp + 0x58], eax
test r14d, r14d
je 0x14003a306
mov ebx, edi
mov edx, ebx
mov rcx, r15
call fcn.140019260
mov ecx, eax
mov word [r12 + 8], 0xa02
call fcn.140070b10
mov rcx, rax
mov qword [r12 + 0x10], rax
call fcn.140009a50
movzx edx, byte [rsp + 0x48]
mov rcx, r12
mov dword [r12 + 0xc], eax
mov byte [r12 + 0xa], 1
call fcn.140029c50
test r14d, r14d
jne 0x140037603
jmp 0x140036832
mov r8d, dword [rsi + 4]
lea rcx, [r11 + 0x90]
mov rdx, r13
call fcn.14008c9f0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140037603
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140020640
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x140036285
cmp eax, 0x65
jne 0x140037603
mov r14d, r12d
mov dword [rsp + 0x58], r12d
jmp 0x14003aba0
cmp dword [rsi + 4], 0
jne 0x14003a3c7
mov rcx, r13
call fcn.140031c50
jmp 0x140036285
or dword [r11 + 0xc0], 1
jmp case.0x1400360a6.112
movzx r8d, byte [rsi + 0xc]
test r8b, r8b
jne 0x14003a3ed
mov eax, 0x4000
test dword [r13 + 0x2c], eax
jne case.0x1400360a6.112
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140028b20
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x140036285
cmp al, 6
jne 0x140037603
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, qword [rsp + 0x38]
call fcn.14002b9e0
jmp 0x140037603
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.14008ee30
mov dword [rsp + 0x58], eax
mov r14d, eax
test rbx, rbx
je 0x14003a460
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140031c80
test r14d, r14d
jne 0x140037603
jmp 0x140036285
movsxd rax, dword [rsi + 8]
lea rcx, [rbp - 0x38]
imul rdx, rax, 0x38
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm0
movdqu xmmword [rbp - 0x20], xmm1
mov qword [rbp - 0x38], r12
add rdx, r15
mov qword [rbp - 8], r12
mov qword [rbp - 0x10], r13
call fcn.14002aca0
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x58], eax
mov r14d, eax
call fcn.140032410
test rax, rax
je 0x14003a4d4
mov r9, qword [rsp + 0x38]
mov r8, rax
mov edx, dword [rsi + 4]
add r9, 0x90
mov rcx, r13
call fcn.14008e6c0
mov r14d, eax
mov dword [rsp + 0x58], eax
lea rcx, [rbp - 0x38]
call fcn.14002a610
test r14d, r14d
jne 0x140037603
jmp 0x140036285
inc dword [r13 + 0xbc]
mov rcx, r13
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
call fcn.14008ebe0
dec dword [r13 + 0xbc]
mov r14d, eax
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x140037603
jmp 0x140036285
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x58], r12
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003aeb7
mov rdi, qword [rbx]
test rdi, rdi
je 0x14003aeb7
lea rdx, [rbp - 0x58]
mov rcx, rbx
call qword [rdi + 0x30]
mov r15, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x58], eax
mov r14d, eax
call fcn.140031c80
test r14d, r14d
jne 0x140037603
mov rax, qword [rbp - 0x58]
mov r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r15
mov qword [rax], rbx
mov edx, dword [rsi + 4]
call fcn.140035a60
mov rcx, qword [rbp - 0x58]
test rax, rax
je 0x14003aeaf
mov qword [rax + 0x18], rcx
mov r11, r15
inc dword [rbx + 8]
jmp 0x14003683a
movsxd rax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x98]
mov r11, qword [r11 + 0x78]
add rdx, r15
movsxd rdi, dword [rdx + 0x38]
lea rbx, [rdx + 0x38]
movq xmm4, rbx
mov rax, qword [rax + rcx*8]
mov r14d, dword [rdx]
mov qword [rbp - 0x78], rax
punpcklqdq xmm4, xmm4
mov r15, qword [rax + 0x18]
mov rax, qword [r15]
mov qword [rsp + 0x70], rax
mov r12, qword [rax]
xor eax, eax
mov r9d, eax
mov edx, eax
test edi, edi
jle 0x14003a700
cmp edi, 8
jb 0x14003a700
cmp r8d, 6
jl 0x14003a700
mov eax, edi
and eax, 0x80000007
jge 0x14003a61a
dec eax
or eax, 0xfffffff8
inc eax
mov r10d, edi
lea rcx, [r11 + 0x20]
sub r10d, eax
mov r8d, 4
nop word [rax + rax]
movq xmm3, xmm9
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm8
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm7
paddq xmm1, xmm4
movq xmm0, xmm8
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm7
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm8
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm7
paddq xmm1, xmm4
movq xmm0, xmm8
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm7
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x14003a630
cmp rdx, rdi
jge 0x14003a729
lea r8d, [r9 + 1]
nop dword [rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, rbx
mov qword [r11 + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x14003a710
mov r8, qword [rsi + 0x10]
mov r9d, edi
mov edx, r14d
mov qword [rsp + 0x20], r11
mov rcx, r15
call qword [r12 + 0x40]
mov rdx, qword [rsp + 0x70]
mov r14d, eax
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x58], eax
call fcn.140031c80
test r14d, r14d
jne 0x140037603
mov rcx, r15
call qword [r12 + 0x50]
mov rcx, qword [rbp - 0x78]
xor r12d, r12d
mov r15, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov byte [rcx + 2], r14b
test eax, eax
jne 0x14003aba5
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x1400360a6.112
mov rax, qword [r11 + 0x98]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
add rdi, r15
cmp byte [rcx + 2], 0
je 0x14003a7c1
mov rcx, rdi
call fcn.14002aa80
jmp 0x140036285
mov rax, qword [rcx + 0x18]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, 0x3e00
mov rbx, qword [rax]
mov r9, qword [rbx]
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x38], rdi
movdqu xmmword [rbp - 0x20], xmm1
movdqu xmmword [rbp - 0x10], xmm0
movzx eax, word [rdi + 8]
and ax, dx
lea rdx, [rbp - 0x38]
or ax, 1
mov word [rdi + 8], ax
mov r8d, dword [rsi + 8]
mov rcx, qword [rcx + 0x18]
call qword [r9 + 0x58]
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r14d, eax
call fcn.140031c80
mov eax, dword [rbp - 0x14]
mov rcx, rdi
movzx edx, byte [rsp + 0x48]
test eax, eax
cmovne r14d, eax
mov dword [rsp + 0x58], r14d
call fcn.140029c50
mov rcx, rdi
call fcn.14002abf0
test eax, eax
jne 0x14003a0f8
test r14d, r14d
jne 0x140037603
jmp 0x140036285
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne case.0x1400360a6.112
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + 0x48]
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.140031c80
test r14d, r14d
jne 0x140037603
mov rcx, qword [rdi + 0x18]
call qword [r15 + 0x50]
test eax, eax
jne 0x140039a14
mov r9, qword [rsp + 0x50]
mov eax, dword [rsi + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x140039a19
mov rax, qword [rsi + 0x10]
mov edx, r10d
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140029c50
mov r14d, eax
test eax, eax
jne 0x140037603
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.140031c80
mov r11, qword [rsp + 0x38]
and dword [r11 + 0xc0], 0xfffffffe
test r14d, r14d
jne 0x140037603
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x1400360a6.112
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003aeb7
mov r10, qword [rbx]
test r10, r10
je 0x14003aeb7
cmp qword [r10 + 0x68], 0
movsxd rdx, dword [rsi + 8]
je 0x1400389bb
movsxd rax, dword [rsi + 0xc]
movzx r15d, byte [r13 + 0x5a]
mov r8, qword [r11 + 0x78]
imul rcx, rax, 0x38
mov rax, r12
add rcx, qword [rsp + 0x60]
test edx, edx
jle 0x14003a990
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14003a980
movzx eax, byte [rsi + 3]
lea r9, [rbp + 0xa8]
mov rcx, rbx
mov byte [r13 + 0x5a], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x5a], r15b
mov rbx, qword [rsp + 0x38]
mov r14d, eax
mov rcx, rbx
mov dword [rsp + 0x58], eax
call fcn.140031c80
test r14d, r14d
jne 0x14003a9de
cmp dword [rsi + 4], r14d
je 0x14003aa3e
mov rbx, qword [rbp + 0xa8]
mov qword [rsp + 0x40], rbx
mov qword [r13 + 0x30], rbx
jmp 0x14003aa48
mov qword [rsp + 0x40], rdi
cmp r14b, 0x13
jne 0x14003aa45
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x40], rdi
cmp byte [rax + 0x1c], 0
je 0x14003aa45
movzx ecx, byte [rsi + 3]
cmp cl, 4
jne 0x14003aec2
mov r11, qword [rsp + 0x38]
mov rbx, rdi
mov qword [rsp + 0x40], rbx
mov r14d, r12d
mov dword [rsp + 0x58], r12d
mov r15, qword [rsp + 0x60]
lea rcx, [0x140000000]
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003606c
mov rbx, qword [rsp + 0x40]
jmp 0x14003aa48
mov rbx, rdi
mov r11, qword [rsp + 0x38]
inc dword [r11 + 0x3c]
test r14d, r14d
jne 0x140037603
jmp 0x14003aa1a
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
movsxd rdx, dword [rsi + 4]
mov rbx, rax
mov rcx, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14001e1b0
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140036285
mov rdx, rsi
mov rcx, r11
call fcn.140035ef0
movsxd rdx, dword [rsi + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x20]
mov eax, r12d
shl rdx, 5
cmp dword [rsi + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x14003aac1
mov rcx, rbx
call fcn.14001e1b0
cmp eax, dword [rsi + 0xc]
cmovb eax, dword [rsi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.14001f4f0
movsxd rcx, eax
mov qword [rdi], rcx
jmp 0x140036285
movzx eax, byte [r13 + 0x5c]
test al, 0x81
je 0x14003ab4c
test byte [r11 + 0xc0], 2
jne 0x14003ab4c
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x14003aafe
mov r9, qword [r11 + 0xe0]
test r9, r9
je 0x14003ab47
mov rdi, qword [r13 + 0xd0]
test al, al
jns 0x14003ab2d
mov rdx, r9
mov rcx, r11
call fcn.1400354e0
mov rcx, qword [r13 + 0xd8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.1400068b0
jmp 0x14003ab3c
mov rdx, qword [r13 + 0xd8]
mov r8, r11
mov ecx, r10d
call rdi
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov eax, dword [rsi + 4]
cmp eax, dword [0x140124efc]
jl 0x14003ab91
cmp dword [r11 + 0xb8], 1
mov edx, r10d
jle 0x14003ab8e
mov eax, 0x18
nop dword [rax]
mov rcx, qword [r11 + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x14003ab7f
mov dword [rax + rcx + 4], r12d
inc edx
add rax, 0x18
cmp edx, dword [r11 + 0xb8]
jl 0x14003ab70
mov eax, r12d
inc eax
mov dword [rsi + 4], eax
jmp 0x14003aba5
xor r12d, r12d
mov r15, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov eax, dword [rsi + 8]
mov r10d, 1
mov r11, qword [rsp + 0x38]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x1400360a6.112
mov r11, qword [rsp + 0x38]
lea rcx, [0x140000000]
mov r15, qword [rsp + 0x60]
mov r10d, 1
mov rbx, qword [rsp + 0x40]
add rsi, 0x18
jmp 0x14003606c
xor r12d, r12d
mov r15, qword [rsp + 0x60]
jmp case.0x1400360a6.112
mov eax, dword [rsp + 0x34]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
add rsi, 0x18
jmp 0x14003606c
mov dword [r11 + 0x38], ecx
movzx eax, byte [rsi + 8]
mov byte [r11 + 0xbe], al
mov dword [r11 + 0x34], ebx
test ecx, ecx
je 0x14003acbf
movzx eax, byte [rsi + 3]
mov rcx, r11
test al, al
je 0x14003ac80
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x10ce60]
call fcn.14002b9e0
mov r9, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x38]
test r9, r9
je 0x14003ac95
mov r8, qword [rdi + 0x90]
lea rdx, str._z:__s
mov rcx, r13
call fcn.140008ba0
mov qword [rdi + 0x90], rax
jmp 0x14003ac95
mov r8, qword [rsi + 0x10]
lea rdx, [0x140104aac]
call fcn.14002b9e0
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [rdi + 0xe0]
mov r8d, ebx
mov ecx, dword [rsi + 4]
mov qword [rsp + 0x20], rax
call fcn.140008fe0
mov r11, qword [rsp + 0x38]
mov rcx, r11
call fcn.14002f0e0
mov rcx, qword [rsp + 0x38]
mov r14d, eax
cmp eax, 5
jne 0x14003acdc
mov dword [rcx + 0x38], eax
jmp 0x1400376d7
cmp dword [rcx + 0x38], 0
mov r14d, 0x65
mov eax, 1
cmovne r14d, eax
jmp 0x1400376d7
cmp qword [rcx + 0x68], 0
jne 0x14003ad04
lea rcx, [rbp - 0x38]
call fcn.14002a610
mov ecx, 0x13be5
jmp 0x1400375fb
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.14002b9e0
mov r14d, 5
jmp 0x140037603
mov rcx, qword [rsp + 0x38]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
call fcn.14002b9e0
mov r14d, 5
jmp 0x140037603
sub rsi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r14d, 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x34], edx
mov byte [r13 + 0x53], 0
mov dword [rdi + 0x38], r14d
jmp 0x1400376d7
mov r14d, 8
jmp 0x140037603
cmp r14b, 5
jne 0x140037603
sub rsi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x34], edx
mov dword [rax + 0x38], r14d
jmp 0x1400376d7
mov rdx, qword [r11 + 0x90]
mov rcx, r13
call fcn.140006970
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140006fa0
mov r14, qword [rsp + 0x38]
mov qword [r14 + 0x90], rax
mov rax, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x64]
cmp dword [rcx], eax
je 0x14003ae0e
mov rcx, r13
call fcn.1400544f0
or dword [r14 + 0xc0], 1
mov r14d, send
jmp 0x140037603
mov r14d, 0x204
jmp 0x140037603
mov r14d, 6
mov byte [r11 + 0xbe], 2
jmp 0x140037603
call fcn.140054540
jmp 0x1400379c9
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov r14d, r10d
call fcn.14002b9e0
jmp 0x140037603
call fcn.140032410
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140104aac]
mov r8, rax
call fcn.14002b9e0
jmp 0x140037603
mov rcx, qword [rsp + 0x38]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r14d, 1
cmove r8, rax
call fcn.14002b9e0
jmp 0x140037603
call qword [rdi + 0x38]
jmp 0x1400379c9
mov r14d, 6
jmp 0x140037603
mov eax, ecx
mov qword [rsp + 0x40], rdi
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov byte [rbx + 0xbe], al
jmp 0x140037603
mov rax, qword [r13 + 0x1a0]
test rax, rax
je 0x14003af11
mov edx, dword [rsp + 0x34]
cmp edx, dword [rbp - 0x80]
jb 0x14003af11
mov rcx, qword [r13 + 0x1a8]
call rax
test eax, eax
je 0x14003af0c
mov r14d, 9
jmp 0x140037603
mov r11, qword [rsp + 0x38]
xor edx, edx
mov rcx, r11
call fcn.14002f090
mov r14d, eax
test eax, eax
jne 0x140037603
mov rcx, qword [rsp + 0x38]
mov edx, 1
call fcn.14002edc0
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx + 0x30]
add eax, 2
or eax, 1
mov dword [rdx + 0x30], eax
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r15
mov qword [rdx + 0x88], rdi
cmp dword [rsi + 8], r14d
jle 0x14003afb9
lea rbx, [rdi + 8]
mov r14d, 0x202
nop dword [rax + rax]
mov eax, 0x1000
test word [rbx], ax
je 0x14003af91
movsxd rax, r12d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140029fe0
test eax, eax
jne 0x1400379c9
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x14003afa7
lea rcx, [rbx - 8]
call fcn.14002a160
inc r12d
add rbx, 0x38
cmp r12d, dword [rsi + 8]
jl 0x14003af70
mov rdx, qword [rsp + 0x38]
cmp byte [r13 + 0x55], 0
jne 0x1400379c9
test byte [r13 + 0x5c], 4
je 0x14003afe4
mov r8, rdx
xor r9d, r9d
mov rdx, qword [r13 + 0xd8]
mov ecx, 4
call qword [r13 + 0xd0]
sub rsi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r14d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
inc edx
mov dword [rax + 0x34], edx
jmp 0x1400376d7
movzx eax, byte [r13 + 0x53]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x14003b0f5
test ecx, ecx
je 0x14003b041
mov edx, 0x204
mov rcx, r13
call fcn.1400a84f0
mov al, 1
jmp 0x14003b082
test ebx, ebx
je 0x14003b069
cmp dword [r13 + 0xb4], 0
jle 0x14003b069
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r11
call fcn.14002b9e0
mov r14d, 5
jmp 0x140037603
mov edx, r10d
mov rcx, r11
call fcn.14002f090
mov r14d, eax
test eax, eax
jne 0x1400376d7
movzx eax, bl
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
mov byte [r13 + 0x53], al
call fcn.14002f0e0
cmp eax, 5
jne 0x14003b0d5
sub rsi, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r14d, 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [rdi + 0x34], edx
mov byte [r13 + 0x53], al
mov dword [rdi + 0x38], r14d
jmp 0x1400376d7
mov rcx, r13
call fcn.1400a77d0
cmp dword [rdi + 0x38], 0
mov r14d, 0x65
mov eax, 1
cmovne r14d, eax
jmp 0x1400376d7
test ebx, ebx
jne 0x14003b113
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r11
call fcn.14002b9e0
mov r14d, 1
jmp 0x140037603
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r11
cmovne rdx, rax
call fcn.14002b9e0
mov r14d, 1
jmp 0x140037603
mov r11, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
cmp byte [r13 + 0x55], 0
mov r14d, 9
mov ebx, 7
cmovne r14d, ebx
mov ecx, r14d
mov dword [r11 + 0x38], r14d
call fcn.1400a86f0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140104aac]
mov r8, rax
call fcn.14002b9e0
jmp 0x14003760d