Function at 0x140036000
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 [0x140125080]
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.14002d2b0
mov r11, qword [rsp + 0x38]
mov r10d, 1
cmp dword [r11 + 0x38], 7
je 0x140037aae
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 0x14003b224
cmp qword [r13 + 0x1a0], r12
je 0x140036115
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 [0x140111be0]
xorps xmm10, xmm10
movdqa xmm7, xmmword [0x140111bd0]
movdqa xmm9, xmmword [0x140111bf0]
lea rcx, [rax + rax*2]
mov eax, r12d
lea rsi, [rsi + rcx*8]
lea rcx, [0x140000000]
mov r8d, dword [0x1401250d8]
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.0x140036186
mov ecx, dword [rcx + rbx*4 + 0x3b260]
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 0x14003ac85
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.0x140036186.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 0x14003ac85
mov rbx, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003614c
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 0x1400361d0
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.0x140036186.112
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je case.0x140036186.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 0x14003acef
mov rdi, qword [r11 + 0xf0]
test rdi, rdi
je 0x14003acef
mov rax, qword [rdi + 8]
mov rcx, r13
mov edx, dword [r11 + 0x3c]
dec dword [r11 + 0x100]
mov qword [r11 + 0xf0], rax
call fcn.140031d20
mov rcx, rdi
call fcn.14002e210
cmp dword [rsi + 8], 4
mov rbx, qword [r13 + 0x30]
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
jne 0x14003631a
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 0x14003614c
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
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.0x140036186.112
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
mov rdx, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036365
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
mov rdx, rax
mov word [rax + 8], 8
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036365
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
mov rcx, qword [rsi + 0x10]
mov rbx, rax
mov byte [rsi], 0x4e
call fcn.140009b30
movzx edi, byte [rsp + 0x48]
mov dword [rsi + 4], eax
cmp dil, 1
je 0x140036440
mov rdx, qword [rsi + 0x10]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], r12
mov rcx, rbx
call fcn.14002ae20
mov edx, edi
mov dword [rsp + 0x58], eax
mov rcx, rbx
mov r14d, eax
call fcn.140029d30
test eax, eax
jne 0x140037aa9
mov eax, 0x800
mov dword [rbx + 0x20], r12d
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xff
jne 0x14003642e
mov rdx, qword [rsi + 0x10]
mov rcx, r13
call fcn.140006a50
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 0x14003a1d8
mov r11, qword [rsp + 0x38]
jmp 0x140036456
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 0x14003647d
mov rcx, rdx
call fcn.140035fa0
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 0x14003636a
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 0x140036217
mov word [rdx + 8], 0xa10
add rsi, 0x18
jmp 0x14003614c
movsxd rax, dword [rsi + 8]
mov edx, 0x2460
imul rcx, rax, 0x38
add rcx, qword [r11 + 0x70]
test word [rcx + 8], dx
je 0x140036513
call fcn.140035fa0
mov r11, qword [rsp + 0x38]
mov rcx, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
mov edx, 0x2460
jmp 0x140036519
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 0x14003accc
nop word [rax + rax]
test word [rbx + 0x38], dx
lea rbx, [rbx + 0x38]
je 0x140036568
lea rcx, [rbx - 8]
call fcn.14002a540
mov edx, 0x2460
dec edi
mov word [rbx], r15w
mov dword [rbx + 4], r12d
test edi, edi
jg 0x140036550
mov r15, qword [rsp + 0x60]
jmp 0x140036365
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.0x140036186.112
movsxd rax, dword [rsi + 8]
mov edi, 0x2460
imul rbx, rax, 0x38
add rbx, qword [r11 + 0x70]
test word [rbx + 8], di
je 0x1400365c9
mov rcx, rbx
call fcn.140035fa0
mov rbx, rax
jmp 0x1400365cf
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.14002ae20
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
jmp 0x140036365
mov eax, dword [rsi + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r11 + 0xa0]
mov rcx, rbx
call fcn.14002acd0
test eax, eax
jne 0x14003a1d8
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035fd0
mov r8d, 0x800
mov rdx, rbx
mov rcx, rax
call fcn.14002ad40
jmp 0x140036365
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 0x140036671
cmp dword [rbx + 0x20], 0
je 0x140036684
mov rcx, rbx
call fcn.14002a5c0
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 0x1400366ce
mov rcx, rbx
call fcn.14002a0c0
test eax, eax
jne 0x140037aa9
mov edx, 0x1000
mov r10d, 1
add rdi, 0x38
add rbx, 0x38
sub r15d, 1
jne 0x140036660
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jmp case.0x140036186.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.14002ad40
mov edx, 0x1000
test word [rbx + 8], dx
je 0x14003673e
mov rcx, rbx
call fcn.14002a0c0
test eax, eax
jne 0x140037aa9
mov edx, 0x1000
mov eax, r15d
dec r15d
test eax, eax
je 0x140036576
add rbx, 0x38
add rdi, 0x38
jmp 0x140036710
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.14002ad40
jmp 0x140036365
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 0x1400367af
mov rdx, rax
mov rcx, r8
call fcn.14002ab80
jmp 0x140036365
mov qword [r8], rax
mov word [r8 + 8], 4
jmp case.0x140036186.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 0x140036805
mov rcx, rbx
call fcn.14002ab60
mov r15, qword [rsp + 0x60]
jmp 0x140036365
mov r12d, 0x4000
test r12w, cx
je 0x140036821
mov rcx, r15
call fcn.14002a1e0
test eax, eax
jne 0x140037aa9
test word [rdi + 8], r12w
je 0x140036838
mov rcx, rdi
call fcn.14002a1e0
test eax, eax
jne 0x140037aa9
test byte [r15 + 8], 0x12
movzx r12d, byte [rsp + 0x48]
jne 0x14003685c
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.14002a2a0
test eax, eax
jne 0x140037aa9
test byte [rdi + 8], 0x12
jne 0x140036879
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.14002a2a0
test eax, eax
jne 0x140037aa9
mov r12d, dword [r15 + 0xc]
add r12d, dword [rdi + 0xc]
cmp r12d, dword [r13 + 0x70]
jg 0x14003a1d8
xor r8d, r8d
lea edx, [r12 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.140029d50
test eax, eax
jne 0x140037aa9
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [rbx + 8], ax
cmp rbx, rdi
je 0x1400368d4
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400f3b10
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call fcn.1400f3b10
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.0x140036186.112
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140035f80
mov word [rbp + 0x20], ax
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
add r15, qword [rsp + 0x60]
mov rcx, r15
call fcn.140035f80
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 0x140036b44
movzx eax, r12b
and al, byte [rbp + 0x20]
test al, 4
je 0x140036a56
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 0x140036a1e
sub edx, 1
je 0x140036a10
sub edx, 1
je 0x140036a02
cmp edx, 1
je 0x1400369d6
test rcx, rcx
je 0x140036b44
cmp rcx, 0xffffffffffffffff
mov r9d, 1
mov rax, r8
cmove rcx, r9
cqo
idiv rcx
mov qword [rbp + 0x58], rdx
jmp 0x140036a2e
test rcx, rcx
je 0x140036b44
cmp rcx, 0xffffffffffffffff
jne 0x1400369f4
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140036a5b
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x58], rax
jmp 0x140036a2e
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000ae40
jmp 0x140036a2a
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000add0
jmp 0x140036a2a
mov rdx, rcx
lea rcx, [rbp + 0x58]
call fcn.14000ad80
test eax, eax
jne 0x140036a5b
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 0x140036365
mov byte [rsp + 0x68], 0
mov rcx, rdi
call fcn.14002a7a0
mov rcx, r15
movaps xmm6, xmm0
call fcn.14002a7a0
movzx ecx, byte [rsi]
movaps xmm3, xmm0
sub ecx, 0x2f
je 0x140036ad7
sub ecx, 1
je 0x140036ad1
sub ecx, 1
je 0x140036acb
cmp ecx, 1
je 0x140036abc
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp + 0x58], rax
test rcx, rcx
je 0x140036b44
cmp rcx, 0xffffffffffffffff
mov r9d, 1
cqo
xorps xmm3, xmm3
cmove rcx, r9
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x140036adb
ucomisd xmm6, xmm10
jp 0x140036ac5
je 0x140036b44
divsd xmm3, xmm6
jmp 0x140036adb
mulsd xmm3, xmm6
jmp 0x140036adb
subsd xmm3, xmm6
jmp 0x140036adb
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 0x140036b44
jne 0x140036b44
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 0x140036912
cmp byte [rsp + 0x68], 0
jne 0x140036912
mov rcx, rbx
call fcn.14002a800
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
mov eax, 0x2460
test word [rbx + 8], ax
je 0x140036b64
mov rcx, rbx
call fcn.14002a540
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
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.0x140036186.112
movsxd rax, dword [rsi + 4]
test eax, eax
je case.0x140036186.112
imul rcx, rax, 0x38
xor edx, edx
add rcx, r15
call fcn.14002abc0
jmp 0x140036365
movzx ebx, byte [rsi + 3]
mov rcx, r13
lea rdx, [rbx*8 + 0x30]
call fcn.140006e60
mov r8, rax
test rax, rax
je 0x140037aa9
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 0x140036c14
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 0x140036c70
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140036c70
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 0x140036c50
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 0x140036d00
cmp dword [rbx + 0x24], 0
je 0x140036ce0
mov rcx, qword [rbx]
mov dl, 1
call fcn.14002b2f0
mov r8, rax
lea rdx, [0x140105acc]
mov rcx, r15
call fcn.14002bac0
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.14002f9a0
test r14d, r14d
jne 0x1400376e3
test byte [rdi + 8], 0x12
je 0x140036576
mov rcx, qword [rbx]
test byte [rcx + 8], 2
je 0x140036d27
movzx edi, byte [rsp + 0x48]
cmp byte [rcx + 0xa], dil
je 0x140036d27
movzx edx, dil
call fcn.140009510
mov rcx, qword [rbx]
call fcn.14002acd0
test eax, eax
jne 0x14003a1d8
mov r15, qword [rsp + 0x60]
jmp 0x140036365
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 0x140036d9d
mov eax, 0x2460
test word [rdi + 8], ax
je 0x140036d90
mov rcx, rdi
call fcn.14002a540
mov r15, qword [rsp + 0x60]
jmp 0x140036365
mov word [rdi + 8], r10w
mov r15, rdx
jmp case.0x140036186.112
call fcn.14002a710
mov rcx, r15
mov rbx, rax
call fcn.14002a710
movzx ecx, byte [rsi]
mov rdx, rax
cmp cl, 0x2b
jne 0x140036dbd
and rbx, rax
jmp 0x140036e31
cmp cl, 0x2c
jne 0x140036dc7
or rbx, rdx
jmp 0x140036e31
test rdx, rdx
je 0x140036e31
jns 0x140036de1
mov eax, 0x5b
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x140036de7
neg rdx
cmp rdx, 0x40
jl 0x140036dff
test rbx, rbx
jns 0x140036dfa
cmp cl, 0x2d
je 0x140036dfa
mov rbx, 0xffffffffffffffff
jmp 0x140036e31
mov rbx, r12
jmp 0x140036e31
cmp cl, 0x2d
mov rcx, rdx
jne 0x140036e0f
shl rbx, cl
mov r8, rbx
jmp 0x140036e2e
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140036e2e
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 0x140036365
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a710
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 0x140036365
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x140036ede
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.140035da0
movzx eax, word [rbx + 8]
test al, 4
jne 0x140036ece
cmp dword [rsi + 8], 0
jne 0x14003ac80
mov r14d, socket
jmp 0x1400376e3
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.0x140036186.112
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 4
je case.0x140036186.112
call fcn.14002a8a0
jmp 0x140036365
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
mov rcx, rbx
test word [rbx + 8], ax
je 0x140036f57
call fcn.14002a1e0
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [rsi + 8]
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.14002aa30
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
movzx r8d, byte [rsp + 0x48]
mov r14d, r12d
movzx edx, byte [rsi + 8]
mov dword [rsp + 0x58], r12d
call fcn.14002aa30
jmp 0x140036365
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 0x140037012
test al, al
jns 0x140036fd2
movzx eax, bx
xor r8d, r8d
and ax, r12w
bt ax, r8w
jae 0x140037071
bt bx, 8
jb 0x140037071
mov ecx, r8d
jmp 0x140037109
mov r15, qword [rsp + 0x60]
test al, 0x20
je 0x140037008
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.0x140036186.112
xor r12d, r12d
test al, 0x10
jmp 0x140036201
and al, 0x47
cmp al, 0x43
jb 0x140037089
test cl, 2
je 0x140037048
movzx eax, r12b
and al, 0xe
cmp al, 2
jne 0x140037035
xor edx, edx
mov rcx, r15
call fcn.140035ca0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x140037048
xor edx, edx
mov rcx, rdi
call fcn.140035ca0
movzx eax, byte [rdi + 8]
and al, byte [r15 + 8]
test al, 4
je 0x1400370ea
mov rax, qword [rdi]
xor r8d, r8d
mov rdx, qword [r15]
mov r10d, 1
mov r11, qword [rsp + 0x38]
cmp rax, rdx
jle 0x140037079
mov ecx, r10d
jmp 0x140037109
cmp rax, rdx
mov ecx, r8d
setge cl
dec ecx
jmp 0x140037109
cmp al, 0x42
jne 0x1400370ea
test r12b, 2
jne 0x1400370be
test r12b, 0xc
je 0x1400370be
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, r15
call fcn.14002a2a0
movzx eax, r12w
mov ecx, 0x7e00
xor ax, word [r15 + 8]
and ax, cx
xor r12w, ax
test bl, 2
jne 0x1400370ea
test bl, 0xc
je 0x1400370ea
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rdi
call fcn.14002a2a0
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.140030b80
mov r11, qword [rsp + 0x38]
mov ecx, eax
xor r8d, r8d
mov r10d, 1
movzx edx, byte [rsi]
sub edx, 0x24
je 0x14003714c
sub edx, 1
je 0x140037142
sub edx, 1
je 0x140037138
sub edx, 1
je 0x14003712e
cmp edx, 1
mov edx, ecx
je 0x140037129
not edx
shr edx, 0x1f
jmp 0x14003714e
test ecx, ecx
mov edx, r8d
setle dl
jmp 0x14003714e
test ecx, ecx
mov edx, r8d
setg dl
jmp 0x14003714e
test ecx, ecx
mov edx, r8d
sete dl
jmp 0x14003714e
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 0x1400371c3
movsxd rax, dword [rsi + 8]
imul r8, rax, 0x38
mov dword [rsp + 0x6c], ecx
test r9b, 8
je 0x140037195
cmp byte [rsi], 0x25
mov ecx, r12d
mov eax, r12d
sete cl
test edx, edx
setne al
cmp ecx, eax
je 0x140036370
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.0x140036186.112
mov r9, qword [rsp + 0x50]
test edx, edx
jmp 0x140036201
cmp dword [rsp + 0x6c], 0
jmp 0x140036201
mov rcx, qword [rsi + 0x10]
add rcx, 4
mov qword [rbp - 0x70], rcx
jmp case.0x140036186.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 0x1400372b9
lea r15, [rcx + 0x20]
nop dword [rax]
test r8, r8
je 0x14003723b
mov r8d, dword [r8 + rbx*4]
jmp 0x14003723e
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.140030b80
mov dword [rsp + 0x6c], eax
mov edx, eax
test eax, eax
jne 0x14003729b
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 0x140037230
jmp 0x1400372a6
test r12b, r12b
je 0x1400372a6
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.0x140036186.112
mov edx, dword [rsp + 0x6c]
test edx, edx
jns 0x1400372e3
mov eax, dword [rsi + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp case.0x140036186.112
mov rbx, qword [rsp + 0x40]
jne 0x14003730d
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 0x14003614c
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 0x14003614c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x14003734a
mov edx, 2
mov ebx, edx
jmp 0x14003735d
call fcn.14002a710
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 0x140037373
mov rcx, rdx
jmp 0x140037381
call fcn.14002a710
test rax, rax
mov rcx, r12
setne cl
lea r9, [rcx + rbx*2]
add r9, rbx
lea rax, [0x140000000]
cmp byte [rsi], 0x1c
jne 0x14003739f
movzx r9d, byte [r9 + rax + 0x10d5f8]
jmp 0x1400373a8
movzx r9d, byte [r9 + rax + 0x10e3c8]
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 0x1400373d3
or cx, 1
mov word [rdx + r15 + 8], cx
jmp 0x140036365
movzx eax, r9b
or cx, 4
mov qword [rdx + r15], rax
mov word [rdx + r15 + 8], cx
jmp 0x140036365
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 0x140037425
mov rcx, rbx
call fcn.14002a540
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp 0x14003742a
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne case.0x140036186.112
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002a710
mov rcx, r12
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x140036365
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 0x14003748e
mov rcx, rbx
call fcn.14002a540
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
jmp 0x140037493
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne case.0x140036186.112
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14002a710
not rax
mov qword [rbx], rax
jmp 0x140036365
mov rax, qword [r11 + 0x68]
mov ecx, dword [rax + 4]
cmp ecx, dword [rsi + 4]
je 0x14003ac85
mov dword [rsi + 4], ecx
jmp case.0x140036186.112
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x1400374e9
mov eax, dword [rsi + 0xc]
test eax, eax
jmp 0x140036201
call fcn.14002a7a0
ucomisd xmm0, xmm10
jp 0x140037502
jne 0x140037502
mov eax, r12d
mov r10d, 1
jmp 0x14003750b
mov r10d, 1
mov eax, r10d
cmp byte [rsi], 0x16
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
jne 0x14003751d
xor eax, 1
test eax, eax
jmp 0x140036201
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jmp 0x140036201
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x14003ac85
jmp case.0x140036186.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.140030220
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
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 0x140037862
cmp byte [r8 + 2], r14b
je 0x14003761a
cmp byte [r8], 3
jne 0x1400375f7
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 0x14003765d
mov rcx, r15
call fcn.14002ab60
mov r9, qword [rsp + 0x50]
mov r11, rdi
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov r10d, 1
jmp case.0x140036186.112
mov rcx, r12
call fcn.140021440
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp + 0x3c]
mov dword [rcx + 0x5c], eax
mov rcx, r12
call fcn.140021af0
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 0x140037650
mov dword [rcx + 0x60], eax
jmp 0x14003765d
cmp eax, dword [r13 + 0x70]
ja 0x14003a1d8
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 0x14003767e
mov dword [rbp + 0x40], eax
mov al, 1
jmp 0x14003768e
lea rdx, [rbp + 0x40]
mov rcx, r8
call fcn.14000ac10
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 0x140037854
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 0x1400376d6
mov r8, qword [rbp - 0x48]
cmp eax, dword [r8 + 0x5c]
jbe 0x140037864
mov ecx, 0x13ba7
call fcn.1400ab860
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 0x14003772f
cmp r14d, 0xc0a
je 0x14003772f
mov ecx, r14d
call fcn.1400a87d0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140105acc]
mov r8, rax
call fcn.14002bac0
mov rax, qword [rsp + 0x38]
mov edx, r14d
mov dword [rax + 0x38], r14d
mov rcx, r13
call fcn.140009bd0
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.1400090c0
mov rcx, rsi
call fcn.14002f1c0
cmp r14d, 0xc0a
jne 0x14003779e
mov rcx, r13
call fcn.140007240
mov r14d, 1
test dil, dil
je 0x1400377b7
movzx edx, dil
mov rcx, r13
dec edx
call fcn.1400545d0
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 0x140037835
mov rcx, r13
call fcn.14002d350
mov eax, r14d
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400d1190
add rsp, 0x330
pop r14
pop r13
pop rbp
ret
mov r8, qword [rbp - 0x48]
test eax, eax
je 0x140037864
mov rcx, qword [r8 + 0x68]
jmp 0x1400378dc
xor edi, edi
movzx eax, word [r8 + 0x12]
movsxd r9, dword [rbp - 0x40]
cmp eax, r9d
jg 0x140037a16
mov eax, dword [rbx]
cmp dword [r8 + 0x64], eax
jae 0x1400379d0
mov rcx, qword [r8 + 0x68]
mov qword [rbp + 0x30], rcx
test rcx, rcx
jne 0x1400378e0
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.14002b1e0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
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 0x14003791d
inc rbx
call fcn.140030390
movzx eax, al
jmp 0x140037939
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14000ac10
mov ecx, dword [rbp - 0x50]
movzx eax, al
add rbx, rax
call fcn.140030370
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 0x14003796c
cmp rbx, rax
jb 0x140037901
jmp 0x140037971
cmp rbx, rax
jb 0x140037986
cmp rbx, rax
ja 0x14003add4
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
jne 0x14003add4
mov eax, dword [rcx + 0x5c]
cmp rdi, rax
ja 0x14003add4
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 0x1400379b9
lea rcx, [rbp - 0x38]
call fcn.14002a6f0
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 0x1400379d5
mov edx, edi
mov dword [rbp - 0x50], edx
movzx eax, word [r8 + 0x12]
cmp eax, r9d
jg 0x140037a1e
cmp byte [rsi + 1], 0xf8
mov rcx, r15
jne 0x140037a04
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.14002ad40
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
call fcn.14002ab60
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rbp - 0x50], edx
mov eax, 0x2460
test word [r15 + 8], ax
je 0x140037a3d
mov rcx, r15
call fcn.14002ab60
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 0x140037b40
movsxd rax, r9d
mov edi, dword [rbx + rax*4]
add rdi, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x140037a78
mov rcx, rdi
mov r8, r15
call fcn.1400304e0
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
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 0x140037ad4
xor r8d, r8d
mov word [r15 + 8], 1
mov rcx, r15
call fcn.140029d50
test eax, eax
je 0x140037adc
movzx edi, byte [rsp + 0x30]
mov rcx, r13
call fcn.140007240
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140106630]
call fcn.14002bac0
mov ebx, 7
mov r14d, ebx
jmp 0x1400376ed
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x10], rax
mov rcx, qword [r15 + 0x10]
mov r8, rbx
mov rdx, rdi
call fcn.1400f3b10
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 + 0x10a948]
mov word [r15 + 8], ax
mov r15, qword [rsp + 0x60]
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003614c
movzx eax, byte [rsp + 0x48]
mov byte [r15 + 0xa], al
movzx eax, byte [rsi + 3]
mov edx, dword [rbp - 0x50]
test al, 0xc0
je 0x140037b62
cmp edx, 0xc
jb 0x140037b5e
test dl, 1
je 0x140037b73
test al, al
js 0x140037b73
mov ecx, edx
call fcn.140030370
mov r8d, eax
test eax, eax
jne 0x140037b8f
mov edx, dword [rbp - 0x50]
lea rcx, [0x14012aaf8]
mov r8, r15
call fcn.1400304e0
mov r15, qword [rsp + 0x60]
xor r12d, r12d
jmp 0x140036365
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.14002b1e0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov edx, dword [rbp - 0x50]
mov r8, r15
mov rcx, qword [r15 + 0x10]
call fcn.1400304e0
mov ecx, 0xefff
and word [r15 + 8], cx
jmp 0x140036912
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.0x140036186.112
movzx r13d, byte [rsp + 0x48]
nop
movzx r8d, r13b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.140035da0
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140037c00
mov r13, qword [rbp - 0x60]
jmp 0x140036365
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 0x140037cb7
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.140035da0
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x140037c90
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.140030270
mov edi, eax
mov eax, 0x4000
mov dword [rbx + 0x24], edi
test word [rbx + 8], ax
je 0x140037d01
cmp qword [rbp - 0x58], 0
je 0x140037cf7
mov rcx, rbx
call fcn.14002a1e0
test eax, eax
jne 0x140037aa9
jmp 0x140037d01
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 0x140037d2b
mov rax, rdi
shr rax, 7
test rax, rax
je 0x140037d2b
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x140037d20
add r12d, ecx
cmp rbx, r15
je 0x140037d3d
mov ecx, dword [rsp + 0x78]
sub rbx, 0x38
jmp 0x140037cc0
cmp r12d, 0x7e
jle 0x140037d60
movsxd rcx, r12d
call fcn.14000ac90
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
mov dword [rbp + 0x20], r12d
call fcn.14000ac90
cmp ebx, eax
jge 0x140037d67
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 0x14003a1d8
mov r12, qword [rbp - 0x78]
mov rcx, r12
call fcn.14002a0a0
test eax, eax
jne 0x140037aa9
mov edx, dword [rbp + 0x20]
mov r14d, 0x80
mov r12, qword [r12 + 0x10]
cmp edx, r14d
jae 0x140037dbd
mov esi, 1
mov byte [r12], dl
mov eax, esi
jmp 0x140037dcd
mov rdx, rbx
mov rcx, r12
call fcn.14000a9e0
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 0x140037df5
mov byte [rcx], bl
mov eax, esi
jmp 0x140037dfd
mov rdx, rbx
call fcn.14000a9e0
movsxd rcx, dword [rbp + 0x20]
mov r8d, ebx
movzx eax, al
add rcx, r12
mov rdx, r15
add edi, eax
call fcn.1400303a0
add dword [rbp + 0x20], eax
add r15, 0x38
cmp r15, r13
jbe 0x140037de0
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 0x140037e50
mov dword [rcx], eax
mov word [rcx + 8], 0x4010
mov byte [rcx + 0xa], 1
jmp 0x140036912
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.140027760
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035fd0
mov rcx, qword [rbp + 0x98]
mov qword [rax], rcx
jmp 0x140036365
mov r15d, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
mov dword [rbp + 0x20], r15d
test r15d, r15d
jne 0x140037f79
cmp dword [r13 + 0xb4], r15d
jg 0x14003adee
mov rcx, rdi
call fcn.140009b30
mov r8d, dword [r13 + 0x280]
xor edx, edx
add r8d, dword [r13 + 0x27c]
mov rcx, r13
movsxd r15, eax
call fcn.14008f010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
lea rdx, [r15 + 0x21]
mov rcx, r13
call fcn.140006e60
mov rbx, rax
test rax, rax
je 0x140036576
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [r15 + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400f3b10
cmp byte [r13 + 0x53], r14b
je 0x140037f40
mov byte [r13 + 0x53], r14b
mov byte [r13 + 0x5b], 1
jmp 0x140037f47
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 0x14003691a
mov rbx, qword [r13 + 0x270]
test rbx, rbx
je 0x140037fa5
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.140009f70
test eax, eax
je 0x140037fc2
mov rbx, qword [rbx + 0x18]
inc r12d
test rbx, rbx
jne 0x140037f85
mov r11, qword [rsp + 0x38]
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.14002bac0
mov r14d, 1
jmp 0x1400376e3
cmp dword [r13 + 0xb4], 0
mov edx, r15d
jle 0x140037fd9
cmp r15d, 1
je 0x14003ae08
cmp qword [rbx + 0x18], 0
jne 0x14003803c
cmp byte [r13 + 0x5b], 0
je 0x14003803c
mov r15d, 1
mov dword [rsp + 0x78], r15d
cmp edx, r15d
jne 0x140038044
mov rdi, qword [rsp + 0x38]
mov edx, r15d
mov rcx, rdi
call fcn.14002f170
mov r14d, eax
test eax, eax
jne 0x1400377b7
mov rcx, rdi
mov byte [r13 + 0x53], r15b
call fcn.14002f1c0
cmp eax, 5
je 0x14003ae24
mov byte [r13 + 0x5b], r14b
mov r14d, dword [rdi + 0x38]
mov edi, r15d
mov dword [rsp + 0x58], r14d
jmp 0x140038131
xor ecx, ecx
mov dword [rsp + 0x78], ecx
jmp 0x140038046
xor ecx, ecx
mov eax, dword [r13 + 0x27c]
sub eax, r12d
lea r12d, [rax - 1]
cmp edx, 2
jne 0x1400380bc
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 0x1400380bf
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.140020d70
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov eax, dword [rbp - 0x58]
inc r15d
add rdi, 0x20
cmp r15d, dword [r13 + 0x28]
jl 0x140038080
mov edx, dword [rbp + 0x20]
xor ecx, ecx
jmp 0x1400380bf
mov dword [rbp + 0x30], ecx
cmp dword [r13 + 0x28], 0
mov r15d, ecx
jle 0x140038100
mov rdi, rcx
nop dword [rax]
mov rcx, qword [r13 + 0x20]
mov r8d, r12d
mov rcx, qword [rdi + rcx + 8]
call fcn.140021040
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov edx, dword [rbp + 0x20]
inc r15d
add rdi, 0x20
cmp r15d, dword [r13 + 0x28]
jl 0x1400380d0
cmp dword [rbp + 0x30], 0
je 0x14003812d
mov rax, qword [r13 + 8]
test rax, rax
je 0x140038120
nop
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140038110
mov rcx, r13
call fcn.140054620
or dword [r13 + 0x2c], 2
mov edi, dword [rsp + 0x78]
mov rcx, qword [r13 + 0x270]
cmp rcx, rbx
je 0x140038169
nop dword [rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r13
mov qword [r13 + 0x270], rax
call fcn.140006a50
dec dword [r13 + 0x27c]
mov rcx, qword [r13 + 0x270]
cmp rcx, rbx
jne 0x140038140
mov r15d, dword [rbp + 0x20]
cmp r15d, 1
jne 0x1400381b6
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, r13
mov qword [r13 + 0x270], rax
call fcn.140006a50
test edi, edi
jne 0x1400381d6
dec dword [r13 + 0x27c]
mov r8d, r12d
mov edx, r15d
mov rcx, r13
call fcn.14008f010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036912
mov rax, qword [rbx + 8]
mov qword [r13 + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [r13 + 0x290], rax
test edi, edi
je 0x140038194
cmp r15d, 2
je 0x140038194
test r14d, r14d
jne 0x1400376e3
jmp 0x140036912
mov edx, dword [rsi + 8]
test edx, edx
je 0x1400381f9
test dword [r13 + 0x2c], 0x4000000
jne 0x14003ae5b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1400382ed
mov rcx, rbx
call fcn.14001fb00
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x14003ae66
cmp dword [rsi + 8], eax
je 0x1400382b3
mov rdi, qword [rsp + 0x38]
test byte [rdi + 0xc0], 0x40
je 0x1400382b3
cmp byte [r13 + 0x53], al
je 0x140038251
cmp dword [r13 + 0xb0], 1
jle 0x1400382b3
mov r8d, dword [rdi + 0x40]
test r8d, r8d
jne 0x140038273
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.14008f010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x14003829d
mov edx, dword [rdi + 0x40]
mov rcx, rbx
call fcn.140020fd0
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.140027630
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 0x1400382f6
mov eax, r12d
mov edx, r12d
mov dword [rbp + 0x64], eax
cmp byte [rsi + 3], 0
je 0x14003830e
cmp eax, dword [rsi + 0xc]
jne 0x14003aea1
cmp edx, dword [rsi + 0x10]
jne 0x14003aea1
test r14d, r14d
jne 0x1400376e3
jmp case.0x140036186.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.140027630
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035fd0
movsxd rcx, dword [rbp + 0x80]
mov qword [rax], rcx
jmp 0x140036365
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.1400276c0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 8]
cmp eax, 1
jne 0x140038393
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], 2
jmp 0x1400383a3
cmp eax, 2
jne 0x1400383a3
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rsi + 4], 1
jne 0x1400383c0
mov rcx, r13
call fcn.140031d30
mov r11, qword [rsp + 0x38]
and dword [r11 + 0xc0], 0xfffffffe
jmp 0x1400383c5
mov r11, qword [rsp + 0x38]
test r14d, r14d
jne 0x1400376e3
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x140036186.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x140036186.104
mov eax, dword [rsi + 8]
cmp dword [rdi + 0xc], eax
je 0x14003850a
test byte [r11 + 0xc0], 1
jne 0x14003af01
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 0x14003845d
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 0x140038460
mov byte [r11 + 0xbf], cl
jmp 0x140038460
xor r14d, r14d
test byte [rsi + 3], 0x10
je 0x140038482
imul rbx, r12, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002a870
mov edx, dword [rbp - 0x58]
mov r11, qword [rsp + 0x38]
mov r12d, dword [rbx]
movzx eax, byte [rsi + 1]
cmp al, 0xfa
jne 0x14003849c
mov r15, qword [rsi + 0x10]
movzx edi, word [r15 + 8]
movzx eax, word [r15 + 6]
add edi, eax
jmp 0x1400384a3
cmp al, 0xf2
jne 0x1400384a3
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.140035b40
mov rdi, rax
test rax, rax
je 0x140037aa9
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.140021100
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.14001d250
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
mov r8d, dword [rsi + 8]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 0
call fcn.140035b40
mov rbx, rax
test rax, rax
je 0x140037aa9
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.14001e560
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov rcx, qword [rbx + 0x20]
mov edx, 1
call fcn.14001fb00
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov r15, qword [rsi + 0x10]
mov rcx, qword [rbx + 0x20]
test r15, r15
je 0x1400385fc
movzx r8d, byte [rsi + 3]
lea rdx, [rbp + 0x90]
or r8d, 2
call fcn.140026e60
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400385f8
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.140021100
mov r14d, eax
mov dword [rsp + 0x58], eax
xor al, al
jmp 0x140038621
mov rax, qword [rbx + 0x18]
xor r9d, r9d
mov edx, 1
mov qword [rsp + 0x20], rax
mov r8d, 4
call fcn.140021100
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 0x1400376e3
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 0x14003691a
mov r8d, dword [rsi + 8]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 1
call fcn.140035b40
test rax, rax
je 0x140037aa9
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x28], rcx
mov rcx, r13
mov edx, dword [rsi + 0xc]
call fcn.14003d310
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
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 0x14003ac85
jmp case.0x140036186.112
mov r8d, dword [rsi + 0xc]
mov r9d, 0xffffffff
mov edx, dword [rsi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 3
call fcn.140035b40
test rax, rax
je 0x140037aa9
mov byte [rax + 2], 1
mov ecx, dword [rsi + 8]
mov dword [rax + 0x18], ecx
mov byte [rax + 4], 1
jmp 0x140036365
movsxd rax, dword [rsi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x98]
mov rdx, qword [rdx + rax*8]
call fcn.14002dfd0
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.0x140036186.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 0x140038831
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 0x140038784
xor edx, edx
mov rcx, rdi
call fcn.140035ca0
mov rcx, rdi
call fcn.14002a710
movzx ecx, word [rdi + 8]
mov r12, rax
test cl, 4
jne 0x1400387c9
test cl, 8
je 0x14003ac78
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x1400387bc
test bl, 1
jne 0x1400387c9
dec ebx
jmp 0x1400387c9
comisd xmm0, xmm1
jbe 0x1400387c9
test bl, 1
je 0x1400387c9
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.140022010
mov dword [rsp + 0x58], eax
mov r14d, eax
mov qword [r15 + 0x40], r12
test eax, eax
jne 0x1400376e3
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 0x140038932
test eax, eax
js 0x14003890e
jne 0x140038828
cmp ebx, 0x1a
je 0x14003890e
mov dword [rbp + 0x28], r12d
jmp 0x1400388d4
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.140022010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
test r12b, r12b
je 0x1400387fa
mov ecx, dword [rbp + 0x20]
mov dword [rbp + 0x20], ecx
cmp byte [rbp - 0x22], al
jne 0x1400387fd
xor r12d, r12d
cmp dword [rbp + 0x28], 0
jne 0x14003ac7b
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 0x140036217
add rsi, 0x18
add rsi, 0x18
jmp 0x14003614c
mov dword [rbp + 0x28], r12d
lea rdx, [rbp + 0x28]
mov rcx, qword [rdi]
call fcn.140022720
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov ecx, dword [rbp + 0x20]
jmp 0x1400388ca
test eax, eax
jg 0x140038950
jne 0x14003893d
cmp ebx, 0x17
je 0x140038950
mov rcx, qword [rdi]
call fcn.1400225d0
mov ecx, dword [rbp + 0x20]
mov dword [rbp + 0x28], eax
jmp 0x1400388ca
mov dword [rbp + 0x28], r12d
lea rdx, [rbp + 0x28]
mov rcx, qword [rdi]
call fcn.1400228c0
jmp 0x14003891e
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 0x14003899f
mov qword [rbp + 8], rcx
lea rdi, [rbp + 8]
mov word [rbp + 0x18], ax
mov qword [rbp + 0x10], rbx
jmp 0x1400389ed
lea r9, [rbp]
mov r8d, 0xff
lea rdx, [rbp + 0xc0]
call fcn.140030660
mov rdi, rax
test rax, rax
je 0x140037aa9
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400389d4
mov rcx, rbx
call fcn.14002a1e0
mov r8, qword [rbx + 0x10]
mov r9, rdi
mov edx, dword [rbx + 0xc]
mov rcx, qword [r15 + 0x28]
call fcn.1400306f0
mov r10d, 1
mov byte [rdi + 0x12], 0
mov ebx, r12d
cmp byte [rsi], 0x1d
jne 0x140038a25
movzx r8d, word [rdi + 0x10]
mov edx, r12d
cmp r12w, r8w
jae 0x140038a25
mov rcx, qword [rdi + 8]
add rcx, 8
nop
test byte [rcx], 1
jne 0x140038a22
inc edx
add rcx, 0x38
cmp edx, r8d
jl 0x140038a10
jmp 0x140038a25
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.140022010
mov rdx, qword [rbp]
mov rcx, r13
mov r14d, eax
mov dword [rsp + 0x58], eax
call fcn.140006a50
test r14d, r14d
jne 0x1400376e3
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 0x140038aa6
mov r9, qword [rsp + 0x50]
test ecx, ecx
jne 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.112
test ebx, ebx
jne 0x14003ac80
mov r9, qword [rsp + 0x50]
test ecx, ecx
je 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.112
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 4
jne case.0x140036186.33
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.140035da0
test byte [rbx + 8], 4
je 0x14003ac80
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.140022010
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 0x140038b73
cmp dword [rsi + 8], 0
jne 0x14003ac80
mov ecx, 0x14224
call fcn.1400ab860
mov r14d, eax
mov dword [rsp + 0x58], eax
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
movsxd rax, dword [rsi + 8]
imul rdx, rax, 0x38
mov eax, 0x2460
add rdx, qword [r11 + 0x70]
test word [rdx + 8], ax
je 0x140038bb5
mov rcx, rdx
call fcn.140035fa0
mov r11, qword [rsp + 0x38]
mov rdx, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp 0x140038bbb
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.0x140036186.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 0x140038c1b
mov rcx, r15
call fcn.140035fa0
mov r11, qword [rsp + 0x38]
mov r15, rax
jmp 0x140038c22
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 0x140038c90
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp + 0x20]
call fcn.140021f80
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp dword [rbp + 0x20], eax
je 0x140038c62
mov qword [rbp - 0x58], 1
jmp 0x140038c8b
mov rcx, qword [rdi + 0x18]
call fcn.140021420
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x58], rax
cmp rax, rcx
jl 0x140038c84
or dword [rdi + 8], 2
jmp 0x140038c8b
inc rax
mov qword [rbp - 0x58], rax
mov r11, qword [rsp + 0x38]
movsxd rax, dword [rsi + 0xc]
test eax, eax
je 0x140038d27
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x140038ccb
mov rax, qword [rcx + 8]
test rax, rax
je 0x140038cbd
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140038cb1
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x140038cd4
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002a710
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 0x140038d88
test byte [rdi + 8], 2
jne 0x140038d88
lea rcx, [rax + 1]
mov rax, qword [rbp - 0x58]
cmp rax, rcx
jge 0x140038d24
mov rax, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbx], rax
test byte [rdi + 8], 2
je 0x140038d93
mov ebx, r12d
lea rdx, [rbp - 0x58]
mov ecx, 8
call fcn.140009210
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.140022010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp dword [rbp + 0x20], eax
jne 0x140038d93
inc ebx
cmp ebx, 0x64
jl 0x140038d30
mov r14d, 0xd
jmp 0x1400376e3
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 0x14003691a
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 0x140038ddf
imul rax, rdx, 0x38
mov rdx, qword [rax + r9]
cmp byte [rsi + 1], 0xec
mov qword [rbp - 0x30], rdx
jne 0x140038e20
cmp qword [r13 + 0x118], 0
je 0x140038e20
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 0x140038e26
xor r10d, r10d
mov ebx, r10d
test byte [rsi + 3], 1
je 0x140038e30
inc dword [r11 + 0x3c]
test byte [rsi + 3], 2
je 0x140038e3f
mov qword [rsp + 0x40], rdx
mov qword [r13 + 0x30], rdx
test byte [r8 + 8], 1
je 0x140038e50
mov qword [rbp - 0x28], r10
mov dword [rbp - 0x20], r10d
jmp 0x140038e5f
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 0x140038e6e
mov r9d, dword [rdi + 0x30]
jmp 0x140038e71
mov r9d, r10d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x140038e85
mov eax, dword [r8]
mov dword [rbp - 0x1c], eax
jmp 0x140038e89
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.1400262b0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov byte [rdi + 3], 0
mov dword [rdi + 0x58], 0
test eax, eax
jne 0x1400376e3
mov r10, qword [r13 + 0x118]
test r10, r10
je 0x140036912
test r15d, r15d
je 0x140036912
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 0x140036912
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 0x140038f4d
cmp qword [r13 + 0x118], 0
je 0x140038f4d
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 0x140038f54
cmp byte [rbx + 4], 0
je 0x140038f54
mov rcx, qword [rbx + 0x18]
call fcn.140021420
mov qword [rbx + 0x40], rax
jmp 0x140038f54
xor eax, eax
mov r15d, eax
mov edi, eax
movzx edx, byte [rsi + 3]
mov rcx, qword [rbx + 0x18]
call fcn.1400265a0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov dword [rbx + 0x58], 0
test eax, eax
jne 0x1400376e3
mov r11, qword [rsp + 0x38]
test r12b, 1
je 0x140036917
inc dword [r11 + 0x3c]
mov r10, qword [r13 + 0x118]
test r10, r10
je 0x140036917
test byte [rdi + 0x46], 0x20
jne 0x140036917
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 0x140036912
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x6c], eax
mov dword [r13 + 0x68], eax
mov dword [r11 + 0x3c], r12d
jmp case.0x140036186.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.140040040
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x68], eax
jne 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.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.14003ff70
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
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.0x140036186.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.1400213d0
mov edi, dword [r14 + 0x30]
cmp edi, dword [r13 + 0x70]
ja 0x14003a1d8
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x1400390e2
xor r8d, r8d
mov rcx, rbx
call fcn.140029d50
test eax, eax
jne 0x140037aa9
jmp 0x1400390ef
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 0x14003911f
call fcn.140021a60
jmp 0x140039124
call fcn.140021a80
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov r11, qword [rsp + 0x38]
mov byte [rbx + 0xa], 1
jmp 0x14003691a
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
mov eax, 0x2460
add rdi, qword [r11 + 0x70]
test word [rdi + 8], ax
je 0x140039175
mov rcx, rdi
call fcn.140035fa0
mov r11, qword [rsp + 0x38]
mov rdi, rax
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp 0x14003917b
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 0x14003919a
mov word [rdi + 8], r10w
jmp case.0x140036186.112
cmp byte [rbx + 3], 0
je 0x1400391be
mov rax, qword [rbx + 0x40]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov qword [rbp + 0x88], rax
mov qword [rdi], rax
jmp case.0x140036186.112
cmp byte [rbx], 2
jne 0x140039213
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.140031d60
test r14d, r14d
jne 0x1400376e3
mov rax, qword [rbp + 0x88]
mov r10d, 1
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov qword [rdi], rax
jmp case.0x140036186.112
mov rcx, rbx
call fcn.140030200
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp byte [rbx + 2], al
je 0x140039249
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov word [rdi + 8], r10w
jmp case.0x140036186.112
mov rcx, qword [rbx + 0x18]
call fcn.140021420
mov r11, qword [rsp + 0x38]
mov r10d, 1
mov r9, qword [rsp + 0x50]
mov qword [rbp + 0x88], rax
mov qword [rdi], rax
jmp case.0x140036186.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.0x140036186.112
mov rcx, qword [rcx + 0x18]
call fcn.14001cdc0
jmp 0x140036365
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.140021f80
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 0x1400376e3
cmp dword [rsi + 8], r14d
jle 0x140036365
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x60], r14d
jne 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.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 0x140039341
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.14003fd30
mov r14d, eax
mov dword [rsp + 0x58], eax
jmp 0x140039381
mov rdi, qword [rbx + 0x18]
mov rcx, rdi
call fcn.140021bb0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x140039379
cmp byte [rdi + 0x56], al
jne 0x140039366
mov dword [rbp + 0x38], 1
jmp 0x140039379
mov rcx, rdi
mov dword [rbp + 0x38], r12d
call fcn.140021d80
mov r14d, eax
mov dword [rsp + 0x58], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x58], r12d
test r14d, r14d
jne 0x1400376e3
movzx eax, byte [rbp + 0x38]
mov r9, qword [rsp + 0x50]
mov byte [rbx + 2], al
cmp dword [rbp + 0x38], r14d
jne 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.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.14003fe00
jmp 0x14003940a
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
cmp qword [rax + rcx*8], 0
je 0x14003acd6
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 0x1400376e3
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x44], eax
jne 0x14003943f
mov rcx, qword [rsp + 0x38]
mov byte [rbx + 2], al
movzx eax, byte [rsi + 3]
inc dword [rcx + rax*4 + 0xcc]
jmp case.0x140036186.13
mov byte [rbx + 2], 1
jmp 0x140039af9
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 0x14003946c
inc dword [r11 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003948a
mov rcx, rbx
call fcn.14002a1e0
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp byte [rsi], 0x7d
jne 0x14003949c
mov rdx, rbx
mov rcx, rdi
call fcn.14003e970
jmp 0x1400394d0
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 0x1400394b8
mov r9d, dword [rdi + 0x30]
jmp 0x1400394bb
mov r9d, r12d
mov r8d, dword [rsi + 0xc]
lea rdx, [rbp - 0x38]
mov rcx, qword [rdi + 0x18]
call fcn.1400262b0
mov dword [rdi + 0x58], r12d
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
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.140022010
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp dword [rbp + 0x94], eax
jne 0x140039568
mov dl, 4
mov rcx, rdi
call fcn.1400265a0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov dword [rbx + 0x58], r12d
jmp 0x140036365
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 0x1400395a3
mov rcx, rbx
call fcn.1400301a0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x1400395ab
mov r14d, r12d
mov dword [rsp + 0x58], r12d
cmp byte [rbx + 2], 0
jne 0x14003963c
mov qword [rbp + 0x78], r12
lea r8, [rbp + 0x78]
mov rdx, qword [rbx + 0x18]
mov rcx, r13
call fcn.140031980
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
cmp byte [rsi], 0x80
jne 0x14003961d
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.0x140036186.112
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140035fd0
mov rcx, qword [rbp + 0x78]
mov qword [rax], rcx
mov word [rax + 8], 4
jmp 0x140036365
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14002ab60
jmp 0x140036365
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.140031be0
test byte [rsi], 1
mov r14d, eax
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x48]
jne 0x1400396ae
neg eax
jmp 0x1400396b0
inc eax
mov dword [rbp + 0x48], eax
test r14d, r14d
jne 0x1400376e3
mov r9, qword [rsp + 0x50]
test eax, eax
jg 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.112
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x2460
add rbx, qword [r11 + 0x70]
test word [rbx + 8], ax
je 0x140039706
mov rcx, rbx
call fcn.140035fa0
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 0x14003af0c
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.1400275d0
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 0x1400376e3
mov r8d, dword [rbp + 0x4c]
test r8d, r8d
je 0x140036365
mov r9d, dword [rsi + 4]
mov edx, edi
mov rcx, r13
call fcn.1400584a0
lea eax, [rdi + 1]
mov byte [rsp + 0x30], al
jmp 0x140036365
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.140027180
cmp dword [rsi + 0xc], 0
mov r14d, eax
mov r11, qword [rsp + 0x38]
mov dword [rsp + 0x58], eax
je 0x1400397dc
movsxd rdx, dword [rbp + 0x30]
add dword [r11 + 0x3c], edx
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x1400397dc
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
test r14d, r14d
jne 0x1400376e3
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x140036186.112
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003981a
mov rdx, qword [rcx + 0x18]
mov rcx, r13
call fcn.14003da30
jmp 0x140036365
mov rcx, qword [rcx + 0x18]
call fcn.140027260
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x2460
add rbx, qword [r11 + 0x70]
test word [rbx + 8], ax
je 0x14003985b
mov rcx, rbx
call fcn.140035fa0
mov rbx, rax
jmp 0x140039861
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.140026e60
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
movsxd rax, dword [rbp + 0x74]
mov qword [rbx], rax
jmp 0x140036365
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.140008c80
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x14003af1f
lea r9, [rbp - 0x38]
mov byte [r13 + 0xa9], 1
lea r8, [fcn.140076c40]
mov dword [rbp - 0x24], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
call fcn.14006f510
test eax, eax
mov r14d, eax
mov rdx, rbx
mov rcx, r13
cmove r14d, dword [rbp - 0x24]
mov dword [rsp + 0x58], r14d
call fcn.140006a50
mov byte [r13 + 0xa9], 0
test r14d, r14d
je 0x140036365
mov rcx, r13
call fcn.140054620
movzx edi, byte [rsp + 0x30]
cmp r14d, 7
je 0x140037aae
jmp 0x1400376e8
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.140051ac0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.140054e10
jmp 0x140036365
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.1400542a0
jmp 0x140036365
mov r8, qword [rsi + 0x10]
mov rcx, r13
mov edx, dword [rsi + 4]
call fcn.140088e20
jmp 0x140036365
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.140028620
movsxd rcx, dword [rbp + 0x6c]
mov r15, rax
sub qword [rbx], rcx
mov eax, 0x2460
test word [rdi + 8], ax
je 0x140039a29
mov rcx, rdi
call fcn.14002a540
jmp 0x140039a2f
mov word [rdi + 8], 1
cmp dword [rbp + 0x6c], 0
je 0x140039a5e
test r15, r15
je 0x140037aa9
lea rax, [fcn.140006990]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rcx, rdi
call fcn.14002ae20
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.140029d30
mov r11, qword [rsp + 0x38]
jmp 0x14003691a
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 0x140039aa0
mov rcx, rbx
call fcn.14002abe0
test byte [rbx + 8], 0x20
je 0x140037aa9
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.140013160
jmp 0x140036365
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 0x20
je 0x140039b55
mov rcx, qword [rbx]
lea rdx, [rbp + 0xa0]
call fcn.140013630
test eax, eax
je 0x140039b55
movsxd rax, dword [rsi + 0xc]
mov rdx, qword [rbp + 0xa0]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14002abc0
mov r9, qword [rsp + 0x50]
mov eax, dword [r13 + 0x150]
test eax, eax
jne 0x14003b21a
mov r8, qword [r13 + 0x1a0]
mov eax, dword [rsp + 0x34]
test r8, r8
je 0x14003aca4
cmp eax, dword [rbp - 0x80]
jb 0x14003aca4
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 0x14003afe1
mov r11, qword [rsp + 0x38]
jmp 0x14003691a
mov rcx, rbx
call fcn.14002ab60
jmp 0x14003a985
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 0x140039b94
mov rcx, rbx
call fcn.14002abe0
test byte [rbx + 8], 0x20
je 0x140037aa9
test r15d, r15d
je 0x140039bb8
mov r8, qword [rdi]
mov edx, r15d
mov rcx, qword [rbx]
call fcn.1400136b0
test eax, eax
jne 0x14003ac7b
test r15d, r15d
js 0x140036576
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.140013160
mov r11, qword [rsp + 0x38]
jmp 0x14003691a
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 0x140039c08
mov rax, qword [r11 + 0xf0]
mov rcx, qword [r12 + 0x18]
test rax, rax
je 0x140039c08
cmp qword [rax + 0x30], rcx
je 0x14003acc9
mov rax, qword [rax + 8]
test rax, rax
jne 0x140039bf5
mov eax, dword [r13 + 0x98]
cmp dword [r11 + 0x100], eax
jge 0x14003af29
test byte [r15 + 8], 0x40
jne 0x140039db3
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.140006dc0
mov rbx, rax
test rax, rax
je 0x140037aa9
mov rcx, r15
call fcn.14002a6f0
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 0x140039d13
nop dword [rax]
mov word [rax + 8], 0x80
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rdx
jne 0x140039d00
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.0x140036186.112
mov rbx, qword [r15]
jmp 0x140039d19
movsxd rax, dword [rsi + 8]
imul r9, rax, 0x38
mov eax, 0x2460
add r9, qword [r11 + 0x70]
test word [r9 + 8], ax
je 0x140039de5
mov rcx, r9
call fcn.140035fa0
mov r11, qword [rsp + 0x38]
mov r9, rax
jmp 0x140039dec
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.14002ad40
jmp 0x140036365
test dword [r13 + 0x2c], 0x2000000
movsxd rax, dword [rsi + 8]
je 0x140039e3d
add qword [r13 + 0x290], rax
jmp case.0x140036186.112
cmp dword [rsi + 4], 0
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
je 0x140039e63
add qword [r13 + 0x288], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003614c
add qword [r11 + 0x50], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003614c
cmp dword [rsi + 4], 0
je 0x140039e9b
cmp qword [r13 + 0x288], 0
jne case.0x140036186.112
cmp qword [r13 + 0x290], 0
je 0x14003ac85
jmp case.0x140036186.112
cmp qword [r11 + 0x50], 0
jne case.0x140036186.112
cmp qword [r13 + 0x290], 0
je 0x14003ac85
jmp case.0x140036186.112
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x140039eea
mov rax, qword [rcx + 8]
test rax, rax
je 0x140039edc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140039ed0
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140039ef5
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.14002a710
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.14002a710
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 0x140036213
mov qword [rdi], rax
mov eax, dword [rsp + 0x34]
add rsi, 0x18
jmp 0x14003614c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle case.0x140036186.112
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14003ac85
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.140035fd0
mov rdx, qword [rbx + r15]
test rdx, rdx
jg 0x140039fcb
mov rcx, 0xffffffffffffffff
mov qword [rax], rcx
jmp 0x140036365
mov rcx, qword [rdi + r15]
test rcx, rcx
cmovle rcx, r12
add rcx, rdx
mov qword [rax], rcx
jmp 0x140036365
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
je case.0x140036186.112
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14003ac85
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
sub qword [rcx + r15], 1
je 0x14003ac85
jmp case.0x140036186.112
movzx ebx, byte [rsi + 3]
mov rcx, r13
lea rdx, [rbx*8 + 0x30]
call fcn.140006e60
mov r8, rax
test rax, rax
je 0x140037aa9
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 0x14003a08e
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 0x14003a0e0
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003a0e0
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 0x14003a0c0
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 0x14003a169
cmp dword [rbx + 0x24], 0
je 0x14003a146
mov dl, 1
lea rcx, [rbp - 0x38]
call fcn.14002b2f0
mov r8, rax
lea rdx, [0x140105acc]
mov rcx, rdi
call fcn.14002bac0
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x58], r14d
mov eax, 0x2460
test word [rbp - 0x30], ax
jne 0x14003a157
cmp dword [rbp - 0x18], 0
je 0x14003a160
lea rcx, [rbp - 0x38]
call fcn.14002a5c0
test r14d, r14d
jne 0x1400376e3
cmp byte [rbx + 0x28], 0
je 0x140036365
movsxd rax, dword [rsi - 0x14]
test eax, eax
je 0x140036365
imul rcx, rax, 0x38
mov edx, 1
add rcx, r15
call fcn.14002abc0
jmp 0x140036365
movsxd rax, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a3a0
mov dword [rsp + 0x58], eax
mov r14d, eax
mov rcx, rbx
test eax, eax
jne 0x14003af40
movzx edx, byte [rsp + 0x48]
call fcn.140029d30
mov rcx, rbx
call fcn.14002acd0
test eax, eax
je 0x140036365
mov rcx, qword [rsp + 0x38]
lea rdx, str.string_or_blob_too_big
call fcn.14002bac0
mov r14d, send
jmp 0x1400376e3
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.1400a9860
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x14003a251
cmp eax, 5
jne 0x1400376e3
mov ecx, 1
mov dword [rsp + 0x58], r12d
mov dword [rbp + 0xb0], ecx
mov r14d, r12d
jmp 0x14003a257
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 0x14003a283
mov rdx, rax
mov rcx, rbx
call fcn.14002ab80
mov r8d, 4
jmp 0x14003a291
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 0x14003a2b2
mov rdx, rax
call fcn.14002ab80
mov r8d, 4
jmp 0x14003a2ba
mov qword [rcx], rax
mov word [rbx + 0x40], r8w
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0xb8]
test word [rbx + 0x78], di
je 0x14003a2d8
mov rdx, rax
call fcn.14002ab80
jmp 0x140036365
mov qword [rcx], rax
mov word [rbx + 0x78], r8w
jmp 0x140036365
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
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.1400278a0
mov rcx, rax
mov r15, rax
call fcn.1400194c0
cmp ebx, 0xffffffff
mov rcx, r15
mov edi, eax
cmove ebx, eax
call fcn.1400194d0
test eax, eax
mov edx, 1
mov rcx, r15
cmove ebx, edi
call fcn.140019010
cmp ebx, 5
jne 0x14003a362
mov rcx, rax
call fcn.140009b30
test eax, eax
je 0x14003a35e
mov rcx, r15
call fcn.140019500
test eax, eax
jne 0x14003a362
mov ebx, edi
jmp 0x14003a3df
cmp ebx, edi
je 0x14003a3df
cmp edi, 5
je 0x14003a370
cmp ebx, 5
jne 0x14003a3df
cmp byte [r13 + 0x53], 0
je 0x14003af5e
cmp dword [r13 + 0xb0], 1
jg 0x14003af5e
cmp edi, 5
jne 0x14003a3ad
mov rcx, r15
call fcn.140019700
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x14003a3e4
mov edx, ebx
mov rcx, r15
call fcn.140019340
jmp 0x14003a3c4
cmp edi, 4
jne 0x14003a3bf
mov edx, 2
mov rcx, r15
call fcn.140019340
test r14d, r14d
jne 0x14003a3e4
mov rcx, qword [rsp + 0x70]
xor edx, edx
cmp ebx, 5
sete dl
inc edx
call fcn.140028df0
mov r14d, eax
mov dword [rsp + 0x58], eax
test r14d, r14d
je 0x14003a3e6
mov ebx, edi
mov edx, ebx
mov rcx, r15
call fcn.140019340
mov ecx, eax
mov word [r12 + 8], 0xa02
call fcn.140070bf0
mov rcx, rax
mov qword [r12 + 0x10], rax
call fcn.140009b30
movzx edx, byte [rsp + 0x48]
mov rcx, r12
mov dword [r12 + 0xc], eax
mov byte [r12 + 0xa], 1
call fcn.140029d30
test r14d, r14d
jne 0x1400376e3
jmp 0x140036912
mov r8d, dword [rsi + 4]
lea rcx, [r11 + 0x90]
mov rdx, r13
call fcn.14008cad0
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140020720
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x140036365
cmp eax, 0x65
jne 0x1400376e3
mov r14d, r12d
mov dword [rsp + 0x58], r12d
jmp 0x14003ac80
cmp dword [rsi + 4], 0
jne 0x14003a4a7
mov rcx, r13
call fcn.140031d30
jmp 0x140036365
or dword [r11 + 0xc0], 1
jmp case.0x140036186.112
movzx r8d, byte [rsi + 0xc]
test r8b, r8b
jne 0x14003a4cd
mov eax, 0x4000
test dword [r13 + 0x2c], eax
jne case.0x140036186.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.140028c00
mov dword [rsp + 0x58], eax
mov r14d, eax
test eax, eax
je 0x140036365
cmp al, 6
jne 0x1400376e3
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, qword [rsp + 0x38]
call fcn.14002bac0
jmp 0x1400376e3
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.14008ef10
mov dword [rsp + 0x58], eax
mov r14d, eax
test rbx, rbx
je 0x14003a540
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140031d60
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
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.14002ad80
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x58], eax
mov r14d, eax
call fcn.1400324f0
test rax, rax
je 0x14003a5b4
mov r9, qword [rsp + 0x38]
mov r8, rax
mov edx, dword [rsi + 4]
add r9, 0x90
mov rcx, r13
call fcn.14008e7a0
mov r14d, eax
mov dword [rsp + 0x58], eax
lea rcx, [rbp - 0x38]
call fcn.14002a6f0
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
inc dword [r13 + 0xbc]
mov rcx, r13
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
call fcn.14008ecc0
dec dword [r13 + 0xbc]
mov r14d, eax
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x1400376e3
jmp 0x140036365
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x58], r12
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003af97
mov rdi, qword [rbx]
test rdi, rdi
je 0x14003af97
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.140031d60
test r14d, r14d
jne 0x1400376e3
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.140035b40
mov rcx, qword [rbp - 0x58]
test rax, rax
je 0x14003af8f
mov qword [rax + 0x18], rcx
mov r11, r15
inc dword [rbx + 8]
jmp 0x14003691a
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 0x14003a7e0
cmp edi, 8
jb 0x14003a7e0
cmp r8d, 6
jl 0x14003a7e0
mov eax, edi
and eax, 0x80000007
jge 0x14003a6fa
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 0x14003a710
cmp rdx, rdi
jge 0x14003a809
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 0x14003a7f0
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.140031d60
test r14d, r14d
jne 0x1400376e3
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 0x14003ac85
mov r11, qword [rsp + 0x38]
mov r10d, 1
jmp case.0x140036186.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 0x14003a8a1
mov rcx, rdi
call fcn.14002ab60
jmp 0x140036365
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.140031d60
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.140029d30
mov rcx, rdi
call fcn.14002acd0
test eax, eax
jne 0x14003a1d8
test r14d, r14d
jne 0x1400376e3
jmp 0x140036365
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne case.0x140036186.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.140031d60
test r14d, r14d
jne 0x1400376e3
mov rcx, qword [rdi + 0x18]
call qword [r15 + 0x50]
test eax, eax
jne 0x140039af4
mov r9, qword [rsp + 0x50]
mov eax, dword [rsi + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x140039af9
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.140029d30
mov r14d, eax
test eax, eax
jne 0x1400376e3
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.140031d60
mov r11, qword [rsp + 0x38]
and dword [r11 + 0xc0], 0xfffffffe
test r14d, r14d
jne 0x1400376e3
mov r9, qword [rsp + 0x50]
mov r10d, 1
jmp case.0x140036186.112
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003af97
mov r10, qword [rbx]
test r10, r10
je 0x14003af97
cmp qword [r10 + 0x68], 0
movsxd rdx, dword [rsi + 8]
je 0x140038a9b
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 0x14003aa70
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14003aa60
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.140031d60
test r14d, r14d
jne 0x14003aabe
cmp dword [rsi + 4], r14d
je 0x14003ab1e
mov rbx, qword [rbp + 0xa8]
mov qword [rsp + 0x40], rbx
mov qword [r13 + 0x30], rbx
jmp 0x14003ab28
mov qword [rsp + 0x40], rdi
cmp r14b, 0x13
jne 0x14003ab25
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x40], rdi
cmp byte [rax + 0x1c], 0
je 0x14003ab25
movzx ecx, byte [rsi + 3]
cmp cl, 4
jne 0x14003afa2
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 0x14003614c
mov rbx, qword [rsp + 0x40]
jmp 0x14003ab28
mov rbx, rdi
mov r11, qword [rsp + 0x38]
inc dword [r11 + 0x3c]
test r14d, r14d
jne 0x1400376e3
jmp 0x14003aafa
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
movsxd rdx, dword [rsi + 4]
mov rbx, rax
mov rcx, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14001e290
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140036365
mov rdx, rsi
mov rcx, r11
call fcn.140035fd0
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 0x14003aba1
mov rcx, rbx
call fcn.14001e290
cmp eax, dword [rsi + 0xc]
cmovb eax, dword [rsi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.14001f5d0
movsxd rcx, eax
mov qword [rdi], rcx
jmp 0x140036365
movzx eax, byte [r13 + 0x5c]
test al, 0x81
je 0x14003ac2c
test byte [r11 + 0xc0], 2
jne 0x14003ac2c
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x14003abde
mov r9, qword [r11 + 0xe0]
test r9, r9
je 0x14003ac27
mov rdi, qword [r13 + 0xd0]
test al, al
jns 0x14003ac0d
mov rdx, r9
mov rcx, r11
call fcn.1400355c0
mov rcx, qword [r13 + 0xd8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.140006990
jmp 0x14003ac1c
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 [0x140126efc]
jl 0x14003ac71
cmp dword [r11 + 0xb8], 1
mov edx, r10d
jle 0x14003ac6e
mov eax, 0x18
nop dword [rax]
mov rcx, qword [r11 + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x14003ac5f
mov dword [rax + rcx + 4], r12d
inc edx
add rax, 0x18
cmp edx, dword [r11 + 0xb8]
jl 0x14003ac50
mov eax, r12d
inc eax
mov dword [rsi + 4], eax
jmp 0x14003ac85
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.0x140036186.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 0x14003614c
xor r12d, r12d
mov r15, qword [rsp + 0x60]
jmp case.0x140036186.112
mov eax, dword [rsp + 0x34]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x40]
add rsi, 0x18
jmp 0x14003614c
mov dword [r11 + 0x38], ecx
movzx eax, byte [rsi + 8]
mov byte [r11 + 0xbe], al
mov dword [r11 + 0x34], ebx
test ecx, ecx
je 0x14003ad9f
movzx eax, byte [rsi + 3]
mov rcx, r11
test al, al
je 0x14003ad60
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x10de80]
call fcn.14002bac0
mov r9, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x38]
test r9, r9
je 0x14003ad75
mov r8, qword [rdi + 0x90]
lea rdx, str._z:__s
mov rcx, r13
call fcn.140008c80
mov qword [rdi + 0x90], rax
jmp 0x14003ad75
mov r8, qword [rsi + 0x10]
lea rdx, [0x140105acc]
call fcn.14002bac0
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.1400090c0
mov r11, qword [rsp + 0x38]
mov rcx, r11
call fcn.14002f1c0
mov rcx, qword [rsp + 0x38]
mov r14d, eax
cmp eax, 5
jne 0x14003adbc
mov dword [rcx + 0x38], eax
jmp 0x1400377b7
cmp dword [rcx + 0x38], 0
mov r14d, 0x65
mov eax, 1
cmovne r14d, eax
jmp 0x1400377b7
cmp qword [rcx + 0x68], 0
jne 0x14003ade4
lea rcx, [rbp - 0x38]
call fcn.14002a6f0
mov ecx, 0x13be5
jmp 0x1400376db
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.14002bac0
mov r14d, 5
jmp 0x1400376e3
mov rcx, qword [rsp + 0x38]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
call fcn.14002bac0
mov r14d, 5
jmp 0x1400376e3
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 0x1400377b7
mov r14d, 8
jmp 0x1400376e3
cmp r14b, 5
jne 0x1400376e3
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 0x1400377b7
mov rdx, qword [r11 + 0x90]
mov rcx, r13
call fcn.140006a50
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140007080
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 0x14003aeee
mov rcx, r13
call fcn.1400545d0
or dword [r14 + 0xc0], 1
mov r14d, send
jmp 0x1400376e3
mov r14d, 0x204
jmp 0x1400376e3
mov r14d, 6
mov byte [r11 + 0xbe], 2
jmp 0x1400376e3
call fcn.140054620
jmp 0x140037aa9
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov r14d, r10d
call fcn.14002bac0
jmp 0x1400376e3
call fcn.1400324f0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140105acc]
mov r8, rax
call fcn.14002bac0
jmp 0x1400376e3
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.14002bac0
jmp 0x1400376e3
call qword [rdi + 0x38]
jmp 0x140037aa9
mov r14d, 6
jmp 0x1400376e3
mov eax, ecx
mov qword [rsp + 0x40], rdi
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov byte [rbx + 0xbe], al
jmp 0x1400376e3
mov rax, qword [r13 + 0x1a0]
test rax, rax
je 0x14003aff1
mov edx, dword [rsp + 0x34]
cmp edx, dword [rbp - 0x80]
jb 0x14003aff1
mov rcx, qword [r13 + 0x1a8]
call rax
test eax, eax
je 0x14003afec
mov r14d, 9
jmp 0x1400376e3
mov r11, qword [rsp + 0x38]
xor edx, edx
mov rcx, r11
call fcn.14002f170
mov r14d, eax
test eax, eax
jne 0x1400376e3
mov rcx, qword [rsp + 0x38]
mov edx, 1
call fcn.14002eea0
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 0x14003b099
lea rbx, [rdi + 8]
mov r14d, 0x202
nop dword [rax + rax]
mov eax, 0x1000
test word [rbx], ax
je 0x14003b071
movsxd rax, r12d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14002a0c0
test eax, eax
jne 0x140037aa9
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x14003b087
lea rcx, [rbx - 8]
call fcn.14002a240
inc r12d
add rbx, 0x38
cmp r12d, dword [rsi + 8]
jl 0x14003b050
mov rdx, qword [rsp + 0x38]
cmp byte [r13 + 0x55], 0
jne 0x140037aa9
test byte [r13 + 0x5c], 4
je 0x14003b0c4
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 0x1400377b7
movzx eax, byte [r13 + 0x53]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x14003b1d5
test ecx, ecx
je 0x14003b121
mov edx, 0x204
mov rcx, r13
call fcn.1400a85d0
mov al, 1
jmp 0x14003b162
test ebx, ebx
je 0x14003b149
cmp dword [r13 + 0xb4], 0
jle 0x14003b149
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r11
call fcn.14002bac0
mov r14d, 5
jmp 0x1400376e3
mov edx, r10d
mov rcx, r11
call fcn.14002f170
mov r14d, eax
test eax, eax
jne 0x1400377b7
movzx eax, bl
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
mov byte [r13 + 0x53], al
call fcn.14002f1c0
cmp eax, 5
jne 0x14003b1b5
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 0x1400377b7
mov rcx, r13
call fcn.1400a78b0
cmp dword [rdi + 0x38], 0
mov r14d, 0x65
mov eax, 1
cmovne r14d, eax
jmp 0x1400377b7
test ebx, ebx
jne 0x14003b1f3
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r11
call fcn.14002bac0
mov r14d, 1
jmp 0x1400376e3
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.14002bac0
mov r14d, 1
jmp 0x1400376e3
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.1400a87d0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140105acc]
mov r8, rax
call fcn.14002bac0
jmp 0x1400376ed