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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1800aa040]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rdi, qword [rcx]
xor eax, eax
mov r15, qword [rcx + 0x88]
mov r12, rcx
mov r14, qword [rcx + 0x68]
mov ebx, eax
mov qword [rsp + 0x78], rcx
mov sil, byte [rdi + 0x5e]
mov byte [rsp + 0x34], sil
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x48], rdi
mov byte [rbp - 0x77], al
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x60], r14
call fcn.180023a88
xor r10d, r10d
cmp qword [rdi + 0x1c0], r10
je 0x180028de2
mov ebx, dword [rdi + 0x1d0]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ebx
sub ebx, edx
mov dword [rsp + 0x3c], ebx
mov r13d, ebx
mov ebx, r10d
jmp 0x180028deb
or r13d, 0xffffffff
mov dword [rsp + 0x3c], r13d
mov eax, 7
lea r11d, [rax - 6]
cmp dword [r12 + 0x38], eax
je 0x18002b7fe
mov qword [r12 + 0x48], r10
mov qword [r12 + 0xa0], r10
mov eax, dword [rdi + 0x170]
mov dword [rdi + 0x248], r10d
test eax, eax
jne 0x18002ebeb
movsxd rax, dword [r12 + 0x34]
lea edx, [r11 + 1]
lea r9d, [r11 + 3]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
mov eax, r10d
lea r13, [r15 + rcx*8]
movzx r8d, byte [r13]
add eax, r11d
mov qword [rsp + 0x58], r13
mov ecx, 5
mov dword [rsp + 0x30], eax
cmp r8d, 0x53
ja 0x18002b367
je 0x18002b348
cmp r8d, 0x29
ja 0x18002a491
je 0x18002a378
cmp r8d, 0x14
ja 0x180029b64
je 0x180029b36
cmp r8d, 0xa
ja 0x18002988b
je 0x180029784
cmp r8d, ecx
ja 0x1800293ed
je 0x180028ec6
test r8d, r8d
je 0x180029069
sub r8d, 1
je 0x18002e690
sub r8d, 1
je 0x180028f26
sub r8d, 1
je 0x180028f0c
cmp r8d, 1
jne 0x18002e5b1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [r13 + 0x10]
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x1800293d2
mov byte [rbx + 2], r10b
lea r11d, [r10 + 1]
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], r11d
jmp 0x18002a9f9
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.180031b00
jmp 0x180028edf
mov edx, dword [r13 + 8]
mov dword [rbp - 0x70], r10d
test edx, edx
je 0x180028f40
mov eax, dword [rdi + 0x30]
bt rax, 0x14
jb 0x18002e5bf
movsxd rcx, dword [r13 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x180029063
lea r8, [rbp - 0x70]
mov rcx, rbx
call fcn.180018c5c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5ce
lea r11d, [rax + 1]
cmp dword [r13 + 8], r10d
je 0x180029016
lea ecx, [r11 + 0x7f]
test byte [r12 + 0xc8], cl
je 0x180029016
cmp byte [rdi + 0x5f], r10b
je 0x180028fa4
cmp dword [rdi + 0xcc], r11d
jle 0x180029016
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x180028fc8
add dword [rdi + 0x2a0], r11d
mov r8d, dword [rdi + 0x2a0]
add r8d, dword [rdi + 0x29c]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rdi
call fcn.180062858
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180028ff4
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.180019ea8
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov rax, qword [rdi + 0x2a8]
mov r11d, 1
mov qword [r12 + 0x58], rax
mov rax, qword [rdi + 0x2b0]
mov qword [r12 + 0x60], rax
mov eax, dword [rsp + 0x38]
mov r9d, 4
cmp word [r13 + 2], r10w
je 0x180029052
mov eax, dword [r13 + 0xc]
cmp dword [rbp - 0x70], eax
jne 0x18002e619
mov rax, qword [rdi + 0x20]
movsxd rcx, dword [r13 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
jne 0x18002e619
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002e5c4
mov ebx, dword [rsp + 0x40]
jmp 0x18002e5a8
mov eax, dword [rsp + 0x38]
jmp 0x18002901c
mov esi, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
mov dword [rbp - 0x70], esi
test esi, esi
jne 0x18002915c
mov rbx, qword [rsp + 0x48]
cmp dword [rbx + 0xd0], r10d
jg 0x18002e7d3
mov rcx, rdi
call fcn.180009758
mov r8d, dword [rbx + 0x2a0]
xor edx, edx
add r8d, dword [rbx + 0x29c]
mov rcx, rbx
movsxd rsi, eax
call fcn.180062858
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
lea rdx, [rsi + 0x21]
mov rcx, rbx
call fcn.180007028
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x18002e558
lea rcx, [rax + 0x20]
mov rdx, rdi
mov qword [rax], rcx
lea eax, [rsi + 1]
movsxd r8, eax
call fcn.18008d6f0
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
cmp byte [rdi + 0x5f], r10b
je 0x180029108
mov byte [rdi + 0x5f], r10b
mov byte [rdi + 0x67], 1
jmp 0x180029115
mov r11d, 1
add dword [rdi + 0x29c], r11d
mov rax, qword [rdi + 0x290]
mov qword [rbx + 0x18], rax
mov rax, qword [rdi + 0x2a8]
mov qword [rdi + 0x290], rbx
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x2b0]
mov qword [rbx + 0x10], rax
mov sil, byte [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
mov edx, 2
mov r11d, 1
mov r9d, 4
jmp 0x18002e5ad
mov rcx, qword [rsp + 0x48]
mov r13d, r10d
mov ebx, 1
mov r14, qword [rcx + 0x290]
jmp 0x18002918b
mov rcx, qword [r14]
mov rdx, rdi
call fcn.180009988
xor r10d, r10d
test eax, eax
je 0x1800291a9
mov r14, qword [r14 + 0x18]
add r13d, ebx
test r14, r14
jne 0x180029172
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.18002294c
mov eax, ebx
jmp 0x18002e6e4
mov rdi, qword [rsp + 0x48]
cmp dword [rdi + 0xd0], r10d
jle 0x1800291bf
cmp esi, ebx
je 0x18002e7df
cmp qword [r14 + 0x18], r10
jne 0x180029220
cmp byte [rdi + 0x67], r10b
je 0x180029220
mov r12d, ebx
cmp esi, ebx
jne 0x180029223
mov r12, qword [rsp + 0x78]
mov edx, ebx
mov rcx, r12
call fcn.180024e00
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002ec65
mov rcx, r12
mov byte [rdi + 0x5f], bl
call fcn.180024e50
mov r8d, 5
cmp eax, r8d
je 0x18002e800
xor eax, eax
mov byte [rdi + 0x67], al
mov ecx, dword [r12 + 0x38]
mov r12d, ebx
mov dword [rsp + 0x38], ecx
jmp 0x180029338
mov r12d, r10d
mov eax, dword [rdi + 0x29c]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, ebx
cmp esi, eax
jne 0x18002928f
mov r15d, dword [rdi + 0x2c]
mov esi, r10d
and r15d, ebx
cmp dword [rdi + 0x28], r10d
jle 0x180029297
mov rax, qword [rsp + 0x48]
mov edi, r15d
xor edi, ebx
mov rbx, r10
mov rcx, qword [rax + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.180019cac
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180029cf6
mov rax, qword [rsp + 0x48]
inc esi
add rbx, 0x20
cmp esi, dword [rax + 0x28]
jl 0x180029258
jmp 0x18002929a
mov r15d, r10d
mov rax, rdi
jmp 0x18002929d
mov rax, rdi
mov esi, dword [rbp - 0x70]
mov edi, r10d
cmp dword [rax + 0x28], r10d
jle 0x1800292db
mov rbx, r10
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.180019f18
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180029cf6
mov rax, qword [rsp + 0x48]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1800292a9
mov rdi, qword [rsp + 0x48]
mov ebx, 1
test r15d, r15d
je 0x180029315
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18002930a
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, ebx
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
jmp 0x1800292ee
mov rcx, rdi
call fcn.1800400e8
or dword [rdi + 0x2c], ebx
mov r15, qword [rsp + 0x50]
jmp 0x180029338
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rdi
mov qword [rdi + 0x290], rax
call fcn.180006d68
dec dword [rdi + 0x29c]
mov rcx, qword [rdi + 0x290]
cmp rcx, r14
jne 0x18002931c
cmp esi, ebx
jne 0x18002936e
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, rdi
mov qword [rdi + 0x290], rax
call fcn.180006d68
xor r10d, r10d
test r12d, r12d
jne 0x1800293bb
dec dword [rdi + 0x29c]
jmp 0x180029394
mov rax, qword [r14 + 8]
xor r10d, r10d
mov qword [rdi + 0x2a8], rax
mov rax, qword [r14 + 0x10]
mov qword [rdi + 0x2b0], rax
test r12d, r12d
je 0x180029394
lea eax, [r10 + 2]
cmp esi, eax
jne 0x1800293bb
mov r8d, r13d
mov edx, esi
mov rcx, rdi
call fcn.180062858
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1800293bf
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x78]
jmp 0x180029d05
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1800293ac
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
jmp 0x18002913d
cmp eax, 0x65
jne 0x18002e5c4
lea r11d, [rax - 0x64]
mov dword [rsp + 0x38], r10d
mov byte [rbx + 2], r11b
jmp 0x18002a3d5
sub r8d, 6
je 0x1800296b8
sub r8d, 1
je 0x180029524
sub r8d, 1
je 0x1800294e6
cmp r8d, 1
jne 0x18002e5b1
movsxd rax, dword [r13 + 0xc]
mov r8, r10
movsxd rcx, dword [r13 + 4]
mov rsi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx]
movsxd r9, dword [r11]
mov rdi, qword [r13 + 0x38]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x180029474
mov r12d, 1
mov r10d, r12d
movsxd rax, r10d
add r10d, r12d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r12
cmp r8, r9
jl 0x180029456
mov r12, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x58]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov r8, qword [rbx + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x180029d00
mov rcx, rdi
call qword [r14 + 0x50]
mov r15, qword [rsp + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
mov r13, rbx
lea r11d, [r10 + 1]
test eax, eax
jne 0x18002e186
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov sil, byte [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
mov edx, 2
jmp 0x180029151
cmp dword [r13 + 8], r10d
je 0x1800294f9
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, r14
jmp 0x1800294fc
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, rdi
call fcn.18006114c
mov dword [rsp + 0x38], eax
xor r10d, r10d
test eax, eax
jne 0x18002e5c4
jmp 0x180029146
mov rdx, r13
mov rcx, r12
call fcn.180028d04
movsxd rcx, dword [r13 + 4]
mov r14, rax
mov rax, qword [rdi + 0x20]
mov ebx, dword [r13 + 0xc]
shl rcx, 5
mov r15, qword [rcx + rax + 8]
mov rcx, r15
call fcn.18001f7d4
mov rcx, rax
mov rsi, rax
call fcn.180013684
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.18001368c
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.18001355c
mov edx, 5
cmp ebx, edx
jne 0x180029613
mov rcx, rax
call fcn.180009758
test eax, eax
je 0x1800295a3
mov rcx, rsi
call fcn.1800136b0
xor ecx, ecx
test eax, eax
jne 0x180029617
mov ebx, edi
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x1800295af
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.180013578
mov ecx, eax
mov word [r14 + 8], 0xa02
call fcn.180050828
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.180009758
movzx esi, byte [rsp + 0x34]
mov r15d, 1
mov edx, esi
mov dword [r14 + 0xc], eax
mov rcx, r14
mov byte [r14 + 0xa], r15b
call fcn.1800212a4
mov eax, dword [rsp + 0x38]
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
test eax, eax
jne 0x18002ec41
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
jmp 0x180029142
xor ecx, ecx
jmp 0x18002961c
mov edx, 5
cmp ebx, edi
je 0x1800295a5
cmp edi, edx
je 0x18002962c
cmp ebx, edx
jne 0x1800295a5
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x5f], cl
je 0x18002e846
mov r11d, 1
cmp dword [rax + 0xcc], r11d
jg 0x18002e846
cmp edi, edx
jne 0x180029676
mov rdx, rax
mov rcx, rsi
call fcn.1800137d0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1800295ad
mov edx, ebx
mov rcx, rsi
call fcn.180013578
xor ecx, ecx
jmp 0x180029696
mov eax, 4
cmp edi, eax
jne 0x18002968c
lea edx, [rax - 2]
mov rcx, rsi
call fcn.180013578
xor ecx, ecx
cmp dword [rsp + 0x38], ecx
jne 0x1800295ad
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.18002066c
mov dword [rsp + 0x38], eax
jmp 0x1800295a9
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0xa0]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0x9c]
or dword [rbp + 0xa0], 0xffffffff
mov rcx, rdi
or dword [rbp + 0x9c], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x98], r10d
call fcn.180077a10
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
je 0x180029719
lea ecx, [r10 + 5]
cmp eax, ecx
jne 0x18002e5c4
lea r11d, [r10 + 1]
mov dword [rsp + 0x38], r10d
mov dword [rbp + 0x98], r11d
jmp 0x18002971f
mov r11d, 1
movsxd rax, dword [r13 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
mov ecx, 0x2400
add rbx, r14
movsxd rax, dword [rbp + rdi*4 + 0x98]
test word [rbx + 8], cx
je 0x180029758
mov rdx, rax
mov rcx, rbx
call fcn.180021c24
mov ecx, 0x2400
mov r11d, 1
jmp 0x180029761
mov qword [rbx], rax
mov word [rbx + 8], 4
add rdi, r11
add rbx, 0x38
cmp rdi, 3
jl 0x180029732
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x1800294dc
cmp byte [rdi + 0x61], r10b
jne 0x18002b7f9
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18002e8a4
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x18002e8a4
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r11
je 0x18002c8a8
movsxd rax, dword [r13 + 0xc]
mov dil, byte [rdi + 0x66]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, r14
test edx, edx
jle 0x1800297eb
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x1800297db
mov al, byte [r13 + 2]
lea r9, [rbp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rcx, rbx
mov byte [rsi + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x66], dil
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x180029837
mov rdi, rsi
cmp dword [r13 + 4], r10d
je 0x180029873
mov rax, qword [rbp + 0x40]
mov qword [rsi + 0x38], rax
mov eax, dword [rsp + 0x38]
jmp 0x180029873
cmp al, 0x13
jne 0x180029870
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x18002986c
mov r9d, 4
mov rdi, rsi
cmp word [r13 + 2], r9w
jne 0x18002e87c
mov dword [rsp + 0x38], r10d
mov sil, byte [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
jmp 0x18002e5a2
mov eax, dword [rsp + 0x38]
mov rdi, rsi
mov r11d, 1
add dword [r12 + 0x3c], r11d
test eax, eax
jne 0x18002ec27
jmp 0x1800294d3
sub r8d, 0xb
je 0x18002a9f9
sub r8d, 1
je 0x180029afc
sub r8d, 1
je 0x180029ad2
sub r8d, 1
je 0x180029a8f
sub r8d, 1
je 0x180029a25
sub r8d, 1
je 0x1800299de
sub r8d, 1
je 0x180029955
sub r8d, 1
je 0x18002992b
cmp r8d, 1
jne 0x18002e5b1
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r11b
jne 0x180029921
xor edx, edx
call fcn.180021924
xor ecx, ecx
mov edx, ecx
test eax, eax
mov rcx, rbx
sete dl
call fcn.180021c58
mov ebx, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x180029146
mov rcx, rbx
call fcn.180021bc0
jmp 0x180029915
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021924
xor r10d, r10d
test eax, eax
mov r11d, 1
jne 0x18002e186
jmp 0x1800294dc
mov r8, qword [r12 + 0x100]
test r8, r8
je 0x1800299b5
mov r9, qword [r8 + 0x30]
mov rcx, r13
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 0x18002e186
bts eax, edx
mov edx, 2
mov byte [rcx + r9], al
lea r9d, [rdx + 2]
jmp 0x1800299ca
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x18002e186
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r13 + 4], ecx
jmp 0x18002e5ad
mov r9d, dword [rsp + 0x40]
mov ebx, r9d
test r9d, r9d
jns 0x180029a01
mov eax, dword [r13 + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r15 + rcx*8]
jmp 0x180029151
mov r9d, 4
jne 0x180029a1f
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r15 + rcx*8]
jmp 0x18002e5ad
mov eax, dword [r13 + 0xc]
jmp 0x180029a0d
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test r9b, al
jne 0x180029a76
mov r8b, sil
mov dl, 0x43
mov rcx, rbx
call fcn.180028b90
movzx eax, word [rbx + 8]
mov r9d, 4
xor r10d, r10d
test r9b, al
jne 0x180029a6d
cmp dword [r13 + 8], r10d
je 0x18002e8ae
mov r11d, 1
jmp 0x18002e186
mov edx, 2
lea r11d, [rdx - 1]
mov ecx, 0x3e40
and ax, cx
or ax, r9w
mov word [rbx + 8], ax
mov ebx, dword [rsp + 0x40]
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
sub r13, r15
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
movsxd rcx, dword [r8 + r14]
sar rdx, 2
mov rax, rdx
mov word [r8 + r14 + 8], r9w
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r13, [r15 + rcx*8]
mov qword [r8 + r14], rax
jmp 0x18002e5a8
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], r9w
cmp dword [r13 + 8], r10d
jne 0x18002e186
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
mov rcx, r13
imul r8, rax, 0x38
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r14 + 8], r9w
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x18002e186
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021924
xor r10d, r10d
lea r11d, [r10 + 1]
test eax, eax
je 0x18002e186
jmp 0x1800294dc
cmp r8d, 0x1f
ja 0x18002a1d3
je 0x18002a12c
cmp r8d, 0x1a
ja 0x180029f92
je 0x180029f34
mov ecx, r8d
sub ecx, 0x15
je 0x180029f05
sub ecx, 1
je 0x180029ba8
sub ecx, 1
je 0x180029ba8
sub ecx, 1
je 0x180029ba8
cmp ecx, 1
jne 0x18002e5b1
mov rax, qword [r12 + 0x78]
mov edi, r8d
movsxd rcx, dword [r13 + 4]
mov r12d, r10d
mov r14, qword [rax + rcx*8]
and word [r14 + 2], 0
mov dword [r14 + 0x28], r10d
cmp byte [r14 + 4], r10b
je 0x180029e00
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
movzx esi, word [rbx + 8]
mov al, sil
and al, 0x2e
cmp al, dl
jne 0x180029bf3
xor edx, edx
mov rcx, rbx
call fcn.180028abc
mov rcx, rbx
call fcn.1800218a0
mov r15, rax
movzx eax, word [rbx + 8]
mov word [rbx + 8], si
test al, 0x24
jne 0x180029cc6
mov ecx, 8
test cl, al
jne 0x180029c94
lea r11d, [rcx - 7]
test r11b, al
jne 0x18002d4e5
cmp edi, 0x18
jae 0x18002d4e5
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp - 0x74]
call fcn.18001aa8c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180029cf6
mov r11d, 1
cmp dword [rbp - 0x74], r10d
jne 0x18002d4f2
mov rdi, qword [rsp + 0x48]
mov edx, 2
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
lea r11d, [rdx - 1]
mov eax, dword [rsp + 0x30]
lea r9d, [rdx + 2]
test r12d, r12d
je 0x18002e5b1
add r13, 0x18
jmp 0x18002e5b1
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
comisd xmm0, xmm1
jbe 0x180029cb4
mov esi, 1
test sil, dil
je 0x180029cc6
sub edi, esi
jmp 0x180029cc6
comisd xmm1, xmm0
jbe 0x180029cc6
mov esi, 1
test sil, dil
jne 0x180029cc6
add edi, esi
lea rax, [rbp - 0x74]
xor r9d, r9d
lea rbx, [r14 + 0x38]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx]
mov r8, r15
xor edx, edx
call fcn.18001ab04
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [r14 + 0x58], r15
test eax, eax
je 0x180029e83
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov r15d, 1
mov r13d, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
cmp byte [rdi + 0x61], r10b
mov ecx, 7
cmovne eax, ecx
mov dword [rsp + 0x38], eax
cmp qword [r12 + 0xa8], r10
jne 0x180029d58
cmp eax, 0xc0a
je 0x180029d58
mov ecx, eax
call fcn.180076bfc
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rsp + 0x38]
mov dword [r12 + 0x38], eax
cmp eax, 0xc0a
je 0x180029d7c
movzx eax, al
sub eax, 0xa
test eax, 0xfffffffb
jne 0x180029d7c
mov rcx, qword [rdi]
call fcn.1800061dc
mov dword [rdi + 0x58], eax
mov r9, qword [r12 + 0xf0]
mov rcx, rbx
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [rsp + 0x38]
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.180008ec8
mov rcx, r12
call fcn.180024e50
cmp dword [rsp + 0x38], 0xc0a
jne 0x180029ddc
mov rcx, rdi
call fcn.1800072f0
movzx eax, byte [rbp - 0x77]
xor r10d, r10d
mov ebx, r15d
test al, al
je 0x18002ec7e
mov edx, eax
mov rcx, rdi
sub edx, r15d
call fcn.180040060
jmp 0x18002e9de
lea rbx, [r14 + 0x38]
mov rax, qword [rbx]
mov sil, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and sil, dl
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp - 0x48], ax
mov eax, edi
and al, r11b
mov byte [rbp - 0x42], r10b
neg al
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r11b
mov byte [rbp - 0x46], cl
imul rcx, rax, 0x38
lea rax, [rbp - 0x74]
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
call fcn.18001ab04
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180029cf6
test sil, sil
je 0x180029e83
cmp byte [rbp - 0x42], r10b
je 0x180029c49
mov eax, dword [rbp - 0x74]
cmp edi, 0x18
jl 0x180029ed7
test eax, eax
js 0x180029e9f
jne 0x180029e96
cmp edi, 0x19
je 0x180029e9f
mov dword [rbp - 0x74], r10d
jmp 0x180029c59
mov dword [rbp - 0x74], r10d
xor edx, edx
mov rcx, qword [rbx]
call fcn.18001b0c0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
je 0x180029c49
cmp eax, 0x65
jne 0x180029cf6
lea r11d, [r10 + 1]
mov dword [rsp + 0x38], r10d
mov dword [rbp - 0x74], r11d
jmp 0x180029c4f
test eax, eax
jg 0x180029ef5
jne 0x180029ee2
cmp edi, 0x16
je 0x180029ef5
mov rcx, qword [rbx]
call fcn.18001af88
mov dword [rbp - 0x74], eax
xor r10d, r10d
jmp 0x180029c49
mov dword [rbp - 0x74], r10d
xor edx, edx
mov rcx, qword [rbx]
call fcn.18001b1ec
jmp 0x180029ead
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x18002e5ad
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021bc0
xor r10d, r10d
jmp 0x180029a62
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne 0x18002e5ad
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [r13 + 0x10], r10d
jle 0x18002a00c
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x48]
mov qword [rbp + 0x48], rax
mov r14, r10
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x58], ax
mov qword [rbp + 0x50], rbx
jmp 0x18002a059
sub r8d, 0x1b
je 0x180029f4f
sub r8d, 1
je 0x180029f4f
sub r8d, 1
je 0x180029f4f
cmp r8d, 1
jne 0x18002e5b1
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne 0x18002a12c
movups xmm0, xmmword [rcx]
mov r8b, sil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x58], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp - 0x48], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp - 0x58]
movups xmmword [rbp - 0x38], xmm0
movsd qword [rbp - 0x28], xmm1
call fcn.180028b90
mov eax, 4
xor r10d, r10d
test byte [rbp - 0x50], al
je 0x180029a62
mov rdi, qword [rbp - 0x58]
jmp 0x18002a138
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18002a027
mov rcx, rbx
call fcn.1800214ec
test eax, eax
jne 0x18002b7f9
mov rcx, qword [rsi + 0x40]
call fcn.1800258fc
mov rdi, rax
mov r14, rax
test rax, rax
je 0x18002b7f4
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.180025954
xor r10d, r10d
lea r11d, [r10 + 1]
mov byte [rdi + 0x12], r10b
mov ebx, r10d
cmp byte [r13], 0x1b
jne 0x18002a092
mov edx, r10d
cmp r10w, word [rdi + 0x10]
jae 0x18002a092
mov rcx, qword [rdi + 8]
add rcx, 8
test byte [rcx], r11b
jne 0x18002a08f
movzx eax, word [rdi + 0x10]
add edx, r11d
add rcx, 0x38
cmp edx, eax
jl 0x18002a079
jmp 0x18002a092
mov ebx, r11d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.18001ab04
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
mov dword [rsp + 0x38], eax
test r14, r14
je 0x18002a0d0
mov rdx, r14
mov rcx, rdi
call fcn.180006d68
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x18002e5c4
mov eax, dword [rbp]
mov ecx, r10d
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp]
test eax, eax
mov byte [rsi + 3], r10b
sete cl
mov dword [rsi + 0x28], r10d
test eax, eax
setne al
mov byte [rsi + 2], al
cmp byte [r13], 0x1d
jne 0x18002a113
mov r11d, 1
test ecx, ecx
jne 0x18002e186
jmp 0x1800294ce
test ebx, ebx
jne 0x180029a62
lea r11d, [rbx + 1]
test ecx, ecx
je 0x18002e186
jmp 0x1800294ce
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r13 + 4]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov r8, rdi
xor edx, edx
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x20], r10d
call fcn.18001ab04
xor r10d, r10d
mov qword [rbx + 0x58], rdi
mov word [rbx + 2], r10w
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x20]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x20], r10d
je 0x18002a1bd
cmp dword [r13 + 8], r10d
jne 0x180029a62
lea ebx, [r10 + 0xb]
mov r9d, 0x159cf
lea rax, [0x1800a33f4]
mov ecx, ebx
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.180008ec8
jmp 0x1800291a2
mov eax, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
test eax, eax
jne 0x18002e5c4
jmp 0x180029142
mov ecx, r8d
sub ecx, 0x20
je 0x18002d47a
sub ecx, 1
je 0x18002a306
sub ecx, 1
je 0x18002a29c
sub ecx, 1
je 0x18002a29c
sub ecx, 1
je 0x18002a2a4
sub ecx, 1
je 0x18002a21b
sub ecx, 1
je 0x18002a21b
sub ecx, 1
je 0x18002a21b
cmp ecx, 1
jne 0x18002e5b1
movsxd rcx, dword [r13 + 4]
lea r9, [rbp - 0x64]
mov rax, qword [r12 + 0x78]
cmp r8b, 0x27
lea r8, [rbp - 0x58]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x48], ax
sbb al, al
mov byte [rbp - 0x46], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x64], r10d
add rcx, r14
mov qword [rbp - 0x50], rcx
mov rcx, rdi
call fcn.180026718
mov r11d, 1
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x64]
test byte [r13], r11b
je 0x18002a27c
neg eax
jmp 0x18002a27e
inc eax
xor r10d, r10d
mov dword [rbp - 0x64], eax
cmp dword [rsp + 0x38], r10d
jne 0x18002ec23
test eax, eax
jg 0x18002e186
jmp 0x1800294dc
add dword [r12 + 0xdc], r11d
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x60]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x60], r11d
cmp byte [rbx], r11b
jne 0x18002a2cb
mov rcx, rbx
call fcn.180031a90
xor r10d, r10d
jmp 0x18002a2df
mov rcx, qword [rbx + 0x38]
call fcn.18001aa4c
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
mov al, byte [rbp - 0x60]
mov r11d, 1
mov byte [rbx + 2], al
cmp dword [rbp - 0x60], r10d
jne 0x18002e186
jmp 0x1800294d8
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x1c]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.18001aa4c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
cmp dword [rbp - 0x1c], r10d
jne 0x180029a62
mov rcx, rbx
call fcn.18001af90
test rax, rax
js 0x18002a368
mov rcx, rax
call fcn.18000a880
movsx ecx, ax
cmp ecx, dword [r13 + 0xc]
jge 0x18002a368
mov r11d, 1
mov eax, r11d
mov dword [rbp - 0x1c], eax
jmp 0x18002a371
mov eax, dword [rbp - 0x1c]
mov r11d, 1
xor r10d, r10d
test eax, eax
jmp 0x18002a2fb
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r14
test byte [rbx + 8], al
je 0x18002a46c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x30]
call fcn.18000f5f4
xor r10d, r10d
test eax, eax
je 0x18002a466
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18002a44b
mov rdx, qword [rbp + 0x30]
call fcn.180021c24
xor r10d, r10d
mov r11d, 1
mov r9d, 4
mov eax, dword [rdi + 0x170]
test eax, eax
jne 0x18002ebe6
mov ebx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x30]
cmp eax, ebx
jb 0x18002e58c
mov rax, qword [rdi + 0x1c0]
test rax, rax
je 0x18002913d
add ebx, dword [rdi + 0x1d0]
mov rcx, qword [rdi + 0x1c8]
mov dword [rsp + 0x3c], ebx
call rax
xor r10d, r10d
test eax, eax
jne 0x18002e8d5
mov eax, dword [rsp + 0x30]
cmp eax, ebx
jae 0x18002a3f9
mov sil, byte [rsp + 0x34]
lea edx, [r10 + 2]
lea r11d, [r10 + 1]
mov ebx, dword [rsp + 0x40]
mov r9d, 4
jmp 0x18002e5b1
mov rax, qword [rbp + 0x30]
mov r9d, 4
mov qword [rcx], rax
mov word [rcx + 8], r9w
lea r11d, [r9 - 3]
jmp 0x18002a3db
mov r11d, 1
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18002a487
mov rcx, rbx
call fcn.1800217a4
xor r10d, r10d
jmp 0x18002a9f3
mov word [rbx + 8], r11w
jmp 0x18002a9f9
cmp r8d, 0x3e
ja 0x18002ad00
je 0x18002ad87
cmp r8d, 0x34
ja 0x18002a93f
je 0x18002aa59
cmp r8d, 0x2f
ja 0x18002a8ab
je 0x18002a886
sub r8d, 0x2a
je 0x18002a80f
sub r8d, 1
je 0x18002a76a
sub r8d, 1
je 0x18002a76a
sub r8d, 1
je 0x18002a51b
cmp r8d, 1
jne 0x18002e5b1
cmp dword [r13 + 4], r10d
je 0x18002a4fe
cmp qword [rdi + 0x2a8], r10
jmp 0x18002a503
cmp qword [r12 + 0x50], r10
jne 0x18002e5b1
cmp qword [rdi + 0x2b0], r10
je 0x18002e186
jmp 0x18002e5b1
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp word [r13 + 2], r10w
je 0x18002a552
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x100]
jmp 0x18002a54d
cmp qword [rax + 0x38], rcx
je 0x18002e562
mov rax, qword [rax + 8]
test rax, rax
jne 0x18002a53f
mov r8, qword [rsp + 0x48]
mov eax, dword [r8 + 0xa4]
cmp dword [r12 + 0x110], eax
jge 0x18002e8b8
mov eax, 0x10
test byte [rdi + 8], al
jne 0x18002a75e
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x18002a5a6
add eax, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r8
movsxd rdx, esi
call fcn.180006fb8
mov rbx, rax
test rax, rax
je 0x18002b7f4
mov rcx, rdi
call fcn.18002181c
sub r13, qword [rsp + 0x50]
lea rax, [0x180023c3c]
mov qword [rdi + 0x30], rax
mov word [rdi + 8], 0x410
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0xc], esi
mov rdi, qword [rsp + 0x48]
mov qword [rbx], r12
mov dword [rbx + 0x60], r14d
mov eax, dword [r15 + 0x10]
mov dword [rbx + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
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 [r15 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
jmp 0x18002a67c
mov word [rax + 8], 0x80
mov qword [rax + 0x28], rdi
add rax, 0x38
cmp rax, rcx
jne 0x18002a66e
mov r11d, 1
xor r10d, r10d
add dword [r12 + 0x110], r11d
lea r14, [rbx + 0x70]
mov rax, qword [r12 + 0x100]
mov r8d, 7
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r12 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r12]
mov qword [rsp + 0x60], r14
mov ecx, dword [rax + 0x74]
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
mov qword [r12 + 0x100], rbx
mov qword [r12 + 0x68], r14
movsxd rcx, dword [rbx + 0x60]
mov dword [r12 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r12 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, r14
mov qword [r12 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.18008d330
mov rsi, qword [r15]
mov qword [r12 + 0x88], rsi
mov eax, dword [r15 + 8]
mov r15, rsi
mov qword [rsp + 0x50], rsi
lea r13, [rsi - 0x18]
mov dword [r12 + 0x90], eax
mov qword [rsp + 0x58], r13
jmp 0x18002a3cc
mov rbx, qword [rdi + 0x10]
mov rdi, r8
jmp 0x18002a68a
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021924
mov ebx, eax
mov r12d, 2
movsxd rax, dword [r13 + 8]
mov edx, r12d
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021924
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd r9, eax
lea rax, [0x180000000]
jne 0x18002a7b5
mov r9b, byte [r9 + rax + 0x971d0]
jmp 0x18002a7bd
mov r9b, byte [r9 + rax + 0x97148]
movsxd rax, dword [r13 + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r14 + 8]
and cx, ax
cmp r9b, r12b
jne 0x18002a7e8
or cx, r11w
lea r9d, [r11 + 3]
jmp 0x18002a7fa
movzx eax, r9b
mov r9d, 4
or cx, r9w
mov qword [rdx + r14], rax
mov ebx, dword [rsp + 0x40]
xor r10d, r10d
mov word [rdx + r14 + 8], cx
mov rdx, r12
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r14
mov eax, 0x10
add rsi, r14
test byte [rbx + 8], al
jne 0x18002a846
mov rcx, rbx
call fcn.180021ce0
xor r10d, r10d
test eax, eax
jne 0x18002b7f4
test edi, edi
je 0x18002a865
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.18000f65c
xor r10d, r10d
test eax, eax
jne 0x180029a62
test edi, edi
js 0x18002e558
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x10]
call fcn.18000f360
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
jmp 0x180029915
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x18002e5a8
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x18002e186
sub r8d, 0x30
je 0x18002a918
sub r8d, 1
je 0x18002a8f1
sub r8d, 1
je 0x18002a8df
cmp r8d, 1
jne 0x18002e5b1
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x18002e186
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
jmp 0x180029af1
movsxd rax, dword [r13 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, r8
jle 0x18002a913
dec rax
mov qword [rcx + r14], rax
test rax, rax
jmp 0x18002a8d4
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x18002e5ad
jle 0x18002e186
dec rax
mov qword [rcx + r14], rax
jmp 0x18002e186
sub r8d, 0x35
je 0x18002aa59
sub r8d, 1
je 0x18002aa59
sub r8d, 1
je 0x18002aa59
sub r8d, 1
je 0x18002aa59
sub r8d, 1
je 0x18002aa59
sub r8d, 1
je 0x18002aa4c
sub r8d, 1
je 0x18002aa14
sub r8d, 1
je 0x18002a99a
cmp r8d, 1
je 0x18002e04e
jmp 0x18002e5b1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x18002df4d
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x18002d152
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x18002a3cf
mov r11d, 1
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r15 + rcx*8]
mov qword [rsp + 0x58], r13
jmp 0x18002a3d5
movsxd rcx, dword [r13 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180019760
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18002e59c
cmp eax, 0x65
jne 0x18002e5c4
mov dword [rsp + 0x38], r10d
jmp 0x180029a62
test ebx, ebx
jne 0x18002e186
jmp 0x18002e5b1
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rsi, r14
add rdi, r14
movzx r14d, word [rsi + 8]
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r14w
test r11b, cl
je 0x18002ab4a
mov eax, 0x80
test byte [r13 + 2], al
je 0x18002aadf
mov al, bl
and al, r14b
test r11b, al
je 0x18002aaca
mov eax, 0x100
test ax, bx
jne 0x18002aaca
mov ecx, r10d
movzx edx, byte [r13]
lea rax, [0x180000000]
test ecx, ecx
jne 0x18002ac66
mov dl, byte [rdx + rax + 0x97fd0]
jmp 0x18002ac6d
movzx eax, bx
not ax
and eax, r11d
lea ecx, [rax*2 - 1]
jmp 0x18002ac49
mov eax, 0x20
test byte [r13 + 2], al
je 0x18002ab27
movsxd rax, dword [r13 + 8]
mov r8d, 0x3e40
mov r14, qword [rsp + 0x60]
mov ebx, r11d
imul rcx, rax, 0x38
mov dword [rsp + 0x40], ebx
movzx eax, word [rcx + r14 + 8]
and ax, r8w
or ax, r11w
mov word [rcx + r14 + 8], ax
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
jmp 0x18002e5ad
mov eax, 0x10
test byte [r13 + 2], al
jne 0x18002e186
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
jmp 0x180029a86
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x18002abc9
test dl, cl
je 0x18002ab90
mov al, r14b
and al, 0x2e
cmp al, dl
jne 0x18002ab78
xor edx, edx
mov rcx, rsi
call fcn.180028abc
movzx ebx, word [rdi + 8]
mov edx, 2
lea r9d, [rdx + 2]
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x18002ab90
xor edx, edx
mov rcx, rdi
call fcn.180028abc
mov r9d, 4
mov al, byte [rdi + 8]
and al, byte [rsi + 8]
test r9b, al
je 0x18002ac31
mov rax, qword [rsi]
cmp qword [rdi], rax
jle 0x18002abb4
mov ecx, 1
xor r10d, r10d
jmp 0x18002aaaa
jge 0x18002abc1
or ecx, 0xffffffff
xor r10d, r10d
jmp 0x18002ac51
xor r10d, r10d
jmp 0x18002aaa7
cmp al, 0x42
jne 0x18002ac31
mov r12b, byte [rsp + 0x34]
test dl, r14b
jne 0x18002ac08
test r14b, 0x2c
je 0x18002ac08
mov r8b, r11b
mov dl, r12b
mov rcx, rsi
call fcn.180021550
movzx eax, r14w
mov edx, 2
xor ax, word [rsi + 8]
mov ecx, 0x3e40
and ax, cx
xor r14w, ax
lea r11d, [rdx - 1]
test dl, bl
jne 0x18002ac31
test bl, 0x2c
je 0x18002ac31
mov r8b, r11b
mov dl, r12b
mov rcx, rdi
call fcn.180021550
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r13 + 0x10]
mov rdx, rsi
mov rcx, rdi
call fcn.180025cc8
xor r10d, r10d
mov ecx, eax
lea r9d, [r10 + 4]
test ecx, ecx
jns 0x18002aaaa
movzx eax, byte [r13]
lea rdx, [0x180000000]
mov dl, byte [rax + rdx + 0x9c4a4]
jmp 0x18002ac6d
mov dl, byte [rdx + rax + 0x970e4]
mov word [rsi + 8], r14w
mov eax, 0x20
mov word [rdi + 8], bx
movzx r8d, dl
test byte [r13 + 2], al
je 0x18002acde
movsxd rax, dword [r13 + 8]
mov ebx, ecx
mov r14, qword [rsp + 0x60]
imul rdx, rax, 0x38
mov eax, 8
mov dword [rsp + 0x40], ecx
test byte [r13 + 2], al
je 0x18002acb3
cmp byte [r13], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x18002accf
movzx eax, word [rdx + r14 + 8]
mov ecx, 0x3e40
and ax, cx
mov qword [rdx + r14], r8
or ax, r9w
mov word [rdx + r14 + 8], ax
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
jmp 0x18002e5a2
mov r11d, 1
test dl, dl
jne 0x18002e186
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov sil, byte [rsp + 0x34]
jmp 0x18002905a
cmp r8d, 0x49
ja 0x18002b0c2
je 0x18002b042
cmp r8d, 0x44
ja 0x18002afe6
je 0x18002af19
sub r8d, 0x3f
je 0x18002ad87
sub r8d, 1
je 0x18002adfc
sub r8d, 1
je 0x18002adfc
sub r8d, 1
je 0x18002ad79
cmp r8d, 1
jne 0x18002e5b1
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
mov word [rdx + r14 + 8], 0x80
lea r13, [r15 + rcx*8]
jmp 0x18002e5a8
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
jmp 0x18002ad64
movzx ebx, word [r13 + 2]
mov rcx, rdi
lea rdx, [rbx*8 + 0x30]
call fcn.180007028
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x18002b7f9
mov qword [rax], r10
lea r11d, [r10 + 1]
mov rax, qword [r13 + 0x10]
mov rcx, r13
mov qword [r8 + 8], rax
sub rcx, r15
mov qword [r8 + 0x18], r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r10d
sar rdx, 2
mov byte [r8 + 0x29], bl
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r8 + 0x20], edx
add byte [r13], al
mov byte [r13 + 1], 0xf0
mov qword [r13 + 0x10], r8
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x18002ae53
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x18002ae53
lea r8, [rdx + 6]
mov esi, 8
lea r8, [rbx + r8*8]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r8], rcx
sub r8, rsi
sub rdx, r11
jns 0x18002ae30
mov sil, byte [rsp + 0x34]
movzx eax, word [rdi + 8]
lea r8, [rbx + 0x30]
mov ecx, 0x3e40
and ax, cx
mov rcx, rbx
or ax, r11w
mov word [rdi + 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 0x18002aed7
jle 0x18002aeaa
lea edx, [r10 + 1]
mov rcx, rdi
call fcn.1800223e4
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
mov r9d, dword [r13 + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x48]
call fcn.180025364
mov eax, dword [rsp + 0x38]
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test eax, eax
jne 0x18002d152
test byte [rdi + 8], 0x12
je 0x18002b2e8
mov eax, 2
test byte [rdi + 8], al
je 0x18002aefc
cmp byte [rdi + 0xa], sil
je 0x18002aefc
mov dl, sil
mov rcx, rdi
call fcn.180009178
mov rcx, rdi
call fcn.180021dc4
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x18002ebb1
jmp 0x180029142
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x18002e5ad
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
imul rcx
mov ecx, dword [r13 + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x18002e8ee
mov rdx, qword [r12 + 0x100]
test rdx, rdx
je 0x18002e8ee
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r12 + 0x110]
mov qword [r12 + 0x100], rax
mov eax, dword [r12 + 0x3c]
add dword [rdi + 0x78], eax
mov dword [rdi + 0x74], eax
call fcn.1800244fc
mov r9d, 4
lea r11d, [r9 - 3]
cmp dword [r13 + 8], r9d
jne 0x18002afb9
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r11d
mov r15, qword [r12 + 0x88]
xor r10d, r10d
mov r14, qword [r12 + 0x68]
mov ebx, dword [rsp + 0x40]
cdqe
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r13, [r15 + rcx*8]
jmp 0x18002e5a8
sub r8d, 0x45
je 0x18002af2c
sub r8d, 1
je 0x18002b028
sub r8d, 1
je 0x18002b00b
cmp r8d, 1
je 0x18002cbd9
jmp 0x18002e5b1
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rdx, rax
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180029919
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, rax
movsxd rax, dword [r13 + 4]
mov qword [rcx], rax
jmp 0x180029919
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov edi, dword [r13 + 0xc]
mov rcx, rax
mov eax, dword [r13 + 4]
mov r11d, 1
mov edx, dword [r13 + 8]
neg eax
mov eax, 0x100
sbb si, si
lea rbx, [rcx + 8]
and si, ax
xor r10d, r10d
add si, r11w
mov dword [rcx + 0xc], r10d
sub edi, edx
mov word [rbx], si
test edi, edi
jle 0x18002b0b8
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x18002b0aa
lea rcx, [rbx - 8]
call fcn.1800217a4
xor r10d, r10d
mov eax, 0x2400
lea r11d, [r10 + 1]
sub edi, r11d
mov word [rbx], si
mov dword [rbx + 4], r10d
test edi, edi
jg 0x18002b08c
mov rdi, qword [rsp + 0x48]
jmp 0x1800294d3
sub r8d, 0x4a
je 0x18002b323
sub r8d, 1
je 0x18002b2f2
sub r8d, 1
je 0x18002b27a
sub r8d, 1
je 0x18002b21a
sub r8d, 1
je 0x18002b1af
sub r8d, 1
je 0x18002b189
sub r8d, 1
je 0x18002b151
sub r8d, 1
je 0x18002e9e6
cmp r8d, 1
jne 0x18002e5b1
cmp dword [r13 + 4], r10d
je 0x18002e5b1
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18002b144
xor edx, edx
call fcn.180021c24
jmp 0x180029919
mov qword [rcx], r10
mov word [rcx + 8], r9w
jmp 0x18002e5ad
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
mov ecx, 0x2400
test word [r8 + 8], cx
je 0x18002b17c
mov rdx, rax
mov rcx, r8
jmp 0x18002b13a
mov qword [r8], rax
mov word [r8 + 8], r9w
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
mov r8d, 0x1000
call fcn.180021e28
jmp 0x180029919
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.180021e28
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18002b1fa
mov rcx, rbx
call fcn.180021494
xor r10d, r10d
test eax, eax
jne 0x18002b7f4
jmp 0x18002b1fd
xor r10d, r10d
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x18002b0b8
add rbx, 0x38
add rdi, 0x38
jmp 0x18002b1c9
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
call fcn.180021eec
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18002b25f
mov rcx, rbx
call fcn.180021494
xor r10d, r10d
test eax, eax
jne 0x18002b7f4
jmp 0x18002b262
xor r10d, r10d
add rdi, 0x38
add rbx, 0x38
mov r11d, 1
sub esi, r11d
jne 0x18002b234
jmp 0x18002b0b8
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.180021dc4
xor r10d, r10d
test eax, eax
jne 0x18002ebac
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r14
test word [rbx + 8], ax
je 0x18002b2bf
mov rcx, rbx
call fcn.1800217a4
xor r10d, r10d
movups xmm0, xmmword [rdi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 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
mov rdi, qword [rsp + 0x48]
jmp 0x180029142
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov r8d, dword [r13 + 4]
mov rbx, rax
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.180021f48
mov byte [rbx + 0xa], sil
jmp 0x180029915
movsxd rax, dword [r13 + 4]
mov edx, 0xff41
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 8]
and ax, dx
or ax, r11w
mov word [rcx + r14 + 8], ax
jmp 0x18002e5a8
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800219b8
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x180029915
mov eax, 0x80
cmp r8d, eax
ja 0x18002d2c9
je 0x18002d1e1
cmp r8d, 0x6a
ja 0x18002c398
je 0x18002c0d6
cmp r8d, 0x60
ja 0x18002c092
je 0x18002c007
cmp r8d, 0x5b
ja 0x18002bb51
je 0x18002babc
sub r8d, 0x54
je 0x18002ba9d
sub r8d, 1
je 0x18002ba59
sub r8d, edx
je 0x18002b92d
sub r8d, 1
je 0x18002b8fa
cmp r8d, edx
jne 0x18002e5ad
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x68]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x80], rcx
lea rcx, [rbp - 0x80]
mov eax, dword [r13 + 8]
mov dword [rbp - 0x68], eax
call fcn.1800255f0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
movsxd rax, dword [r13 + 0xc]
mov r10, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
imul r14, rax, 0x38
mov r12, qword [r10 + 0x60]
mov eax, dword [rdi + 0x30]
add r14, r8
mov qword [rbp - 8], r14
mov qword [rsp + 0x70], r12
cmp dword [r10 + 0x28], eax
je 0x18002b581
xor eax, eax
cmp byte [r10 + 2], al
je 0x18002b492
cmp byte [r10], 3
jne 0x18002b47b
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r8 + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r8 + 0x10]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp - 0x80]
jmp 0x18002b4d7
mov rcx, r14
call fcn.180021bc0
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x180029919
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.18001a254
mov ecx, eax
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rbp - 0x80]
add rdx, 0x74
call fcn.18001a73c
mov rcx, rax
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x68], rcx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbp - 0x80]
mov eax, dword [rax + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x18002ebca
mov eax, dword [rdi + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x18002b4fc
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, 1
jmp 0x18002b504
mov rdx, r12
call fcn.18000a574
movzx ecx, al
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rbp - 0x80]
mov word [rax + 0x52], cx
mov r10, qword [rbp - 0x80]
mov eax, dword [r12]
cmp dword [r10 + 0x74], eax
jae 0x18002b57b
mov qword [r10 + 0x68], rcx
xor r10d, r10d
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x74], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x18002b54d
mov r10, qword [rbp - 0x80]
cmp eax, dword [r10 + 0x70]
jbe 0x18002b581
xor r10d, r10d
mov r11d, 1
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x18002eb0f
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r15 + rax*8]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x1800294d8
mov r13, qword [r10 + 0x68]
jmp 0x18002b5ef
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rbp - 0x68]
cmp eax, r8d
jg 0x18002b768
mov eax, dword [r12]
cmp dword [r10 + 0x48], eax
jae 0x18002b727
mov r13, qword [r10 + 0x68]
xor eax, eax
test r13, r13
jne 0x18002b5ef
xorps xmm0, xmm0
mov qword [rbp + 0x90], rax
movups xmmword [rbp + 0x60], xmm0
lea r9, [rbp + 0x60]
xor edx, edx
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
mov r8d, dword [r12]
mov rcx, qword [r10 + 0x38]
call fcn.1800222dc
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002ec34
mov r13, qword [rbp + 0x70]
mov r10, qword [rbp - 0x80]
movzx r15d, word [r10 + 0x52]
mov r11d, 1
mov ebx, dword [r10 + 0x48]
mov esi, r15d
add rbx, r13
mov edi, dword [r12 + r15*4]
lea r14d, [r11 + 0x7f]
mov r12d, dword [r12]
add r12, r13
movzx eax, byte [rbx]
mov dword [rsp + 0x68], eax
mov dword [r10 + rsi*4 + 0x78], eax
mov ecx, dword [rsp + 0x68]
cmp ecx, r14d
jae 0x18002b635
add rbx, r11
call fcn.180025654
movzx eax, al
jmp 0x18002b65f
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.18000a574
mov rcx, qword [rbp - 0x80]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x68]
mov dword [rcx + rsi*4 + 0x78], eax
mov ecx, dword [rsp + 0x68]
call fcn.180025638
mov eax, eax
mov rdx, qword [rsp + 0x70]
add rdi, rax
mov r11d, 1
add r15d, r11d
movsxd rsi, r15d
mov dword [rdx + rsi*4], edi
cmp r15d, dword [rbp - 0x68]
jg 0x18002b687
cmp rbx, r12
jae 0x18002b687
mov r10, qword [rbp - 0x80]
jmp 0x18002b613
mov rcx, qword [rbp - 0x80]
mov r14, qword [rbp - 8]
cmp rbx, r12
jb 0x18002b69e
ja 0x18002b6a6
mov eax, dword [rcx + 0x70]
cmp rdi, rax
jne 0x18002b6a6
mov eax, dword [rcx + 0x70]
cmp rdi, rax
jbe 0x18002b6b4
xor r10d, r10d
cmp dword [rdx], r10d
jne 0x18002b6fa
mov r15d, r10d
mov rbx, r12
mov word [rcx + 0x52], r15w
sub ebx, r13d
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ebx
xor eax, eax
mov r10, qword [rbp - 0x80]
cmp qword [r10 + 0x68], rax
jne 0x18002b6dc
lea rcx, [rbp + 0x60]
call fcn.18002181c
mov r10, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x68]
mov edx, dword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
jmp 0x18002b72f
cmp qword [rcx + 0x68], r10
jne 0x18002b718
lea rcx, [rbp + 0x60]
call fcn.18002181c
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
jmp 0x18002b54a
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
jmp 0x18002b553
xor eax, eax
mov edx, eax
mov dword [rsp + 0x68], eax
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x18002b771
cmp byte [r13 + 1], 0xf5
mov rcx, r14
jne 0x18002b761
mov rdx, qword [r13 + 0x10]
mov r8d, 0x800
call fcn.180021e28
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x180029915
call fcn.180021bc0
jmp 0x18002b752
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rsp + 0x68], edx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x18002b791
mov rcx, r14
call fcn.180021bc0
mov r10, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x68]
mov edx, dword [rsp + 0x68]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [r12 + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x18002b86e
movsxd rax, r8d
mov edi, dword [r12 + rax*4]
add rdi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x18002b7c3
mov rcx, rdi
mov r8, r14
call fcn.1800256c4
jmp 0x18002b752
lea ebx, [rdx - 0xc]
mov byte [r14 + 0xa], sil
shr ebx, 1
mov dword [r14 + 0xc], ebx
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x18002b81f
xor r8d, r8d
mov word [r14 + 8], 1
mov rcx, r14
call fcn.1800212bc
test eax, eax
je 0x18002b827
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x3c]
mov rcx, rdi
call fcn.1800072f0
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.18002294c
mov eax, 7
jmp 0x18002eb73
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, rdi
call fcn.18008d6f0
mov rax, qword [r14 + 0x10]
lea rcx, [0x180000000]
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 + 0x68]
and rax, r11
movzx eax, word [rcx + rax*2 + 0x97578]
mov word [r14 + 8], ax
jmp 0x18002b56c
mov byte [r14 + 0xa], sil
test byte [r13 + 2], 0xc0
mov edx, dword [rsp + 0x68]
je 0x18002b896
cmp edx, 0xc
jb 0x18002b88b
mov eax, 1
test al, dl
je 0x18002b8a5
mov eax, 0x80
test byte [r13 + 2], al
jne 0x18002b8a5
mov ecx, edx
call fcn.180025638
test eax, eax
jne 0x18002b8b1
mov edx, dword [rsp + 0x68]
lea rcx, [0x1800aef30]
jmp 0x18002b7b9
movsxd rdx, dword [rbp - 0x68]
mov r9, r14
mov rcx, qword [rbp - 0x80]
mov r8d, eax
mov edx, dword [r12 + rdx*4]
mov rcx, qword [rcx + 0x38]
call fcn.1800222dc
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180029cf6
mov edx, dword [rsp + 0x68]
mov r8, r14
mov rcx, qword [r14 + 0x10]
call fcn.1800256c4
mov ecx, 0xefff
and word [r14 + 8], cx
jmp 0x18002b752
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021924
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021c58
jmp 0x180029919
test byte [r13 + 2], r11b
jne 0x18002b938
mov rdi, r10
jmp 0x18002b93f
mov rdi, qword [r13 - 8]
add rdi, r9
mov rax, qword [rsp + 0x58]
mov esi, r10d
mov r13, qword [r13 + 0x10]
mov rbx, r10
mov r8d, dword [rax + 4]
mov ecx, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov dword [rbp - 0x70], r8d
mov dword [rbp - 8], ecx
mov qword [rbp + 0x28], rax
test rax, rax
jle 0x18002e54e
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x18002b97b
mov edx, dword [rdi + rbx*4]
jmp 0x18002b97d
mov edx, esi
mov rax, qword [r13 + 0x18]
movzx eax, byte [rax + rbx]
and eax, r11d
mov dword [rsp + 0x70], eax
lea eax, [rdx + rcx]
movsxd rcx, eax
lea eax, [rdx + r8]
mov r8, qword [r15]
imul r12, rcx, 0x38
movsxd rcx, eax
imul rax, rcx, 0x38
add r12, r14
add r14, rax
mov rdx, r12
mov rcx, r14
call fcn.180025cc8
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r9d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x18002b9fe
mov r8d, dword [rbp - 0x70]
add esi, r11d
mov ecx, dword [rbp - 8]
add rbx, r11
mov r14, qword [rsp + 0x60]
add r15, 8
cmp rbx, qword [rbp + 0x28]
jl 0x18002b971
mov r13, qword [rsp + 0x58]
mov ebx, eax
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
jmp 0x1800294dc
mov rax, qword [r13 + 0x18]
mov edx, 2
test byte [rbx + rax], dl
je 0x18002ba21
test byte [r14 + 8], r11b
jne 0x18002ba19
test byte [r12 + 8], r11b
je 0x18002ba21
neg r9d
mov dword [rsp + 0x40], r9d
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x70], r10d
je 0x18002a43c
neg r9d
mov dword [rsp + 0x40], r9d
mov ebx, r9d
jmp 0x18002a440
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x18002ba7d
mov rcx, rbx
call fcn.1800214ec
mov dword [rsp + 0x38], eax
jmp 0x18002ba82
mov dword [rsp + 0x38], r10d
mov dl, byte [r13 + 8]
mov r8b, sil
mov rcx, rbx
call fcn.180021aec
mov eax, dword [rsp + 0x38]
xor r10d, r10d
jmp 0x18002a1c6
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
je 0x18002e5ad
call fcn.1800219e8
jmp 0x180029919
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r14
mov r8b, sil
mov dl, al
mov rcx, rbx
call fcn.180028b90
cmp byte [rdi], 0x45
mov r9d, 4
jne 0x18002bb32
movzx ecx, word [rbx + 8]
test r9b, cl
je 0x18002bb32
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x18002bb1b
and cx, ax
or cx, 0x20
jmp 0x18002bb2e
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
mov r11d, 1
xor r10d, r10d
add rdi, r11
mov al, byte [rdi]
test al, al
je 0x18002e56e
add rbx, 0x38
jmp 0x18002bacd
sub r8d, 0x5c
je 0x18002bc72
sub r8d, 1
je 0x18002bc34
sub r8d, 1
je 0x18002bbff
cmp r8d, 1
jne 0x18002e5ad
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18001f654
mov r11d, 1
mov dword [rsp + 0x38], eax
cmp dword [r13 + 8], r11d
jne 0x18002bbb6
mov rcx, qword [rbx + 0x18]
mov eax, dword [r13 + 0xc]
mov dword [rcx], eax
or dword [rdi + 0x2c], r11d
jmp 0x18002bbcc
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x18002bbcc
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r11d
jne 0x18002bbeb
xor edx, edx
mov rcx, rdi
call fcn.1800267d8
and dword [r12 + 0xc8], 0xfffffffc
mov r11d, 1
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x18002e5c4
jmp 0x1800294d8
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0xc]
mov rcx, qword [rdi + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001f5c4
mov rdx, r13
mov rcx, r12
call fcn.180028d04
movsxd rcx, dword [rbp + 0xc]
mov qword [rax], rcx
jmp 0x180029919
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x38]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x38], r10
call fcn.18001f6f4
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [rbp + 0x38]
jmp 0x18002bc2c
movsxd rax, dword [r13 + 4]
mov r12, r10
mov rdi, qword [r13 + 0x10]
mov r15d, r10d
mov r9, qword [rsp + 0x78]
mov rsi, r10
imul r14, rax, 0x38
mov eax, dword [r13 + 8]
add r14, qword [rsp + 0x60]
sub eax, r11d
mov r9b, byte [r9 + 0xc3]
cdqe
imul rax, rax, 0x38
mov qword [rsp + 0x70], r10
add rax, r14
mov qword [rbp - 8], r14
mov qword [rbp - 0x70], rax
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
mov byte [rbp - 0x78], r9b
add r13, qword [rsp + 0x60]
mov qword [rbp + 0x28], r13
test rdi, rdi
je 0x18002bd2f
mov sil, byte [rsp + 0x34]
lea rbx, [r14 + 8]
mov r14d, 0xfffb
mov r13d, 0x20
mov dl, byte [rdi]
lea rcx, [rbx - 8]
mov r8b, sil
call fcn.180028b90
cmp byte [rdi], 0x45
jne 0x18002bd09
movzx eax, word [rbx]
test al, 4
je 0x18002bd09
and ax, r14w
or ax, r13w
mov word [rbx], ax
mov r11d, 1
add rbx, 0x38
add rdi, r11
xor r10d, r10d
cmp byte [rdi], r10b
jne 0x18002bce4
mov r13, qword [rbp + 0x28]
mov r9b, byte [rbp - 0x78]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rbp - 8]
mov rdi, qword [rbp - 0x70]
add rdi, 0x24
movzx ecx, word [rdi - 0x1c]
test r11b, cl
je 0x18002bd58
add r15d, r11d
mov eax, 0x4000
and cx, ax
neg cx
sbb ebx, ebx
and ebx, 0xa
jmp 0x18002bec3
test cl, 0x24
je 0x18002be3c
mov r8, qword [rdi - 0x24]
mov rdx, r8
test r8, r8
jns 0x18002bd70
not rdx
add r15d, r11d
cmp rdx, 0x7f
ja 0x18002bda1
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x18002bd96
mov eax, 4
cmp r9b, al
jb 0x18002bd96
lea ebx, [rdx + 8]
jmp 0x18002bec3
add r12, r11
mov ebx, r11d
jmp 0x18002bec3
cmp rdx, 0x7fff
ja 0x18002bdb9
mov eax, 2
add r12, rax
mov ebx, eax
jmp 0x18002bec3
cmp rdx, 0x7fffff
ja 0x18002bdd0
add r12, 3
mov ebx, 3
jmp 0x18002bec3
cmp rdx, 0x7fffffff
ja 0x18002bde0
mov eax, 4
jmp 0x18002bdaf
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x18002bdfd
add r12, 6
mov ebx, 5
jmp 0x18002bec3
mov edx, 8
add r12, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x18002be32
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
and cx, ax
or cx, dx
mov word [rdi - 0x1c], cx
movsd qword [rdi - 0x24], xmm0
mov ebx, 7
jmp 0x18002bec3
mov ebx, 6
jmp 0x18002bec3
mov eax, 8
test al, cl
je 0x18002be4d
add r15d, r11d
add r12, rax
jmp 0x18002be28
mov r14d, dword [rdi - 0x18]
mov eax, ecx
shr eax, 1
and eax, r11d
bt cx, 0xe
lea ebx, [r14 + 6]
lea ebx, [rax + rbx*2]
jae 0x18002bea3
lea rsi, [rdi - 0x24]
movsxd rax, dword [rsi]
lea ebx, [rbx + rax*2]
test r12, r12
je 0x18002be96
mov rcx, rsi
call fcn.1800214ec
xor r10d, r10d
test eax, eax
jne 0x18002b7ef
add r14d, dword [rsi]
lea r11d, [r10 + 1]
mov rsi, qword [rsp + 0x70]
jmp 0x18002bea3
mov rsi, qword [rsp + 0x70]
add rsi, rax
mov qword [rsp + 0x70], rsi
mov eax, r14d
mov ecx, r11d
add r12, rax
mov eax, ebx
jmp 0x18002beb3
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x18002beb0
mov r14, qword [rbp - 8]
add r15d, ecx
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, r14
je 0x18002bede
mov r9b, byte [rbp - 0x78]
sub rdi, 0x38
jmp 0x18002bd37
cmp r15d, 0x7e
jg 0x18002bee9
add r15d, r11d
jmp 0x18002bf05
movsxd rcx, r15d
call fcn.18000a5e4
add r15d, eax
mov ebx, eax
movsxd rcx, r15d
call fcn.18000a5e4
cmp ebx, eax
jge 0x18002bf05
inc r15d
movsxd rax, dword [r13 + 0x20]
movsxd rdi, r15d
lea rbx, [rdi + r12]
lea rcx, [rbx + rsi]
cmp rcx, rax
jg 0x18002bf23
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
jmp 0x18002bf47
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x7c]
cmp rcx, rax
jg 0x18002eba7
mov edx, ebx
mov rcx, r13
call fcn.180021418
test eax, eax
jne 0x18002b7ef
mov dword [r13 + 0xc], ebx
mov word [r13 + 8], 0x10
test rsi, rsi
je 0x18002bf62
mov dword [r13], esi
mov word [r13 + 8], 0x4010
mov rbx, qword [r13 + 0x10]
mov edx, 0x80
lea rsi, [rbx + rdi]
cmp r15d, edx
jae 0x18002bf7e
lea ecx, [rdx - 0x7f]
mov byte [rbx], r15b
mov eax, ecx
jmp 0x18002bf91
movsxd rdx, r15d
mov rcx, rbx
call fcn.18000a384
mov ecx, 1
lea edx, [rcx + 0x7f]
movzx eax, al
add rbx, rax
mov edi, dword [r14 + 0x24]
cmp edi, edx
jae 0x18002bfa6
mov byte [rbx], dil
mov eax, ecx
jmp 0x18002bfb1
mov rdx, rdi
mov rcx, rbx
call fcn.18000a384
movzx eax, al
mov r8d, edi
mov rdx, r14
mov rcx, rsi
add rbx, rax
call fcn.180025664
mov eax, eax
mov ecx, 1
add rsi, rax
add r14, 0x38
lea edx, [rcx + 0x7f]
cmp r14, qword [rbp - 0x70]
jbe 0x18002bf97
mov r13, qword [rsp + 0x58]
lea edx, [rcx + 1]
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
mov r14, qword [rsp + 0x60]
mov r11d, ecx
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
jmp 0x180029151
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x18002c026
mov eax, dword [r13 + 8]
cmp dword [rbx + 0x4c], eax
je 0x18002c379
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r11b
je 0x18002eb23
movsxd r12, dword [r13 + 0xc]
mov esi, r10d
movsxd r15, dword [r13 + 8]
mov rax, r12
shl rax, 5
mov r14, r10
add rax, qword [rdi + 0x20]
mov r13, qword [rax + 8]
cmp r8b, 0x62
jne 0x18002c2a6
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
movzx edi, word [rcx + 2]
mov cl, byte [rax + 0x70]
and edi, 8
mov rax, qword [rsp + 0x78]
or edi, r9d
cmp cl, byte [rax + 0xc3]
jae 0x18002c2a9
mov byte [rax + 0xc3], cl
jmp 0x18002c2a9
mov ecx, r8d
sub ecx, 0x61
je 0x18002c026
sub ecx, 1
je 0x18002c026
sub ecx, 1
je 0x18002c181
sub ecx, 1
je 0x18002c181
sub ecx, 1
je 0x18002c181
sub ecx, 1
je 0x18002c181
sub ecx, 1
je 0x18002c0d6
sub ecx, 1
je 0x18002c0d6
cmp ecx, 1
jne 0x18002e5ad
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.180028cc4
movsxd rcx, dword [r13 + 8]
movzx ebx, ax
imul rsi, rcx, 0x38
add rsi, r14
mov rcx, rsi
call fcn.180028cc4
movsxd rcx, dword [r13 + 0xc]
and al, bl
imul r14, rcx, 0x38
movzx ecx, word [rsi + 8]
mov r9d, 4
add r14, qword [rsp + 0x60]
or cx, word [rdi + 8]
test r9b, al
je 0x18002c7a8
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp - 0x10], rdx
sub ecx, 0x67
je 0x18002c74a
sub ecx, 1
je 0x18002c734
sub ecx, 1
je 0x18002c726
xor r10d, r10d
cmp ecx, 1
je 0x18002c6fa
test r8, r8
je 0x18002c8c8
cmp r8, 0xffffffffffffffff
lea eax, [r9 - 3]
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp - 0x10], rdx
jmp 0x18002c78b
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r14
imul rsi, rax, 0x38
add rcx, r14
add rsi, r14
mov al, byte [rcx + 8]
or al, byte [rdi + 8]
test r11b, al
je 0x18002c1d9
mov eax, 0x2400
test word [rsi + 8], ax
je 0x18002c1cf
mov rcx, rsi
call fcn.1800217a4
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
jmp 0x180029919
mov word [rsi + 8], r11w
jmp 0x18002ab18
call fcn.1800218a0
mov rcx, rdi
mov rbx, rax
call fcn.1800218a0
mov r8b, byte [r13]
mov rdx, rax
cmp r8b, 0x63
jne 0x18002c1fb
and rbx, rax
jmp 0x18002c204
cmp r8b, 0x64
jne 0x18002c209
or rbx, rdx
xor r10d, r10d
jmp 0x18002c27f
xor r10d, r10d
test rdx, rdx
je 0x18002c27f
jns 0x18002c233
mov rcx, rdx
mov eax, 0xcb
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 0x18002c24f
test rbx, rbx
jns 0x18002c24a
cmp r8b, 0x65
je 0x18002c24a
or rbx, 0xffffffffffffffff
jmp 0x18002c27f
mov rbx, r10
jmp 0x18002c27f
mov rcx, rdx
cmp r8b, 0x65
jne 0x18002c260
shl rbx, cl
mov r8, rbx
jmp 0x18002c27c
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18002c27c
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rsi + 8]
mov ecx, 0x3e40
mov rdi, qword [rsp + 0x48]
and ax, cx
mov r9d, 4
mov qword [rsi], rbx
or ax, r9w
mov word [rsi + 8], ax
jmp 0x18002985e
mov edi, r10d
mov rcx, qword [rsp + 0x58]
mov eax, 0x10
test byte [rcx + 2], al
je 0x18002c2d4
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1800219b8
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf7
jne 0x18002c2e6
mov r14, qword [rcx + 0x10]
movzx esi, word [r14 + 8]
jmp 0x18002c2ed
cmp al, 0xfd
jne 0x18002c2ed
mov esi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov r12, qword [rsp + 0x78]
mov r8d, esi
mov rcx, r12
mov byte [rsp + 0x20], r10b
call fcn.180028990
mov rbx, rax
test rax, rax
je 0x18002b7f4
mov rcx, qword [rbx + 0x38]
mov r9, r14
mov byte [rax + 2], 1
mov r8d, edi
mov qword [rsp + 0x20], rcx
mov eax, 4
or dword [rbx + 8], eax
mov rcx, r13
mov edx, r15d
mov dword [rbx + 0x4c], r15d
call fcn.180019ffc
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
mov qword [rbx + 0x40], r14
cmp byte [r13 + 1], 0xf7
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
lea edx, [r10 + 2]
lea r11d, [r10 + 1]
lea r9d, [r10 + 4]
mov rax, qword [rbx + 0x38]
mov cl, byte [r13 + 2]
and cl, 3
mov byte [rax + 3], cl
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002e5c4
jmp 0x180029a86
cmp r8d, 0x75
ja 0x18002cc6e
je 0x18002cc44
cmp r8d, 0x70
ja 0x18002ca58
je 0x18002c3e2
sub r8d, 0x6b
je 0x18002c0d6
sub r8d, 1
je 0x18002c521
sub r8d, 1
je 0x18002c492
sub r8d, 1
je 0x18002c42c
cmp r8d, 1
jne 0x18002e5ad
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x18002c8fb
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
test rcx, rcx
je 0x18002ca05
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.18001f2fc
xor r10d, r10d
mov dword [rsp + 0x38], eax
lea r11d, [r10 + 1]
lea r9d, [r10 + 4]
jmp 0x18002ca09
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
mov eax, 0x2400
add rbx, r14
test word [rbx + 8], ax
je 0x18002c466
mov rcx, rbx
call fcn.1800217a4
xor r10d, r10d
lea edx, [r10 + 2]
lea r11d, [r10 + 1]
lea r9d, [r10 + 4]
jmp 0x18002c46b
mov word [rbx + 8], r11w
test byte [rdi + 8], r11b
jne 0x18002e2de
mov rcx, rdi
mov word [rbx + 8], r9w
call fcn.1800218a0
not rax
mov qword [rbx], rax
mov rdi, qword [rsp + 0x48]
jmp 0x180029915
movsxd rcx, dword [r13 + 8]
or r9d, 0xffffffff
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov byte [rsp + 0x20], r10b
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x50]
call fcn.180028990
mov r10, rax
test rax, rax
je 0x18002b7f9
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.180019ffc
mov dword [rsp + 0x38], eax
jmp 0x180029915
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add r15, r14
imul rsi, rax, 0x38
add rbx, r14
add rsi, r14
movzx r14d, word [r15 + 8]
mov al, r14b
or al, byte [rbx + 8]
test r11b, al
je 0x18002c569
mov rcx, rsi
call fcn.180021bc0
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
jmp 0x18002a87c
test r14b, 0x12
jne 0x18002c59f
mov r13b, byte [rsp + 0x34]
xor r8d, r8d
mov dl, r13b
mov rcx, r15
call fcn.180021550
test eax, eax
jne 0x18002b7f9
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x18002c5d2
mov eax, 0x4000
test ax, r14w
je 0x18002c5cd
mov rcx, r15
call fcn.1800214ec
test eax, eax
jne 0x18002b7f9
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
mov r13b, byte [rsp + 0x34]
movzx edi, word [rbx + 8]
test dil, 0x12
jne 0x18002c602
xor r8d, r8d
mov dl, r13b
mov rcx, rbx
call fcn.180021550
xor edx, edx
test eax, eax
jne 0x18002b7f4
movzx edi, word [rbx + 8]
mov eax, 0xfffd
and di, ax
jmp 0x18002c613
test ax, di
je 0x18002c611
mov rcx, rbx
call fcn.1800214ec
jmp 0x18002c5ea
xor edx, edx
mov rax, qword [rsp + 0x48]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rbx + 0xc]
movsxd r12, r13d
movsxd rax, dword [rax + 0x7c]
mov dword [rsp + 0x70], r13d
cmp r12, rax
jg 0x18002eba7
mov r8d, edx
cmp rsi, rbx
lea edx, [r13 + 3]
mov rcx, rsi
sete r8b
call fcn.1800212bc
test eax, eax
jne 0x18002b7ef
movzx eax, word [rsi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [rsi + 8], ax
cmp rsi, rbx
je 0x18002c681
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsi + 0x10]
call fcn.18008d6f0
mov word [rbx + 8], di
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [rsi + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call fcn.18008d6f0
xor r10d, r10d
mov word [r15 + 8], r14w
mov rax, qword [rsi + 0x10]
mov edx, r10d
lea r11d, [r10 + 1]
mov byte [r12 + rax], r10b
lea r13d, [r10 + 2]
mov rcx, qword [rsi + 0x10]
add rcx, rdx
add rdx, r11
mov byte [rcx + r12 + 1], r10b
cmp rdx, r13
jl 0x18002c6b1
mov r13d, dword [rsp + 0x70]
mov eax, 0x200
or word [rsi + 8], ax
mov al, byte [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov dword [rsi + 0xc], r13d
mov r13, qword [rsp + 0x58]
mov byte [rsi + 0xa], al
mov sil, al
jmp 0x1800294d8
test r8, r8
je 0x18002c8c8
cmp r8, 0xffffffffffffffff
jne 0x18002c71c
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18002c7b7
mov rax, rdx
cqo
idiv r8
jmp 0x18002c787
mov rdx, r8
lea rcx, [rbp - 0x10]
call fcn.18000a774
jmp 0x18002c740
mov rdx, r8
lea rcx, [rbp - 0x10]
call fcn.18000a744
test eax, eax
jne 0x18002c7b7
lea r9d, [rax + 4]
jmp 0x18002c78b
test r8, r8
js 0x18002c768
test rdx, rdx
jle 0x18002c783
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x18002c783
jmp 0x18002c7b7
test rdx, rdx
jns 0x18002c783
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x18002c7b7
lea rax, [rdx + r8]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov ecx, 0x3e40
mov qword [r14], rax
movzx eax, word [r14 + 8]
and ax, cx
or ax, r9w
jmp 0x18002c894
mov r11d, 1
test r11b, cl
jne 0x18002c8c3
mov rcx, rdi
call fcn.1800218f8
mov rcx, rsi
movaps xmm6, xmm0
call fcn.1800218f8
movzx ecx, byte [r13]
sub ecx, 0x67
je 0x18002c83f
sub ecx, 1
je 0x18002c839
sub ecx, 1
je 0x18002c833
cmp ecx, 1
je 0x18002c821
mov rcx, rdi
call fcn.1800218a0
mov rcx, rsi
mov rbx, rax
call fcn.1800218a0
xor r10d, r10d
mov qword [rbp - 0x10], rax
lea r11d, [r10 + 1]
test rbx, rbx
je 0x18002c8bb
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r11
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x18002c84c
ucomisd xmm6, xmm7
jp 0x18002c82d
je 0x18002c8b4
divsd xmm0, xmm6
jmp 0x18002c843
mulsd xmm0, xmm6
jmp 0x18002c843
subsd xmm0, xmm6
jmp 0x18002c843
addsd xmm0, xmm6
mov r11d, 1
xor r10d, r10d
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
mov r9d, 4
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x18002c8ce
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov rdi, qword [rsp + 0x48]
mov sil, byte [rsp + 0x34]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x18002e5a2
xor r10d, r10d
lea r11d, [r10 + 1]
mov r9d, 4
jmp 0x18002c8ce
xor r10d, r10d
jmp 0x18002c8ce
mov r11d, 1
mov eax, 0x2400
test word [r14 + 8], ax
je 0x18002c8f1
mov rcx, r14
call fcn.1800217a4
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x18002a87c
mov word [r14 + 8], r11w
jmp 0x18002acec
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], r10b
call fcn.180028990
mov rbx, rax
test rax, rax
je 0x18002b7f9
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea rdi, [rbx + 0x10]
movzx ecx, word [r13 + 2]
mov r9, rdi
mov rax, qword [rsp + 0x48]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
xor edx, edx
mov rcx, qword [rax]
call fcn.180017c30
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002c9d8
mov rcx, qword [rdi]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.180018c5c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002c9d8
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x4c]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x18002ca1a
movzx r8d, word [r13 + 2]
mov rdx, rsi
mov rcx, qword [rdi]
or r8d, 2
call fcn.18001f0f8
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002c9ca
mov rax, qword [rbx + 0x38]
lea r8d, [r10 + 4]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.180019ffc
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov r14, qword [rsp + 0x60]
mov sil, byte [rsp + 0x34]
mov byte [rbx + 4], r10b
mov r11d, 1
movzx eax, word [r13 + 2]
mov r9d, 4
mov rdi, qword [rsp + 0x48]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r9d
or ecx, eax
mov dword [rbx + 8], ecx
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002e5c4
mov byte [rbx + 2], r11b
jmp 0x18002905a
mov rax, qword [rbx + 0x38]
mov ecx, 1
mov dword [rsi], ecx
mov edx, ecx
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
mov rcx, qword [rdi]
call fcn.180019ffc
mov r14, qword [rsp + 0x60]
mov r11d, 1
mov sil, byte [rsp + 0x34]
xor r10d, r10d
mov byte [rbx + 4], r11b
mov dword [rsp + 0x38], eax
jmp 0x18002c9de
sub r8d, 0x71
je 0x18002cb25
sub r8d, 1
je 0x18002cae7
sub r8d, 1
je 0x18002cac0
cmp r8d, 1
jne 0x18002e5ad
mov r8d, dword [r13 + 0xc]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r12
mov byte [rsp + 0x20], 3
call fcn.180028990
xor r10d, r10d
test rax, rax
je 0x18002b7f9
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1800aecac]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r11b
jmp 0x1800294dc
movsxd rcx, dword [r13 + 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 0x18002e186
jmp 0x18002e5a8
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r12
mov byte [rsp + 0x20], r11b
call fcn.180028990
test rax, rax
je 0x18002b7f9
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, rdi
mov edx, dword [r13 + 0xc]
call fcn.18002ff04
jmp 0x180029510
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rdx, qword [r13 + 0x10]
xor ecx, ecx
mov rbx, rax
test rdx, rdx
jne 0x18002cb42
mov eax, ecx
jmp 0x18002cb53
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], cl
jne 0x18002cb46
and eax, 0x3fffffff
mov r8d, 1
mov dword [r13 + 4], eax
cmp sil, r8b
je 0x18002cbcb
mov qword [rsp + 0x20], rcx
mov r9b, r8b
or r8d, 0xffffffff
mov rcx, rbx
call fcn.180021f48
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002ebb1
movzx edx, sil
mov rcx, rbx
call fcn.1800212a4
xor ecx, ecx
test eax, eax
jne 0x18002b7f9
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [r13 + 1], 0xf9
jne 0x18002cbb7
mov rdx, qword [r13 + 0x10]
mov rcx, rdi
call fcn.180006da8
mov byte [r13 + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [r13 + 4], eax
cmp eax, dword [rdi + 0x7c]
jg 0x18002ebb1
mov byte [r13], 0x48
mov rdx, r13
mov rcx, r12
call fcn.180028d04
xor r10d, r10d
mov r8, rax
mov word [rax + 8], 0xa02
mov rcx, qword [r13 + 0x10]
mov qword [rax + 0x10], rcx
mov ecx, dword [r13 + 4]
mov dword [rax + 0xc], ecx
mov byte [rax + 0xa], sil
cmp dword [r13 + 0xc], r10d
jle 0x180029142
movzx eax, word [r13 + 2]
lea r11d, [r10 + 1]
movsxd rcx, dword [r13 + 0xc]
lea r9d, [r10 + 4]
mov ebx, dword [rsp + 0x40]
imul rdx, rcx, 0x38
cmp qword [rdx + r14], rax
lea edx, [r10 + 2]
mov eax, dword [rsp + 0x30]
jne 0x18002e5b1
mov word [r8 + 8], 0xa10
jmp 0x18002e5b1
movsxd rax, dword [r13 + 4]
mov rcx, r12
mov rdx, qword [r12 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.180024400
movsxd rcx, dword [r13 + 4]
xor r10d, r10d
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x180029146
sub r8d, 0x77
je 0x18002d1bf
sub r8d, 1
je 0x18002d184
sub r8d, 1
je 0x18002cfd9
sub r8d, 1
je 0x18002cebe
sub r8d, 1
je 0x18002cdec
sub r8d, 1
je 0x18002cdd7
sub r8d, 1
je 0x18002cd96
sub r8d, 1
je 0x18002cd54
cmp r8d, 1
jne 0x18002e5ad
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [r12 + 0x78]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.18001a1f4
mov rax, qword [rsp + 0x48]
mov r8d, dword [rbx + 0x40]
cmp r8d, dword [rax + 0x7c]
ja 0x18002ebcf
mov r9, rdi
xor edx, edx
mov rcx, rbx
call fcn.1800222dc
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
cmp dword [r13 + 0xc], r10d
jne 0x18002b2e8
mov eax, 0x1000
test word [rdi + 8], ax
je 0x18002b2e8
mov rcx, rdi
call fcn.180021494
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x18002b7f9
jmp 0x180029142
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.180031bb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x180029146
mov rax, qword [r12 + 0x78]
lea r9, [rbp + 8]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 8], r10d
add rdx, r14
call fcn.180031c70
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
cmp dword [rbp + 8], r10d
jmp 0x180029944
mov eax, dword [r12 + 0x3c]
add dword [rdi + 0x78], eax
mov dword [rdi + 0x74], eax
mov dword [r12 + 0x3c], r10d
jmp 0x18002e5ad
cmp byte [r13 + 1], 0xfa
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r14d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x18002ce3d
cmp qword [rdi + 0x130], r10
je 0x18002ce3d
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
test byte [r13 + 2], dl
je 0x18002ce43
cmp byte [rbx + 4], r10b
je 0x18002ce43
mov rcx, qword [rbx + 0x38]
call fcn.18001a23c
mov qword [rbx + 0x58], rax
jmp 0x18002ce43
mov rsi, r10
mov rdi, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rbx + 0x38]
call fcn.18001eaa8
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [rbx + 0x28], r10
test eax, eax
jne 0x18002d152
lea r11d, [rax + 1]
test r11b, r14b
je 0x1800294c9
add dword [r12 + 0x3c], r11d
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x130]
test r10, r10
je 0x18002e578
lea eax, [r11 + 0x1f]
test byte [rdi + 0x40], al
jne 0x18002e578
mov r9, qword [rdi]
lea edx, [r11 + 8]
mov rax, qword [rbx + 0x58]
mov r8, rsi
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi + 0x128]
call r10
jmp 0x18002c8e7
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfa
mov r8, qword [rcx + r14]
mov qword [rbp - 0x50], r8
jne 0x18002cf0d
cmp qword [rdi + 0x130], r10
je 0x18002cf0d
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x18002cf13
mov rdi, r10
mov rsi, r10
test byte [r13 + 2], r11b
je 0x18002cf1e
add dword [r12 + 0x3c], r11d
mov eax, 0x20
test byte [r13 + 2], al
je 0x18002cf32
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x48], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x34], eax
mov eax, 0x10
test al, r8b
je 0x18002cf55
mov r9d, dword [rbx + 0x2c]
jmp 0x18002cf58
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x18002cf6a
mov eax, dword [rdx]
mov dword [rbp - 0x30], eax
jmp 0x18002cf6e
mov dword [rbp - 0x30], r10d
mov qword [rbp - 0x58], r10
lea rdx, [rbp - 0x58]
mov rcx, qword [rbx + 0x38]
and r8d, 0xa
call fcn.18001e688
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x18002d152
test rdi, rdi
je 0x18002e558
mov al, byte [r13 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rdi, qword [rsp + 0x48]
neg al
mov rax, qword [rbp - 0x50]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
mov rcx, qword [rdi + 0x128]
add edx, 0x12
call qword [rdi + 0x130]
jmp 0x18002a87c
mov rdx, r13
mov qword [rsp + 0x70], r10
mov rcx, r12
mov dword [rbp - 0x70], r10d
call fcn.180028d04
movsxd rdx, dword [r13 + 4]
mov rsi, rax
mov rcx, qword [r12 + 0x78]
mov rdi, qword [rcx + rdx*8]
mov edx, 2
test byte [rdi + 8], dl
jne 0x18002d066
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x70]
call fcn.18001aa8c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
cmp dword [rbp - 0x70], r10d
je 0x18002d037
lea eax, [r10 + 1]
mov qword [rsp + 0x70], rax
lea edx, [rax + 1]
jmp 0x18002d069
mov rcx, qword [rdi + 0x38]
call fcn.18001a23c
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x70], rax
mov edx, 2
cmp rax, rcx
jl 0x18002d05e
or dword [rdi + 8], edx
jmp 0x18002d066
inc rax
mov qword [rsp + 0x70], rax
xor r10d, r10d
cmp dword [r13 + 0xc], r10d
je 0x18002d0ee
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x18002d09c
mov rax, qword [rcx + 8]
jmp 0x18002d089
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18002d082
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x18002d0a7
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800219b8
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x18002eb2d
mov edx, 2
test byte [rdi + 8], dl
jne 0x18002eb2d
mov rax, qword [rsp + 0x70]
inc rcx
cmp rax, rcx
jge 0x18002d0e8
mov rax, rcx
mov qword [rsp + 0x70], rcx
mov qword [rbx], rax
xor r10d, r10d
test byte [rdi + 8], dl
je 0x18002d161
mov ebx, r10d
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.180008f18
mov r8, qword [rsp + 0x70]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp - 0x70]
mov qword [rsp + 0x70], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.18001ab04
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
cmp dword [rbp - 0x70], r10d
jne 0x18002d15c
inc ebx
cmp ebx, 0x64
jl 0x18002d0f6
lea eax, [r10 + 0xd]
mov rbx, qword [rsp + 0x58]
jmp 0x180029d00
mov edx, 2
mov byte [rdi + 3], r10b
mov dword [rdi + 0x28], r10d
mov rax, qword [rsp + 0x70]
mov qword [rsi], rax
mov sil, byte [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x40]
jmp 0x18002914b
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [r12 + 0x78]
mov r11d, 1
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x18002977c
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r13 + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x18002e5a8
mov rdx, r13
mov rcx, r12
call fcn.180028d04
movsxd rdx, dword [r13 + 4]
xor r10d, r10d
mov rcx, qword [r12 + 0x78]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x18002d218
lea r11d, [r10 + 1]
mov word [rax + 8], r11w
mov rdi, qword [rsp + 0x48]
jmp 0x1800294d8
cmp byte [rbx + 3], r10b
je 0x18002d227
mov rax, qword [rbx + 0x58]
jmp 0x18002d2bd
mov rcx, qword [rbx + 0x38]
mov edx, 2
cmp byte [rbx], dl
jne 0x18002d265
mov rbx, qword [rcx]
lea rdx, [rbp + 0x18]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x18002d152
mov rax, qword [rbp + 0x18]
jmp 0x18002d2c1
cmp byte [rcx], r10b
je 0x18002d286
mov rcx, rbx
call fcn.1800255a0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
lea edx, [rax + 2]
jmp 0x18002d28b
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], r10b
je 0x18002d2aa
mov ebx, dword [rsp + 0x40]
mov r11d, 1
mov word [rdi + 8], r11w
mov rdi, qword [rsp + 0x48]
jmp 0x180029151
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.18001a1f4
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp + 0x18], rax
mov qword [rdi], rax
jmp 0x18002b2e8
mov eax, 0x95
cmp r8d, eax
ja 0x18002db69
je 0x18002db2e
mov eax, 0x8b
cmp r8d, eax
ja 0x18002d806
je 0x18002d79b
mov eax, 0x86
cmp r8d, eax
ja 0x18002d528
je 0x18002d6b9
mov ecx, r8d
sub ecx, 0x81
je 0x18002d4fc
sub ecx, 1
je 0x18002d47a
sub ecx, 1
je 0x18002d3c1
sub ecx, 1
je 0x18002d3c1
cmp ecx, 1
jne 0x18002e5ad
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x58]
mov rax, qword [r12 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x48], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x10]
mov byte [rbp - 0x46], r10b
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x50], rcx
mov rcx, rdi
call fcn.18001ab04
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
cmp dword [rbp + 0x10], r10d
jne 0x18002d3b7
lea edx, [rax + 4]
mov rcx, rdi
call fcn.18001eaa8
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002d152
and qword [rbx + 0x28], 0
jmp 0x18002b2e8
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r13 + 2], r11b
je 0x18002d3e4
add dword [r12 + 0x3c], r11d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18002d402
mov rcx, rbx
call fcn.1800214ec
xor r10d, r10d
test eax, eax
jne 0x18002d152
cmp byte [r13], 0x83
jne 0x18002d419
mov rdx, rbx
mov rcx, rdi
call fcn.180030eb0
xor r10d, r10d
jmp 0x18002d471
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x58], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r14
mov word [rbp - 0x38], ax
mov eax, 0x10
mov qword [rbp - 0x40], rcx
test al, r8b
je 0x18002d456
mov r9d, dword [rdi + 0x2c]
jmp 0x18002d459
mov r9d, r10d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x58]
and r8d, 0xa
call fcn.18001e688
xor r10d, r10d
mov dword [rdi + 0x28], r10d
mov dword [rsp + 0x38], eax
jmp 0x18002a1c1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x18], r10d
cmp r8b, 0x82
jne 0x18002d4a2
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x180029a86
lea rdx, [rbp - 0x18]
call fcn.18001aa8c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov al, byte [rbp - 0x18]
mov byte [rbx + 2], al
mov eax, dword [rsp + 0x38]
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x18002e5c4
cmp dword [r13 + 8], r10d
jle 0x180029142
cmp dword [rbp - 0x18], r10d
je 0x180029142
jmp 0x180029a62
mov r15, qword [rsp + 0x50]
xor r10d, r10d
jmp 0x18002e186
mov r15, qword [rsp + 0x50]
jmp 0x18002e186
movsxd rcx, dword [r13 + 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 0x18002e5ad
mov rcx, qword [rcx + 0x38]
call fcn.1800166c0
jmp 0x180029919
sub r8d, 0x87
je 0x18002d6b9
sub r8d, 1
je 0x18002d5f1
sub r8d, 1
je 0x18002d58a
cmp r8d, 1
jne 0x18002e5ad
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x18002d572
mov rdx, qword [rcx + 0x38]
mov rcx, rdi
call fcn.1800303b0
jmp 0x180029919
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.18001f2fc
jmp 0x180029510
mov eax, dword [r13 + 0xc]
mov rcx, qword [rdi + 0x20]
neg eax
mov edx, dword [r13 + 4]
lea rax, [rbp - 0x70]
sbb r8, r8
mov dword [rbp - 0x70], r10d
and r8, rax
movsxd rax, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001f2fc
xor r10d, r10d
mov dword [rsp + 0x38], eax
cmp dword [r13 + 0xc], r10d
je 0x180029517
movsxd rdx, dword [rbp - 0x70]
add dword [r12 + 0x3c], edx
cmp dword [r13 + 0xc], r10d
jle 0x180029517
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
mov eax, dword [rsp + 0x38]
jmp 0x180029517
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rsi, rax
mov eax, 1
mov word [rsi + 8], ax
mov ecx, dword [rdi + 0xd8]
add ecx, eax
cmp dword [rdi + 0xcc], ecx
jg 0x18002eb37
movsxd r14, dword [r13 + 0xc]
xor eax, eax
mov ebx, dword [r13 + 4]
mov rcx, r14
mov dword [rbp - 0x14], eax
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.180016318
lea r8, [rbp - 0x14]
mov edx, ebx
mov rcx, rdi
call fcn.18001f3b8
mov rcx, rdi
mov dword [rsp + 0x38], eax
call fcn.1800163c8
mov r9d, 4
xor r10d, r10d
mov word [rsi + 8], r9w
movsxd rax, dword [rbp - 0x14]
mov qword [rsi], rax
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002d152
mov r8d, dword [rbp - 0x14]
mov rdi, qword [rsp + 0x48]
test r8d, r8d
je 0x18002e582
mov r9d, dword [r13 + 4]
mov edx, r14d
mov rcx, rdi
call fcn.1800429b0
mov r11d, 1
lea eax, [r11 + r14]
mov byte [rbp - 0x77], al
mov r14, qword [rsp + 0x60]
mov sil, byte [rsp + 0x34]
jmp 0x180029778
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x18002d6f3
mov rcx, rbx
call fcn.1800255a0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
lea edx, [rax + 2]
lea r11d, [rax + 1]
lea r9d, [rax + 4]
jmp 0x18002d6f8
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], r10b
jne 0x18002d771
mov qword [rbp + 0x20], r10
lea r8, [rbp + 0x20]
mov rdx, qword [rbx + 0x38]
mov rcx, rdi
call fcn.1800265e0
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002e5c4
cmp byte [r13], 0x86
jne 0x18002d75a
mov rax, qword [r12 + 0x78]
lea r11d, [r10 + 1]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r10b
mov rax, qword [rbp + 0x20]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r11b
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x1800294d8
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [rbp + 0x20]
mov qword [rax], rcx
jmp 0x180029915
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18002d791
call fcn.1800217a4
jmp 0x180029915
mov word [rcx + 8], r11w
jmp 0x180029a86
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [rdi + 0x20]
mov rsi, rax
movsxd rdx, dword [r13 + 4]
xor eax, eax
mov ebx, dword [r13 + 0xc]
shl rdx, 5
mov dword [rbp + 4], eax
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.180016318
mov r8d, ebx
lea rdx, [rbp + 4]
mov rcx, rdi
call fcn.18001ee70
mov rcx, rdi
mov dword [rsp + 0x38], eax
call fcn.1800163c8
mov eax, dword [rsp + 0x38]
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
test eax, eax
jne 0x18002e5c4
movsxd rax, dword [rbp + 4]
mov qword [rsi], rax
jmp 0x18002913d
sub r8d, 0x8c
je 0x18002db0b
sub r8d, 1
je 0x18002d9e5
sub r8d, 1
je 0x18002d9d4
sub r8d, 1
je 0x18002d9bf
sub r8d, 1
je 0x18002d9aa
sub r8d, 1
je 0x18002d995
sub r8d, 1
je 0x18002d8ba
sub r8d, 1
je 0x18002d87b
cmp r8d, 1
jne 0x18002e5ad
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov word [rax + 8], 8
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x180029919
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x18002d8a8
mov rcx, rbx
call fcn.180021ce0
test eax, eax
jne 0x18002b7f4
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.18000f360
jmp 0x18002c488
movsxd rax, dword [r13 + 0xc]
lea r8, [rbp + 0x14]
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x48]
add rdx, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
mov rcx, qword [rcx + 0x20]
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
mov r9d, dword [rdi + r14]
add rbx, r14
shl rax, 5
add r9d, r11d
mov qword [rsp + 0x20], r8
mov r8d, dword [r13 + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.180020124
mov rsi, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18002d922
mov rcx, rbx
call fcn.1800217a4
mov edx, 1
jmp 0x18002d92b
mov edx, 1
mov word [rbx + 8], dx
mov eax, dword [rbp + 0x14]
xor r10d, r10d
test eax, eax
je 0x18002d968
test rsi, rsi
je 0x18002b7f4
dec eax
mov r9b, dl
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.180006cb8]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.180021f48
xor r10d, r10d
mov sil, byte [rsp + 0x34]
mov edx, 2
test byte [rbx + 8], dl
je 0x18002d176
cmp byte [rbx + 0xa], sil
je 0x18002d176
mov dl, sil
mov rcx, rbx
call fcn.180009178
jmp 0x18002c488
mov r8, qword [r13 + 0x10]
mov rcx, rdi
mov edx, dword [r13 + 4]
call fcn.18005e670
jmp 0x180029919
mov r8, qword [r13 + 0x10]
mov rcx, rdi
mov edx, dword [r13 + 4]
call fcn.18003fee0
jmp 0x180029919
mov r8, qword [r13 + 0x10]
mov rcx, rdi
mov edx, dword [r13 + 4]
call fcn.1800403c0
jmp 0x180029919
mov edx, dword [r13 + 4]
mov rcx, rdi
call fcn.18003e618
jmp 0x180029510
mov rcx, qword [r13 + 0x10]
movsxd rbx, dword [r13 + 4]
test rcx, rcx
jne 0x18002da42
mov rcx, qword [rdi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1800465fc
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, rdi
call fcn.1800540e0
mov r11d, 1
mov dword [rsp + 0x38], eax
or dword [rdi + 0x2c], r11d
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x18002dafe
mov r8, qword [rdi + 0x20]
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x50], rax
lea r9, str.sqlite_master
mov qword [rbp - 0x58], rdi
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x48], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp - 0x40], r10d
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov r8, qword [rax + r8]
call fcn.180008c84
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x18002eb4a
lea r9, [rbp - 0x58]
mov byte [rdi + 0xb5], 1
lea r8, [fcn.180053edc]
mov dword [rbp - 0x44], eax
mov rdx, rbx
mov dword [rbp - 0x3c], eax
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.18004f760
xor ecx, ecx
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002dae1
mov eax, dword [rbp - 0x44]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002dae1
cmp dword [rbp - 0x3c], ecx
jne 0x18002dae1
mov ecx, 0x15f51
call fcn.180078ddc
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, rdi
call fcn.180006d68
mov eax, dword [rsp + 0x38]
xor r10d, r10d
mov byte [rdi + 0xb5], r10b
lea r11d, [r10 + 1]
test eax, eax
jne 0x18002eb53
jmp 0x1800294d8
add byte [rdi + 0x6a], r11b
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], r10
call fcn.18004f760
dec byte [rdi + 0x6a]
jmp 0x180029510
mov rdx, r13
mov rcx, r12
call fcn.180028d04
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 [r13 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x18002b19f
mov eax, 0x9f
cmp r8d, eax
ja 0x18002dff1
je 0x18002df8d
sub r8d, 0x96
je 0x18002df57
sub r8d, 1
je 0x18002dedc
sub r8d, 1
je 0x18002de82
sub r8d, 1
je 0x18002dcac
sub r8d, 1
je 0x18002dcac
sub r8d, 1
je 0x18002dd3e
sub r8d, 1
je 0x18002dc34
sub r8d, 1
je 0x18002dc34
cmp r8d, 1
jne 0x18002e5ad
cmp dword [r13 + 4], r10d
jne 0x18002dc11
mov rdx, qword [rdi + 8]
mov eax, dword [r13 + 8]
test rdx, rdx
je 0x18002e5a8
lea r8d, [rax + 1]
mov eax, dword [rdx + 0xc8]
mov ecx, r8d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x18002dbed
jmp 0x18002e5a8
mov eax, dword [r12 + 0xc8]
mov ecx, dword [r13 + 8]
add ecx, r11d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r12 + 0xc8], ecx
jmp 0x18002e5ad
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
cmp dword [r13 + 0xc], r10d
je 0x18002dc6f
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.180021734
mov ecx, eax
mov dword [rsp + 0x38], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x18002dc7e
mov rdx, qword [r13 + 0x10]
call fcn.18002168c
mov ecx, eax
mov dword [rsp + 0x38], eax
test ecx, ecx
jne 0x18002eb7b
lea eax, [rcx + 2]
test byte [rbx + 8], al
je 0x18002dc9f
cmp byte [rbx + 0xa], sil
je 0x18002dc9f
mov dl, sil
mov rcx, rbx
call fcn.180009178
mov rcx, rbx
call fcn.180021dc4
jmp 0x18002af09
movzx ebx, word [r13 + 2]
mov rcx, qword [rsp + 0x48]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.180007028
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x18002b7f4
mov qword [rax + 0x10], r10
add rdi, 6
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x48]
mov qword [rax], rcx
mov word [rcx + 8], 1
mov qword [rcx + 0x28], rdi
mov dword [rcx + 0x20], r10d
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r13
sub rcx, r15
mov qword [r8 + 0x18], r12
mov byte [r8 + 0x28], r10b
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r10d
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [r13], 0xf09b
mov qword [r13 + 0x10], r8
movsxd rax, dword [r13 + 0xc]
xor r11d, r11d
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, r14
cmp qword [rbx + 0x10], r8
je 0x18002dda2
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x18002dda2
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea esi, [r11 + 8]
lea r15d, [r11 + 1]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r9], rcx
sub r9, rsi
sub rdx, r15
jns 0x18002dd7a
mov r15, qword [rsp + 0x50]
mov sil, byte [rsp + 0x34]
mov eax, 1
mov rcx, rbx
add dword [r8 + 0xc], eax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r13 + 4], r11d
je 0x18002ddc5
call qword [rax + 0x30]
jmp 0x18002ddc8
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x180029142
jle 0x18002de00
mov rcx, qword [rbx]
lea edx, [r10 + 1]
call fcn.1800223e4
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x38], eax
cmp byte [rbx + 0x28], r10b
je 0x18002de43
cmp dword [r13 - 0x14], r10d
je 0x18002de3f
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18002de31
mov edx, 1
call fcn.180021c24
xor r10d, r10d
jmp 0x18002de3f
mov eax, 1
mov word [rcx + 8], 4
mov qword [rcx], rax
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x18002de57
cmp dword [rcx + 0x20], r10d
je 0x18002de5f
call fcn.1800217e0
xor r10d, r10d
mov rax, qword [rbx]
mov r11d, 1
mov word [rax + 8], r11w
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x24], r10d
test eax, eax
jne 0x18002ec27
jmp 0x1800294d8
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
call fcn.180028d04
mov r8, qword [rbx + r14]
xor r10d, r10d
test r8, r8
jle 0x18002ded0
mov rdx, qword [rdi + r14]
test rdx, rdx
cmovle rdx, r10
test rdx, rdx
js 0x18002decb
movabs rcx, 0x7fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jl 0x18002ded0
add r8, rdx
jmp 0x18002ded4
or r8, 0xffffffffffffffff
mov qword [rax], r8
jmp 0x18002b2e8
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x18002df09
mov rax, qword [rcx + 8]
jmp 0x18002def6
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18002deef
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18002df14
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1800219b8
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800219b8
mov rax, qword [rbx]
xor r10d, r10d
mov ebx, dword [rsp + 0x40]
lea edx, [r10 + 2]
lea r11d, [r10 + 1]
lea r9d, [r10 + 4]
cmp qword [rdi], rax
jge 0x18002df4d
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x18002e5ad
mov eax, dword [rdi + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x18002df71
add qword [rdi + 0x2b0], rax
jmp 0x18002e5ad
cmp dword [r13 + 4], r10d
je 0x18002df83
add qword [rdi + 0x2a8], rax
jmp 0x18002e5ad
add qword [r12 + 0x50], rax
jmp 0x18002e5ad
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x18002dfa4
mov eax, dword [rdi + 0x30]
bt rax, 0xa
jb 0x18002e5ad
movsxd rax, dword [r13 + 4]
mov rcx, qword [rdi + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18002051c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
je 0x180029146
cmp al, 6
jne 0x18002e5c4
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.18002294c
mov eax, dword [rsp + 0x38]
jmp 0x18002e7f3
sub r8d, 0xa0
je 0x18002e51e
sub r8d, 1
je 0x18002e493
sub r8d, 1
je 0x18002e471
sub r8d, 1
je 0x18002e3e4
sub r8d, 1
je 0x18002e2a3
sub r8d, 1
je 0x18002e211
sub r8d, 1
je 0x18002e1e9
sub r8d, 1
je 0x18002e19c
cmp r8d, 1
jne 0x18002e5ad
mov al, byte [rdi + 0x68]
test al, 0x41
je 0x18002e128
mov ecx, 0x10
test byte [r12 + 0xc8], cl
jne 0x18002e128
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x18002e086
mov r9, qword [r12 + 0xf0]
test r9, r9
je 0x18002e122
test al, 0x40
je 0x18002e0bf
mov rdi, qword [rdi + 0xe8]
mov rdx, r9
mov rcx, r12
call fcn.18002860c
mov rbx, rax
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0xf0]
call rdi
mov rcx, rbx
call fcn.180006cb8
mov rdi, qword [rsp + 0x48]
jmp 0x18002e115
cmp dword [rdi + 0xd4], r11d
jle 0x18002e102
mov r8, r9
lea rdx, str.____s
mov rcx, rdi
call fcn.180008c84
mov rdx, qword [rdi + 0xf0]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [rdi + 0xe8]
mov rdx, rbx
mov rcx, rdi
call fcn.180006da8
jmp 0x18002e115
mov rdx, qword [rdi + 0xf0]
mov r8, r12
mov ecx, r11d
call qword [rdi + 0xe8]
mov r11d, 1
xor r10d, r10d
lea edx, [r11 + 1]
mov r9d, 4
mov eax, dword [r13 + 4]
cmp eax, dword [0x1800aae48]
jl 0x18002e178
cmp byte [r13], 0xa8
je 0x180029a86
mov edx, r11d
cmp dword [r12 + 0x90], r11d
jle 0x18002e175
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x18002e164
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x18002e151
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], r11d
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r15 + rcx*8]
jmp 0x1800294c9
mov rdx, r13
mov rcx, r12
call fcn.180028d04
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rcx, qword [rdi + 0x20]
xor eax, eax
mov r8d, dword [r13 + 0xc]
shl rdx, 5
mov r9, qword [rdx + rcx + 8]
mov edx, eax
test r8d, r8d
je 0x18002e1d6
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x3c]
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.180018760
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x180029915
mov rdx, r13
mov rcx, r12
call fcn.180028d04
mov rcx, qword [rdi + 0x20]
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
jmp 0x18002d873
mov rax, qword [rsp + 0x48]
mov ecx, 0x4000000
mov edi, dword [rdi + 0x30]
and edi, ecx
or qword [rax + 0x30], rcx
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], dl
je 0x18002e258
cmp byte [rbx + 0xa], r11b
je 0x18002e258
mov dl, r11b
mov rcx, rbx
call fcn.180009178
xor r10d, r10d
test eax, eax
jne 0x18002d152
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
test edi, edi
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
jne 0x18002e27b
btr qword [rdi + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.1800268b0
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002e5c4
jmp 0x18002913d
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], r10b
je 0x18002e2e8
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18002e2d9
mov rcx, rbx
call fcn.1800217a4
jmp 0x18002c488
mov word [rbx + 8], r11w
mov rdi, qword [rsp + 0x48]
jmp 0x180029a86
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x58], rbx
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x28], rax
movups xmmword [rbp - 0x38], xmm0
test byte [r13 + 2], r11b
je 0x18002e338
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18002e329
mov rcx, rbx
call fcn.1800217a4
xor r10d, r10d
jmp 0x18002e32e
mov word [rbx + 8], r11w
mov dword [rbx], r10d
mov eax, 0x4001
jmp 0x18002e348
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r11w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x58]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
xor eax, eax
cmp dword [rbp - 0x34], eax
jle 0x18002e396
lea edx, [rax + 1]
mov rcx, rbx
call fcn.1800223e4
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rbp - 0x34]
mov dword [rsp + 0x38], eax
mov sil, byte [rsp + 0x34]
mov eax, 2
test byte [rbx + 8], al
je 0x18002e3b6
cmp byte [rbx + 0xa], sil
je 0x18002e3b6
mov dl, sil
mov rcx, rbx
call fcn.180009178
mov rcx, rbx
call fcn.180021dc4
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x18002ebb1
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18002e5c4
mov r14, qword [rsp + 0x60]
jmp 0x180029142
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x70], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18002e8a4
mov rdi, qword [rbx]
test rdi, rdi
je 0x18002ebdc
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.1800268b0
mov eax, dword [rsp + 0x38]
xor r10d, r10d
test eax, eax
jne 0x18002d152
mov rax, qword [rsp + 0x70]
or r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.180028990
mov rcx, qword [rsp + 0x70]
xor r10d, r10d
test rax, rax
je 0x18002ebd4
lea r11d, [r10 + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r11d
jmp 0x18002d20e
add dword [rdi + 0xd8], r11d
mov rcx, rdi
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.1800625f0
dec dword [rdi + 0xd8]
jmp 0x180029510
xorps xmm0, xmm0
lea rcx, [rbp - 0x58]
xor eax, eax
mov qword [rbp - 0x28], rax
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
add rdx, r14
mov qword [rbp - 0x30], rdi
call fcn.180021e64
mov edx, 1
mov dword [rsp + 0x38], eax
lea rcx, [rbp - 0x58]
call fcn.1800223e4
xor r10d, r10d
test rax, rax
je 0x18002e4f8
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, rdi
call fcn.18006229c
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov eax, 0x2400
test word [rbp - 0x50], ax
jne 0x18002e50d
cmp dword [rbp - 0x38], r10d
je 0x18002d5e8
lea rcx, [rbp - 0x58]
call fcn.1800217e0
xor r10d, r10d
jmp 0x18002d5e8
mov rbx, qword [r13 + 0x10]
mov rcx, rdi
mov rdx, rbx
call fcn.180062760
xor r10d, r10d
mov dword [rsp + 0x38], eax
test rbx, rbx
je 0x18002a1c6
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1800268b0
jmp 0x18002ba91
mov r13, qword [rsp + 0x58]
jmp 0x18002ab3b
mov rdi, qword [rsp + 0x48]
jmp 0x18002913d
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
jmp 0x18002e5ad
mov rdi, qword [rsp + 0x48]
jmp 0x18002905a
mov rdi, qword [rsp + 0x48]
jmp 0x18002d6aa
mov r14, qword [rsp + 0x60]
jmp 0x18002985e
mov sil, byte [rsp + 0x34]
mov edx, 2
mov ebx, dword [rsp + 0x40]
jmp 0x18002e5b1
mov r9d, 4
mov r11d, 1
mov edx, 2
mov eax, dword [rsp + 0x30]
mov r12, qword [rsp + 0x78]
add r13, 0x18
jmp 0x180028e3c
mov eax, 8
mov rbx, qword [rsp + 0x58]
jmp 0x180029d05
mov rsi, qword [rsp + 0x50]
mov ecx, 5
mov r14d, dword [rsp + 0x30]
cmp al, cl
jne 0x18002ec4b
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x38]
mov dword [r12 + 0x34], edx
mov dword [r12 + 0x38], eax
jmp 0x18002ec6f
mov rdx, qword [r12 + 0xa8]
mov rcx, rdi
call fcn.180006da8
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.1800071a0
mov qword [r12 + 0xa8], rax
mov rax, qword [rdi + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x70]
cmp dword [rcx], eax
je 0x18002e663
mov rcx, rdi
call fcn.180040060
mov eax, dword [r12 + 0xc8]
mov r15d, 1
and eax, 0xfffffffd
or eax, r15d
mov dword [r12 + 0xc8], eax
lea eax, [r15 + 0x10]
mov rbx, qword [rsp + 0x58]
xor r10d, r10d
jmp 0x180029d0b
movzx eax, byte [rdi + 0x5f]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x18002e797
test ecx, ecx
je 0x18002e6be
mov rcx, qword [rsp + 0x48]
mov edx, 0x204
call fcn.180076ab8
mov eax, 1
jmp 0x18002e70d
test ebx, ebx
je 0x18002e6f1
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xd0], r10d
jle 0x18002e6f1
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.18002294c
mov eax, 5
mov rbx, qword [rsp + 0x58]
xor r10d, r10d
jmp 0x180029d00
mov edx, r11d
mov rcx, r12
call fcn.180024e00
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18002ec60
mov al, bl
mov rcx, r12
mov byte [rdi + 0x5f], al
call fcn.180024e50
mov rdi, qword [rsp + 0x48]
mov r8d, 5
cmp eax, r8d
jne 0x18002e774
mov rsi, qword [rsp + 0x50]
mov rcx, r13
mov r14d, dword [rsp + 0x30]
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
lea r15d, [r8 - 4]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r15d
sub al, bl
mov dword [r12 + 0x34], edx
mov byte [rdi + 0x5f], al
mov ebx, r8d
mov dword [r12 + 0x38], r8d
xor r10d, r10d
jmp 0x18002ec79
mov rcx, rdi
call fcn.1800765a8
mov eax, dword [r12 + 0x38]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [rsp + 0x38], eax
xor r10d, r10d
jmp 0x18002ec65
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.18002294c
mov r15d, 1
mov eax, r15d
mov rdi, qword [rsp + 0x48]
jmp 0x18002e683
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x18002e6d7
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.18002294c
mov eax, 5
mov rbx, qword [rsp + 0x58]
xor r10d, r10d
jmp 0x180029d05
mov rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x50]
sub rcx, r15
mov r14d, dword [rsp + 0x30]
mov ebx, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [r12 + 0x34], edx
mov byte [rdi + 0x5f], r10b
mov dword [r12 + 0x38], r8d
jmp 0x18002ec73
cmp ebx, edx
lea rax, str.into
lea r8, str.out_of
mov r15d, 1
cmove r8, rax
mov dword [rsp + 0x38], r15d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r12
call fcn.18002294c
mov eax, r15d
jmp 0x18002e7c9
movzx eax, byte [r13 + 2]
mov ecx, 5
cmp word [r13 + 2], cx
mov ecx, 2
cmove eax, ecx
mov byte [r12 + 0xc2], al
mov eax, dword [rsp + 0x38]
jmp 0x18002e5c4
mov eax, 6
jmp 0x18002e5c4
mov eax, 0x14
jmp 0x18002e5c4
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x38], r11d
mov rcx, r12
call fcn.18002294c
mov eax, dword [rsp + 0x38]
jmp 0x18002e6e4
or r13d, 0xffffffff
mov eax, 9
mov rbx, qword [rsp + 0x58]
mov r15d, 1
jmp 0x180029d10
mov dword [r12 + 0x38], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc2], al
mov dword [r12 + 0x34], ebx
test ecx, ecx
je 0x18002e998
mov rcx, r12
cmp word [r13 + 2], r10w
je 0x18002e960
movzx r8d, word [r13 + 2]
lea rax, [0x180000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x97a10]
call fcn.18002294c
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x18002e970
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.180008c84
mov qword [r12 + 0xa8], rax
jmp 0x18002e970
mov r8, qword [r13 + 0x10]
lea rdx, [0x18009e288]
call fcn.18002294c
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 [r13 + 4]
mov qword [rsp + 0x20], rax
call fcn.180008ec8
mov rcx, r12
call fcn.180024e50
mov rsi, qword [rsp + 0x50]
mov ecx, 5
mov r13d, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
lea r15d, [rcx - 4]
cmp eax, ecx
jne 0x18002e9c7
mov dword [r12 + 0x38], ecx
jmp 0x18002e9da
mov eax, dword [r12 + 0x38]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [rsp + 0x38], eax
mov ebx, dword [rsp + 0x38]
xor r10d, r10d
jmp 0x18002ec7e
xor edx, edx
mov rcx, r12
call fcn.180024e00
xor r10d, r10d
test eax, eax
jne 0x18002e5c4
mov rax, qword [r12]
cmp dword [rax + 0x2a0], r10d
je 0x18002ea1e
cmp dword [r12 + 0x40], r10d
je 0x18002ea1e
lea edx, [r10 + 1]
mov rcx, r12
call fcn.180024d0c
xor r10d, r10d
mov eax, dword [r12 + 0x30]
mov edi, r10d
add eax, 2
or eax, 1
mov dword [r12 + 0x30], eax
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
add rsi, r14
mov qword [r12 + 0xa0], rsi
cmp dword [r13 + 8], r10d
jle 0x18002ea9c
lea rbx, [rsi + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x18002ea6f
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180021494
test eax, eax
jne 0x18002b7f4
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x18002ea8d
lea rcx, [rbx - 8]
call fcn.180021438
inc edi
add rbx, 0x38
cmp edi, dword [r13 + 8]
jl 0x18002ea4e
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
cmp byte [rdi + 0x61], r10b
jne 0x18002b7f9
mov eax, 4
test byte [rdi + 0x68], al
je 0x18002eacd
mov rdx, qword [rdi + 0xf0]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [rdi + 0xe8]
xor r10d, r10d
mov rsi, qword [rsp + 0x50]
mov rcx, r13
mov r14d, dword [rsp + 0x30]
sub rcx, r15
mov r15d, 1
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
lea ebx, [r15 + 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r15d
mov dword [r12 + 0x34], edx
jmp 0x18002ec79
mov ecx, 0x152d5
call fcn.180078ddc
mov r12, qword [rsp + 0x78]
jmp 0x18002e6e4
mov eax, 0x204
jmp 0x18002e5c4
mov eax, 0xd
jmp 0x18002e6e4
mov eax, 6
mov byte [r12 + 0xc2], 2
jmp 0x18002e7f3
mov eax, 7
mov dword [rsp + 0x38], eax
mov rcx, rdi
call fcn.1800400e8
mov eax, dword [rsp + 0x38]
mov r10d, 7
mov r13d, dword [rsp + 0x3c]
cmp eax, r10d
je 0x18002b7fe
xor r10d, r10d
jmp 0x18002e8de
mov r15d, 1
mov rcx, rbx
mov dl, r15b
call fcn.1800223e4
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rsp + 0x38]
jmp 0x18002e683
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.18002294c
mov eax, 0x12
jmp 0x18002e7f3
mov r12, rdi
jmp 0x18002ebac
mov rdi, rax
jmp 0x18002ebb1
call qword [rdi + 0x38]
jmp 0x18002b7f4
mov rdi, qword [rsp + 0x48]
jmp 0x18002e8a4
mov r13d, dword [rsp + 0x3c]
mov al, byte [rdi + 0x61]
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 9
mov ecx, eax
mov dword [rsp + 0x38], eax
mov dword [r12 + 0x38], eax
call fcn.180076bfc
mov r8, rax
lea rdx, [0x18009e288]
mov rcx, r12
call fcn.18002294c
mov eax, dword [rsp + 0x38]
jmp 0x18002eb73
mov eax, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov r15, r11
jmp 0x180029d0b
mov rbx, qword [rsp + 0x58]
mov r12, rdi
jmp 0x180029d00
mov rbx, qword [rsp + 0x58]
jmp 0x180029d0b
mov rbx, qword [rsp + 0x58]
mov r15d, 1
mov r13d, dword [rsp + 0x3c]
jmp 0x180029d1a
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
mov r15d, 1
mov r13d, dword [rsp + 0x3c]
cmp r14d, r13d
jb 0x18002ecb8
mov rax, qword [rdi + 0x1c0]
test rax, rax
je 0x18002ecb8
mov rcx, qword [rdi + 0x1c8]
add r13d, dword [rdi + 0x1d0]
call rax
xor r10d, r10d
test eax, eax
je 0x18002ec7e
mov rbx, qword [rsp + 0x58]
lea eax, [r10 + 9]
or r13d, 0xffffffff
jmp 0x180029d1a
add dword [r12 + 0xe4], r14d
cmp dword [r12 + 0xd0], r10d
je 0x18002ecd2
mov rcx, r12
call fcn.180023b0c
mov eax, ebx
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.180079bd0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret