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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x238
mov r14, qword [rcx + 0x88]
mov r12, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov esi, ecx
movaps xmmword [rax - 0x78], xmm8
mov rdi, r14
mov r15, qword [r12]
mov r13, qword [r12 + 0x68]
mov dword [rsp + 0x38], ecx
mov byte [rbp + 0x198], cl
mov al, byte [r15 + 0x60]
mov dword [rbp - 0x7c], ecx
mov qword [rsp + 0x30], rcx
mov rcx, r12
mov byte [rbp + 0x188], al
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x58], r13
call fcn.1400246ec
xor r10d, r10d
cmp qword [r15 + 0x1e8], r10
je 0x1400293c0
mov ecx, dword [r15 + 0x1f8]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x1400293c4
or rbx, 0xffffffffffffffff
cmp dword [r12 + 0x38], 7
mov r11d, 1
mov qword [rsp + 0x40], rbx
je 0x14002b6f2
mov dword [r12 + 0x38], r10d
mov qword [r12 + 0x48], r10
mov qword [r12 + 0xa0], r10
mov eax, dword [r15 + 0x178]
mov dword [r15 + 0x270], r10d
test eax, eax
jne 0x14002ef9f
movsxd rax, dword [r12 + 0x34]
lea edx, [r11 + 3]
mov rbx, qword [rsp + 0x30]
lea r8d, [r11 + 1]
lea r9d, [r11 + 7]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
mov ecx, 0x3e40
add rbx, r11
mov qword [rbp - 8], rdi
mov qword [rsp + 0x30], rbx
mov eax, 5
movzx ebx, byte [rdi]
cmp ebx, 0x55
ja 0x14002b7d6
je 0x14002b794
cmp ebx, 0x2a
ja 0x14002a982
je 0x14002a933
cmp ebx, 0x15
ja 0x14002a1ba
je 0x14002a18b
cmp ebx, 0xa
ja 0x140029ea3
je 0x140029d9d
cmp ebx, eax
ja 0x140029a44
je 0x1400294a8
test ebx, ebx
je 0x14002964b
sub ebx, 1
je 0x14002eadf
sub ebx, 1
je 0x140029507
sub ebx, 1
je 0x1400294ed
cmp ebx, 1
jne 0x140029f41
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x38], eax
mov esi, eax
xor r10d, r10d
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x140029a28
mov byte [rbx + 2], r10b
lea r11d, [rsi + 1]
movzx eax, word [rdi + 2]
add dword [r12 + rax*4 + 0xd4], r11d
jmp 0x14002b29e
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.140031c6c
jmp 0x1400294bf
mov edx, dword [rdi + 8]
mov dword [rbp + 0x190], r10d
test edx, edx
je 0x140029524
mov eax, dword [r15 + 0x30]
bt rax, 0x14
jb 0x14002ea1f
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140029606
lea r8, [rbp + 0x190]
mov rcx, rbx
call fcn.140019ce0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002ea27
test byte [r12 + 0xc8], 0x40
lea r11d, [rax + 1]
je 0x1400295fc
cmp dword [rdi + 8], r10d
je 0x1400295fc
cmp byte [r15 + 0x61], r10b
je 0x14002958a
cmp dword [r15 + 0xd4], r11d
jle 0x1400295fc
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x1400295ae
add dword [r15 + 0x2cc], r11d
mov r8d, dword [r15 + 0x2cc]
add r8d, dword [r15 + 0x2c8]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.14006284c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x1400295de
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.14001aae0
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov rax, qword [r15 + 0x2d0]
mov r11d, 1
mov qword [r12 + 0x58], rax
mov rax, qword [r15 + 0x2d8]
mov qword [r12 + 0x60], rax
mov r9d, 8
lea r8d, [r9 - 6]
cmp word [rdi + 2], r10w
je 0x140029639
mov eax, dword [rdi + 0xc]
cmp dword [rbp + 0x190], eax
jne 0x14002ea6a
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
jne 0x14002ea6a
test esi, esi
jne 0x140029a09
mov rbx, qword [rsp + 0x30]
jmp 0x140029747
mov r13d, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
mov dword [rsp + 0x78], r13d
test r13d, r13d
jne 0x140029761
cmp dword [r15 + 0xd8], r10d
jg 0x14002ec32
mov rcx, r14
call fcn.140009f2c
mov rbx, qword [rsp + 0x48]
xor edx, edx
mov rcx, rbx
movsxd r15, eax
mov r8d, dword [rbx + 0x2cc]
add r8d, dword [rbx + 0x2c8]
call fcn.14006284c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002f016
lea rdx, [r15 + 0x21]
mov rcx, rbx
call fcn.14000780c
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x14002e9bf
lea rcx, [rax + 0x20]
mov rdx, r14
lea r8d, [r15 + 1]
mov qword [rax], rcx
movsxd r8, r8d
call fcn.1400db0d0
mov r15, qword [rsp + 0x48]
xor r10d, r10d
cmp byte [r15 + 0x61], r10b
je 0x1400296f1
mov byte [r15 + 0x61], r10b
mov byte [r15 + 0x69], 1
jmp 0x1400296fe
mov r11d, 1
add dword [r15 + 0x2c8], r11d
mov rax, qword [r15 + 0x2b8]
mov qword [rbx + 0x18], rax
mov rax, qword [r15 + 0x2d0]
mov qword [r15 + 0x2b8], rbx
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x2d8]
mov qword [rbx + 0x10], rax
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov r11d, 1
mov r9d, 8
mov r8d, 2
mov edx, 4
mov ecx, 0x3e40
mov r12, qword [rbp + 0x180]
add rdi, 0x18
jmp 0x14002942a
mov r9, qword [rsp + 0x48]
mov r15d, r10d
mov rbx, qword [r9 + 0x2b8]
test rbx, rbx
je 0x14002ec9d
mov rcx, qword [rbx]
mov rdx, r14
call fcn.14000a1d0
xor r10d, r10d
test eax, eax
je 0x140029794
mov rbx, qword [rbx + 0x18]
inc r15d
jmp 0x140029770
mov r8, qword [rsp + 0x48]
mov r14d, 1
cmp dword [r8 + 0xd8], r10d
jle 0x1400297b1
cmp r13d, r14d
je 0x14002ec3e
lea rax, [rbx + 0x18]
mov qword [rbp - 8], rax
cmp qword [rax], r10
jne 0x14002982c
cmp byte [r8 + 0x69], r10b
je 0x14002982c
mov dword [rsp + 0x60], r14d
cmp r13d, r14d
jne 0x140029831
mov edx, r14d
mov rcx, r12
call fcn.1400258f4
mov esi, eax
test eax, eax
jne 0x14002f0f1
mov r9, qword [rsp + 0x48]
mov rcx, r12
mov byte [r9 + 0x61], r14b
call fcn.140025944
lea r8d, [rsi + 5]
cmp eax, r8d
je 0x14002ec5c
mov esi, dword [r12 + 0x38]
xor r10d, r10d
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x38], esi
test esi, esi
je 0x14002981c
mov byte [r8 + 0x61], r10b
jmp 0x140029820
mov byte [r8 + 0x69], r10b
lea r12, [r8 + 0x2c8]
jmp 0x14002993c
mov dword [rsp + 0x60], r10d
lea r12, [r8 + 0x2c8]
mov ecx, 2
mov eax, dword [r12]
sub eax, r15d
mov qword [rbp - 0x78], r12
sub eax, r14d
mov dword [rbp + 0x190], eax
cmp r13d, ecx
jne 0x1400298b4
mov r13d, dword [r8 + 0x2c]
mov r12d, r10d
and r13d, r14d
cmp dword [r8 + 0x28], r10d
jle 0x1400298ae
mov r15d, r13d
xor r15d, r14d
mov r14, r10
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, r15d
mov rcx, qword [r14 + rcx + 8]
call fcn.14001a930
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002a376
mov r8, qword [rsp + 0x48]
inc r12d
add r14, 0x20
cmp r12d, dword [r8 + 0x28]
jl 0x14002986f
mov eax, dword [rbp + 0x190]
mov r12, qword [rbp - 0x78]
jmp 0x1400298b7
mov r13d, r10d
mov r15d, r10d
cmp dword [r8 + 0x28], r10d
jle 0x140029901
mov r14, r10
mov rcx, qword [r8 + 0x20]
mov r8d, eax
mov edx, dword [rsp + 0x78]
mov rcx, qword [r14 + rcx + 8]
call fcn.14001ab24
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002a376
mov r8, qword [rsp + 0x48]
inc r15d
mov eax, dword [rbp + 0x190]
add r14, 0x20
cmp r15d, dword [r8 + 0x28]
jl 0x1400298c3
test r13d, r13d
je 0x14002992b
xor edx, edx
mov rcx, r8
call fcn.140027200
mov rcx, qword [rsp + 0x48]
call fcn.140040b4c
mov r8, qword [rsp + 0x48]
mov eax, 1
or dword [r8 + 0x2c], eax
xor r10d, r10d
mov r13d, dword [rsp + 0x78]
mov r15d, dword [rbp + 0x190]
mov r14d, dword [rsp + 0x60]
test esi, esi
jne 0x14002a376
mov rcx, qword [r8 + 0x2b8]
cmp rcx, rbx
je 0x14002997e
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x2b8], rax
call fcn.140007594
dec dword [r12]
mov r8, qword [rsp + 0x48]
mov rcx, qword [r8 + 0x2b8]
cmp rcx, rbx
jne 0x140029950
xor r10d, r10d
mov r11d, 1
cmp r13d, r11d
jne 0x1400299b4
mov rax, qword [rbp - 8]
mov rdx, rbx
mov rcx, r8
mov rax, qword [rax]
mov qword [r8 + 0x2b8], rax
call fcn.140007594
xor r10d, r10d
test r14d, r14d
jne 0x14002e9bf
dec dword [r12]
jmp 0x1400299de
mov rax, qword [rbx + 8]
mov qword [r8 + 0x2d0], rax
mov rax, qword [rbx + 0x10]
mov qword [r8 + 0x2d8], rax
test r14d, r14d
je 0x1400299de
mov r8d, 2
cmp r13d, r8d
jne 0x14002e9c9
mov r8d, r15d
mov edx, r13d
mov r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.14006284c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x140029726
mov r12, qword [rbp + 0x180]
mov r14d, 1
mov rbx, qword [rsp + 0x40]
cmp byte [r15 + 0x63], r10b
je 0x14002f01e
mov esi, 7
jmp 0x14002f035
cmp esi, 0x65
jne 0x140029a09
mov r11d, 1
mov dword [rsp + 0x38], r10d
mov byte [rbx + 2], r11b
mov esi, r10d
jmp 0x14002dfda
sub ebx, 6
je 0x140029d09
sub ebx, 1
je 0x140029b7f
sub ebx, 1
je 0x140029b3f
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 0xc]
mov r8, r10
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r13
mov r13, qword [rax + rcx*8]
mov rcx, qword [rbp + 0x180]
lea r11, [rdx + 0x38]
movsxd r9, dword [r11]
mov edx, dword [rdx]
mov rbx, qword [r13 + 0x38]
mov r14, qword [rcx + 0x70]
mov qword [rbp + 0x190], r13
mov r12, qword [rbx]
mov r15, qword [r12]
test r9d, r9d
jle 0x140029ad7
mov r13d, 1
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x140029ab7
mov r13, qword [rbp + 0x190]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + 0x40]
mov rdx, r12
mov r12, qword [rbp + 0x180]
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.140027344
xor r10d, r10d
test esi, esi
jne 0x14002d70f
mov rcx, rbx
call qword [r15 + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
test eax, eax
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov r11d, 1
jne 0x14002e64e
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
jmp 0x14002973b
cmp dword [rdi + 8], r10d
je 0x140029b52
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r13
jmp 0x140029b55
mov r9, r10
mov r8d, dword [rdi + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.14006115c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
mov esi, eax
jne 0x140029a09
jmp 0x140029730
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [r15 + 0x20]
mov r13, rax
movsxd rdx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rdx, 5
mov r12, qword [rdx + rcx + 8]
mov rcx, r12
call fcn.140020338
mov rcx, rax
mov r15, rax
call fcn.140014274
cmp ebx, 0xffffffff
mov rcx, r15
mov r14d, eax
cmove ebx, eax
call fcn.14001427c
test eax, eax
mov edx, 1
mov rcx, r15
cmove ebx, r14d
call fcn.140013f7c
mov edx, 5
cmp ebx, edx
jne 0x140029c03
mov rcx, rax
call fcn.140009f2c
test eax, eax
je 0x140029bfb
mov rcx, r15
call fcn.14001436c
xor ecx, ecx
test eax, eax
jne 0x140029c07
mov ebx, r14d
jmp 0x140029ca5
xor ecx, ecx
jmp 0x140029c0c
mov edx, 5
cmp ebx, r14d
je 0x140029ca5
cmp r14d, edx
je 0x140029c22
cmp ebx, edx
jne 0x140029ca5
mov r9, qword [rsp + 0x48]
cmp byte [r9 + 0x61], cl
je 0x14002ecba
mov eax, 1
cmp dword [r9 + 0xd4], eax
jg 0x14002ecba
cmp r14d, edx
jne 0x140029c6b
mov rdx, r9
mov rcx, r15
call fcn.140014484
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029ca9
mov edx, ebx
mov rcx, r15
call fcn.140014184
xor ecx, ecx
jmp 0x140029c86
mov eax, 4
cmp r14d, eax
jne 0x140029c82
lea edx, [rax - 2]
mov rcx, r15
call fcn.140014184
xor ecx, ecx
test esi, esi
jne 0x140029ca9
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r12
add edx, eax
call fcn.140021288
mov esi, eax
mov dword [rsp + 0x38], eax
test esi, esi
je 0x140029cac
mov ebx, r14d
mov edx, ebx
mov rcx, r15
call fcn.140014184
mov ecx, eax
mov word [r13 + 8], 0xa02
call fcn.140050910
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.140009f2c
movzx edx, byte [rbp + 0x188]
mov r14d, 1
mov rcx, r13
mov byte [r13 + 0xa], r14b
mov dword [r13 + 0xc], eax
call fcn.140021f50
mov r15, qword [rsp + 0x48]
xor r10d, r10d
test esi, esi
je 0x140029726
mov r12, qword [rbp + 0x180]
jmp 0x140029a0f
mov r8d, dword [rdi + 8]
lea rax, [rbp + 0x20]
mov edx, dword [rdi + 4]
lea r9, [rbp + 0x1c]
or dword [rbp + 0x20], 0xffffffff
mov rcx, r15
or dword [rbp + 0x1c], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x18], r10d
call fcn.140076bc0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x140029d58
lea ecx, [r10 + 5]
cmp eax, ecx
jne 0x140029a09
lea eax, [rcx - 4]
mov dword [rsp + 0x38], r10d
mov dword [rbp + 0x18], eax
mov esi, r10d
movsxd rax, dword [rdi + 0xc]
mov r14, r10
imul rbx, rax, 0x38
add rbx, r13
mov r13d, 1
movsxd rdx, dword [rbp + r14*4 + 0x18]
mov rcx, rbx
call fcn.140022834
add r14, r13
add rbx, 0x38
cmp r14, 3
jl 0x140029d6c
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140029735
cmp byte [r15 + 0x63], r10b
jne 0x14002b6ed
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14002ed14
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x14002ed14
movsxd rdx, dword [rdi + 8]
cmp qword [r10 + 0x68], r11
je 0x14002ea0a
movsxd rax, dword [rdi + 0xc]
mov r14b, byte [r15 + 0x68]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, r13
test edx, edx
jle 0x140029e04
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x140029df4
mov al, byte [rdi + 2]
lea r9, [rbp + 0x60]
mov rcx, rbx
mov byte [r15 + 0x68], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x68], r14b
mov rcx, r12
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.140027344
xor r10d, r10d
test esi, esi
jne 0x140029e5d
cmp dword [rdi + 4], r10d
je 0x140029e40
mov rax, qword [rbp + 0x60]
mov qword [r15 + 0x38], rax
mov r11d, 1
add dword [r12 + 0x3c], r11d
test esi, esi
jne 0x14002e27f
mov r14, qword [rsp + 0x50]
jmp 0x140029b35
cmp sil, 0x13
jne 0x140029e40
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x140029e40
mov edx, 4
cmp word [rdi + 2], dx
jne 0x14002ecf2
mov esi, r10d
mov dword [rsp + 0x38], r10d
mov r11d, 1
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov r8d, 2
lea r9d, [r8 + 6]
jmp 0x14002974c
mov eax, 0x10
cmp ebx, eax
ja 0x14002a03d
je 0x140029ffb
sub ebx, 0xb
je 0x14002b29e
sub ebx, 1
je 0x140029fc1
sub ebx, 1
je 0x140029f93
sub ebx, 1
je 0x140029f4b
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r13
movzx eax, word [rbx + 8]
test dl, al
jne 0x140029f37
mov r8b, byte [rbp + 0x188]
mov dl, 0x43
mov rcx, rbx
call fcn.14002919c
movzx eax, word [rbx + 8]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x140029f24
cmp dword [rdi + 8], r10d
je 0x14002ed1e
mov r11d, 1
jmp 0x14002e64e
mov r11d, 1
mov ecx, 0x3e40
lea r8d, [r11 + 1]
lea r9d, [r11 + 7]
and ax, cx
or ax, dx
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x30]
jmp 0x140029751
movsxd rax, dword [rdi + 4]
sub rdi, r14
mov rbx, qword [rsp + 0x30]
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r13]
mov word [r8 + r13 + 8], dx
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [r14 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r13], rax
jmp 0x140029741
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + r13], rax
mov word [rcx + r13 + 8], dx
cmp dword [rdi + 8], r10d
jne 0x14002e64e
mov rbx, qword [rsp + 0x30]
jmp 0x14002974c
movsxd rax, dword [rdi + 4]
mov rcx, rdi
imul r8, rax, 0x38
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r13 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r13], rax
jmp 0x14002e64e
mov edx, dword [rbp - 0x7c]
test edx, edx
jns 0x14002a017
mov eax, dword [rdi + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140029641
mov rbx, qword [rsp + 0x30]
mov edx, 4
jne 0x14002a038
mov eax, dword [rdi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x14002974c
mov eax, dword [rdi + 0xc]
jmp 0x14002a026
sub ebx, 0x11
je 0x14002a0f9
sub ebx, 1
je 0x14002a0d0
sub ebx, 1
je 0x14002a08a
cmp ebx, 1
jne 0x140029f41
cmp dword [rdi + 0xc], r10d
mov edx, r10d
movsxd rax, dword [rdi + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r13
call fcn.1400224f0
xor r10d, r10d
mov r11d, ebx
test eax, eax
je 0x14002e64e
jmp 0x140029b35
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r13
add rbx, r13
test byte [rcx + 8], r11b
jne 0x14002a0c3
xor edx, edx
call fcn.1400224f0
xor ecx, ecx
mov edx, ecx
test eax, eax
mov rcx, rbx
sete dl
call fcn.140022834
jmp 0x140029d90
mov rcx, rbx
call fcn.1400227ac
jmp 0x140029d90
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r13
call fcn.1400224f0
mov r11d, 1
xor r10d, r10d
test eax, eax
jne 0x14002e64e
jmp 0x140029b35
mov r8, qword [r12 + 0x100]
test r8, r8
je 0x14002a159
mov r9, qword [r8 + 0x30]
mov rcx, rdi
sub rcx, qword [r12 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14002e64e
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
lea r9d, [rdx + 4]
jmp 0x14002a16d
mov rcx, qword [r12 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x14002e64e
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
mov rbx, qword [rsp + 0x30]
mov r8d, 2
jmp 0x14002974c
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x140029fb7
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r13
call fcn.1400227ac
xor r10d, r10d
jmp 0x140029f19
mov eax, 0x20
cmp ebx, eax
ja 0x14002a751
je 0x14002a6ce
cmp ebx, 0x1b
ja 0x14002a50c
je 0x14002a4ad
mov ecx, ebx
sub ecx, 0x16
je 0x14002a213
sub ecx, 1
je 0x14002a213
sub ecx, 1
je 0x14002a213
sub ecx, 1
je 0x14002a213
cmp ecx, 1
jne 0x140029fb7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
cmp qword [rax + rcx*8], r10
je 0x14002b29e
jmp 0x140029fb7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov dword [rbp + 0x190], r10d
mov r15, qword [rax + rcx*8]
and word [r15 + 2], 0
mov dword [r15 + 0x28], r10d
cmp byte [r15 + 4], r10b
je 0x14002a382
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add r14, r13
movzx r12d, word [r14 + 8]
mov al, r12b
and al, 0x2e
cmp al, r8b
jne 0x14002a25f
xor edx, edx
mov rcx, r14
call fcn.14002911c
mov rcx, r14
call fcn.140022468
movzx ecx, word [r14 + 8]
mov r13, rax
mov word [r14 + 8], r12w
test cl, 0x24
jne 0x14002a343
mov r8d, 8
test r8b, cl
jne 0x14002a312
lea r11d, [r8 - 7]
test r11b, cl
jne 0x14002da6c
cmp ebx, 0x18
jae 0x14002da6c
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x70]
call fcn.14001b678
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002a376
mov r11d, 1
cmp dword [rsp + 0x70], r10d
jne 0x14002da7e
mov edx, 4
mov r15, qword [rsp + 0x48]
mov ecx, 0x3e40
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
lea r11d, [rdx - 3]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
cmp dword [rbp + 0x190], r10d
je 0x140029751
add rdi, 0x18
jmp 0x140029751
movsd xmm1, qword [r14]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm0, xmm1
jbe 0x14002a332
mov eax, 1
test al, bl
je 0x14002a343
sub ebx, eax
jmp 0x14002a343
comisd xmm1, xmm0
jbe 0x14002a343
mov eax, 1
test al, bl
jne 0x14002a343
add ebx, eax
lea rax, [rsp + 0x70]
xor r9d, r9d
lea r14, [r15 + 0x38]
mov qword [rsp + 0x20], rax
mov rcx, qword [r14]
mov r8, r13
xor edx, edx
call fcn.14001b6f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [r15 + 0x58], r13
mov esi, eax
test eax, eax
je 0x14002a420
mov r12, qword [rbp + 0x180]
jmp 0x14002d70f
lea r14, [r15 + 0x38]
mov edx, r8d
mov rcx, qword [r14]
call fcn.140021338
mov rcx, qword [r15 + 0x40]
xor r8d, r8d
mov qword [rbp - 0x68], rcx
test eax, eax
movzx ecx, word [rdi + 0x10]
mov r12d, eax
mov word [rbp - 0x58], cx
mov r13d, r8d
setne r13b
mov byte [rbp - 0x52], r8b
lea eax, [r8 + 1]
mov dword [rbp + 0x190], r13d
mov ecx, ebx
and cl, al
neg cl
sbb dl, dl
xor r9d, r9d
and dl, 0xfe
add dl, al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov byte [rbp - 0x56], dl
lea rax, [rsp + 0x70]
add rcx, qword [rsp + 0x58]
lea rdx, [rbp - 0x68]
mov qword [rbp - 0x60], rcx
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14001b6f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002a376
test r12d, r12d
je 0x14002a420
mov dword [rbp + 0x190], r13d
cmp byte [rbp - 0x52], r10b
je 0x14002a2c1
mov eax, dword [rsp + 0x70]
cmp ebx, 0x18
jl 0x14002a47d
test eax, eax
js 0x14002a43e
jne 0x14002a434
cmp ebx, 0x19
je 0x14002a43e
mov dword [rsp + 0x70], r10d
jmp 0x14002a2d2
mov dword [rsp + 0x70], r10d
xor edx, edx
mov rcx, qword [r14]
call fcn.14001bc70
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x14002a2c1
cmp eax, 0x65
jne 0x14002a376
lea r11d, [r10 + 1]
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x70], r11d
mov esi, r10d
jmp 0x14002a2c7
test eax, eax
jg 0x14002a49c
jne 0x14002a488
cmp ebx, 0x16
je 0x14002a49c
mov rcx, qword [r14]
call fcn.140017864
mov dword [rsp + 0x70], eax
xor r10d, r10d
jmp 0x14002a2c1
mov dword [rsp + 0x70], r10d
xor edx, edx
mov rcx, qword [r14]
call fcn.14001bda0
jmp 0x14002a44d
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [rdi + 0x10]
jge 0x140029fb7
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r13
cmp dword [rdi + 0x10], r10d
jle 0x14002a584
mov rax, qword [r14 + 0x40]
lea rsi, [rbp + 0x70]
mov qword [rbp + 0x70], rax
mov r15, r10
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x80], ax
mov qword [rbp + 0x78], rbx
jmp 0x14002a5d5
sub ebx, 0x1c
je 0x14002a4c7
sub ebx, 1
je 0x14002a4c7
sub ebx, 1
je 0x14002a4c7
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r13
test byte [rcx + 8], 0x24
jne 0x14002a6ce
movups xmm0, xmmword [rcx]
mov r8b, byte [rbp + 0x188]
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x68], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp - 0x58], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp - 0x68]
movups xmmword [rbp - 0x48], xmm0
movsd qword [rbp - 0x38], xmm1
call fcn.14002919c
lea eax, [rbx + 3]
xor r10d, r10d
test byte [rbp - 0x60], al
je 0x140029f19
mov r14, qword [rbp - 0x68]
jmp 0x14002a6da
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14002a59f
mov rcx, rbx
call fcn.140022154
test eax, eax
jne 0x14002b6ed
mov rcx, qword [r14 + 0x40]
call fcn.14002637c
mov rsi, rax
mov r15, rax
test rax, rax
je 0x14002b6e8
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.1400263c4
xor r10d, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 8]
mov byte [rsi + 0x12], r10b
mov ebx, r10d
cmp byte [rdi], 0x1c
jne 0x14002a608
movzx edx, word [rsi + 0x10]
mov ecx, r10d
test edx, edx
je 0x14002a608
mov rax, qword [rsi + 8]
add rax, r9
test byte [rax], r11b
jne 0x14002a605
add ecx, r11d
add rax, 0x38
cmp ecx, edx
jl 0x14002a5f3
jmp 0x14002a608
mov ebx, r11d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.14001b6f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test r15, r15
je 0x14002a646
mov rdx, r15
mov r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.140007538
xor r10d, r10d
jmp 0x14002a64b
mov r15, qword [rsp + 0x48]
test esi, esi
jne 0x140029a09
mov eax, dword [rbp - 0x10]
mov ecx, r10d
mov dword [r14 + 0x2c], eax
mov eax, dword [rbp - 0x10]
test eax, eax
mov byte [r14 + 3], r10b
sete cl
mov dword [r14 + 0x28], r10d
test eax, eax
setne al
mov byte [r14 + 2], al
cmp byte [rdi], 0x1e
jne 0x14002a68b
mov r14, qword [rsp + 0x50]
lea r11d, [rsi + 1]
test ecx, ecx
jmp 0x14002a0ee
test ebx, ebx
jne 0x14002cf8b
test ecx, ecx
je 0x14002cf8b
cmp byte [rdi], 0x1b
mov edx, 4
mov rbx, qword [rsp + 0x30]
mov ecx, 0x3e40
lea r11d, [rdx - 3]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
jne 0x14002a6c4
movzx eax, word [rdi + 0x10]
mov word [r14 + 0xc], ax
mov r14, qword [rsp + 0x50]
jmp 0x140029751
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + r13]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov r8, r14
xor edx, edx
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x28], r10d
call fcn.14001b6f0
xor r10d, r10d
mov qword [rbx + 0x58], r14
mov word [rbx + 2], r10w
mov esi, eax
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x28]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x28], r10d
je 0x14002a744
cmp dword [rdi + 8], r10d
jne 0x14002cf8b
mov ecx, 0x162be
call fcn.140077ccc
mov esi, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
test esi, esi
jne 0x140029a09
jmp 0x14002972b
mov ecx, ebx
sub ecx, 0x21
je 0x14002d9f5
sub ecx, 1
je 0x14002a8c7
sub ecx, 1
je 0x14002a863
sub ecx, 1
je 0x14002a863
sub ecx, 1
je 0x14002a86b
sub ecx, 1
je 0x14002a798
sub ecx, 1
je 0x14002a798
sub ecx, 1
je 0x14002a798
cmp ecx, 1
jne 0x140029fb7
movsxd rcx, dword [rdi + 4]
cmp bl, 0x28
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x68], rax
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x58], ax
sbb al, al
mov byte [rbp - 0x56], al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r13
mov qword [rbp - 0x60], rcx
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.14001ae40
mov esi, eax
lea edx, [rax - 1]
cmp edx, 0x7ffffffe
ja 0x14002ed28
xor r8d, r8d
lea rcx, [rbp + 0xc0]
mov rdx, r15
call fcn.14002279c
lea r8, [rbp + 0xc0]
mov edx, esi
mov rcx, rbx
call fcn.140022cdc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov rdx, qword [rbp + 0xd0]
lea r8, [rbp - 0x68]
mov ecx, dword [rbp + 0xcc]
xor r9d, r9d
call fcn.1400268f4
lea rcx, [rbp + 0xc0]
mov ebx, eax
call fcn.1400223e4
lea ecx, [rbx + 1]
xor r10d, r10d
neg ebx
lea r11d, [rsi + 1]
test byte [rdi], r11b
cmovne ebx, ecx
test ebx, ebx
jg 0x14002e64e
jmp 0x140029b35
add dword [r12 + 0xdc], r11d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x70]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x70], r11d
cmp byte [rbx], r11b
jne 0x14002a892
mov rcx, rbx
call fcn.140031bfc
xor r10d, r10d
jmp 0x14002a8a6
mov rcx, qword [rbx + 0x38]
call fcn.14001b638
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov al, byte [rbp - 0x70]
lea r11d, [rsi + 1]
mov byte [rbx + 2], al
cmp dword [rbp - 0x70], r10d
jmp 0x14002a0ee
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x24]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14001b638
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp dword [rbp - 0x24], r10d
jne 0x140029f19
mov rcx, rbx
call fcn.14001bb1c
test rax, rax
js 0x14002a92b
mov rcx, rax
call fcn.14000b278
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x14002a92b
lea r11d, [rsi + 1]
mov eax, r11d
mov dword [rbp - 0x24], eax
jmp 0x14002a0e9
mov eax, dword [rbp - 0x24]
jmp 0x14002a0e3
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r13
test byte [rbx + 8], al
je 0x14002a972
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x68]
call fcn.14000ffe0
test eax, eax
je 0x14002a972
movsxd rax, dword [rdi + 0xc]
mov rdx, qword [rbp + 0x68]
imul rcx, rax, 0x38
add rcx, r13
call fcn.140022834
jmp 0x14002dfd1
mov rcx, rbx
call fcn.1400227ac
xor r10d, r10d
jmp 0x14002b298
cmp ebx, 0x40
ja 0x14002b2f0
je 0x14002b131
cmp ebx, 0x35
ja 0x14002ae7a
je 0x14002adad
cmp ebx, 0x30
ja 0x14002ad89
je 0x14002ad64
sub ebx, 0x2b
je 0x14002acc1
sub ebx, 1
je 0x14002acc1
sub ebx, 1
je 0x14002ac4d
sub ebx, 1
je 0x14002aa04
cmp ebx, 1
jne 0x140029f41
cmp dword [rdi + 4], r10d
je 0x14002a9e7
cmp qword [r15 + 0x2d0], r10
jmp 0x14002a9ec
cmp qword [r12 + 0x50], r10
jne 0x140029f41
cmp qword [r15 + 0x2d8], r10
je 0x14002e64e
jmp 0x140029f41
movsxd rax, dword [rdi + 0xc]
xor r10d, r10d
mov r13, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, qword [rsp + 0x58]
cmp word [rdi + 2], r10w
je 0x14002aa40
mov rcx, qword [r13 + 0x20]
mov rax, qword [r12 + 0x100]
jmp 0x14002aa3b
cmp qword [rax + 0x38], rcx
je 0x14002e9ec
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002aa2d
mov eax, dword [r15 + 0xa8]
cmp dword [r12 + 0x110], eax
jge 0x14002ed39
mov eax, 0x10
test byte [r14 + 8], al
jne 0x14002ab7d
mov edx, dword [r13 + 0x10]
mov ecx, dword [r13 + 0xc]
add ecx, edx
test edx, edx
lea r15d, [rcx + 1]
cmovne r15d, ecx
lea eax, [r15 + 2]
imul ecx, eax, 7
mov eax, dword [r13 + 8]
add ecx, edx
add eax, 7
jns 0x14002aa8d
add eax, 7
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rdx, r12d
call fcn.14000778c
mov rbx, rax
test rax, rax
je 0x14002effe
mov rcx, r14
call fcn.1400223e4
sub rdi, qword [rsp + 0x50]
lea rax, [0x1400248b4]
mov qword [r14 + 0x30], rax
mov dword [r14 + 0xc], r12d
mov r12, qword [rbp + 0x180]
mov word [r14 + 8], 0x410
mov qword [r14 + 0x10], rbx
mov dword [rbx + 0x60], r15d
mov qword [rbx], r12
mov eax, dword [r13 + 0x10]
mov dword [rbx + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [r12 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r12 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r15d
mov r15, qword [rsp + 0x48]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14002ab74
mov word [rax + 8], 0x80
mov qword [rax + 0x28], r15
add rax, 0x38
jmp 0x14002ab5f
xor r10d, r10d
lea r11d, [r10 + 1]
jmp 0x14002ab81
mov rbx, qword [r14 + 0x10]
add dword [r12 + 0x110], r11d
mov rax, qword [r12 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r12 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r12]
mov ecx, dword [rax + 0x78]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r12 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r12 + 0x120], r10
mov dword [r12 + 0x3c], r10d
lea r10, [rbx + 0x70]
mov qword [r12 + 0x68], r10
mov qword [r12 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r12 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r12 + 0x2c], eax
imul rcx, rcx, 0x38
mov qword [rsp + 0x58], r10
add rcx, r10
mov qword [r12 + 0x78], rcx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400db770
mov r14, qword [r13]
mov qword [r12 + 0x88], r14
mov eax, dword [r13 + 8]
mov r13, qword [rsp + 0x58]
lea rdi, [r14 - 0x18]
mov qword [rsp + 0x50], r14
mov dword [r12 + 0x90], eax
jmp 0x14002dfd1
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add rbx, r13
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14002ac81
mov rcx, rbx
call fcn.1400228bc
xor r10d, r10d
test eax, eax
jne 0x14002b6e8
test r15d, r15d
je 0x14002aca4
mov r8, qword [r14 + r13]
mov edx, r15d
mov rcx, qword [rbx + 0x10]
call fcn.140010048
xor r10d, r10d
test eax, eax
jne 0x14002cf8b
test r15d, r15d
js 0x14002e2d7
mov rdx, qword [r14 + r13]
mov rcx, qword [rbx + 0x10]
call fcn.14000fd70
mov r15, qword [rsp + 0x48]
jmp 0x140029d8b
movsxd rax, dword [rdi + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, r13
call fcn.1400224f0
movsxd rcx, dword [rdi + 8]
mov r12d, 2
imul rcx, rcx, 0x38
mov edx, r12d
mov ebx, eax
add rcx, r13
call fcn.1400224f0
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
movsxd r8, eax
lea rax, [0x140000000]
jne 0x14002ad0d
mov r8b, byte [r8 + rax + 0x1237a0]
jmp 0x14002ad15
mov r8b, byte [r8 + rax + 0x11e8b8]
movsxd rax, dword [rdi + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r13 + 8]
and cx, ax
cmp r8b, r12b
jne 0x14002ad3c
or cx, r11w
jmp 0x14002ad48
movzx eax, r8b
or cx, 4
mov qword [rdx + r13], rax
mov word [rdx + r13 + 8], cx
xor r10d, r10d
mov r8, r12
mov rbx, qword [rsp + 0x30]
mov r9d, 8
jmp 0x140029747
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r13]
test rdx, rdx
jle 0x140029641
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r13], rdx
jmp 0x14002e64e
sub ebx, 0x31
je 0x14002ae53
sub ebx, 1
je 0x14002ae41
sub ebx, 1
je 0x14002ae29
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
imul r12, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add r12, r13
add r14, r13
movzx r15d, word [r12 + 8]
movzx ebx, word [r14 + 8]
movzx ecx, bx
or cx, r15w
test r11b, cl
je 0x14002af34
mov eax, 0x80
test byte [rdi + 2], al
je 0x14002aeda
mov al, bl
and al, r15b
test r11b, al
je 0x14002aec5
mov eax, 0x100
test ax, bx
jne 0x14002aec5
mov edx, r10d
movzx eax, byte [rdi]
lea rcx, [0x140000000]
test edx, edx
jne 0x14002b05f
mov al, byte [rax + rcx + 0x11f194]
jmp 0x14002b066
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r13 + 8], r11b
je 0x14002e64e
jmp 0x140029fb7
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r13 + 8], r11b
jmp 0x140029fb1
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r13]
test rax, rax
je 0x140029fb7
jle 0x14002e64e
dec rax
mov qword [rcx + r13], rax
jmp 0x14002e64e
cmp ebx, 0x3b
ja 0x14002b10d
je 0x14002b0e3
sub ebx, 0x36
je 0x14002adad
sub ebx, 1
je 0x14002adad
sub ebx, 1
je 0x14002adad
sub ebx, 1
je 0x14002adad
cmp ebx, 1
jne 0x140029f41
cmp dword [rbp - 0x7c], r10d
jne 0x14002e64e
jmp 0x140029f41
movzx eax, bx
not ax
and eax, r11d
lea edx, [rax*2 - 1]
jmp 0x14002b044
mov eax, 0x20
test byte [rdi + 2], al
je 0x14002af17
movsxd rax, dword [rdi + 8]
mov ebx, 0x3e40
mov r15, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov dword [rbp - 0x7c], r11d
movzx eax, word [rcx + r13 + 8]
and ax, bx
or ax, r11w
mov word [rcx + r13 + 8], ax
mov r14, qword [rsp + 0x50]
jmp 0x140029fb7
mov r14, qword [rsp + 0x50]
mov eax, 0x10
test byte [rdi + 2], al
jne 0x14002e64e
mov r15, qword [rsp + 0x48]
jmp 0x140029fb7
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x14002afb5
test r8b, cl
je 0x14002af74
mov al, r15b
and al, 0x2e
cmp al, r8b
jne 0x14002af61
xor edx, edx
mov rcx, r12
call fcn.14002911c
movzx ebx, word [r14 + 8]
mov r8d, 2
mov al, bl
and al, 0x2e
cmp al, r8b
jne 0x14002af74
xor edx, edx
mov rcx, r14
call fcn.14002911c
mov al, byte [r14 + 8]
mov edx, 4
and al, byte [r12 + 8]
test dl, al
je 0x14002b030
mov rax, qword [r12]
cmp qword [r14], rax
jle 0x14002afa0
mov edx, 1
xor r10d, r10d
jmp 0x14002ae0b
jge 0x14002afad
or edx, 0xffffffff
xor r10d, r10d
jmp 0x14002b04c
xor r10d, r10d
jmp 0x14002ae08
cmp al, 0x42
jne 0x14002b030
test r8b, r15b
jne 0x14002b002
test r15b, 0x2c
je 0x14002b002
mov dl, byte [rbp + 0x188]
mov r8b, r11b
mov rcx, r12
call fcn.1400221d4
movzx eax, r15w
mov ecx, 0x3e40
xor ax, word [r12 + 8]
mov r8d, 2
and ax, cx
xor r15w, ax
lea r11d, [r8 - 1]
cmp r12, r14
jne 0x14002b002
movzx ebx, r15w
or bx, r8w
test r8b, bl
jne 0x14002b030
test bl, 0x2c
je 0x14002b030
mov dl, byte [rbp + 0x188]
mov r8b, r11b
mov rcx, r14
call fcn.1400221d4
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r12
mov rcx, r14
call fcn.1400266e4
mov edx, eax
xor r10d, r10d
test edx, edx
jns 0x14002ae0b
movzx ecx, byte [rdi]
lea rax, [0x140000000]
mov al, byte [rcx + rax + 0x11e234]
jmp 0x14002b066
mov al, byte [rax + rcx + 0x11e700]
mov word [r14 + 8], bx
movzx r8d, al
mov eax, 0x20
mov word [r12 + 8], r15w
test byte [rdi + 2], al
je 0x14002b0db
movsxd rax, dword [rdi + 8]
mov r9d, 8
imul rcx, rax, 0x38
mov dword [rbp - 0x7c], edx
test byte [rdi + 2], r9b
je 0x14002b0a8
cmp byte [rdi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x14002e9b0
movzx eax, word [rcx + r13 + 8]
mov edx, 4
mov r15, qword [rsp + 0x48]
mov ebx, 0x3e40
mov r14, qword [rsp + 0x50]
and ax, bx
or ax, dx
mov qword [rcx + r13], r8
mov word [rcx + r13 + 8], ax
lea r11d, [rdx - 3]
jmp 0x14002a17b
test r8d, r8d
jmp 0x140029b1f
movsxd rax, dword [rdi + 4]
movabs rbx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r13]
cmp rax, rbx
jle 0x14002b105
dec rax
mov qword [rcx + r13], rax
test rax, rax
jmp 0x14002ae36
sub ebx, 0x3c
je 0x14002b2b3
sub ebx, 1
je 0x14002b23a
sub ebx, 1
je 0x14002e51f
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, r13
cmp qword [rbx], r14
je 0x14002b191
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x18], r12
sub rdx, 1
mov qword [rbx], r14
lea r9d, [rax - 1]
js 0x14002b191
lea r8, [rdx + 6]
mov r15d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r13
mov qword [r8], rcx
sub r8, r15
sub rdx, r11
jns 0x14002b16a
mov r15, qword [rsp + 0x48]
mov ecx, 0x3e40
movzx eax, word [r14 + 8]
lea r8, [rbx + 0x30]
and ax, cx
mov rcx, rbx
or ax, r11w
mov word [r14 + 8], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14002b208
jle 0x14002b1e1
mov rcx, r14
call fcn.140027704
mov r8, rax
lea rdx, [0x140125148]
mov rcx, r12
call fcn.140023338
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x38], esi
mov r9d, dword [rdi + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r15
call fcn.140025dd8
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test esi, esi
jne 0x140029a09
test byte [r14 + 8], 0x12
je 0x14002972b
movzx edx, byte [rbp + 0x188]
mov rcx, r14
call fcn.140021f50
mov rcx, r14
call fcn.140022908
xor r10d, r10d
test eax, eax
jne 0x14002efd5
jmp 0x14002972b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], r10b
jne 0x14002af0d
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + 0x48]
mov rdx, rbx
mov rcx, r12
mov esi, eax
mov dword [rsp + 0x38], eax
call fcn.140027344
xor r10d, r10d
test esi, esi
jne 0x14002d70f
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x48]
xor r10d, r10d
mov r14, qword [rsp + 0x50]
test eax, eax
jne 0x14002dfd4
mov r11d, 1
mov eax, dword [rdi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x14002dfda
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14001a540
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x140029730
cmp eax, 0x65
jne 0x140029a09
mov esi, r10d
mov dword [rsp + 0x38], r10d
jmp 0x140029f19
cmp ebx, 0x4b
ja 0x14002b5c2
je 0x14002b54d
cmp ebx, 0x46
ja 0x14002b469
je 0x14002b44f
sub ebx, 0x41
je 0x14002b441
sub ebx, 1
je 0x14002b412
sub ebx, 1
je 0x14002b34a
sub ebx, 1
je 0x14002b35d
cmp ebx, 1
jne 0x140029f41
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
movsxd rcx, dword [rdi + 4]
mov qword [rax], rcx
jmp 0x140029d90
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r13 + 8], r11b
je 0x140029fb7
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r14
imul rcx
mov rbx, rdx
mov edx, dword [rdi + 4]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test edx, edx
jne 0x14002ed50
mov r14, qword [r12 + 0x100]
test r14, r14
je 0x14002ed50
mov rax, qword [r14 + 8]
mov rcx, r15
mov edx, dword [r12 + 0x3c]
dec dword [r12 + 0x110]
mov qword [r12 + 0x100], rax
call fcn.1400271f0
mov rcx, r14
call fcn.14002519c
mov edx, 4
lea r11d, [rdx - 3]
cmp dword [rdi + 8], edx
jne 0x14002b3e9
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r11d
mov r14, qword [r12 + 0x88]
xor r10d, r10d
mov r13, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r13
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140029e8f
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r13]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
mov word [rdx + r13 + 8], 0x80
lea rdi, [r14 + rcx*8]
jmp 0x140029641
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r13]
jmp 0x14002b42c
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140029d90
sub ebx, 0x47
je 0x14002d067
sub ebx, 1
je 0x14002b4e0
sub ebx, 1
je 0x14002b4bb
cmp ebx, 1
jne 0x140029f41
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov r8d, dword [rdi + 4]
mov rbx, rax
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.140022a80
mov al, byte [rbp + 0x188]
mov byte [rbx + 0xa], al
jmp 0x140029d90
movsxd rax, dword [rdi + 4]
mov edx, 0xff41
imul rcx, rax, 0x38
movzx eax, word [rcx + r13 + 8]
and ax, dx
or ax, r11w
mov word [rcx + r13 + 8], ax
jmp 0x140029641
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov ecx, dword [rdi + 4]
mov r11d, 1
mov r14d, dword [rdi + 0xc]
neg ecx
mov edx, dword [rdi + 8]
mov ecx, 0x100
sbb r15w, r15w
lea rbx, [rax + 0xc]
and r15w, cx
xor r10d, r10d
add r15w, r11w
mov word [rax + 8], r15w
sub r14d, edx
jmp 0x14002b53b
lea rbx, [rbx + 0x38]
lea rcx, [rbx - 0xc]
call fcn.1400227ac
xor r10d, r10d
mov word [rbx - 4], r15w
lea r11d, [r10 + 1]
sub r14d, r11d
mov dword [rbx], r10d
test r14d, r14d
jg 0x14002b51f
mov r15, qword [rsp + 0x48]
jmp 0x140029e53
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [r12 + 0x80]
lea rcx, [r14 - 0x38]
call fcn.140022908
xor r10d, r10d
test eax, eax
jne 0x14002efd5
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r13
test word [rbx + 8], ax
je 0x14002b592
mov rcx, rbx
call fcn.1400227ac
xor r10d, r10d
movups xmm0, xmmword [r14 - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [r14 - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x14002972b
sub ebx, 0x4c
je 0x14002b734
sub ebx, 1
je 0x14002b6a3
sub ebx, 1
je 0x14002b67d
sub ebx, 1
je 0x14002b661
sub ebx, 1
je 0x14002ee32
sub ebx, 1
je 0x14002ee51
sub ebx, 1
je 0x14002b645
sub ebx, 1
je 0x14002b626
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r13
test byte [rcx + 8], 0x24
je 0x140029fb7
call fcn.1400225b4
jmp 0x140029d90
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r13
mov rcx, rbx
call fcn.140022584
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x140029d90
cmp dword [rdi + 4], r10d
je 0x140029f41
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r13
xor edx, edx
jmp 0x14002a0b9
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rdx, qword [rdx + r13]
add rcx, r13
jmp 0x14002a0b9
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r13
add rcx, r13
mov r8d, 0x1000
call fcn.140022970
jmp 0x140029d90
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r13
add rbx, r13
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.140022970
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002b713
mov rcx, rbx
call fcn.1400220fc
xor r10d, r10d
test eax, eax
je 0x14002b716
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rcx, r15
call fcn.140007af8
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.140023338
mov esi, 7
jmp 0x14002ef96
xor r10d, r10d
mov eax, r15d
mov r11d, 1
sub r15d, r11d
test eax, eax
je 0x14002b543
add rbx, 0x38
add r14, 0x38
jmp 0x14002b6bd
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r13
add rbx, r13
mov rdx, r14
mov rcx, rbx
call fcn.140022a34
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002b779
mov rcx, rbx
call fcn.1400220fc
xor r10d, r10d
test eax, eax
jne 0x14002b6e8
jmp 0x14002b77c
xor r10d, r10d
add r14, 0x38
add rbx, 0x38
mov r11d, 1
sub r15d, r11d
jne 0x14002b74e
jmp 0x14002b543
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r13
test word [rbx + 8], ax
je 0x14002b7bf
mov rcx, rbx
call fcn.140022154
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140029a09
mov r8b, byte [rbp + 0x188]
mov rcx, rbx
mov dl, byte [rdi + 8]
call fcn.1400226c4
jmp 0x140029b69
mov eax, 0x83
cmp ebx, eax
ja 0x14002d770
je 0x14002d744
cmp ebx, 0x6d
ja 0x14002ca20
je 0x14002c897
cmp ebx, 0x62
ja 0x14002c5cc
je 0x14002c3ac
cmp ebx, 0x5d
ja 0x14002c38a
je 0x14002c32d
sub ebx, 0x57
je 0x14002c20a
sub ebx, 1
je 0x14002c1dd
sub ebx, r8d
je 0x14002bca9
sub ebx, 1
je 0x14002bc09
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
mov r13, r10
mov rcx, qword [rbp + 0x180]
mov r15d, r10d
mov r14, qword [rdi + 0x10]
mov r8, r10
imul rdx, rax, 0x38
mov r9b, byte [rcx + 0xc3]
add rdx, qword [rsp + 0x58]
mov eax, dword [rdi + 8]
sub eax, r11d
mov qword [rbp + 0x50], r10
cdqe
imul r12, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r12, rdx
mov dword [rsp + 0x60], r10d
add rcx, qword [rsp + 0x58]
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x78], r12
mov byte [rbp + 0x190], r9b
mov qword [rbp + 8], rcx
test r14, r14
je 0x14002b924
mov al, byte [r14]
lea rbx, [rdx + 8]
mov r15b, byte [rbp + 0x188]
mov edi, 4
mov r13d, 0xfffb
lea esi, [rdi + 0x1c]
lea rcx, [rbx - 8]
mov r8b, r15b
mov dl, al
call fcn.14002919c
cmp byte [r14], 0x45
jne 0x14002b8ef
movzx eax, word [rbx]
test dil, al
je 0x14002b8ef
and ax, r13w
or ax, si
mov word [rbx], ax
mov r11d, 1
add rbx, 0x38
add r14, r11
mov al, byte [r14]
test al, al
jne 0x14002b8c9
mov rdi, qword [rbp - 8]
mov r13, qword [rbp + 0x50]
mov r15d, dword [rsp + 0x60]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rsp + 0x78]
mov r9b, byte [rbp + 0x190]
mov r12, qword [rbp - 0x78]
add r12, 0x24
movzx ecx, word [r12 - 0x1c]
test r11b, cl
je 0x14002b954
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r15d, r11d
mov dword [r12], eax
mov dword [rsp + 0x60], r15d
jmp 0x14002bac6
test cl, 0x24
je 0x14002ba36
mov r8, qword [r12 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14002b96d
not rdx
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp rdx, 0x7f
ja 0x14002b9a3
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x14002b998
mov eax, 4
cmp r9b, al
jb 0x14002b998
lea eax, [rdx + 8]
jmp 0x14002ba2d
add r13, r11
mov eax, r11d
jmp 0x14002ba2d
cmp rdx, 0x7fff
ja 0x14002b9b3
mov eax, 2
jmp 0x14002b9d5
cmp rdx, 0x7fffff
ja 0x14002b9c7
add r13, 3
mov eax, 3
jmp 0x14002ba2d
cmp rdx, 0x7fffffff
ja 0x14002b9da
mov eax, 4
add r13, rax
jmp 0x14002ba2d
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14002b9f4
add r13, 6
mov eax, 5
jmp 0x14002ba2d
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14002ba28
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r12 - 0x1c], cx
movsd qword [r12 - 0x24], xmm0
jmp 0x14002ba2d
mov eax, 6
mov dword [r12], eax
jmp 0x14002bac2
mov eax, 8
test al, cl
je 0x14002ba54
add r15d, r11d
mov dword [r12], 7
mov dword [rsp + 0x60], r15d
add r13, rax
jmp 0x14002bac6
mov r14d, dword [r12 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r11d
bt cx, 0xe
lea r15d, [r14 + 6]
lea r15d, [rax + r15*2]
jae 0x14002ba9d
lea rbx, [r12 - 0x24]
movsxd rax, dword [rbx]
lea r15d, [r15 + rax*2]
test r13, r13
je 0x14002ba95
mov rcx, rbx
call fcn.140022154
test eax, eax
jne 0x14002effe
add r14d, dword [rbx]
jmp 0x14002ba9d
add r8, rax
mov qword [rsp + 0x78], r8
mov eax, r14d
mov ecx, r15d
add r13, rax
call fcn.14000af6c
mov ecx, dword [rsp + 0x60]
mov r11d, 1
add ecx, eax
mov dword [r12], r15d
mov dword [rsp + 0x60], ecx
mov r15d, ecx
mov rdx, qword [rbp - 0x30]
lea rax, [r12 - 0x24]
cmp rax, rdx
je 0x14002bae5
mov r8, qword [rsp + 0x78]
sub r12, 0x38
mov r9b, byte [rbp + 0x190]
jmp 0x14002b928
cmp r15d, 0x7e
jg 0x14002baf0
add r15d, r11d
jmp 0x14002bb11
movsxd rcx, r15d
call fcn.14000af6c
add r15d, eax
mov ebx, eax
movsxd rcx, r15d
mov dword [rsp + 0x60], r15d
call fcn.14000af6c
cmp ebx, eax
jge 0x14002bb16
inc r15d
mov dword [rsp + 0x60], r15d
mov r12, qword [rsp + 0x78]
movsxd r14, r15d
mov r15, qword [rbp + 8]
lea rbx, [r14 + r13]
movsxd rax, dword [r15 + 0x20]
lea rcx, [rbx + r12]
cmp rcx, rax
jg 0x14002bb3d
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x10], rax
jmp 0x14002bb64
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 0x80]
cmp rcx, rax
jg 0x14002efcb
mov edx, ebx
mov rcx, r15
call fcn.140022080
test eax, eax
jne 0x14002effe
mov dword [r15 + 0xc], ebx
mov word [r15 + 8], 0x10
test r12, r12
je 0x14002bb7e
mov dword [r15], r12d
mov word [r15 + 8], 0x4010
mov rbx, qword [r15 + 0x10]
mov esi, 0x80
mov ecx, dword [rsp + 0x60]
lea r15, [r14 + rbx]
cmp ecx, esi
jae 0x14002bb9c
lea edi, [rsi - 0x7f]
mov byte [rbx], cl
mov eax, edi
jmp 0x14002bbac
mov rdx, r14
mov rcx, rbx
call fcn.14000ad0c
mov edi, 1
mov r13, qword [rbp - 0x30]
mov r12, qword [rbp - 0x78]
movzx eax, al
add rbx, rax
mov r14d, dword [r13 + 0x24]
cmp r14d, esi
jae 0x14002bbca
mov byte [rbx], r14b
mov eax, edi
jmp 0x14002bbd5
mov rdx, r14
mov rcx, rbx
call fcn.14000ad0c
movzx eax, al
mov r8d, r14d
mov rdx, r13
mov rcx, r15
add rbx, rax
call fcn.1400260e4
mov eax, eax
add r13, 0x38
add r15, rax
cmp r13, r12
jbe 0x14002bbba
mov rdi, qword [rbp - 8]
mov esi, dword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
jmp 0x140029d86
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [r14]
add rbx, r13
mov r8b, byte [rbp + 0x188]
mov dl, al
mov rcx, rbx
call fcn.14002919c
cmp byte [r14], 0x45
mov edx, 4
lea r9d, [rdx + 4]
jne 0x14002bc77
movzx ecx, word [rbx + 8]
test dl, cl
je 0x14002bc77
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14002bc94
and cx, ax
or cx, 0x20
mov word [rbx + 8], cx
mov edx, 4
mov r11d, 1
xor r10d, r10d
add r14, r11
mov al, byte [r14]
test al, al
je 0x14002e9f6
add rbx, 0x38
jmp 0x14002bc1b
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, r9w
movsd qword [rbx], xmm0
jmp 0x14002bc6e
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x80]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x68], rcx
lea rcx, [rsp + 0x68]
mov eax, dword [rdi + 8]
mov dword [rbp - 0x80], eax
call fcn.140026054
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
movsxd rax, dword [rdi + 0xc]
mov r9, qword [rsp + 0x68]
imul r14, rax, 0x38
mov rbx, qword [r9 + 0x60]
mov eax, dword [r12 + 0x30]
add r14, r13
mov qword [rbp + 8], r14
mov qword [rbp + 0x190], rbx
cmp dword [r9 + 0x28], eax
je 0x14002be45
cmp byte [r9 + 2], r10b
je 0x14002bd55
cmp byte [r9], 3
jne 0x14002bd48
movsxd rax, dword [r9 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r13 + 0xc]
mov dword [r9 + 0x74], ecx
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r13 + 0x10]
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x68]
jmp 0x14002bda2
mov rcx, r14
call fcn.1400227ac
jmp 0x140029d8b
mov rbx, qword [r9 + 0x38]
mov rcx, rbx
call fcn.14001ae40
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
mov dword [rdx + 0x70], eax
mov rdx, qword [rsp + 0x68]
add rdx, 0x74
call fcn.14001b364
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x68]
mov eax, dword [r15 + 0x80]
cmp dword [rcx + 0x70], eax
ja 0x14002efd5
mov rbx, qword [rbp + 0x190]
xor r10d, r10d
mov eax, dword [r12 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x14002bdc8
movzx eax, byte [rcx]
mov dword [rbx], eax
mov eax, 1
jmp 0x14002bdd3
mov rdx, rbx
call fcn.14000aefc
xor r10d, r10d
movzx ecx, al
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x68]
mov word [rax + 0x52], r10w
mov r9, qword [rsp + 0x68]
mov eax, dword [rbx]
cmp dword [r9 + 0x74], eax
jae 0x14002be3f
mov qword [r9 + 0x68], r10
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x74], r10d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14002be16
mov r9, qword [rsp + 0x68]
cmp eax, dword [r9 + 0x70]
jbe 0x14002be45
mov r11d, 1
mov r14, qword [rsp + 0x50]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x14002ef2a
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r14 + rax*8]
jmp 0x140029b35
mov rax, qword [r9 + 0x68]
jmp 0x14002bebe
movzx eax, word [r9 + 0x52]
mov r8d, dword [rbp - 0x80]
cmp eax, r8d
ja 0x14002c062
mov eax, dword [rbx]
cmp dword [r9 + 0x48], eax
jae 0x14002c030
mov rax, qword [r9 + 0x68]
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x14002bec2
xorps xmm0, xmm0
mov qword [rbp + 0xb8], rax
movups xmmword [rbp + 0x88], xmm0
lea r8, [rbp + 0x88]
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
mov edx, dword [rbx]
mov rcx, qword [r9 + 0x38]
call fcn.140022cdc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov rax, qword [rbp + 0x98]
mov r9, qword [rsp + 0x68]
mov qword [rbp - 0x30], rax
movzx r13d, word [r9 + 0x52]
mov r11d, 1
mov r8, qword [rbp + 0x190]
mov r12d, r13d
mov r15d, dword [rbx + r13*4]
lea r14d, [r11 + 0x7f]
mov ebx, dword [r9 + 0x48]
mov edx, dword [r8]
add rbx, rax
add rdx, rax
mov qword [rbp - 0x78], rdx
movzx eax, byte [rbx]
mov dword [rsp + 0x64], eax
mov dword [r9 + r12*4 + 0x78], eax
mov ecx, dword [rsp + 0x64]
cmp ecx, r14d
jae 0x14002bf12
add rbx, r11
call fcn.1400260d4
movzx eax, al
jmp 0x14002bf3e
lea rdx, [rsp + 0x64]
mov rcx, rbx
call fcn.14000aefc
mov rcx, qword [rsp + 0x68]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x64]
mov dword [rcx + r12*4 + 0x78], eax
mov ecx, dword [rsp + 0x64]
call fcn.1400260b8
mov eax, eax
mov r8, qword [rbp + 0x190]
add r15, rax
mov rdx, qword [rbp - 0x78]
mov r11d, 1
add r13d, r11d
movsxd r12, r13d
mov dword [r8 + r12*4], r15d
cmp r13d, dword [rbp - 0x80]
ja 0x14002bf6e
cmp rbx, rdx
jae 0x14002bf6e
mov r9, qword [rsp + 0x68]
jmp 0x14002bef0
mov rcx, qword [rsp + 0x68]
mov r14, qword [rbp + 8]
cmp rbx, rdx
jb 0x14002bf86
ja 0x14002bf8e
mov eax, dword [rcx + 0x70]
cmp r15, rax
jne 0x14002bf8e
mov eax, dword [rcx + 0x70]
cmp r15, rax
jbe 0x14002bfdf
xor r10d, r10d
cmp dword [r8], r10d
jne 0x14002bf9e
mov r13d, r10d
mov rbx, rdx
jmp 0x14002bfe2
cmp qword [rcx + 0x68], r10
jne 0x14002bfc9
lea rcx, [rbp + 0x88]
call fcn.1400223e4
mov r12, qword [rbp + 0x180]
xor r10d, r10d
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jmp 0x14002be16
mov r12, qword [rbp + 0x180]
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jmp 0x14002be1c
xor r10d, r10d
sub ebx, dword [rbp - 0x30]
mov word [rcx + 0x52], r13w
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x48], ebx
mov r9, qword [rsp + 0x68]
cmp qword [r9 + 0x68], r10
jne 0x14002c00e
lea rcx, [rbp + 0x88]
call fcn.1400223e4
mov r9, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x64]
mov rbx, qword [rbp + 0x190]
mov r12, qword [rbp + 0x180]
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jmp 0x14002c037
mov edx, r10d
mov dword [rsp + 0x64], edx
movzx eax, word [r9 + 0x52]
cmp eax, r8d
ja 0x14002c06b
cmp byte [rdi + 1], 0xf5
mov rcx, r14
jne 0x14002bd4b
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
call fcn.140022970
jmp 0x140029d8b
mov edx, dword [r9 + r8*4 + 0x78]
mov dword [rsp + 0x64], edx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14002c08c
mov rcx, r14
call fcn.1400227ac
mov r9, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x64]
lea eax, [r8 + 1]
mov eax, dword [rbx + rax*4]
cmp dword [r9 + 0x74], eax
jb 0x14002c144
mov eax, r8d
mov r15d, dword [rbx + rax*4]
add r15, qword [r9 + 0x68]
cmp edx, 0xc
jae 0x14002c0bd
mov r8, r14
mov rcx, r15
call fcn.1400261ec
jmp 0x14002acb7
mov al, byte [rbp + 0x188]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x14002c0f5
xor r8d, r8d
mov word [r14 + 8], 1
mov rcx, r14
call fcn.140021f68
test eax, eax
jne 0x14002b6e8
jmp 0x14002c0fd
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, r15
call fcn.1400db0d0
mov rax, qword [r14 + 0x10]
lea rcx, [0x140000000]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [r14 + 0x10]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov eax, dword [rsp + 0x64]
and rax, r11
movzx eax, word [rcx + rax*2 + 0x1233f8]
mov word [r14 + 8], ax
jmp 0x14002b543
mov al, byte [rbp + 0x188]
mov byte [r14 + 0xa], al
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x64]
je 0x14002c170
cmp edx, 0xc
jb 0x14002c166
mov eax, 1
test al, dl
je 0x14002c17f
mov eax, 0x80
test byte [rdi + 2], al
jne 0x14002c17f
mov ecx, edx
call fcn.1400260b8
test eax, eax
jne 0x14002c193
mov edx, dword [rsp + 0x64]
mov r8, r14
lea rcx, [0x14011f0c0]
call fcn.1400261ec
jmp 0x140029d8b
mov edx, dword [rbp - 0x80]
mov r9, r14
mov rcx, qword [rsp + 0x68]
mov r8d, eax
mov edx, dword [rbx + rdx*4]
mov rcx, qword [rcx + 0x38]
call fcn.140022c34
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov edx, dword [rsp + 0x64]
mov r8, r14
mov rcx, qword [r14 + 0x10]
call fcn.1400261ec
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x140029d8b
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r13
call fcn.1400224f0
movsxd rdx, dword [rdi + 0x10]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r13
jmp 0x14002a0b9
test byte [rdi + 2], r11b
jne 0x14002c215
mov r14, r10
jmp 0x14002c21c
mov r14, qword [rdi - 8]
add r14, rdx
movsxd rcx, dword [rdi + 0xc]
mov r15d, r10d
mov rax, qword [rdi + 0x10]
mov rbx, r10
mov r8d, dword [rdi + 4]
mov r9d, dword [rdi + 8]
mov qword [rbp - 0x78], rax
mov dword [rbp + 0x190], r8d
mov dword [rsp + 0x78], r9d
mov qword [rbp + 8], rcx
test rcx, rcx
jle 0x14002e9a6
lea r12, [rax + 0x20]
test r14, r14
je 0x14002c25e
mov edx, dword [r14 + rbx*4]
jmp 0x14002c261
mov edx, r15d
mov rax, qword [rax + 0x18]
lea ecx, [rdx + r9]
imul r9, rcx, 0x38
movzx eax, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r12]
add r9, r13
and eax, r11d
mov qword [rbp + 0x50], r9
mov dword [rsp + 0x60], eax
mov rdx, r9
imul rax, rcx, 0x38
add r13, rax
mov rcx, r13
call fcn.1400266e4
xor r10d, r10d
mov dword [rbp - 0x7c], eax
mov edx, eax
test eax, eax
mov rax, qword [rbp - 0x78]
lea r11d, [r10 + 1]
jne 0x14002c2d3
mov r8d, dword [rbp + 0x190]
add r15d, r11d
mov r9d, dword [rsp + 0x78]
add rbx, r11
mov r13, qword [rsp + 0x58]
add r12, 8
cmp rbx, qword [rbp + 8]
jl 0x14002c253
jmp 0x14002b543
mov rax, qword [rax + 0x18]
mov r8d, 2
test byte [rbx + rax], r8b
je 0x14002c2f8
test byte [r13 + 8], r11b
jne 0x14002c2f3
mov rax, qword [rbp + 0x50]
test byte [rax + 8], r11b
je 0x14002c2f8
neg edx
mov dword [rbp - 0x7c], edx
mov ecx, 0x3e40
mov r15, qword [rsp + 0x48]
mov r9d, 8
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
cmp dword [rsp + 0x60], r10d
je 0x14002c323
neg edx
mov dword [rbp - 0x7c], edx
mov edx, 4
jmp 0x140029751
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
cmp dword [rdi + 0xc], r10d
je 0x14002c352
mov rcx, rdx
call fcn.14001bb1c
mov qword [rbp + 0x38], rax
jmp 0x14002c373
lea r8, [rbp + 0x38]
mov qword [rbp + 0x38], r10
mov rcx, r15
call fcn.14002022c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [rbp + 0x38]
mov qword [rax], rcx
jmp 0x14002dfd1
mov ecx, ebx
sub ecx, 0x5e
je 0x14002c4cd
sub ecx, 1
je 0x14002c447
sub ecx, 1
je 0x14002c41f
cmp ecx, 1
jne 0x140029fb7
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r11b
je 0x14002ef34
movsxd r13, dword [rdi + 0xc]
mov r14d, r10d
mov r9, qword [rsp + 0x48]
mov rax, r13
mov r12d, dword [rdi + 8]
mov r15, r10
shl rax, 5
add rax, qword [r9 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x190], rcx
cmp bl, 0x62
jne 0x14002c4fe
mov rax, qword [rax + 0x18]
movzx esi, word [rdi + 2]
and esi, 8
or esi, edx
mov cl, byte [rax + 0x70]
mov rax, qword [rbp + 0x180]
cmp cl, byte [rax + 0xc3]
jae 0x14002c501
mov byte [rax + 0xc3], cl
jmp 0x14002c501
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov r14, qword [rax + rcx*8]
test r14, r14
je 0x14002c3ac
mov eax, dword [rdi + 8]
cmp dword [r14 + 0x4c], eax
jne 0x14002c3ac
jmp 0x14002c5b7
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1400201a8
mov r11d, 1
mov dword [rsp + 0x38], eax
mov esi, eax
cmp dword [rdi + 8], r11d
jne 0x14002c48a
movzx eax, word [rdi + 2]
mov ecx, dword [rdi + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r15 + 0x2c], r11d
jmp 0x14002c49e
mov ecx, 2
cmp dword [rdi + 8], ecx
jne 0x14002c49e
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdi + 4], r11d
jne 0x14002c4bd
xor edx, edx
mov rcx, r15
call fcn.140027200
and dword [r12 + 0xc8], 0xfffffffc
mov r11d, 1
xor r10d, r10d
test esi, esi
jne 0x140029a09
jmp 0x140029b35
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0x30]
mov rcx, qword [r15 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140020138
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
movsxd rcx, dword [rbp + 0x30]
jmp 0x14002b342
mov esi, r10d
mov eax, 0x10
test byte [rdi + 2], al
je 0x14002c522
imul rbx, r12, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140022584
mov r12d, dword [rbx]
xor r10d, r10d
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x14002c534
mov r15, qword [rdi + 0x10]
movzx r14d, word [r15 + 8]
jmp 0x14002c53c
cmp al, 0xfd
jne 0x14002c53c
mov r14d, dword [rdi + 0x10]
mov edx, dword [rdi + 4]
mov r9d, r13d
mov rcx, qword [rbp + 0x180]
mov r8d, r14d
mov byte [rsp + 0x20], r10b
call fcn.140028fc8
mov r14, rax
test rax, rax
je 0x14002effe
mov r9, qword [r14 + 0x38]
mov r8d, esi
mov rcx, qword [rbp + 0x190]
mov edx, r12d
mov byte [rax + 2], 1
mov eax, 4
or dword [r14 + 8], eax
mov qword [rsp + 0x20], r9
mov r9, r15
mov dword [r14 + 0x4c], r12d
call fcn.14001ad14
mov r12, qword [rbp + 0x180]
mov esi, eax
mov r13, qword [rsp + 0x58]
mov qword [r14 + 0x40], r15
cmp byte [rdi + 1], 0xf7
mov r15, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
setne al
mov byte [r14 + 4], al
movzx edx, word [rdi + 2]
mov rcx, qword [r14 + 0x38]
and edx, 3
call fcn.1400178bc
jmp 0x14002a741
cmp ebx, 0x68
ja 0x14002c87b
je 0x14002c5f8
sub ebx, 0x63
je 0x14002c7eb
sub ebx, 1
je 0x14002c636
sub ebx, 1
je 0x14002c636
sub ebx, 1
je 0x14002c5f8
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r14, r13
imul r15, rax, 0x38
add rcx, r13
add r15, r13
mov al, byte [rcx + 8]
or al, byte [r14 + 8]
test r11b, al
je 0x14002c93e
mov rcx, r15
call fcn.1400227ac
jmp 0x14002acb7
cmp dword [rdi + 0xc], r10d
jle 0x14002c65d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + r13 + 0xc], r10d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1401242a4]
mov qword [rcx + r13 + 0x10], rax
movsxd rdx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14002c69f
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14002c69f
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
call fcn.14001fe9c
mov edx, 4
mov dword [rsp + 0x38], eax
mov esi, eax
lea r9d, [rdx + 4]
jmp 0x14002c7d3
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], r10b
call fcn.140028fc8
mov rbx, rax
test rax, rax
je 0x14002b6ed
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea r14, [rbx + 0x10]
movzx ecx, word [rdi + 2]
mov r9, r14
or ecx, 5
mov r8, r15
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.140018e08
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002c7aa
mov rcx, qword [r14]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.140019ce0
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002c7aa
mov r12, qword [rdi + 0x10]
lea r15, [rbx + 0x4c]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r12
test r12, r12
je 0x14002c772
movzx r8d, word [rdi + 2]
mov rdx, r15
or r8d, 2
call fcn.14001fc90
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
test esi, esi
jne 0x14002c76d
mov rax, qword [rbx + 0x38]
lea r8d, [rsi + 4]
mov edx, dword [r15]
mov r9, r12
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14001ad14
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
mov byte [rbx + 4], al
jmp 0x14002c79e
mov rax, qword [rbx + 0x38]
mov r12d, 1
xor r9d, r9d
mov dword [r15], r12d
mov edx, r12d
mov qword [rsp + 0x20], rax
lea r8d, [r12 + 3]
call fcn.14001ad14
mov esi, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r12b
mov r15, qword [rsp + 0x48]
mov r12, qword [rbp + 0x180]
movzx eax, word [rdi + 2]
mov r9d, 8
mov r14, qword [rsp + 0x50]
sub ax, r9w
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
lea edx, [r9 - 4]
and ecx, edx
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
xor r10d, r10d
test esi, esi
jne 0x140029a09
lea r11d, [r10 + 1]
mov byte [rbx + 2], r11b
jmp 0x14002a17b
movsxd rcx, dword [rdi + 8]
or r9d, 0xffffffff
mov rax, qword [r12 + 0x78]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], r10b
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x50]
call fcn.140028fc8
mov r10, rax
test rax, rax
je 0x14002b6ed
mov r8d, dword [r10 + 8]
mov eax, 1
mov byte [r10 + 2], al
or r8d, eax
mov dword [r10 + 8], r8d
mov eax, r8d
mov r9, qword [rbx + 0x40]
mov qword [r10 + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [r10 + 4], cl
mov ecx, 4
mov edx, dword [rbx + 0x4c]
mov dword [r10 + 0x4c], edx
xor eax, dword [rbx + 8]
and eax, ecx
xor eax, r8d
mov r8d, ecx
mov dword [r10 + 8], eax
mov rax, qword [r10 + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14001ad14
mov esi, eax
mov dword [rsp + 0x38], eax
jmp 0x140029d90
sub ebx, 0x69
je 0x14002c5f8
sub ebx, 1
je 0x14002c897
sub ebx, 1
je 0x14002c897
cmp ebx, 1
jne 0x140029f41
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r13
mov rcx, r14
call fcn.1400292c0
movsxd rcx, dword [rdi + 8]
movzx ebx, ax
imul r15, rcx, 0x38
add r15, r13
mov rcx, r15
call fcn.1400292c0
movsxd rcx, dword [rdi + 0xc]
and al, bl
imul r12, rcx, 0x38
movzx ecx, word [r15 + 8]
mov edx, 4
or cx, word [r14 + 8]
add r12, r13
test dl, al
je 0x14002cd4a
movzx edx, byte [rdi]
mov r8, qword [r15]
mov rcx, qword [r14]
mov qword [rbp - 0x18], r8
sub edx, 0x6a
je 0x14002cd10
sub edx, 1
je 0x14002cd02
sub edx, 1
je 0x14002ccf4
xor r10d, r10d
cmp edx, 1
je 0x14002ccc8
test rcx, rcx
je 0x14002ce2f
cmp rcx, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove rcx, rax
mov rax, r8
cqo
idiv rcx
mov qword [rbp - 0x18], rdx
jmp 0x14002cd23
call fcn.140022468
mov rcx, r14
mov rbx, rax
call fcn.140022468
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x66
jne 0x14002c95f
and rbx, rax
jmp 0x14002c968
cmp r8b, 0x67
jne 0x14002c96d
or rbx, rdx
xor r10d, r10d
jmp 0x14002c9e3
xor r10d, r10d
test rdx, rdx
je 0x14002c9e3
jns 0x14002c997
mov rcx, rdx
mov eax, 0xd1
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [r10 + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x14002c9b3
test rbx, rbx
jns 0x14002c9ae
cmp r8b, 0x68
je 0x14002c9ae
or rbx, 0xffffffffffffffff
jmp 0x14002c9e3
mov rbx, r10
jmp 0x14002c9e3
mov rcx, rdx
cmp r8b, 0x68
jne 0x14002c9c4
shl rbx, cl
mov r8, rbx
jmp 0x14002c9e0
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14002c9e0
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [r15 + 8]
mov edx, 4
mov r14, qword [rsp + 0x50]
mov ecx, 0x3e40
mov qword [r15], rbx
and ax, cx
mov rbx, qword [rsp + 0x30]
or ax, dx
mov word [r15 + 8], ax
lea r11d, [rdx - 3]
mov r15, qword [rsp + 0x48]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
jmp 0x140029751
cmp ebx, 0x79
ja 0x14002d11d
je 0x14002d0da
cmp ebx, 0x73
ja 0x14002ce7a
je 0x14002ce37
sub ebx, 0x6e
je 0x14002c897
sub ebx, 1
je 0x14002cb0d
sub ebx, 1
je 0x14002cad1
sub ebx, 1
je 0x14002ca8a
cmp ebx, 1
jne 0x140029f41
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14002e64e
jmp 0x140029641
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r13
add rbx, r13
mov rcx, rbx
call fcn.1400227ac
mov r11d, 1
test byte [r14 + 8], r11b
jne 0x14002dc0b
mov rcx, r14
mov word [rbx + 8], 4
call fcn.140022468
not rax
mov qword [rbx], rax
jmp 0x140029d8b
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r12
mov byte [rsp + 0x20], r11b
call fcn.140028fc8
test rax, rax
je 0x14002b6ed
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r15
mov edx, dword [rdi + 0xc]
call fcn.140030194
jmp 0x140029b69
mov r10, qword [rsp + 0x58]
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r10
imul r14, rax, 0x38
movzx r12d, word [r13 + 8]
add rbx, r10
mov al, r12b
add r14, r10
or al, byte [rbx + 8]
test r11b, al
je 0x14002cb50
mov rcx, r14
call fcn.1400227ac
jmp 0x140029d86
test r12b, 0x12
jne 0x14002cb69
mov dl, byte [rbp + 0x188]
xor r8d, r8d
mov rcx, r13
call fcn.1400221d4
jmp 0x14002cb7c
mov eax, 0x4000
test ax, r12w
je 0x14002cb97
mov rcx, r13
call fcn.140022154
test eax, eax
jne 0x14002f00a
movzx r12d, word [r13 + 8]
mov eax, 0xfffd
and r12w, ax
mov eax, 0x4000
movzx r15d, word [rbx + 8]
test r15b, 0x12
jne 0x14002cbce
mov dl, byte [rbp + 0x188]
xor r8d, r8d
mov rcx, rbx
call fcn.1400221d4
xor r8d, r8d
test eax, eax
jne 0x14002effe
movzx r15d, word [rbx + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x14002cbe1
test ax, r15w
je 0x14002cbde
mov rcx, rbx
call fcn.140022154
jmp 0x14002cbb3
xor r8d, r8d
mov r9, qword [rsp + 0x48]
mov edx, dword [rbx + 0xc]
add edx, dword [r13 + 0xc]
mov dword [rbp + 0x190], edx
cmp edx, dword [r9 + 0x80]
jg 0x14002efcb
cmp r14, rbx
mov rcx, r14
sete r8b
add edx, 3
call fcn.140021f68
test eax, eax
jne 0x14002effe
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [r14 + 8], ax
cmp r14, rbx
je 0x14002cc4b
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r14 + 0x10]
call fcn.1400db0d0
mov word [rbx + 8], r15w
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [r14 + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call fcn.1400db0d0
movsxd r9, dword [rbp + 0x190]
xor r10d, r10d
mov word [r13 + 8], r12w
mov r8, r9
mov rax, qword [r14 + 0x10]
mov edx, r10d
lea r11d, [r10 + 1]
mov byte [r9 + rax], r10b
lea r9d, [r10 + 2]
mov rax, qword [r14 + 0x10]
lea rcx, [rdx + r8]
add rdx, r11
mov byte [rcx + rax + 1], r10b
cmp rdx, r9
jl 0x14002cc85
mov r9d, dword [rbp + 0x190]
mov eax, 0x200
or word [r14 + 8], ax
mov al, byte [rbp + 0x188]
mov byte [r14 + 0xa], al
mov dword [r14 + 0xc], r9d
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jmp 0x140029e53
test rcx, rcx
je 0x14002ce2f
cmp rcx, 0xffffffffffffffff
jne 0x14002cce6
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14002cd57
mov rax, r8
cqo
idiv rcx
mov qword [rbp - 0x18], rax
jmp 0x14002cd23
mov rdx, rcx
lea rcx, [rbp - 0x18]
call fcn.14000b154
jmp 0x14002cd1c
mov rdx, rcx
lea rcx, [rbp - 0x18]
call fcn.14000b124
jmp 0x14002cd1c
mov rdx, rcx
lea rcx, [rbp - 0x18]
call fcn.14000b0d4
xor r10d, r10d
test eax, eax
jne 0x14002cd57
mov rax, qword [rbp - 0x18]
mov edx, 4
mov qword [r12], rax
mov ecx, 0x3e40
movzx eax, word [r12 + 8]
and ax, cx
or ax, dx
lea r9d, [rdx + 4]
jmp 0x14002ce0f
mov eax, 1
test al, cl
jne 0x14002ce2f
mov rcx, r14
call fcn.1400224c4
mov rcx, r15
movaps xmm7, xmm0
call fcn.1400224c4
movzx edx, byte [rdi]
movaps xmm6, xmm0
sub edx, 0x6a
je 0x14002cddc
sub edx, 1
je 0x14002cdd6
sub edx, 1
je 0x14002cdd0
cmp edx, 1
je 0x14002cdc1
mov rcx, r14
call fcn.140022468
mov rcx, r15
mov rbx, rax
call fcn.140022468
mov qword [rbp - 0x18], rax
test rbx, rbx
je 0x14002ce2f
cmp rbx, 0xffffffffffffffff
mov r11d, 1
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x14002cde0
ucomisd xmm7, xmm8
jp 0x14002cdca
je 0x14002ce2f
divsd xmm6, xmm7
jmp 0x14002cde0
mulsd xmm6, xmm7
jmp 0x14002cde0
subsd xmm6, xmm7
jmp 0x14002cde0
addsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140009ef4
xor r10d, r10d
test eax, eax
jne 0x14002ce2f
movzx eax, word [r12 + 8]
lea r9d, [r10 + 8]
mov ecx, 0x3e40
movsd qword [r12], xmm6
and ax, cx
lea edx, [r10 + 4]
or ax, r9w
mov r15, qword [rsp + 0x48]
mov r11d, 1
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov word [r12 + 8], ax
jmp 0x14002d0cf
mov rcx, r12
jmp 0x14002c62c
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r12
mov byte [rsp + 0x20], 3
call fcn.140028fc8
mov rbx, rax
test rax, rax
je 0x14002b6ed
mov eax, 1
mov byte [rbx + 2], al
mov ecx, dword [rdi + 8]
mov dword [rbx + 0x2c], ecx
mov byte [rbx + 4], al
call fcn.14001786c
mov qword [rbx + 0x38], rax
jmp 0x140029d90
sub ebx, 0x74
je 0x14002cfbf
sub ebx, 1
je 0x14002cf95
sub ebx, r8d
je 0x14002cedd
cmp ebx, 1
jne 0x140029f41
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [rdi + 8]
jge 0x14002cebd
movzx eax, word [rdi + 8]
mov word [rdx + 0xc], ax
jmp 0x140029641
mov ecx, 0x3e40
mov rbx, qword [rsp + 0x30]
cmp eax, dword [rdi + 0xc]
jle 0x14002c323
movzx eax, word [rdi + 0xc]
mov word [rdx + 0xc], ax
jmp 0x14002c323
movsxd rcx, dword [rdi + 0x1c]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call fcn.14001ae10
xor r10d, r10d
test eax, eax
je 0x140029730
mov rax, qword [rbx + 0x40]
mov r14d, dword [rdi + 4]
mov qword [rbp - 0x68], rax
movzx eax, word [rdi + 0x28]
mov word [rbp - 0x58], ax
movsxd rax, dword [rdi + 0x24]
imul rcx, rax, 0x38
mov byte [rbp - 0x56], r10b
add rcx, r13
mov dword [rbp + 0x10], r10d
mov qword [rbp - 0x60], rcx
lea r9, [rbp + 0x10]
mov rdx, rbx
lea r8, [rbp - 0x68]
mov rcx, r15
call fcn.14002714c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov eax, dword [rbp + 0x10]
test eax, eax
jg 0x14002cf87
je 0x14002cf8b
test r14d, r14d
jle 0x14002972b
mov rcx, qword [rbx + 0x38]
xor edx, edx
dec r14d
call fcn.14001bc70
xor r10d, r10d
mov esi, eax
test eax, eax
je 0x14002cf29
cmp eax, 0x65
jne 0x140029a09
mov esi, r10d
mov dword [rsp + 0x38], r10d
add rdi, 0x18
mov r14, qword [rsp + 0x50]
jmp 0x140029f19
movsxd rax, dword [rdi + 4]
mov rcx, r12
mov rdx, qword [r12 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.1400250d8
movsxd rcx, dword [rdi + 4]
xor r10d, r10d
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x140029730
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [rdi + 0x10]
mov rbx, rax
call fcn.140009f2c
mov ecx, 1
mov dword [rdi + 4], eax
cmp byte [rbp + 0x188], cl
je 0x14002d057
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov r9b, cl
mov qword [rsp + 0x20], rax
mov rcx, rbx
or r8d, 0xffffffff
call fcn.140022a80
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002efd5
movzx edx, byte [rbp + 0x188]
mov rcx, rbx
call fcn.140021f50
xor ecx, ecx
test eax, eax
jne 0x14002b6ed
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x14002d045
mov rdx, qword [rdi + 0x10]
mov rcx, r15
call fcn.140007594
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rdi + 4], eax
cmp eax, dword [r15 + 0x80]
jg 0x14002efd5
mov byte [rdi], 0x47
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov r8, rax
xor r10d, r10d
mov word [rax + 8], 0xa02
mov rcx, qword [rdi + 0x10]
mov qword [rax + 0x10], rcx
mov ecx, dword [rdi + 4]
mov dword [rax + 0xc], ecx
mov al, byte [rbp + 0x188]
mov byte [r8 + 0xa], al
cmp dword [rdi + 0xc], r10d
jle 0x140029730
movsxd rcx, dword [rdi + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [rdi + 2]
lea r9d, [r10 + 8]
mov rbx, qword [rsp + 0x30]
imul rdx, rcx, 0x38
mov ecx, 0x3e40
cmp qword [rdx + r13], rax
lea edx, [r10 + 4]
jne 0x14002d0cf
mov word [r8 + 8], 0xa10
mov r8d, 2
jmp 0x140029751
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [r12 + 0x78]
mov r11d, 1
movsxd rdx, dword [rdi + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14002973b
sub ebx, 0x7a
je 0x14002d583
sub ebx, 1
je 0x14002d465
sub ebx, 1
je 0x14002d427
sub ebx, 1
je 0x14002d355
sub ebx, 1
je 0x14002d33b
sub ebx, 1
je 0x14002d2f4
sub ebx, 1
je 0x14002d2b0
sub ebx, 1
je 0x14002d22d
cmp ebx, 1
jne 0x140029f41
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
movsxd rdx, dword [rdi + 4]
xor r10d, r10d
mov rcx, qword [r12 + 0x78]
mov r14, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x14002d1a0
lea r11d, [r10 + 1]
mov word [rax + 8], r11w
jmp 0x140029e53
cmp byte [rbx + 3], r10b
je 0x14002d1ac
mov rax, qword [rbx + 0x58]
jmp 0x14002d221
mov eax, 2
cmp byte [rbx], al
jne 0x14002d1e8
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x40]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov esi, eax
mov dword [rsp + 0x38], eax
call fcn.140027344
xor r10d, r10d
test esi, esi
jne 0x140029a09
mov rax, qword [rbp + 0x40]
jmp 0x14002d225
mov rcx, rbx
call fcn.14002602c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp byte [rbx + 2], r10b
je 0x14002d215
lea r11d, [rax + 1]
mov word [r14 + 8], r11w
jmp 0x140029e53
mov rcx, qword [rbx + 0x38]
call fcn.14001ae18
xor r10d, r10d
mov qword [rbp + 0x40], rax
mov qword [r14], rax
jmp 0x14002972b
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [r12 + 0x78]
mov rbx, rax
movsxd rdx, dword [rdi + 4]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.14001ae40
cmp eax, dword [r15 + 0x80]
ja 0x14002efd5
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140022cdc
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp dword [rdi + 0xc], r10d
jne 0x140029730
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140029730
mov rcx, rbx
call fcn.1400220fc
xor r10d, r10d
test eax, eax
jne 0x14002b6ed
jmp 0x140029730
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r13
mov rcx, qword [rax + rcx*8]
call fcn.140031d40
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
movsxd rcx, dword [rdi + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x140029730
mov rax, qword [r12 + 0x78]
lea r9, [rbp]
movsxd rcx, dword [rdi + 4]
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp], r10d
add rdx, r13
call fcn.140031db8
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp dword [rbp], r10d
lea r11d, [rax + 1]
jmp 0x14002a0ee
mov edx, dword [r12 + 0x3c]
mov rcx, r15
call fcn.1400271f0
xor r10d, r10d
mov dword [r12 + 0x3c], r10d
jmp 0x140029730
cmp byte [rdi + 1], 0xfa
lea r14, [r15 + 0x138]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov r13d, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14002d3a8
cmp qword [r14], r10
je 0x14002d3a8
mov rax, qword [r15 + 0x20]
movsx rcx, byte [rbx + 1]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
test byte [rdi + 2], r8b
je 0x14002d3ae
cmp byte [rbx + 4], r10b
je 0x14002d3ae
mov rcx, qword [rbx + 0x38]
call fcn.14001ae18
mov qword [rbx + 0x58], rax
jmp 0x14002d3ae
mov r12, r10
mov r15, r10
mov dl, byte [rdi + 2]
mov rcx, qword [rbx + 0x38]
call fcn.14001f6a4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [rbx + 0x28], r10
mov esi, eax
test eax, eax
jne 0x14002a376
lea r11d, [rax + 1]
test r11b, r13b
je 0x14002ccb9
mov rax, qword [rbp + 0x180]
add dword [rax + 0x3c], r11d
mov r10, qword [r14]
test r10, r10
je 0x14002e9dd
lea eax, [r11 + 0x7f]
test byte [r15 + 0x40], al
jne 0x14002e9dd
mov r9, qword [r15]
lea edx, [rsi + 9]
mov rax, qword [rbx + 0x58]
mov r8, r12
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x130]
call r10
jmp 0x140029d86
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [rdi + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rdi + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [rdi + 0xc], r10d
je 0x14002d450
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r13]
jmp 0x14002d453
mov r8, r10
mov rdx, qword [rdx + 0x38]
mov rcx, qword [r9 + 0x38]
call fcn.14001f384
jmp 0x140029b69
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r13
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rcx + r13]
mov qword [rbp - 0x60], r8
jne 0x14002d4b3
cmp qword [r15 + 0x138], r10
je 0x14002d4b3
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
jmp 0x14002d4b9
mov r14, r10
mov r15, r10
test byte [rdi + 2], r11b
je 0x14002d4c4
add dword [r12 + 0x3c], r11d
mov eax, 0x20
test byte [rdi + 2], al
je 0x14002d4d7
mov r9, qword [rsp + 0x48]
mov qword [r9 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x58], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x44], eax
mov eax, 0x10
test al, r8b
je 0x14002d4fa
mov r9d, dword [rbx + 0x2c]
jmp 0x14002d4fd
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14002d50f
mov eax, dword [rdx]
mov dword [rbp - 0x40], eax
jmp 0x14002d513
mov dword [rbp - 0x40], r10d
mov qword [rbp - 0x68], r10
lea rdx, [rbp - 0x68]
mov rcx, qword [rbx + 0x38]
and r8d, 0x8a
call fcn.14001ef08
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], r10b
mov esi, eax
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x14002d70f
test r14, r14
je 0x14002e2d7
mov al, byte [rdi + 2]
mov r8, r15
mov r15, qword [rsp + 0x48]
and al, 4
mov r9, qword [r14]
neg al
mov rax, qword [rbp - 0x60]
sbb edx, edx
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x130]
and edx, 5
add edx, 0x12
call qword [r15 + 0x138]
jmp 0x140029d8b
mov rdx, rdi
mov qword [rsp + 0x78], r10
mov rcx, r12
mov dword [rbp + 0x190], r10d
call fcn.1400292f8
movsxd rdx, dword [rdi + 4]
mov r8d, 2
mov rcx, qword [r12 + 0x78]
mov r15, rax
mov r14, qword [rcx + rdx*8]
test byte [r14 + 8], r8b
jne 0x14002d61f
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x190]
call fcn.14001b678
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002d70f
cmp dword [rbp + 0x190], r10d
je 0x14002d5ee
lea eax, [rsi + 1]
mov qword [rsp + 0x78], rax
lea r8d, [rsi + 2]
jmp 0x14002d622
mov rcx, qword [r14 + 0x38]
call fcn.14001ae18
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x78], rax
mov r8d, 2
cmp rax, rcx
jl 0x14002d617
or dword [r14 + 8], r8d
jmp 0x14002d61f
inc rax
mov qword [rsp + 0x78], rax
xor r10d, r10d
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14002d6a3
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14002d653
mov rax, qword [rcx + 8]
jmp 0x14002d644
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002d63d
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14002d65a
imul rbx, rdx, 0x38
add rbx, r13
mov rcx, rbx
call fcn.140022584
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14002ef3e
mov r8d, 2
test byte [r14 + 8], r8b
jne 0x14002ef3e
mov rax, qword [rsp + 0x78]
inc rcx
cmp rax, rcx
jge 0x14002d69d
mov rax, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbx], rax
xor r10d, r10d
test byte [r14 + 8], r8b
je 0x14002d71f
mov ebx, r10d
lea rdx, [rsp + 0x78]
mov ecx, 8
call fcn.140009468
mov r8, qword [rsp + 0x78]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x190]
mov qword [rsp + 0x78], r8
xor edx, edx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001b6f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x14002d70f
cmp dword [rbp + 0x190], r10d
jne 0x14002d719
inc ebx
cmp ebx, 0x64
jl 0x14002d6ac
lea esi, [rax + 0xd]
mov r15, qword [rsp + 0x48]
jmp 0x140029a09
mov r8d, 2
mov byte [r14 + 3], r10b
mov r11d, 1
mov dword [r14 + 0x28], r10d
mov rax, qword [rsp + 0x78]
mov r14, qword [rsp + 0x50]
mov qword [r15], rax
mov r15, qword [rsp + 0x48]
jmp 0x14002ad54
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], r11b
mov dword [rcx + 0x28], r10d
cmp byte [rcx], r10b
jne 0x140029fb7
mov rcx, qword [rcx + 0x38]
call fcn.1400176e4
jmp 0x140029d90
mov eax, 0x99
cmp ebx, eax
ja 0x14002e07a
je 0x14002e03e
mov eax, 0x8e
cmp ebx, eax
ja 0x14002dc82
je 0x14002dc36
mov eax, 0x89
cmp ebx, eax
ja 0x14002dab1
je 0x14002d7d7
mov ecx, ebx
sub ecx, 0x84
je 0x14002d9f5
sub ecx, 1
je 0x14002d953
sub ecx, 1
je 0x14002d900
sub ecx, 1
je 0x14002d867
cmp ecx, 1
jne 0x140029fb7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.14002602c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp byte [rbx + 2], r10b
jne 0x14002daa1
mov qword [rbp + 0x48], r10
lea r8, [rbp + 0x48]
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.14002703c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp byte [rdi], 0x88
jne 0x14002da8d
mov rax, qword [r12 + 0x78]
lea r11d, [rsi + 1]
movsxd rcx, dword [rdi + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r10b
mov rax, qword [rbp + 0x48]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r11b
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x140029b35
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x68]
mov rax, qword [r12 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov r14, qword [rbx + 0x38]
mov qword [rbp - 0x68], rax
movzx eax, word [rdi + 0xc]
mov word [rbp - 0x58], ax
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x2c]
mov byte [rbp - 0x56], r10b
add rcx, r13
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x60], rcx
mov rcx, r14
call fcn.14001b6f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
cmp dword [rbp + 0x2c], r10d
jne 0x14002d8eb
lea edx, [rax + 4]
mov rcx, r14
call fcn.14001f6a4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
jmp 0x14002d8f6
cmp word [rdi + 2], r10w
jne 0x14002ef4d
and qword [rbx + 0x28], 0
jmp 0x14002972b
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r13
test word [rbx + 8], ax
je 0x14002d938
mov rcx, rbx
call fcn.140022154
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140029a09
mov rdx, rbx
mov rcx, r14
call fcn.140030fd8
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jmp 0x14002a746
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r13
test byte [rdi + 2], r11b
je 0x14002d976
add dword [r12 + 0x3c], r11d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14002d996
mov rcx, rbx
call fcn.140022154
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140029a09
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x60], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x68], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r13
mov word [rbp - 0x48], ax
mov eax, 0x10
mov qword [rbp - 0x50], rcx
test al, r8b
je 0x14002d9d2
mov r9d, dword [r14 + 0x2c]
jmp 0x14002d9d5
mov r9d, r10d
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp - 0x68]
and r8d, 0x8a
call fcn.14001ef08
xor r10d, r10d
mov dword [r14 + 0x28], r10d
jmp 0x14002d946
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov r14, qword [rax + rcx*8]
mov r15, qword [r14 + 0x38]
mov dword [rbp - 0x20], r10d
cmp bl, 0x84
jne 0x14002da27
or dword [r14 + 0x2c], 0xffffffff
mov rcx, r15
call fcn.14001ae10
xor r10d, r10d
test eax, eax
jne 0x14002e2d7
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.14001b678
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
mov al, byte [rbp - 0x20]
mov byte [r14 + 2], al
mov byte [r14 + 3], r10b
mov dword [r14 + 0x28], r10d
test esi, esi
jne 0x14002d70f
cmp dword [rdi + 8], r10d
jle 0x14002e2d7
cmp dword [rbp - 0x20], r10d
je 0x14002e2d7
jmp 0x14002cf8b
mov r13, qword [rsp + 0x58]
xor r10d, r10d
mov r14, qword [rsp + 0x50]
jmp 0x14002e64e
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
jmp 0x14002e64e
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [rbp + 0x48]
jmp 0x14002b342
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, r13
jmp 0x14002a0c6
sub ebx, 0x8a
je 0x14002dc15
sub ebx, 1
je 0x14002db6b
sub ebx, 1
je 0x14002db05
cmp ebx, 1
jne 0x140029f41
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x14002daf7
mov rdx, qword [rcx + 0x38]
mov rcx, r15
call fcn.140030578
jmp 0x140029d90
mov rcx, qword [rcx + 0x38]
call fcn.14001ff1c
jmp 0x140029b69
mov eax, dword [rdi + 0xc]
mov rcx, qword [r15 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rbp + 0x190]
sbb r8, r8
mov dword [rbp + 0x190], r10d
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14001fe9c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
cmp dword [rdi + 0xc], r10d
je 0x14002db64
movsxd rdx, dword [rbp + 0x190]
add dword [r12 + 0x3c], edx
cmp dword [rdi + 0xc], r10d
jle 0x14002db64
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r13], rdx
test esi, esi
jmp 0x140029b74
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov r14d, 1
mov rbx, rax
mov word [rax + 8], r14w
mov ecx, dword [r15 + 0xe0]
add ecx, r14d
cmp dword [r15 + 0xd4], ecx
jg 0x14002ef68
movsxd r14, dword [rdi + 0xc]
lea r8, [rbp - 0x1c]
mov rcx, qword [r15 + 0x20]
xor eax, eax
mov edx, dword [rdi + 4]
mov r9, r14
shl r9, 5
mov dword [rbp - 0x1c], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.1400200f0
mov esi, eax
mov dword [rsp + 0x38], eax
mov edx, 4
xor r10d, r10d
mov word [rbx + 8], dx
movsxd rax, dword [rbp - 0x1c]
mov qword [rbx], rax
test esi, esi
jne 0x140029a09
mov r8d, dword [rbp - 0x1c]
test r8d, r8d
je 0x140029e84
mov r9d, dword [rdi + 4]
mov edx, r14d
mov rcx, r15
call fcn.1400435ec
lea r11d, [rsi + 1]
lea eax, [r11 + r14]
mov byte [rbp + 0x198], al
mov r14, qword [rsp + 0x50]
jmp 0x14002d110
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x140029fb7
call fcn.140025fb0
jmp 0x140029b69
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0xc]
mov r8d, dword [rdi + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r15 + 0x20]
mov dword [rbp - 0xc], eax
mov rcx, qword [rcx + 8]
call fcn.14001fc90
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
jne 0x140029a09
mov eax, dword [rbp - 0xc]
mov qword [rbx], rax
jmp 0x140029730
mov eax, 0x94
cmp ebx, eax
ja 0x14002de5d
je 0x14002de49
sub ebx, 0x8f
je 0x14002de25
sub ebx, 1
je 0x14002dcf1
sub ebx, 1
je 0x14002dce1
sub ebx, 1
je 0x14002dccd
cmp ebx, 1
jne 0x140029f41
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14004094c
jmp 0x140029d90
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.140040d50
jmp 0x140029d90
mov edx, dword [rdi + 4]
mov rcx, r15
call fcn.14003efd8
jmp 0x140029b69
movsxd rbx, dword [rdi + 4]
mov rcx, qword [r15 + 0x20]
cmp qword [rdi + 0x10], r10
jne 0x14002dd4d
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140046f5c
and dword [r15 + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
movzx r9d, word [rdi + 2]
mov edx, ebx
mov rcx, r15
call fcn.140053cac
mov r11d, 1
mov dword [rsp + 0x38], eax
or dword [r15 + 0x2c], r11d
mov esi, eax
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x14002de18
mov dword [rbp - 0x58], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x50], r10d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.140018c50
mov r8, qword [r15 + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x48], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [rdi + 0x10]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.140009280
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14002ef7b
lea r9, [rbp - 0x68]
mov byte [r15 + 0xbd], 1
lea r8, [fcn.140053aa8]
mov dword [rbp - 0x54], eax
mov rdx, rbx
mov dword [rbp - 0x4c], eax
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.14004faf0
mov esi, eax
mov dword [rsp + 0x38], eax
xor eax, eax
test esi, esi
jne 0x14002ddff
mov esi, dword [rbp - 0x54]
mov dword [rsp + 0x38], esi
test esi, esi
jne 0x14002ddff
cmp dword [rbp - 0x4c], eax
jne 0x14002ddff
mov ecx, 0x1689f
call fcn.140077ccc
mov esi, eax
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, r15
call fcn.140007538
xor r10d, r10d
mov byte [r15 + 0xbd], r10b
lea r11d, [r10 + 1]
test esi, esi
jne 0x14002ef80
jmp 0x140029b35
add byte [r15 + 0x6c], r11b
xor r9d, r9d
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r10
call fcn.14004faf0
dec byte [r15 + 0x6c]
jmp 0x140029b69
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14005dad4
jmp 0x140029d90
sub ebx, 0x95
je 0x14002df27
sub ebx, 1
je 0x14002dee8
sub ebx, 1
je 0x14002dead
cmp ebx, 1
jne 0x140029f41
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
lea r9d, [rbx + 7]
xor r10d, r10d
mov word [rax + 8], r9w
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rbx, qword [rsp + 0x30]
mov r11d, 1
jmp 0x140029741
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x14002b693
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r13
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14002df15
mov rcx, rbx
call fcn.1400228bc
test eax, eax
jne 0x14002b6ed
mov rdx, qword [r14 + r13]
mov rcx, qword [rbx + 0x10]
call fcn.14000fd70
jmp 0x140029d8b
movsxd rax, dword [rdi + 0xc]
lea r9, [rbp + 0x28]
mov rdx, qword [r15 + 0x20]
mov r8, qword [rdi + 0x10]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 4]
add r8, 4
imul rbx, rax, 0x38
mov ecx, dword [r14 + r13]
movzx eax, word [rdi + 2]
add ecx, r11d
mov qword [rsp + 0x28], r9
add rbx, r13
mov r9d, dword [rdi + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rax + rdx + 8]
call fcn.140020cd0
mov rcx, rbx
mov r15, rax
call fcn.1400227ac
mov edx, dword [rbp + 0x28]
test edx, edx
je 0x14002dfb8
test r15, r15
je 0x14002b6e8
dec edx
lea rax, [fcn.1400074b8]
movsxd r8, edx
mov r9d, 1
sub qword [r14 + r13], r8
mov rdx, r15
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140022a80
movzx edx, byte [rbp + 0x188]
mov rcx, rbx
call fcn.140021f50
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
xor r10d, r10d
mov r11d, 1
mov eax, dword [r15 + 0x178]
test eax, eax
jne 0x14002eff7
mov r8, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
cmp rbx, r8
jb 0x14002973b
mov rdx, qword [r15 + 0x1e8]
test rdx, rdx
je 0x140029735
mov eax, dword [r15 + 0x1f8]
mov rcx, qword [r15 + 0x1f0]
add r8, rax
mov qword [rsp + 0x40], r8
call rdx
xor r10d, r10d
test eax, eax
jne 0x14002ef9b
mov r8, qword [rsp + 0x40]
cmp rbx, r8
jae 0x14002dffc
jmp 0x140029735
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [rdi + 8]
jae 0x14002e059
add qword [r15 + 0x2d8], rax
jmp 0x140029f41
mov rbx, qword [rsp + 0x30]
cmp dword [rdi + 4], r10d
je 0x14002e070
add qword [r15 + 0x2d0], rax
jmp 0x140029751
add qword [r12 + 0x50], rax
jmp 0x140029751
mov eax, 0xa4
cmp ebx, eax
ja 0x14002e4cb
je 0x14002e471
mov eax, 0x9f
cmp ebx, eax
ja 0x14002e36b
je 0x14002e3f8
sub ebx, 0x9a
je 0x14002e2e7
sub ebx, 1
je 0x14002e287
sub ebx, 1
je 0x14002e15f
sub ebx, 1
je 0x14002e15f
cmp ebx, 1
jne 0x140029f41
xor r11d, r11d
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r13
cmp qword [rbx + 0x10], rdx
je 0x14002e136
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14002e136
mov r15d, 1
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
lea r14d, [r15 + 7]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, r13
mov qword [r9], rcx
sub r9, r14
sub r8, r15
jns 0x14002e10f
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov eax, 1
lea r8, [rbx + 0x30]
add dword [rdx + 0xc], eax
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r11d
je 0x14002e1fb
call qword [rax + 0x30]
jmp 0x14002e1fe
movzx r14d, word [rdi + 2]
mov rcx, qword [rsp + 0x48]
mov r15d, r14d
lea rdx, [r14*8 + 0x68]
call fcn.14000780c
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14002b6e8
add r15, 6
mov qword [rbx + 0x10], rax
lea r8d, [rax + 1]
lea rcx, [rbx + r15*8]
mov r15, qword [rsp + 0x48]
mov rdx, r15
mov qword [rbx], rcx
call fcn.14002279c
mov rcx, qword [rdi + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rbx + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
imul rcx
mov byte [rbx + 0x29], r14b
mov r14, qword [rsp + 0x50]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r12
shr rax, 0x3f
add rdx, rax
xor r11d, r11d
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x28], r11b
mov dword [rbx + 0x24], r11d
mov word [rdi], 0xf09e
mov qword [rdi + 0x10], rbx
jmp 0x14002e0d3
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x140029730
jle 0x14002e232
mov rcx, qword [rbx]
call fcn.140027704
mov r8, rax
lea rdx, [0x140125148]
mov rcx, r12
call fcn.140023338
mov esi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x38], esi
cmp byte [rbx + 0x28], r10b
je 0x14002e25a
cmp dword [rdi - 0x14], r10d
je 0x14002e256
movsxd rax, dword [rdi - 0x14]
mov edx, 1
imul rcx, rax, 0x38
add rcx, r13
call fcn.140022834
xor r10d, r10d
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
call fcn.1400223e4
mov rax, qword [rbx]
xor r10d, r10d
mov r11d, 1
mov word [rax + 8], r11w
mov dword [rbx + 0x24], r10d
test esi, esi
je 0x140029b35
mov r14, r11
jmp 0x140029a0f
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r12
imul r14, rax, 0x38
call fcn.1400292f8
mov rcx, qword [rbx + r13]
xor r10d, r10d
mov qword [rbp + 0x58], rcx
mov r15, rax
test rcx, rcx
jle 0x14002e2e1
mov rdx, qword [r14 + r13]
lea rcx, [rbp + 0x58]
test rdx, rdx
cmovle rdx, r10
call fcn.14000b0d4
xor r10d, r10d
test eax, eax
jne 0x14002e2e1
mov rax, qword [rbp + 0x58]
mov qword [r15], rax
mov r15, qword [rsp + 0x48]
jmp 0x14002972b
or qword [r15], 0xffffffffffffffff
jmp 0x14002e2d7
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14002e314
mov rax, qword [rcx + 8]
jmp 0x14002e301
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002e2fa
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x14002e31f
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r13
mov rcx, r14
call fcn.140022584
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r13
mov rcx, rbx
call fcn.140022584
mov rax, qword [rbx]
xor r10d, r10d
mov ecx, 0x3e40
mov rbx, qword [rsp + 0x30]
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
cmp qword [r14], rax
jge 0x14002a6c4
mov qword [r14], rax
jmp 0x14002a6c4
sub ebx, 0xa0
je 0x14002e3f8
sub ebx, 1
je 0x14002e3c0
sub ebx, 1
je 0x14002e3a5
cmp ebx, 1
jne 0x140029f41
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.14001ae38
jmp 0x140029d90
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.14001ae30
jmp 0x140029d90
cmp dword [rdi + 4], r10d
jne 0x14002e3d6
mov edx, dword [rdi + 8]
mov rcx, r15
call fcn.140027200
jmp 0x140029d90
mov eax, dword [r12 + 0xc8]
mov ecx, dword [rdi + 8]
add ecx, r11d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r12 + 0xc8], ecx
jmp 0x140029fb7
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r13
mov rcx, rbx
cmp dword [rdi + 0xc], r10d
je 0x14002e433
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r13
call fcn.140022310
mov esi, eax
mov dword [rsp + 0x38], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r13
jmp 0x14002e442
mov rdx, qword [rdi + 0x10]
call fcn.140022268
mov esi, eax
mov dword [rsp + 0x38], eax
mov rcx, rbx
test esi, esi
jne 0x14002efaf
movzx edx, byte [rbp + 0x188]
call fcn.140021f50
mov rcx, rbx
call fcn.140022908
xor r10d, r10d
test eax, eax
jne 0x14002efd5
jmp 0x140029730
mov r8b, byte [rdi + 0xc]
test r8b, r8b
jne 0x14002e489
mov eax, dword [r15 + 0x30]
bt rax, 0xa
jb 0x14002ea00
movsxd rax, dword [rdi + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002118c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test eax, eax
je 0x140029730
cmp al, 6
jne 0x140029a09
mov r8, qword [rdi + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x14002efbe
sub ebx, 0xa5
je 0x14002e968
sub ebx, 1
je 0x14002e8fa
sub ebx, 1
je 0x14002e8d8
sub ebx, 1
je 0x14002e845
sub ebx, 1
je 0x14002e75b
sub ebx, 1
je 0x14002e6dc
sub ebx, 1
je 0x14002e6ae
sub ebx, 1
je 0x14002e663
cmp ebx, 1
jne 0x140029f41
mov al, byte [r15 + 0x6a]
test al, 0x41
je 0x14002e5f4
cmp byte [r12 + 0xc5], r10b
jne 0x14002e5f4
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14002e553
mov r9, qword [r12 + 0xf0]
test r9, r9
je 0x14002e5ee
test al, 0x40
je 0x14002e580
mov rdx, r9
mov rcx, r12
call fcn.140028cd4
mov rcx, qword [r15 + 0xf8]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf0]
mov rcx, rbx
call fcn.1400074b8
jmp 0x14002e5d8
cmp dword [r15 + 0xdc], r11d
jle 0x14002e5c4
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140009280
mov rdx, qword [r15 + 0xf8]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf0]
mov rdx, rbx
mov rcx, r15
call fcn.140007594
jmp 0x14002e5d8
mov rdx, qword [r15 + 0xf8]
mov r8, r12
mov ecx, r11d
call qword [r15 + 0xf0]
mov r8d, 2
mov ecx, 0x3e40
xor r10d, r10d
lea r11d, [r8 - 1]
lea edx, [r8 + 2]
mov r9d, 8
mov eax, dword [rdi + 4]
cmp eax, dword [0x14013be24]
jl 0x14002e641
cmp byte [rdi], 0xad
je 0x140029f41
mov edx, r11d
cmp dword [r12 + 0x90], r11d
jle 0x14002e63e
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rcx + rax], 0x11
jne 0x14002e62d
mov dword [rcx + rax + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x14002e61a
mov eax, r10d
inc eax
mov dword [rdi + 4], eax
add dword [r12 + 0xec], r11d
mov eax, dword [rdi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140029b30
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
mov rcx, qword [r15 + 0x20]
mov r14, rax
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [rdi + 0xc], ecx
je 0x14002e69a
mov rcx, rbx
call fcn.140018c50
cmp eax, dword [rdi + 0xc]
cmovb eax, dword [rdi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.1400197e4
mov eax, eax
mov qword [r14], rax
jmp 0x140029d8b
mov rdx, rdi
mov rcx, r12
call fcn.1400292f8
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r15 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.140018c50
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140029d90
mov r14d, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and r14d, eax
mov rax, qword [rdi + 0x10]
mov edx, r11d
mov r15, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r13
mov rcx, rbx
call fcn.140021f50
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x14002d70f
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
mov esi, eax
test r14d, r14d
jne 0x14002e73d
mov r9, qword [rsp + 0x48]
btr qword [r9 + 0x30], 0x1a
mov rdx, r15
mov rcx, r12
call fcn.140027344
and dword [r12 + 0xc8], 0xfffffffc
mov r15, qword [rsp + 0x48]
jmp 0x14002a741
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r13
cmp byte [r14 + 2], r10b
je 0x14002e781
mov rcx, rbx
jmp 0x14002bd4b
mov rax, qword [r14 + 0x38]
xorps xmm0, xmm0
mov r15, qword [rax]
xor eax, eax
mov rsi, qword [r15]
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x68], rbx
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x38], rax
movups xmmword [rbp - 0x48], xmm0
test byte [rdi + 2], r11b
je 0x14002e7bd
mov rcx, rbx
call fcn.1400227ac
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14002e7cd
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r11w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x68]
mov r8d, dword [rdi + 8]
mov rcx, qword [r14 + 0x38]
call qword [rsi + 0x58]
mov rdx, r15
mov rcx, r12
mov esi, eax
mov dword [rsp + 0x38], eax
call fcn.140027344
xor eax, eax
cmp dword [rbp - 0x44], eax
jle 0x14002e819
mov rcx, rbx
call fcn.140027704
mov r8, rax
lea rdx, [0x140125148]
mov rcx, r12
call fcn.140023338
mov esi, dword [rbp - 0x44]
mov dword [rsp + 0x38], esi
movzx edx, byte [rbp + 0x188]
mov rcx, rbx
call fcn.140021f50
mov rcx, rbx
call fcn.140022908
mov r15, qword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x14002efd5
jmp 0x14002a744
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x190], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14002ed14
mov r14, qword [rbx]
test r14, r14
je 0x14002ed14
lea rdx, [rbp + 0x190]
mov rcx, rbx
call qword [r14 + 0x30]
mov rdx, rbx
mov rcx, r12
mov esi, eax
mov dword [rsp + 0x38], eax
call fcn.140027344
xor r10d, r10d
test esi, esi
jne 0x140029a09
mov rax, qword [rbp + 0x190]
or r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [rdi + 4]
call fcn.140028fc8
mov rcx, qword [rbp + 0x190]
xor r10d, r10d
test rax, rax
je 0x14002efee
lea r11d, [rsi + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r11d
jmp 0x140029e53
add dword [r15 + 0xe0], r11d
mov rcx, r15
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.14006253c
dec dword [r15 + 0xe0]
jmp 0x140029b69
xorps xmm0, xmm0
lea rcx, [rbp - 0x68]
xor eax, eax
mov qword [rbp - 0x38], rax
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
add rdx, r13
mov qword [rbp - 0x40], r15
call fcn.1400229ac
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x38], eax
mov esi, eax
call fcn.140027704
test rax, rax
je 0x14002e957
mov edx, dword [rdi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.14006226c
mov esi, eax
mov dword [rsp + 0x38], eax
lea rcx, [rbp - 0x68]
call fcn.1400223e4
xor r10d, r10d
jmp 0x14002db64
mov rbx, qword [rdi + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.140062770
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov esi, eax
test rbx, rbx
je 0x14002e994
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.140027344
xor r10d, r10d
test esi, esi
je 0x140029730
mov rbx, qword [rsp + 0x40]
jmp 0x14002efa4
mov r15, qword [rsp + 0x48]
jmp 0x140029e8a
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
jmp 0x14002de9d
mov r15, qword [rsp + 0x48]
jmp 0x140029726
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
jmp 0x14002ad54
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jmp 0x14002dc0b
mov r13, qword [rsp + 0x58]
jmp 0x14002af0d
mov r14, qword [rsp + 0x50]
jmp 0x14002a17b
mov rbx, qword [rsp + 0x30]
jmp 0x14002d0cf
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x140029751
mov esi, r9d
jmp 0x140029a09
mov rbx, qword [rsp + 0x40]
mov eax, 5
cmp sil, al
jne 0x14002efa4
mov rcx, rdi
mov dword [r12 + 0x38], esi
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x14002ebb1
mov rdx, qword [r12 + 0xa8]
mov rcx, r15
call fcn.140007594
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1400079bc
mov qword [r12 + 0xa8], rax
mov rax, qword [r15 + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x190]
cmp dword [rcx], eax
je 0x14002eab7
mov rcx, r15
call fcn.140040ac4
mov eax, dword [r12 + 0xc8]
mov r14d, 1
and eax, 0xfffffffd
or eax, r14d
mov dword [r12 + 0xc8], eax
lea esi, [r14 + 0x10]
xor r10d, r10d
jmp 0x140029a0f
movzx eax, byte [r15 + 0x61]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14002ebfb
test ecx, ecx
je 0x14002eb0a
mov edx, 0x204
mov rcx, r15
call fcn.140075db4
mov eax, 1
jmp 0x14002eb46
test ebx, ebx
je 0x14002eb33
cmp dword [r15 + 0xd8], r10d
jle 0x14002eb33
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.140023338
mov esi, 5
xor r10d, r10d
jmp 0x140029a09
mov edx, r11d
mov rcx, r12
call fcn.1400258f4
mov esi, eax
test eax, eax
jne 0x14002ebac
mov al, bl
mov rcx, r12
mov byte [r15 + 0x61], al
call fcn.140025944
mov r8d, 5
cmp eax, r8d
jne 0x14002eb95
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r14
lea r14d, [r8 - 4]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
sub al, bl
mov dword [r12 + 0x34], edx
mov byte [r15 + 0x61], al
jmp 0x14002ec90
mov rcx, r15
call fcn.1400758d0
mov eax, dword [r12 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
mov rbx, qword [rsp + 0x40]
mov r14d, 1
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jb 0x14002f0fb
mov rdx, qword [r15 + 0x1e8]
test rdx, rdx
je 0x14002f0fb
mov eax, dword [r15 + 0x1f8]
mov rcx, qword [r15 + 0x1f0]
add rbx, rax
call rdx
xor r10d, r10d
test eax, eax
je 0x14002ebb7
or rbx, 0xffffffffffffffff
lea esi, [rbx + 0xa]
jmp 0x140029a14
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r12
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140023338
mov r14d, 1
mov esi, r14d
jmp 0x14002ead7
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x14002eb1e
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.140023338
mov esi, 5
mov r15, qword [rsp + 0x48]
jmp 0x14002ead7
mov r15, qword [rsp + 0x48]
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [r12 + 0x34], edx
mov byte [r15 + 0x61], r10b
mov esi, r8d
mov dword [r12 + 0x38], r8d
jmp 0x14002ef20
mov r8, r14
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.140023338
mov r14d, 1
mov esi, r14d
jmp 0x14002ec52
mov r12, qword [rbp + 0x180]
lea rax, str.into
cmp ebx, edx
lea r8, str.out_of
mov r14d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, r12
mov esi, r14d
call fcn.140023338
jmp 0x14002ec52
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
mov ecx, 2
cmove eax, ecx
mov byte [r12 + 0xc2], al
jmp 0x140029a09
mov esi, 6
jmp 0x140029a09
mov esi, 0x14
jmp 0x140029a09
mov ecx, 0x167a2
call fcn.140077ccc
mov esi, eax
jmp 0x14002eb2b
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov esi, r11d
call fcn.140023338
jmp 0x14002eb2b
mov dword [r12 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r12 + 0xc2], al
mov dword [r12 + 0x34], ebx
test edx, edx
je 0x14002edf8
mov rcx, r12
cmp word [rdi + 2], r10w
je 0x14002edc1
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x11e750]
call fcn.140023338
mov r9, qword [rdi + 0x10]
test r9, r9
je 0x14002edd1
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140009280
mov qword [r12 + 0xa8], rax
jmp 0x14002edd1
mov r8, qword [rdi + 0x10]
lea rdx, [0x140125148]
call fcn.140023338
mov rax, qword [r12 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.140009418
mov rcx, r12
call fcn.140025944
mov rbx, qword [rsp + 0x40]
mov esi, eax
mov eax, 5
lea r14d, [rax - 4]
cmp esi, eax
jne 0x14002ee1e
mov dword [r12 + 0x38], eax
jmp 0x14002ebb7
mov eax, dword [r12 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x14002ebb7
xor edx, edx
mov rcx, r12
call fcn.1400258f4
xor r10d, r10d
mov esi, eax
test eax, eax
jne 0x140029a09
lea r11d, [rax + 1]
lea r8d, [rax + 2]
mov eax, dword [r12 + 0x30]
mov esi, r10d
add eax, r8d
or eax, r11d
mov dword [r12 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r13
mov qword [r12 + 0xa0], r14
cmp dword [rdi + 8], r10d
jle 0x14002eec0
lea r15, [r14 + 8]
movsxd rax, esi
imul rbx, rax, 0x38
mov eax, 0x1000
test word [r15], ax
je 0x14002eea4
lea rcx, [rbx + r14]
call fcn.1400220fc
test eax, eax
jne 0x14002b6e8
lea rcx, [rbx + r14]
call fcn.1400221b8
inc esi
add r15, 0x38
cmp esi, dword [rdi + 8]
jl 0x14002ee81
mov r15, qword [rsp + 0x48]
xor r10d, r10d
cmp byte [r15 + 0x63], r10b
jne 0x14002b6ed
mov eax, 4
test byte [r15 + 0x6a], al
je 0x14002eeeb
mov rdx, qword [r15 + 0xf8]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [r15 + 0xf0]
mov r14d, 1
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
lea esi, [r14 + 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r14d
mov dword [r12 + 0x34], edx
mov rbx, qword [rsp + 0x40]
jmp 0x14002ebb7
mov ecx, 0x15ae9
jmp 0x14002ed2d
mov esi, 0x204
jmp 0x140029a09
mov r15, qword [rsp + 0x48]
mov esi, 0xd
jmp 0x14002eb2b
lea r8, str.index_corruption
mov edx, 0x166d8
mov ecx, 0x30b
call fcn.140077c80
jmp 0x14002ed32
mov esi, 6
mov byte [r12 + 0xc2], 2
jmp 0x14002ead7
mov esi, 7
mov rcx, r15
call fcn.140040b4c
mov rbx, qword [rsp + 0x40]
cmp esi, 7
je 0x14002b6f2
xor r10d, r10d
jmp 0x14002efa4
or rbx, 0xffffffffffffffff
mov esi, 9
mov r14d, 1
jmp 0x140029a14
call fcn.140027704
mov r8, rax
lea rdx, [0x140125148]
mov rcx, r12
call fcn.140023338
jmp 0x14002eb2b
mov r12, qword [rbp + 0x180]
mov r15, r9
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.140023338
mov esi, 0x12
jmp 0x14002eb2b
call qword [r14 + 0x38]
jmp 0x14002b6ed
mov rbx, qword [rsp + 0x40]
jmp 0x14002ef9f
mov r12, qword [rbp + 0x180]
jmp 0x14002b6e8
mov r12, qword [rbp + 0x180]
jmp 0x14002b6ed
mov r15, rbx
jmp 0x140029a09
cmp esi, 0x210a
jne 0x14002f035
mov ecx, 0x16fcb
call fcn.140077ccc
mov esi, eax
xor r10d, r10d
cmp qword [r12 + 0xa8], r10
jne 0x14002f060
cmp esi, 0xc0a
je 0x14002f060
mov ecx, esi
call fcn.140075ec0
mov r8, rax
lea rdx, [0x140125148]
mov rcx, r12
call fcn.140023338
mov edx, esi
mov dword [r12 + 0x38], esi
mov rcx, r15
call fcn.140009fe0
mov r9, qword [r12 + 0xf0]
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, esi
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140009418
mov rcx, r12
call fcn.140025944
cmp esi, 0xc0a
jne 0x14002f0cd
mov rcx, r15
call fcn.140007af8
movzx eax, byte [rbp + 0x198]
mov esi, r14d
test al, al
je 0x14002ebb7
mov edx, eax
mov rcx, r15
sub edx, r14d
call fcn.140040ac4
jmp 0x14002ebb7
mov r15, qword [rsp + 0x48]
jmp 0x14002ef20
add dword [r12 + 0xe4], eax
mov rcx, r12
call fcn.1400247d0
lea r11, [rsp + 0x238]
mov eax, esi
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret