Function at 0x14003f920
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information
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 - 0x268]
sub rsp, 0x340
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400f7080]
xor rax, rsp
mov qword [rbp + 0x218], rax
mov rax, qword [rcx + 0x68]
xor r13d, r13d
mov r14, qword [rcx]
mov ebx, r13d
mov r15, qword [rcx + 0x70]
mov r12, rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rax
movzx eax, byte [r14 + 0x52]
mov byte [rsp + 0x48], al
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x3c], r13d
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x68], r13b
mov dword [rbp - 0x7c], r13d
mov dword [rsp + 0x38], ebx
mov dword [rbp - 0x58], r13d
mov qword [rsp + 0x58], r15
call fcn.140038720
cmp dword [r12 + 0x38], 7
lea esi, [r13 + 1]
je 0x140041945
mov qword [r12 + 0x48], r13
mov qword [r12 + 0x88], r13
mov eax, dword [r14 + 0x150]
mov dword [r14 + 0x228], r13d
test eax, eax
jne 0x1400451e3
cmp qword [r14 + 0x1a0], rbx
je 0x14003fa07
mov r8d, dword [r14 + 0x1b0]
xor edx, edx
mov eax, dword [r12 + 0xdc]
div r8d
sub r8d, edx
mov dword [rbp - 0x58], r8d
movsxd rax, dword [r12 + 0x34]
lea rdx, [0x140000000]
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
mov r11d, 0x1000
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
inc ebx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x38], ebx
mov r8d, 0x80
movzx ebx, byte [rdi]
cmp ebx, 0xa0
ja case.0x14003fa5b.95
mov ecx, dword [rdx + rbx*4 + 0x45350]
mov eax, ebx
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
mov rdi, qword [rsp + 0x30]
jmp 0x140044be3
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
mov word [rdx + r15 + 8], r8w
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r15], rax
mov eax, 4
mov word [rcx + r15 + 8], ax
cmp dword [rdi + 8], 0
jne 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r15 + 8], r8w
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x1400400c1
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r15]
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [r9 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x14003fccf
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x30]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x140044ca8
mov rdx, qword [r12 + 0xf0]
test rdx, rdx
je 0x140044ca3
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r12 + 0x100]
mov qword [r12 + 0xf0], rax
mov eax, dword [r12 + 0x3c]
add dword [r14 + 0x6c], eax
mov dword [r14 + 0x68], eax
call fcn.140039310
mov rcx, qword [rsp + 0x30]
mov r9, qword [r12 + 0x68]
mov qword [rsp + 0x40], r9
cmp dword [rcx + 8], 4
jne 0x14003fc3c
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov r15, qword [r12 + 0x70]
cdqe
mov qword [rsp + 0x58], r15
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
mov r11d, 0x1000
jmp 0x1400400bb
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x70]
test word [rcx + 8], r10w
je 0x14003fcba
call fcn.14003f8c0
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov rdi, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rsp + 0x30]
mov r10d, 0x2460
mov ebx, dword [rsp + 0x38]
mov r11d, 0x1000
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x70]
test word [rdx + 8], r10w
je 0x14003fd20
mov rcx, rdx
call fcn.14003f8c0
mov r9, qword [rsp + 0x40]
mov rdx, rax
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x14003fd29
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x70]
test word [rdx + 8], r10w
je 0x14003fd77
mov rcx, rdx
call fcn.14003f8c0
mov r9, qword [rsp + 0x40]
mov rdx, rax
mov r10d, 0x2460
mov r11d, 0x1000
mov eax, 8
jmp 0x14003fd25
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r12 + 0x70]
test word [rbx + 8], r10w
je 0x14003fda9
mov rcx, rbx
call fcn.14003f8c0
mov rcx, qword [rsp + 0x30]
mov rbx, rax
jmp 0x14003fdb2
mov eax, 4
mov word [rbx + 8], ax
mov rdx, qword [rcx + 0x10]
mov byte [rcx], 0x4f
test rdx, rdx
jne 0x14003fdc3
mov eax, r13d
jmp 0x14003fdde
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x14003fdd0
and eax, 0x3fffffff
movzx edi, byte [rsp + 0x48]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x14003fe61
mov r9b, 1
mov qword [rsp + 0x20], r13
mov r8d, 0xffffffff
mov rcx, rbx
call fcn.1400361f0
test byte [rbx + 8], 2
mov dword [rsp + 0x3c], eax
je 0x14003fe26
cmp byte [rbx + 0xa], dil
je 0x14003fe26
movzx edx, dil
mov rcx, rbx
call fcn.140017c30
test eax, eax
jne 0x140041945
mov rcx, qword [rsp + 0x30]
mov eax, 0x800
or word [rbx + 8], ax
mov dword [rbx + 0x20], r13d
cmp byte [rcx + 1], 0xff
jne 0x14003fe4f
mov rdx, qword [rcx + 0x10]
mov rcx, r14
call fcn.140015490
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 1], 0xff
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [r14 + 0x70]
jg 0x140044f83
mov r10d, 0x2460
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x70]
test word [rdx + 8], r10w
je 0x14003fe9b
mov rcx, rdx
call fcn.14003f8c0
mov rdx, rax
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov byte [rdx + 0xa], dil
mov rdi, rbx
mov dword [rdx + 0xc], eax
movsxd rax, dword [rbx + 0xc]
test eax, eax
jle 0x14004005d
imul rcx, rax, 0x38
movzx eax, word [rbx + 2]
mov r11d, 0x1000
mov ebx, dword [rsp + 0x38]
cmp qword [rcx + r15], rax
jne 0x140043a51
mov eax, 0xa10
mov word [rdx + 8], ax
lea rdx, [0x140000000]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
movzx edi, byte [rsp + 0x48]
jmp 0x14003fe71
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x70]
test word [rcx + 8], r10w
je 0x14003ff4c
call fcn.14003f8c0
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov rcx, rax
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x14003ff55
mov eax, 4
mov word [rcx + 8], ax
cmp dword [rbx + 4], 0
mov r8d, 0x101
mov edi, dword [rbx + 0xc]
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 8], si
mov dword [rcx + 0xc], r13d
lea rbx, [rcx + 8]
test edi, edi
jle 0x140044c84
test word [rbx + 0x38], r10w
lea rbx, [rbx + 0x38]
je 0x14003ff9a
lea rcx, [rbx - 8]
call fcn.140035980
mov r10d, 0x2460
dec edi
mov word [rbx], si
mov dword [rbx + 4], r13d
test edi, edi
jg 0x14003ff80
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff7f
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], 1
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r12 + 0x70]
test word [rbx + 8], r10w
je 0x14004001f
mov rcx, rbx
call fcn.14003f8c0
mov rbx, rax
jmp 0x140040028
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r13
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.1400361f0
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0xa], al
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r12 + 0xa0]
mov rcx, rbx
call fcn.1400360a0
test eax, eax
jne 0x140044f83
mov rax, qword [rsp + 0x30]
mov r8d, 0x800
mov rdx, rbx
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036110
mov rdi, qword [rsp + 0x30]
mov r11d, 0x1000
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
lea rdx, [0x140000000]
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop dword [rax + rax]
test word [rbx + 8], r10w
jne 0x14004010d
cmp dword [rbx + 0x20], 0
je 0x14004011b
mov rcx, rbx
call fcn.140035a10
mov r11d, 0x1000
movups xmm0, xmmword [rdi]
mov eax, 1
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], ax
mov dword [rdi + 0x20], r13d
test word [rbx + 8], r11w
je 0x140040165
mov rcx, rbx
call fcn.140035650
test eax, eax
jne 0x140041945
mov r11d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r10d, 0x2460
sub esi, 1
jne 0x140040100
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r9, qword [rsp + 0x40]
jmp 0x1400400c1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop word [rax + rax]
mov r8d, r11d
mov rdx, rdi
mov rcx, rbx
call fcn.140036110
mov r11d, 0x1000
test word [rbx + 8], r11w
je 0x1400401e1
mov rcx, rbx
call fcn.140035650
test eax, eax
jne 0x140041945
mov r11d, 0x1000
mov eax, esi
dec esi
test eax, eax
je 0x140044c75
add rbx, 0x38
add rdi, 0x38
jmp 0x1400401b0
mov rcx, qword [rsp + 0x30]
mov r8d, r11d
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdx, r15
jmp 0x14004009f
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r15
mov rax, qword [rcx + r15]
test word [r8 + 8], r10w
je 0x140040246
mov rdx, rax
mov rcx, r8
call fcn.140035e80
jmp 0x14004004d
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, r15
imul rbx, rax, 0x38
movzx ecx, word [rsi + 8]
add rdi, r15
movzx eax, cl
add rbx, r15
or al, byte [rdi + 8]
test al, 1
je 0x1400402e2
test word [rbx + 8], r10w
je 0x1400402bf
mov rcx, rbx
call fcn.140035980
mov rdi, qword [rsp + 0x30]
mov esi, 1
jmp 0x140040052
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov word [rbx + 8], si
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov r14d, 0x4000
test r14w, cx
je 0x1400402fe
mov rcx, rsi
call fcn.1400356e0
test eax, eax
jne 0x140041945
test word [rdi + 8], r14w
je 0x140040315
mov rcx, rdi
call fcn.1400356e0
test eax, eax
jne 0x140041945
test byte [rsi + 8], 0x12
movzx r14d, byte [rsp + 0x48]
jne 0x140040338
xor r8d, r8d
movzx edx, r14b
mov rcx, rsi
call fcn.1400357a0
test eax, eax
jne 0x140041945
test byte [rdi + 8], 0x12
jne 0x140040355
xor r8d, r8d
movzx edx, r14b
mov rcx, rdi
call fcn.1400357a0
test eax, eax
jne 0x140041945
mov rdx, qword [rsp + 0x50]
mov r14d, dword [rdi + 0xc]
add r14d, dword [rsi + 0xc]
movsxd r15, r14d
movsxd rax, dword [rdx + 0x70]
cmp r15, rax
jg 0x140044f83
mov r8d, r13d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.1400354b0
test eax, eax
jne 0x140041945
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x1400403b4
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400a6830
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.1400a6830
mov rax, qword [rbx + 0x10]
mov esi, 1
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
mov r15, qword [rsp + 0x58]
mov dword [rbx + 0xc], r14d
mov r14, qword [rsp + 0x50]
jmp 0x140040045
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.14003f8a0
movzx r12d, ax
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, r15
mov rcx, rsi
call fcn.14003f8a0
movzx r14d, ax
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
movzx eax, byte [rsi + 8]
or al, byte [rdi + 8]
add rbx, r15
test al, 1
jne 0x14004065b
movzx eax, r14b
and al, r12b
test al, 4
je 0x14004056b
mov rax, qword [rsp + 0x30]
mov r15b, 1
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp - 0x28], rdx
movzx ecx, byte [rax]
sub ecx, 0x2f
je 0x140040501
sub ecx, 1
je 0x1400404ef
sub ecx, 1
je 0x1400404d9
cmp ecx, 1
je 0x1400404ad
test r8, r8
je 0x140040656
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov esi, 1
cqo
cmove r8, rsi
idiv r8
mov qword [rbp - 0x28], rdx
jmp 0x140040547
test r8, r8
je 0x140040656
cmp r8, 0xffffffffffffffff
jne 0x1400404cf
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14004056e
mov rax, rdx
cqo
idiv r8
jmp 0x14004053e
mov rdx, r8
lea rcx, [rbp - 0x28]
call fcn.1400195d0
test eax, eax
jne 0x14004056e
jmp 0x140040542
mov rdx, r8
lea rcx, [rbp - 0x28]
call fcn.140019560
test eax, eax
jne 0x14004056e
jmp 0x140040542
test r8, r8
js 0x14004051f
test rdx, rdx
jle 0x14004053a
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14004053a
jmp 0x14004056e
test rdx, rdx
jns 0x14004053a
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14004056e
lea rax, [rdx + r8]
mov qword [rbp - 0x28], rax
mov esi, 1
mov rax, qword [rbp - 0x28]
mov qword [rbx], rax
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 4
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x14004004d
xor r15b, r15b
mov rcx, rdi
call fcn.140035b70
mov rcx, rsi
movaps xmm6, xmm0
call fcn.140035b70
mov rax, qword [rsp + 0x30]
movaps xmm3, xmm0
movzx ecx, byte [rax]
sub ecx, 0x2f
je 0x1400405ed
sub ecx, 1
je 0x1400405e7
sub ecx, 1
je 0x1400405e1
cmp ecx, 1
je 0x1400405d3
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp - 0x28], rax
test rcx, rcx
je 0x140040656
cmp rcx, 0xffffffffffffffff
mov esi, 1
cqo
xorps xmm3, xmm3
cmove rcx, rsi
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x1400405f6
ucomisd xmm6, xmm7
jp 0x1400405db
je 0x140040656
divsd xmm3, xmm6
jmp 0x1400405f1
mulsd xmm3, xmm6
jmp 0x1400405f1
subsd xmm3, xmm6
jmp 0x1400405f1
addsd xmm3, xmm6
mov esi, 1
movsd qword [rbp - 0x78], xmm3
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x20], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x20]
ucomisd xmm2, xmm1
jp 0x140040656
jne 0x140040656
mov eax, 0x3e00
movsd qword [rbx], xmm3
and word [rbx + 8], ax
or r14b, r12b
or word [rbx + 8], 8
test r14b, 8
jne 0x14004055c
test r15b, r15b
jne 0x14004055c
mov rcx, rbx
call fcn.140035bd0
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x14004004d
mov r15, qword [rsp + 0x58]
mov r10d, 0x2460
test word [rbx + 8], r10w
je 0x14004067f
mov rcx, rbx
call fcn.140035980
mov r14, qword [rsp + 0x50]
mov esi, 1
jmp 0x14004004d
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r14, qword [rsp + 0x50]
mov r11d, 0x1000
mov r9, qword [rsp + 0x40]
mov word [rbx + 8], si
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14003fccf
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], r10w
je 0x1400406cd
xor edx, edx
call fcn.140035e80
jmp 0x14004004d
mov rdi, qword [rsp + 0x30]
mov eax, 4
mov ebx, dword [rsp + 0x38]
mov word [rcx + 8], ax
mov qword [rcx], r13
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rcx, r14
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x30]
call fcn.1400157c0
mov r8, rax
test rax, rax
je 0x140041945
mov rcx, qword [rsp + 0x30]
mov qword [rax], r13
mov rax, qword [rcx + 0x10]
sub rcx, qword [rsp + 0x40]
mov qword [r8 + 8], rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf05b
mov qword [rax + 0x10], r8
jmp 0x140040769
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r15
mov qword [rbp - 0x20], rdi
cmp qword [rbx], rdi
je 0x1400407c5
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x1400407c5
mov rdi, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1400407a1
mov rdi, qword [rbp - 0x20]
mov eax, 0x3e00
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
mov byte [rbx + 0x29], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x140040840
cmp dword [rbx + 0x24], 0
je 0x140040818
mov dl, 1
mov rcx, rdi
call fcn.140036680
mov r8, rax
lea rdx, [0x1400db730]
mov rcx, r12
call fcn.140036e40
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
lea rdx, [r12 + 0x110]
mov r8d, dword [rbx + 0x20]
mov rcx, r14
mov r9d, dword [rax + 4]
call fcn.14003a7f0
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
movzx eax, word [rdi + 8]
test al, 0x12
je 0x14004004d
test al, 2
je 0x140040865
movzx eax, byte [rsp + 0x48]
cmp byte [rdi + 0xa], al
je 0x140040865
movzx edx, al
mov rcx, rdi
call fcn.140017c30
mov rcx, rdi
call fcn.1400360a0
test eax, eax
jne 0x140044f83
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rsi, r15
add rcx, r15
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rsi + 8]
add rdi, r15
test al, 1
je 0x1400408e2
test word [rdi + 8], r10w
je 0x1400408bf
mov rcx, rdi
jmp 0x1400402ab
mov ebx, dword [rsp + 0x38]
mov esi, 1
mov word [rdi + 8], si
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
call fcn.140035ae0
mov rcx, rsi
mov rbx, rax
call fcn.140035ae0
mov rdx, qword [rsp + 0x30]
mov rcx, rax
movzx edx, byte [rdx]
cmp dl, 0x2b
jne 0x140040907
and rbx, rax
jmp 0x14004097b
cmp dl, 0x2c
jne 0x140040911
or rbx, rcx
jmp 0x14004097b
test rcx, rcx
je 0x14004097b
jns 0x14004092b
mov eax, 0x5b
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x140040931
neg rcx
cmp rcx, 0x40
jl 0x140040949
test rbx, rbx
jns 0x140040944
cmp dl, 0x2d
je 0x140040944
mov rbx, 0xffffffffffffffff
jmp 0x14004097b
mov rbx, r13
jmp 0x14004097b
cmp dl, 0x2d
jne 0x140040956
shl rbx, cl
mov r8, rbx
jmp 0x140040978
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140040978
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e00
mov qword [rdi], rbx
and word [rdi + 8], ax
mov esi, 1
or word [rdi + 8], 4
mov rdi, qword [rsp + 0x30]
jmp 0x140040052
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140035ae0
mov qword [rbx], rax
mov rcx, rax
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
add rax, rcx
mov qword [rbx], rax
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x140040a3c
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.14003f720
movzx eax, word [rbx + 8]
test al, 4
jne 0x140040a24
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 8], 0
jne 0x140044bde
mov edi, 0x14
jmp 0x140045226
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov r10d, 0x2460
mov r11d, 0x1000
mov rdi, qword [rsp + 0x30]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 4
je 0x14003fccf
mov rcx, rbx
call fcn.140035b70
mov eax, 0x3e00
movsd qword [rbx], xmm0
and word [rbx + 8], ax
or word [rbx + 8], 8
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
test word [rbx + 8], ax
je 0x140040ac8
mov rcx, rbx
call fcn.1400356e0
mov dword [rsp + 0x3c], eax
jmp 0x140040acd
mov dword [rsp + 0x3c], r13d
mov rax, qword [rsp + 0x30]
mov rcx, rbx
movzx r8d, byte [rsp + 0x48]
movzx edx, byte [rax + 8]
call fcn.140035d60
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx ebx, word [rcx + r15 + 8]
lea r14, [rcx + r15]
add rdi, r15
movzx edx, bx
movzx esi, word [rdi + 8]
or dx, si
test dl, 1
je 0x140040ba3
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x140040b5b
movzx eax, bl
and al, sil
test al, 1
je 0x140040c1d
mov eax, 0x100
test ax, bx
jne 0x140040c1d
mov ecx, r13d
jmp 0x140040cbe
mov rdi, qword [rsp + 0x30]
mov esi, 1
test al, 0x20
je 0x140040b91
mov r14, qword [rsp + 0x50]
mov rax, rdi
mov dword [rbp - 0x7c], esi
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], si
jmp 0x1400400c1
test al, 0x10
jne 0x140044be3
mov r14, qword [rsp + 0x50]
jmp 0x1400400c1
mov r15, qword [rsp + 0x30]
movzx eax, byte [r15 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140040c34
movzx ecx, bx
test dl, 2
je 0x140040bf3
movzx eax, sil
and al, 0xe
cmp al, 2
jne 0x140040bd8
xor edx, edx
mov rcx, rdi
call fcn.14003f680
movzx ebx, word [r14 + 8]
movzx eax, bl
movzx ecx, bx
and al, 0xe
cmp al, 2
jne 0x140040bf3
xor edx, edx
mov rcx, r14
call fcn.14003f680
movzx ecx, word [r14 + 8]
and cl, byte [rdi + 8]
test cl, 4
je 0x140040c97
mov rax, qword [r14]
mov r10d, 0x2460
mov r11d, 0x1000
mov r15, qword [rsp + 0x58]
mov r9, qword [rsp + 0x40]
cmp rax, qword [rdi]
jle 0x140040c27
mov ecx, 1
jmp 0x140040cbe
mov ecx, r13d
setge cl
dec ecx
jmp 0x140040cbe
cmp al, 0x42
jne 0x140040c97
movzx r12d, byte [rsp + 0x48]
test sil, 2
jne 0x140040c6b
test sil, 0xc
je 0x140040c6b
mov r8b, 1
movzx edx, r12b
mov rcx, rdi
call fcn.1400357a0
movzx eax, si
mov ecx, 0x7e00
xor ax, word [rdi + 8]
and ax, cx
xor si, ax
test bl, 2
jne 0x140040c97
test bl, 0xc
je 0x140040c97
mov r8b, 1
movzx edx, r12b
mov rcx, r14
call fcn.1400357a0
movzx eax, word [r14 + 8]
mov ecx, 0x7e00
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [r15 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.14003b640
mov r9, qword [rsp + 0x40]
mov ecx, eax
mov r15, qword [rsp + 0x58]
mov r10d, 0x2460
mov r11d, 0x1000
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
sub edx, 0x24
je 0x140040d06
sub edx, 1
je 0x140040cfc
sub edx, 1
je 0x140040cf2
sub edx, 1
je 0x140040ce8
cmp edx, 1
mov edx, ecx
je 0x140040ce3
not edx
shr edx, 0x1f
jmp 0x140040d08
test ecx, ecx
mov edx, r13d
setle dl
jmp 0x140040d08
test ecx, ecx
mov edx, r13d
setg dl
jmp 0x140040d08
test ecx, ecx
mov edx, r13d
sete dl
jmp 0x140040d08
mov edx, ecx
mov word [rdi + 8], si
mov word [r14 + 8], bx
movzx eax, word [rax + 2]
test al, 0x20
je 0x140040d77
mov dword [rbp - 0x7c], ecx
test al, 8
je 0x140040d3a
mov rax, qword [rsp + 0x30]
mov ecx, r13d
cmp byte [rax], 0x25
mov eax, r13d
sete cl
test edx, edx
setne al
cmp ecx, eax
je 0x140040d63
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, r15
and word [rcx + 8], ax
mov rax, r13
or word [rcx + 8], 4
test edx, edx
setne al
mov qword [rcx], rax
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r14, qword [rsp + 0x50]
jmp 0x1400400c1
mov rdi, qword [rsp + 0x30]
mov esi, 1
test edx, edx
jne 0x140044be3
mov r14, qword [rsp + 0x50]
jmp 0x1400400c1
cmp dword [rbp - 0x7c], 0
jne 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 1
jne 0x140040dc2
mov r14, r13
jmp 0x140040dca
mov r14, qword [rcx - 8]
add r14, 4
mov r9d, dword [rcx + 4]
xor ebx, ebx
mov r12, qword [rsp + 0x30]
mov edi, ebx
mov r13, qword [rcx + 0x10]
mov ecx, dword [rcx + 8]
mov dword [rbp - 0x48], r9d
movsxd r12, dword [r12 + 0xc]
mov dword [rbp - 0x78], ecx
test r12, r12
jle 0x140044c51
lea rsi, [r13 + 0x20]
test r14, r14
je 0x140040e02
mov r8d, dword [r14 + rbx*4]
jmp 0x140040e05
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r15d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x58]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x58]
call fcn.14003b640
mov dword [rbp - 0x7c], eax
mov r8d, eax
test eax, eax
jne 0x140040e6e
mov r9d, dword [rbp - 0x48]
inc edi
mov ecx, dword [rbp - 0x78]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x140040df7
mov r14, qword [rsp + 0x50]
mov esi, 1
mov r15, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x30]
jmp 0x140040052
mov rdi, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov r14, qword [rsp + 0x50]
test r15b, r15b
mov r15, qword [rsp + 0x58]
mov esi, 1
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
mov ebx, dword [rsp + 0x38]
mov r11d, 0x1000
je 0x1400400cc
neg r8d
mov dword [rbp - 0x7c], r8d
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov r8d, dword [rbp - 0x7c]
mov rax, qword [rsp + 0x30]
test r8d, r8d
jns 0x140040ef2
mov eax, dword [rax + 4]
mov ebx, dword [rsp + 0x38]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
jne 0x140040f19
mov eax, dword [rax + 8]
mov ebx, dword [rsp + 0x38]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov eax, dword [rax + 0xc]
mov ebx, dword [rsp + 0x38]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140040f5d
mov edx, 2
mov ebx, edx
jmp 0x140040f70
call fcn.140035ae0
test rax, rax
mov rbx, r13
mov edx, 2
setne bl
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x140040f8b
mov rcx, rdx
jmp 0x140040f99
call fcn.140035ae0
test rax, rax
mov rcx, r13
setne cl
mov rax, qword [rsp + 0x30]
lea rcx, [rcx + rbx*2]
add rcx, rbx
lea rdx, [0x140000000]
cmp byte [rax], 0x1c
jne 0x140040fbb
movzx edx, byte [rcx + rdx + 0xe0148]
jmp 0x140040fc3
movzx edx, byte [rcx + rdx + 0xe1178]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x3e00
movzx r8d, word [rcx + r15 + 8]
and r8w, ax
cmp dl, 2
jne 0x140040ff1
movzx eax, si
or ax, r8w
mov word [rcx + r15 + 8], ax
jmp 0x14004004d
movzx eax, dl
mov qword [rcx + r15], rax
mov eax, 4
or ax, r8w
mov word [rcx + r15 + 8], ax
jmp 0x14004004d
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
test word [rbx + 8], r10w
je 0x140041050
mov rcx, rbx
call fcn.140035980
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x140041054
mov word [rbx + 8], si
test byte [rdi + 8], 1
jne 0x14003fccf
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.140035ae0
mov rcx, r13
test rax, rax
sete cl
mov qword [rbx], rcx
jmp 0x14004004d
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
test word [rbx + 8], r10w
je 0x1400410c4
mov rcx, rbx
call fcn.140035980
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400410c8
mov word [rbx + 8], si
test byte [rdi + 8], 1
jne 0x14003fccf
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.140035ae0
not rax
mov qword [rbx], rax
jmp 0x14004004d
mov r8, qword [r12 + 0xf0]
test r8, r8
je 0x140041177
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r12 + 0x68]
mov r9, qword [r8 + 0x30]
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 0x140044bd9
mov rdi, qword [rsp + 0x30]
bts eax, edx
mov ebx, dword [rsp + 0x38]
lea rdx, [0x140000000]
mov byte [rcx + r9], al
mov rcx, qword [r12 + 0x68]
mov r9, qword [rsp + 0x40]
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rcx, qword [r12 + 0x68]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14003fa99
mov rdi, qword [rsp + 0x30]
mov eax, dword [rcx + 4]
mov ebx, dword [rsp + 0x38]
mov dword [rdi + 4], eax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 1
je 0x1400411d2
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
jmp 0x140041209
call fcn.140035b70
ucomisd xmm0, xmm7
jp 0x1400411e2
mov eax, r13d
je 0x1400411e4
mov eax, esi
mov rdi, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
mov r11d, 0x1000
cmp byte [rdi], 0x16
jne 0x140041209
xor eax, 1
test eax, eax
jne 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jne 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [r12 + 0x98]
lea rdx, [rbp - 0x80]
mov rbx, qword [rsp + 0x30]
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rbx + 8]
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0x60]
mov dword [rbp - 0x80], eax
call fcn.14003acf0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
movsxd rax, dword [rbx + 0xc]
mov r10, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
imul r13, rax, 0x38
mov eax, dword [rdi + 0x30]
mov r12, qword [r10 + 0x60]
add r13, r15
cmp dword [r10 + 0x28], eax
je 0x140041472
cmp byte [r10 + 2], 0
je 0x140041362
cmp byte [r10], 3
jne 0x14004132d
movsxd rax, dword [r10 + 0x38]
imul rdx, rax, 0x38
mov eax, dword [rdx + r15 + 0xc]
mov dword [rbp - 0x70], eax
mov dword [r10 + 0x74], eax
mov rcx, qword [rsp + 0x60]
mov eax, dword [rbp - 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rdx + r15 + 0x10]
mov qword [rax + 0x68], rcx
jmp 0x1400413af
mov r10d, 0x2460
test word [r13 + 8], r10w
je 0x14004134a
mov rcx, r13
call fcn.140035980
mov rdi, rbx
jmp 0x140040052
mov r9, qword [rsp + 0x40]
mov rdi, rbx
mov word [r13 + 8], si
mov r11d, 0x1000
jmp 0x1400400c1
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.14002cb80
mov ecx, dword [rbx + 0x30]
lea rdx, [rbp - 0x70]
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x70], ecx
mov rcx, rbx
call fcn.14002d2c0
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x60]
mov edx, dword [rbp - 0x70]
mov eax, dword [rcx + 0x70]
cmp eax, edx
ja 0x1400413a2
mov dword [rcx + 0x74], eax
jmp 0x1400413af
cmp eax, dword [r14 + 0x70]
ja 0x140044f80
mov dword [rcx + 0x74], edx
mov rax, qword [rsp + 0x60]
mov ecx, dword [rdi + 0x30]
mov dword [rax + 0x28], ecx
mov rcx, qword [rsp + 0x60]
mov r8, qword [rcx + 0x68]
movzx eax, byte [r8]
cmp al, 0x80
jae 0x1400413d5
movzx eax, al
mov dword [rbp - 0x6c], eax
mov al, 1
jmp 0x1400413e6
lea rdx, [rbp - 0x6c]
mov rcx, r8
call fcn.1400193c0
mov rcx, qword [rsp + 0x60]
movzx eax, al
xor ebx, ebx
mov dword [rcx + 0x48], eax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x52], bx
mov eax, dword [rbp - 0x6c]
mov dword [r12], eax
mov eax, dword [rbp - 0x6c]
cmp dword [rbp - 0x70], eax
jae 0x140041460
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x68], rbx
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x74], ebx
mov eax, dword [rbp - 0x6c]
cmp eax, 0x18003
ja 0x14004142c
mov r10, qword [rsp + 0x60]
cmp eax, dword [r10 + 0x70]
jbe 0x140041474
mov r9d, 0x13b5a
lea rax, [0x1400dfa24]
mov ecx, 0xb
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140017820
mov edi, 0xb
jmp 0x140045221
mov r10, qword [rsp + 0x60]
test eax, eax
je 0x140041474
mov rax, qword [r10 + 0x68]
jmp 0x1400414ed
xor ebx, ebx
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rbp - 0x80]
cmp eax, r8d
jg 0x14004167c
mov eax, dword [r12]
cmp dword [r10 + 0x48], eax
jae 0x140041616
mov rax, qword [r10 + 0x68]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x1400414f1
mov qword [rbp + 0x58], rax
lea r9, [rbp + 0x58]
mov qword [rbp + 0x60], rax
xor edx, edx
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov r8d, dword [r12]
mov rcx, qword [r10 + 0x38]
call fcn.140036560
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045221
mov rax, qword [rbp + 0x68]
mov r10, qword [rsp + 0x60]
mov qword [rbp - 0x78], rax
movzx edi, word [r10 + 0x52]
mov r9d, 0x80
mov ebx, dword [r10 + 0x48]
mov r14d, edi
mov r15d, dword [r12]
add rbx, rax
add r15, rax
mov esi, dword [r12 + rdi*4]
movzx ecx, byte [rbx]
mov dword [rsp + 0x6c], ecx
cmp ecx, r9d
jae 0x140041531
lea rdx, [0x140000000]
inc rbx
movzx edx, byte [rcx + rdx + 0xe1d80]
jmp 0x140041574
lea rdx, [rsp + 0x6c]
mov rcx, rbx
call fcn.1400193c0
mov ecx, dword [rsp + 0x6c]
movzx eax, al
add rbx, rax
mov eax, 0x80
cmp ecx, eax
jb 0x140041558
lea eax, [rcx - 0xc]
shr eax, 1
jmp 0x140041567
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xe1d80]
mov r10, qword [rsp + 0x60]
mov r9d, 0x80
mov edx, eax
mov dword [r10 + r14*4 + 0x78], ecx
inc edi
add rsi, rdx
movsxd r14, edi
mov dword [r12 + r14*4], esi
mov r10, qword [rsp + 0x60]
cmp edi, dword [rbp - 0x80]
jg 0x14004159a
cmp rbx, r15
jb 0x140041511
jmp 0x14004159f
cmp rbx, r15
jb 0x1400415b5
cmp rbx, r15
ja 0x140044d7b
mov eax, dword [r10 + 0x70]
cmp rsi, rax
jne 0x140044d7b
mov eax, dword [r10 + 0x70]
cmp rsi, rax
ja 0x140044d7b
sub ebx, dword [rbp - 0x78]
mov word [r10 + 0x52], di
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x48], ebx
mov ebx, 0x2460
mov r10, qword [rsp + 0x60]
cmp qword [r10 + 0x68], 0
jne 0x1400415fd
test word [rbp + 0x60], bx
jne 0x1400415ef
cmp dword [rbp + 0x78], 0
je 0x1400415fd
lea rcx, [rbp + 0x58]
call fcn.140035a10
mov r10, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x80]
mov esi, 1
mov edx, dword [rsp + 0x6c]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x140041621
mov edx, ebx
mov dword [rsp + 0x6c], ebx
mov ebx, 0x2460
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x14004168a
mov rdi, qword [rsp + 0x30]
cmp byte [rdi + 1], 0xf9
jne 0x14004164d
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.140036110
jmp 0x140040052
mov r10d, 0x2460
test word [r13 + 8], r10w
je 0x140041667
mov rcx, r13
call fcn.140035980
jmp 0x140040052
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov word [r13 + 8], si
jmp 0x1400400c1
mov edx, dword [r10 + r8*4 + 0x78]
mov ebx, 0x2460
mov dword [rsp + 0x6c], edx
test word [r13 + 8], bx
je 0x1400416a6
mov rcx, r13
call fcn.140035980
mov r10, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x6c]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [r12 + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x14004177e
movsxd rax, r8d
mov edi, dword [r12 + rax*4]
add rdi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x1400416db
mov r8, r13
mov rcx, rdi
call fcn.14003af80
jmp 0x14004004d
movzx eax, byte [rsp + 0x48]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x140041714
xor r8d, r8d
mov word [r13 + 8], si
mov rcx, r13
call fcn.1400354b0
test eax, eax
jne 0x140041940
mov rcx, qword [r13 + 0x10]
jmp 0x14004171c
mov rcx, qword [r13 + 0x18]
mov qword [r13 + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call fcn.1400a6830
mov rax, qword [r13 + 0x10]
lea rdx, [0x140000000]
mov rdi, qword [rsp + 0x30]
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov byte [rbx + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rax + rbx + 1], 0
mov eax, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0x38]
and eax, 1
movzx eax, word [rdx + rax*2 + 0xe114c]
mov word [r13 + 8], ax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
movzx eax, byte [rsp + 0x48]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x30]
mov edx, dword [rsp + 0x6c]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x1400417a6
cmp edx, 0xc
jb 0x1400417a2
test dl, 1
je 0x1400417cd
test al, al
js 0x1400417cd
mov eax, 0x80
cmp edx, eax
jb 0x1400417b8
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x1400417c8
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xe1d80]
test r8d, r8d
jne 0x1400417e1
mov r8, r13
lea rcx, [0x1400fc198]
call fcn.14003af80
jmp 0x14004004d
movsxd rax, dword [rbp - 0x80]
mov r9, r13
mov rcx, qword [rsp + 0x60]
mov edx, dword [r12 + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140036560
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045221
mov edx, dword [rsp + 0x6c]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.14003af80
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r15
test al, al
je 0x14003fccf
movzx r14d, byte [rsp + 0x48]
nop dword [rax]
movzx r8d, r14b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.14003f720
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140041850
mov r14, qword [rsp + 0x50]
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
mov rsi, r13
mov rdi, qword [rsp + 0x78]
mov r12d, r13d
mov qword [rbp - 0x78], r13
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
movzx r14d, byte [rdi + 0xbf]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
add r15, qword [rsp + 0x58]
dec eax
cdqe
imul rax, rax, 0x38
add rax, r15
mov qword [rbp - 0x48], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov qword [rbp - 0x20], rcx
test rbx, rbx
je 0x140041903
movzx eax, byte [rbx]
mov rdi, r15
movzx r13d, byte [rsp + 0x48]
nop dword [rax]
movzx r8d, r13b
movzx edx, al
mov rcx, rdi
call fcn.14003f720
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x1400418e0
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x48]
nop word [rax + rax]
lea r8, [rbp - 0x40]
mov edx, r14d
mov rcx, rbx
call fcn.14003ad40
mov edi, eax
mov eax, 0x4000
mov dword [rbx + 0x24], edi
test word [rbx + 8], ax
je 0x140041977
test rsi, rsi
je 0x14004196a
mov rcx, rbx
call fcn.1400356e0
test eax, eax
je 0x140041977
mov r12, qword [rsp + 0x78]
mov ebx, 7
mov rcx, qword [rsp + 0x50]
call fcn.140015c10
lea rdx, [0x1400dc258]
mov rcx, r12
call fcn.140036e40
mov edi, ebx
jmp 0x14004522b
movsxd rcx, dword [rbx]
add r13, rcx
sub dword [rbp - 0x40], ecx
mov qword [rbp - 0x78], r13
mov eax, dword [rbp - 0x40]
mov r8d, 1
add rsi, rax
mov ecx, r8d
cmp edi, 0x7f
jbe 0x1400419ab
mov rax, rdi
shr rax, 7
test rax, rax
je 0x1400419ab
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1400419a0
add r12d, ecx
cmp rbx, r15
je 0x1400419bc
sub rbx, 0x38
jmp 0x140041910
cmp r12d, 0x7e
jle 0x1400419ff
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x1400419dc
inc edx
shr rax, 7
test rax, rax
jne 0x1400419d1
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1400419fb
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x1400419f0
cmp edx, ecx
jge 0x140041a02
inc r12d
mov rdx, qword [rsp + 0x50]
movsxd rbx, r12d
movsxd rax, dword [rdx + 0x70]
lea r14, [rbx + rsi]
lea rcx, [r14 + r13]
mov qword [rbp + 0x28], r14
cmp rcx, rax
jg 0x140044f79
mov rdi, qword [rbp - 0x20]
cmp dword [rdi + 0x20], r14d
jge 0x140041a45
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.1400354b0
test eax, eax
jne 0x140041940
jmp 0x140041a52
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x140041a6e
mov r13d, 1
mov byte [rsi], r12b
mov eax, r13d
jmp 0x140041a82
mov rdx, rbx
mov rcx, rsi
call fcn.1400191c0
mov edx, 0x80
lea r13d, [rdx - 0x7f]
mov r14, qword [rbp - 0x48]
movzx edi, al
nop dword [rax]
mov ebx, dword [r15 + 0x24]
movsxd rcx, edi
add rcx, rsi
cmp ebx, edx
jae 0x140041aa5
mov byte [rcx], bl
mov eax, r13d
jmp 0x140041aad
mov rdx, rbx
call fcn.1400191c0
movzx eax, al
mov r8d, ebx
movsxd rcx, r12d
mov rdx, r15
add rcx, rsi
add edi, eax
call fcn.14003ae40
add r12d, eax
add r15, 0x38
mov edx, 0x80
cmp r15, r14
jbe 0x140041a90
mov rcx, qword [rbp - 0x20]
mov eax, 0x10
mov r13, qword [rbp - 0x78]
mov r14, qword [rbp + 0x28]
mov dword [rcx + 0xc], r14d
mov word [rcx + 8], ax
test r13, r13
je 0x140041afe
mov eax, 0x4010
mov dword [rcx], r13d
mov word [rcx + 8], ax
mov r14, qword [rsp + 0x50]
mov esi, 1
mov r15, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x30]
mov byte [rcx + 0xa], 1
jmp 0x140040052
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x30], r13
call fcn.140032e00
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov rax, qword [rsp + 0x30]
mov r10d, 0x2460
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x70]
test word [rcx + 8], r10w
je 0x140041b98
call fcn.14003f8c0
mov rdi, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov qword [rcx], rax
jmp 0x1400400c1
mov rdi, qword [rsp + 0x30]
mov eax, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x30]
mov qword [rcx], rax
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
mov r13d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
test r13d, r13d
jne 0x140041ca6
cmp dword [r14 + 0xb4], r13d
jg 0x140044da7
test rsi, rsi
jne 0x140041be9
xor ebx, ebx
jmp 0x140041bff
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140041bf0
and ebx, 0x3fffffff
mov r8d, dword [r14 + 0x280]
xor edx, edx
add r8d, dword [r14 + 0x27c]
mov rcx, r14
call fcn.140088740
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov edx, ebx
mov rcx, r14
add rdx, 0x21
call fcn.1400157c0
mov rdi, rax
test rax, rax
je 0x1400402b0
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1400a6830
cmp byte [r14 + 0x53], 0
je 0x140041c68
mov byte [r14 + 0x53], 0
mov byte [r14 + 0x5b], 1
jmp 0x140041c6f
inc dword [r14 + 0x27c]
mov rax, qword [r14 + 0x270]
mov esi, 1
mov qword [rdi + 0x18], rax
mov rax, qword [r14 + 0x288]
mov qword [r14 + 0x270], rdi
mov qword [rdi + 8], rax
mov rax, qword [r14 + 0x290]
mov qword [rdi + 0x10], rax
mov rdi, qword [rsp + 0x30]
jmp 0x140040052
mov rdi, qword [r14 + 0x270]
xor ebx, ebx
mov r15d, ebx
test rdi, rdi
je 0x140041cdb
nop word [rax + rax]
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.140018680
test eax, eax
je 0x140041cf7
mov rdi, qword [rdi + 0x18]
inc r15d
test rdi, rdi
jne 0x140041cc0
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.140036e40
mov edi, 1
jmp 0x140045226
cmp dword [r14 + 0xb4], ebx
jle 0x140041d0a
cmp r13d, 1
je 0x140044dc0
cmp qword [rdi + 0x18], rbx
jne 0x140041d63
cmp byte [r14 + 0x5b], bl
je 0x140041d63
mov esi, 1
mov ebx, esi
mov dword [rbp - 0x48], ebx
cmp r13d, esi
jne 0x140041d68
mov edx, esi
mov rcx, r12
call fcn.14003a180
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x1400452fd
mov rcx, r12
mov byte [r14 + 0x53], bl
call fcn.14003a1d0
cmp eax, 5
je 0x140044dd9
mov byte [r14 + 0x5b], 0
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0x3c], eax
jmp 0x140041e5a
mov dword [rbp - 0x48], ebx
jmp 0x140041d6a
xor ebx, ebx
mov eax, dword [r14 + 0x27c]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [r14 + 0x28]
cmp r13d, 2
jne 0x140041de2
mov r12d, dword [r14 + 0x2c]
mov esi, ebx
shr r12d, 1
and r12d, 1
test eax, eax
jle 0x140041de5
mov r14d, r12d
xor r14d, 1
nop word [rax + rax]
mov rdx, qword [rsp + 0x50]
mov r8d, r14d
mov rcx, qword [rdx + 0x20]
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14002c4c0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14004521d
mov rax, qword [rsp + 0x50]
inc esi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp esi, eax
jl 0x140041da0
mov r14, qword [rsp + 0x50]
xor ebx, ebx
jmp 0x140041de5
mov r12d, ebx
mov esi, ebx
test eax, eax
jle 0x140041e1c
nop dword [rax + rax]
mov rcx, qword [r14 + 0x20]
mov r8d, r15d
mov edx, r13d
mov rcx, qword [rbx + rcx + 8]
call fcn.14002c7b0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x14004521d
inc esi
add rbx, 0x20
cmp esi, dword [r14 + 0x28]
jl 0x140041df0
test r12d, r12d
je 0x140041e4d
mov rax, qword [r14 + 8]
test rax, rax
je 0x140041e40
nop word [rax + rax]
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140041e30
mov rcx, r14
call fcn.14005ac60
or dword [r14 + 0x2c], 2
mov r12, qword [rsp + 0x78]
mov esi, 1
mov ebx, dword [rbp - 0x48]
cmp qword [r14 + 0x270], rdi
je 0x140041e9a
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r14 + 0x270]
mov rcx, r14
mov rax, qword [rdx + 0x18]
mov qword [r14 + 0x270], rax
call fcn.140015490
dec dword [r14 + 0x27c]
cmp qword [r14 + 0x270], rdi
jne 0x140041e70
cmp r13d, 1
jne 0x140041ee7
mov rax, qword [rdi + 0x18]
mov rdx, rdi
mov rcx, r14
mov qword [r14 + 0x270], rax
call fcn.140015490
test ebx, ebx
jne 0x140041f07
dec dword [r14 + 0x27c]
mov r8d, r15d
mov edx, r13d
mov rcx, r14
call fcn.140088740
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov r15, qword [rsp + 0x58]
jmp 0x14004004d
mov rax, qword [rdi + 8]
mov qword [r14 + 0x288], rax
mov rax, qword [rdi + 0x10]
mov qword [r14 + 0x290], rax
test ebx, ebx
je 0x140041ec1
cmp r13d, 2
je 0x140041ec1
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
mov r15, qword [rsp + 0x58]
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 8]
test edx, edx
je 0x140041f37
test dword [r14 + 0x2c], 0x4000000
jne 0x140044e1e
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14004202b
mov rcx, rbx
call fcn.14002b280
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140044e28
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], edi
je 0x140041fee
test byte [r12 + 0xc0], 0x40
je 0x140041fee
cmp byte [r14 + 0x53], dil
je 0x140041f8c
cmp dword [r14 + 0xb0], 1
jle 0x140041fee
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x140041fb0
inc dword [r14 + 0x280]
mov r8d, dword [r14 + 0x27c]
add r8d, dword [r14 + 0x280]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r14
call fcn.140088740
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140041fd6
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.14002c740
mov dword [rsp + 0x3c], eax
mov rax, qword [r14 + 0x288]
mov qword [r12 + 0x58], rax
mov rax, qword [r14 + 0x290]
mov qword [r12 + 0x60], rax
lea r8, [rbp - 0x2c]
mov edx, esi
mov rcx, rbx
call fcn.140032c80
mov rax, qword [rsp + 0x30]
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x2c]
mov edx, dword [rcx + 4]
jmp 0x140042034
mov eax, r13d
mov edx, r13d
mov dword [rbp - 0x2c], eax
mov rdi, qword [rsp + 0x30]
cmp word [rdi + 2], 0
je 0x140042052
cmp eax, dword [rdi + 0xc]
jne 0x140044e68
cmp edx, dword [rdi + 0x10]
jne 0x140044e68
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
jmp 0x1400400c1
mov rcx, qword [r14 + 0x20]
lea r8, [rbp]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
mov edx, dword [rdx + 0xc]
movsxd rax, dword [rax + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140032c80
mov rcx, qword [rsp + 0x30]
mov r10d, 0x2460
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x70]
test word [rcx + 8], r10w
je 0x1400420d2
call fcn.14003f8c0
mov rdi, qword [rsp + 0x30]
mov rcx, rax
movsxd rax, dword [rbp]
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov qword [rcx], rax
jmp 0x1400400c1
mov rdi, qword [rsp + 0x30]
mov eax, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov word [rcx + 8], ax
movsxd rax, dword [rbp]
mov qword [rcx], rax
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r14 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140032d10
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x14004213e
mov rcx, qword [rbx + 0x18]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov dword [rcx], eax
or dword [r14 + 0x2c], 2
jmp 0x140042153
cmp eax, 2
jne 0x140042153
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 4], 1
jne 0x140042189
mov rax, qword [r14 + 8]
test rax, rax
je 0x140042180
nop word [rax + rax]
or dword [rax + 0xc0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140042170
and dword [r12 + 0xc0], 0xfffffffe
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
jmp 0x140040052
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
test rdi, rdi
je 0x1400421cb
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x4c], eax
je 0x14004230d
jmp 0x1400421cb
mov rcx, qword [rsp + 0x30]
test byte [r12 + 0xc0], 1
jne 0x140044ec5
movsxd r12, dword [rcx + 0xc]
mov edi, r13d
mov rdx, qword [rsp + 0x50]
mov rax, r12
movsxd r15, dword [rcx + 8]
mov r14, r13
shl rax, 5
add rax, qword [rdx + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x6a
jne 0x140042275
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x78]
cmp cl, byte [rax + 0xbf]
jae 0x140042226
mov byte [rax + 0xbf], cl
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 0x10
je 0x14004225b
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140035ae0
mov rcx, qword [rsp + 0x30]
mov qword [rbx], rax
mov eax, 0x3e00
and word [rbx + 8], ax
or word [rbx + 8], 4
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xfb
jne 0x14004227b
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
movzx eax, word [r14 + 6]
add edi, eax
jmp 0x140042282
xor ebx, ebx
mov esi, ebx
jmp 0x14004222b
cmp al, 0xf5
jne 0x140042282
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov r12, qword [rsp + 0x78]
mov r8d, edi
mov rcx, r12
mov byte [rsp + 0x20], 0
call fcn.14003f540
mov rdi, rax
test rax, rax
je 0x140041945
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.14002c8a0
mov rcx, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov r15, qword [rsp + 0x58]
mov esi, 1
mov r9, qword [rsp + 0x40]
mov r10d, 0x2460
mov qword [rdi + 0x40], r14
mov r11d, 0x1000
cmp byte [rcx + 1], 0xfb
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
setne al
mov byte [rdi + 4], al
movzx ecx, byte [rcx + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
mov edi, dword [rsp + 0x3c]
mov byte [rax + 0x57], cl
test edi, edi
jne 0x140045226
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], 0
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14003f540
mov rbx, rax
test rax, rax
je 0x140041945
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov byte [rax + 2], 1
xor edx, edx
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x28], 0x41e
movzx ecx, word [rax + 2]
mov rax, qword [rsp + 0x50]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
mov rcx, qword [rax]
call fcn.140029f90
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
mov rcx, qword [rbx + 0x10]
mov edx, esi
call fcn.14002b280
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rax + 0x10]
mov qword [rbx + 0x40], rsi
test rsi, rsi
je 0x140042420
movzx r8d, word [rax + 2]
lea rdx, [rbp + 0x20]
or r8d, 2
call fcn.140032540
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140042417
mov rax, qword [rbx + 0x38]
mov r9, rsi
mov edx, dword [rbp + 0x20]
mov r8d, 4
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14002c8a0
mov dword [rsp + 0x3c], eax
xor al, al
mov esi, 1
jmp 0x140042444
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov esi, 1
mov qword [rsp + 0x20], rax
mov edx, esi
lea r8d, [r9 + 4]
call fcn.14002c8a0
mov dword [rsp + 0x3c], eax
movzx eax, sil
mov edi, dword [rsp + 0x3c]
mov byte [rbx + 4], al
test edi, edi
jne 0x140045226
mov rax, qword [rsp + 0x30]
mov ecx, r13d
mov r14, qword [rsp + 0x50]
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14003f540
test rax, rax
je 0x140041945
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, r14
mov edx, dword [rdx + 0xc]
call fcn.140046c50
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140044be3
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14003f540
test rax, rax
je 0x140041945
mov rcx, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x38], ecx
mov byte [rax + 4], 1
jmp 0x14004004d
mov rdx, qword [r12 + 0x98]
mov rcx, r12
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140039190
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov qword [rax + rcx*8], r13
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov r15d, r13d
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov byte [rsi + 2], 0
je 0x14004264a
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x1400425ca
xor edx, edx
mov rcx, rdi
call fcn.14003f680
mov rcx, rdi
call fcn.140035ae0
movzx ecx, word [rdi + 8]
mov r14, rax
test cl, 4
jne 0x140042613
test cl, 8
je 0x140044bd4
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x140042606
test bl, 1
lea eax, [rbx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x140042613
comisd xmm0, xmm1
jbe 0x140042613
test bl, 1
je 0x140042613
inc ebx
mov rcx, qword [rsi + 0x38]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r14
xor edx, edx
call fcn.14002d800
mov dword [rsp + 0x3c], eax
mov edi, eax
mov qword [rsi + 0x58], r14
test eax, eax
jne 0x140045226
mov r14, qword [rsp + 0x50]
jmp 0x1400426d4
mov rcx, qword [rsi + 0x38]
mov edx, 2
call fcn.1400343f0
mov rcx, qword [rsp + 0x30]
test eax, eax
mov rax, qword [rsi + 0x40]
mov edx, 1
mov qword [rbp + 0x40], rax
cmovne r15d, edx
mov byte [rbp + 0x56], 0
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x50], ax
lea eax, [rbx - 1]
test dl, al
mov eax, edx
mov edx, 0xffffffff
cmovne eax, edx
xor r9d, r9d
mov byte [rbp + 0x52], al
lea rdx, [rbp + 0x40]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rsp + 0x70]
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14002d800
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
test r15d, r15d
je 0x1400426d4
cmp byte [rbp + 0x56], al
je 0x140042747
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r13d
mov eax, dword [rsp + 0x70]
cmp ebx, 0x19
jl 0x14004270c
test eax, eax
js 0x1400426f7
jne 0x1400426f0
cmp ebx, 0x1a
je 0x1400426f7
mov dword [rsp + 0x70], r13d
jmp 0x140042752
mov dword [rsp + 0x70], r13d
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 0x38]
call fcn.14002df40
jmp 0x140042739
test eax, eax
jg 0x140042726
jne 0x140042717
cmp ebx, 0x17
je 0x140042726
mov rcx, qword [rsi + 0x38]
call fcn.14002dd70
mov dword [rsp + 0x70], eax
jmp 0x140042747
mov dword [rsp + 0x70], r13d
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 0x38]
call fcn.14002e0e0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
cmp dword [rsp + 0x70], 0
jne 0x140044bd4
mov rdi, qword [rsp + 0x30]
mov esi, 1
add rdi, 0x18
test r15d, r15d
mov r15, qword [rsp + 0x58]
cmove rdi, qword [rsp + 0x30]
jmp 0x140040052
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov ecx, dword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r15
test ecx, ecx
jle 0x1400427c4
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x118]
mov qword [rbp + 0x118], rax
mov r14, r13
mov word [rbp + 0x128], cx
mov qword [rbp + 0x120], rbx
jmp 0x140042802
mov rcx, qword [rsi + 0x40]
call fcn.14003b110
mov rdi, rax
mov r14, rax
test rax, rax
je 0x140041945
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400427ef
mov rcx, rbx
call fcn.1400356e0
mov r8, qword [rbx + 0x10]
mov r9, rdi
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.14003b170
mov rax, qword [rsp + 0x30]
mov ebx, r13d
mov byte [rdi + 0x12], 0
cmp byte [rax], 0x1d
jne 0x14004283c
movzx edx, word [rdi + 0x10]
mov ecx, r13d
test edx, edx
je 0x14004283c
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x140042837
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x140042826
jmp 0x14004283c
mov ebx, 1
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0xc]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.14002d800
mov dword [rsp + 0x3c], eax
mov edi, eax
test r14, r14
je 0x14004286f
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call fcn.140015490
test edi, edi
jne 0x140045226
mov eax, dword [rbp - 0xc]
mov ecx, r13d
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp - 0xc]
test eax, eax
mov byte [rsi + 3], dil
mov rdi, qword [rsp + 0x30]
sete cl
test eax, eax
mov dword [rsi + 0x28], r13d
setne al
mov byte [rsi + 2], al
mov esi, 1
cmp byte [rdi], 0x1f
jne 0x1400428ca
mov r9, qword [rsp + 0x40]
test ecx, ecx
jne 0x140044be3
mov r14, qword [rsp + 0x50]
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
test ebx, ebx
jne 0x140044bde
mov r9, qword [rsp + 0x40]
test ecx, ecx
je 0x140044be3
mov r14, qword [rsp + 0x50]
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 4
jne case.0x14003fa5b.33
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, rbx
call fcn.14003f720
test byte [rbx + 8], 4
je 0x140044bd9
mov rbx, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [r12 + 0x98]
xor edx, edx
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x38]
lea rax, [rbp - 0x3c]
mov dword [rbp - 0x3c], r13d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + r15]
mov rcx, r10
mov r8, rbx
call fcn.14002d800
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x28], r13d
mov dword [rsp + 0x3c], eax
mov eax, dword [rbp - 0x3c]
mov dword [rdi + 0x2c], eax
cmp dword [rbp - 0x3c], 0
mov rdi, qword [rsp + 0x30]
je 0x1400429a7
cmp dword [rdi + 8], 0
jne 0x140044bde
mov ecx, 0x141c0
call fcn.14009e4d0
mov r15d, eax
mov dword [rsp + 0x3c], eax
jmp 0x1400429ac
mov r15d, dword [rsp + 0x3c]
test r15d, r15d
jne 0x140044f09
mov r15, qword [rsp + 0x58]
jmp 0x140040052
mov rbx, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rbx
call fcn.14003f8f0
mov rcx, qword [r12 + 0x98]
mov rdi, rbx
movsxd rdx, dword [rbx + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140040052
mov rbx, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rbx
mov qword [rbp - 0x50], r13
mov dword [rbp - 0x68], r13d
call fcn.14003f8f0
movsxd rdx, dword [rbx + 4]
mov rsi, rax
mov rcx, qword [r12 + 0x98]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x140042a84
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x68]
call fcn.14002d770
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
cmp dword [rbp - 0x68], eax
je 0x140042a5b
mov qword [rbp - 0x50], 1
jmp 0x140042a84
mov rcx, qword [rdi + 0x38]
call fcn.14002cbe0
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x50], rax
cmp rax, rcx
jl 0x140042a7d
or dword [rdi + 8], 2
jmp 0x140042a84
inc rax
mov qword [rbp - 0x50], rax
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x140042af4
mov rcx, qword [r12 + 0xf0]
test rcx, rcx
je 0x140042ab8
mov rax, qword [rcx + 8]
test rax, rax
je 0x140042aae
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140042aa2
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x140042abf
imul rbx, rdx, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140035c40
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140042b55
test byte [rdi + 8], 2
jne 0x140042b55
mov rcx, qword [rbp - 0x50]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x50], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x140042b64
mov ebx, r13d
nop dword [rax]
lea rdx, [rbp - 0x50]
mov ecx, 8
call fcn.140017920
mov r8, qword [rbp - 0x50]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp - 0x68]
mov qword [rbp - 0x50], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14002d800
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
cmp dword [rbp - 0x68], eax
jne 0x140042b5f
inc ebx
cmp ebx, 0x64
jl 0x140042b00
mov edi, 0xd
jmp 0x140045226
mov r15, qword [rsp + 0x58]
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r13d
mov rax, qword [rbp - 0x50]
mov rdi, qword [rsp + 0x30]
mov qword [rsi], rax
mov esi, 1
jmp 0x140040052
mov rcx, qword [rsp + 0x30]
mov esi, r13d
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r8, rax, 0x38
mov rax, qword [r12 + 0x98]
add r8, r15
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
cmp bl, 0x74
jne 0x140042bc2
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov rdx, qword [rcx + r15]
jmp 0x140042bc6
movsxd rdx, dword [rax + 0xc]
cmp byte [rax + 1], 0xf1
mov qword [rbp + 0xc0], rdx
jne 0x140042c0f
cmp qword [r14 + 0x118], 0
je 0x140042c0f
mov rax, qword [r14 + 0x20]
mov esi, 0x12
movsx rcx, byte [rdi + 1]
mov r9d, 0x17
shl rcx, 5
mov rbx, qword [rcx + rax]
mov rax, qword [rsp + 0x30]
movzx ecx, word [rax + 2]
mov r14, qword [rax + 0x10]
test cl, 4
cmovne esi, r9d
jmp 0x140042c19
movzx ecx, word [rax + 2]
mov r14, r13
mov rbx, r13
test cl, 1
je 0x140042c27
inc dword [r12 + 0x3c]
movzx ecx, word [rax + 2]
mov r15, qword [rsp + 0x50]
test cl, 0x20
je 0x140042c39
mov qword [r15 + 0x30], rdx
movzx ecx, word [rax + 2]
test byte [r8 + 8], 1
je 0x140042c50
mov qword [rbp + 0xc8], r13
mov dword [rbp + 0xdc], r13d
jmp 0x140042c65
mov rax, qword [r8 + 0x10]
mov qword [rbp + 0xc8], rax
mov eax, dword [r8 + 0xc]
mov dword [rbp + 0xdc], eax
test cl, 0x10
je 0x140042c70
mov r9d, dword [rdi + 0x2c]
jmp 0x140042c73
mov r9d, r13d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x140042c8a
mov eax, dword [r8]
mov dword [rbp + 0xe0], eax
jmp 0x140042c91
mov dword [rbp + 0xe0], r13d
movzx r8d, cx
lea rdx, [rbp + 0xb8]
mov qword [rbp + 0xb8], r13
and r8d, 0xa
mov rcx, qword [rdi + 0x38]
call fcn.1400318d0
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r13d
mov edi, eax
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140045226
mov r10, qword [r15 + 0x118]
test r10, r10
je 0x140040e55
test esi, esi
je 0x140040e55
mov r9, qword [r14]
mov r8, rbx
mov rax, qword [rbp + 0xc0]
mov edx, esi
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [r14 + 0x110]
call r10
mov r15, qword [rsp + 0x58]
mov esi, 1
mov rdi, qword [rsp + 0x30]
jmp 0x140040052
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xf1
mov r14d, dword [rax + 8]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
jne 0x140042d7d
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x118], 0
je 0x140042d7d
movsx rcx, byte [rbx + 1]
mov rax, qword [rax + 0x20]
mov rdi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov rsi, qword [rcx + rax]
je 0x140042d83
cmp byte [rbx + 4], 0
je 0x140042d83
mov rcx, qword [rbx + 0x38]
call fcn.14002cbe0
mov rdx, qword [rsp + 0x30]
mov qword [rbx + 0x58], rax
jmp 0x140042d83
mov rsi, r13
mov rdi, r13
movzx edx, byte [rdx + 2]
mov rcx, qword [rbx + 0x38]
call fcn.140031ca0
mov dword [rsp + 0x3c], eax
mov qword [rbx + 0x28], 0
test eax, eax
jne 0x140044f09
test r14b, 1
mov r14, qword [rsp + 0x50]
je 0x1400402b0
inc dword [r12 + 0x3c]
mov r10, qword [r14 + 0x118]
test r10, r10
je 0x1400402b0
test byte [rdi + 0x40], 0x20
jne 0x1400402b0
mov rax, qword [rbx + 0x58]
mov r8, rsi
mov r9, qword [rdi]
mov edx, 9
mov rcx, qword [r14 + 0x110]
mov qword [rsp + 0x20], rax
call r10
mov rdi, qword [rsp + 0x30]
mov esi, 1
jmp 0x140040052
mov edx, dword [r12 + 0x3c]
mov rcx, r14
call fcn.14003c620
mov dword [r12 + 0x3c], r13d
jmp 0x140040052
mov rbx, qword [rsp + 0x30]
lea r9, [rbp - 0x10]
mov rax, qword [r12 + 0x98]
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 0x10], r13d
add rdx, r15
call fcn.140049360
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov rdi, rbx
mov r9, qword [rsp + 0x40]
cmp dword [rbp - 0x10], eax
jne 0x140044be3
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x98]
add rdx, r15
mov rcx, qword [rax + rcx*8]
call fcn.140049290
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r13d
jmp 0x14004004d
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov rcx, qword [r12 + 0x98]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.14002cc00
cmp eax, dword [r14 + 0x70]
ja 0x140044f83
mov r9, rbx
mov r8d, eax
xor edx, edx
mov rcx, rdi
call fcn.140036560
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov rdi, qword [rsp + 0x30]
mov r11d, 0x1000
cmp dword [rdi + 0xc], eax
jne 0x1400400b6
test word [rbx + 8], r11w
je 0x1400400b6
mov rcx, rbx
call fcn.140035650
test eax, eax
jne 0x140041945
jmp 0x140040052
mov rbx, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rbx
call fcn.14003f8f0
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r12 + 0x98]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x140042f87
mov word [rax + 8], si
jmp 0x14004004d
cmp byte [rbx + 3], 0
je 0x140042f9d
mov rax, qword [rbx + 0x58]
mov qword [rbp + 0x10], rax
mov qword [rdi], rax
jmp 0x14004004d
cmp byte [rbx], 2
jne 0x140042fd9
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x10]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
mov rax, qword [rbp + 0x10]
mov qword [rdi], rax
jmp 0x14004004d
mov rcx, rbx
call fcn.14003acd0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
cmp byte [rbx + 2], al
je 0x140042ffb
mov word [rdi + 8], si
jmp 0x14004004d
mov rcx, qword [rbx + 0x38]
call fcn.14002cbe0
mov qword [rbp + 0x10], rax
mov qword [rdi], rax
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r13d
jne 0x14003fccf
mov rcx, qword [rcx + 0x38]
call fcn.1400287e0
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rbx + 0x38]
mov eax, dword [rcx + 0xc]
mov dword [rbp - 0x38], r13d
mov dword [rbx + 0x2c], eax
cmp dword [rcx + 0xc], 0
je 0x140043082
mov rcx, rdi
call fcn.14002cbd0
test eax, eax
jne 0x14004004d
lea rdx, [rbp - 0x38]
mov rcx, rdi
call fcn.14002d770
mov dword [rsp + 0x3c], eax
movzx eax, byte [rbp - 0x38]
mov edi, dword [rsp + 0x3c]
mov byte [rbx + 2], al
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r13d
test edi, edi
jne 0x140045226
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
cmp dword [rdi + 8], 0
jle 0x14003fc50
cmp dword [rbp - 0x38], 0
jne 0x140044be3
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
lea rdx, [rbp - 0x34]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14002d720
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
cmp dword [rbp - 0x34], eax
jne 0x140044bd9
mov rcx, rbx
call fcn.14002dd80
test rax, rax
js 0x140043142
mov rcx, rax
call fcn.1400196f0
mov rdi, qword [rsp + 0x30]
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x140043147
mov dword [rbp - 0x34], esi
jmp 0x140044bde
mov rdi, qword [rsp + 0x30]
cmp dword [rbp - 0x34], 0
mov r9, qword [rsp + 0x40]
jne 0x140044be3
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
inc dword [r12 + 0xd4]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp - 0x64]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x64], esi
cmp byte [rbx], 1
jne 0x14004319a
mov rcx, rbx
call fcn.1400490c0
jmp 0x1400431ab
mov rcx, qword [rbx + 0x38]
call fcn.14002d720
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r13d
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
movzx eax, byte [rbp - 0x64]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov byte [rbx + 2], al
cmp dword [rbp - 0x64], 0
jne 0x140044be3
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
lea r8, [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
mov rdx, rbx
mov dword [rbp - 0x60], r13d
call fcn.140049190
jmp 0x14004325b
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
cmp qword [rax + rcx*8], 0
je 0x14003fccf
mov rax, qword [rsp + 0x30]
lea rdx, [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov dword [rbp - 0x60], eax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x38]
call qword [rax + 0x10]
mov dword [rsp + 0x3c], eax
mov edi, eax
mov dword [rbx + 0x28], r13d
test eax, eax
jne 0x140045226
mov r9, qword [rsp + 0x40]
cmp dword [rbp - 0x60], eax
jne 0x140043290
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
inc dword [r12 + rax*4 + 0xcc]
jmp case.0x14003fa5b.13
mov byte [rbx + 2], 1
jmp 0x1400439ec
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
test byte [rcx + 2], 1
je 0x1400432c9
inc dword [r12 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400432ed
mov rcx, rbx
call fcn.1400356e0
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0x7d
jne 0x140043305
mov rdx, rbx
mov rcx, rdi
call fcn.140047f50
mov edi, eax
mov dword [rsp + 0x3c], eax
jmp 0x14004336f
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1a0], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x1b8], rcx
mov rcx, qword [rsp + 0x30]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1c0], ax
test r8b, 0x10
je 0x14004334e
mov r9d, dword [rdi + 0x2c]
jmp 0x140043351
mov r9d, r13d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x1a0]
and r8d, 0xa
call fcn.1400318d0
mov dword [rdi + 0x28], r13d
mov edi, eax
mov dword [rsp + 0x3c], eax
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0xe8]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0xf8], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 8]
mov byte [rbp + 0xfa], 0
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 0xf0], rcx
mov rcx, rdi
call fcn.14002d800
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
cmp dword [rbp + 8], eax
jne 0x140043410
mov dl, 4
mov rcx, rdi
call fcn.140031ca0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov qword [rbx + 0x28], 0
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.14003acd0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
cmp byte [rbx + 2], al
jne 0x1400434c6
mov qword [rbp + 0x18], r13
lea r8, [rbp + 0x18]
mov rdx, qword [rbx + 0x38]
mov rcx, r14
call fcn.14003c2e0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x80
jne 0x1400434af
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], dil
mov rax, qword [rbp + 0x18]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14004004d
mov rdx, rax
mov rcx, r12
call fcn.14003f8f0
mov rcx, qword [rbp + 0x18]
mov qword [rax], rcx
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140035e60
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
lea r9, [rbp - 0x5c]
cmp bl, 0x3d
lea r8, [rbp + 0x100]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x100], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x110], ax
sbb al, al
mov byte [rbp + 0x112], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x5c], r13d
add rcx, r15
mov qword [rbp + 0x108], rcx
mov rcx, r14
call fcn.14003c4f0
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
test byte [rax], 1
mov eax, dword [rbp - 0x5c]
je 0x140043559
neg eax
jmp 0x14004355b
inc eax
mov edi, dword [rsp + 0x3c]
mov dword [rbp - 0x5c], eax
test edi, edi
jne 0x140045226
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
test eax, eax
jg 0x140044be3
mov r10d, 0x2460
mov r11d, 0x1000
jmp 0x1400400c1
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov rbx, rax
mov word [rax + 8], si
mov ecx, dword [r14 + 0xbc]
inc ecx
cmp dword [r14 + 0xb0], ecx
jg 0x140044ecf
mov rax, qword [rsp + 0x30]
lea r8, [rbp - 0x30]
mov rcx, qword [r14 + 0x20]
mov dword [rbp - 0x30], r13d
movsxd rdi, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.140032c20
mov dword [rsp + 0x3c], eax
mov eax, 4
cmp dword [rsp + 0x3c], 0
mov word [rbx + 8], ax
movsxd rax, dword [rbp - 0x30]
mov qword [rbx], rax
jne 0x140044f09
mov r8d, dword [rbp - 0x30]
test r8d, r8d
je 0x14004004d
mov rax, qword [rsp + 0x30]
mov edx, edi
mov rcx, r14
mov r9d, dword [rax + 4]
call fcn.14005e050
lea eax, [rdi + 1]
mov byte [rsp + 0x68], al
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
lea r8, [rbp - 0x18]
mov rcx, qword [r14 + 0x20]
mov rdx, qword [rsp + 0x30]
mov dword [rbp - 0x18], r13d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r13
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140032850
mov rdi, qword [rsp + 0x30]
mov dword [rsp + 0x3c], eax
cmp dword [rdi + 0xc], 0
je 0x140043686
movsxd rdx, dword [rbp - 0x18]
add dword [r12 + 0x3c], edx
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x140043686
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
jmp 0x140040052
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1400436c1
mov rdx, qword [rcx + 0x38]
mov rcx, r14
call fcn.1400471f0
jmp 0x14004004d
mov rcx, qword [rcx + 0x38]
call fcn.140032930
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov r8d, r13d
mov dword [rbp - 0x14], r13d
mov rbx, rax
lea rdx, [rbp - 0x14]
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
shl rcx, 5
add rcx, qword [r14 + 0x20]
cmp byte [rax], 0x87
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.140032540
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
movsxd rax, dword [rbp - 0x14]
mov qword [rbx], rax
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
xor r9d, r9d
inc byte [r14 + 0x5e]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], r13
mov rdx, qword [rax + 0x10]
call fcn.1400702d0
dec byte [r14 + 0x5e]
mov edi, eax
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rbx, qword [rsp + 0x30]
lea rax, [r12 + 0x90]
mov r8, qword [r14 + 0x20]
lea r9, str.sqlite_master
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xa0], r14
movsxd rcx, dword [rbx + 4]
mov rax, qword [rbx + 0x10]
mov rdx, rcx
shl rdx, 5
mov dword [rbp + 0xb0], ecx
mov rcx, r14
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.140017540
mov rbx, rax
test rax, rax
je 0x140044ee2
lea r9, [rbp + 0xa0]
mov byte [r14 + 0xa9], 1
lea r8, [fcn.1400750b0]
mov dword [rbp + 0xb4], r13d
mov rdx, rax
mov qword [rsp + 0x20], r13
mov rcx, r14
call fcn.1400702d0
test eax, eax
mov rdx, rbx
mov rcx, r14
cmove eax, dword [rbp + 0xb4]
mov dword [rsp + 0x3c], eax
call fcn.140015490
mov edi, dword [rsp + 0x3c]
mov byte [r14 + 0xa9], 0
test edi, edi
je 0x14004004d
mov ebx, 7
mov rcx, r14
call fcn.14005ac60
cmp edi, 7
je 0x14004194a
jmp 0x14004522b
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov edx, dword [rax + 4]
call fcn.1400584c0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005b2e0
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005a930
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140083690
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 4]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
imul rbx, rax, 0x38
movzx eax, word [rcx + 2]
mov rcx, qword [r14 + 0x20]
add rbx, r15
mov r9d, dword [rdi + r15]
shl rax, 5
inc r9d
mov rcx, qword [rax + rcx + 8]
call fcn.140033c10
mov rcx, rbx
mov rsi, rax
call fcn.140035e60
mov ecx, dword [rbp + 4]
test ecx, ecx
je 0x14004393d
test rsi, rsi
je 0x140041945
dec ecx
lea rax, [fcn.1400153d0]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi + r15], rdx
mov r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400361f0
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.140035490
mov rdi, qword [rsp + 0x30]
mov esi, 1
jmp 0x140040052
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x140043989
mov rcx, rbx
call fcn.140035f50
test byte [rbx + 8], 0x20
je 0x140041945
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.14001fc00
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 0x20
je 0x140043a69
mov rcx, qword [rbx]
lea rdx, [rbp + 0x90]
call fcn.140020090
test eax, eax
je 0x140043a69
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x90]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140035ec0
mov r9, qword [rsp + 0x40]
mov eax, dword [r14 + 0x150]
test eax, eax
jne 0x1400451e3
mov r8, qword [r14 + 0x1a0]
mov ebx, dword [rsp + 0x38]
test r8, r8
je 0x140043a3b
cmp ebx, dword [rbp - 0x58]
jb 0x140043a3b
mov ecx, dword [r14 + 0x1b0]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
add ecx, ebx
mov dword [rbp - 0x58], ecx
mov rcx, qword [r14 + 0x1a8]
call r8
test eax, eax
jne 0x140044fbe
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r10d, 0x2460
mov r11d, 0x1000
lea rdx, [0x140000000]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rcx, rbx
call fcn.140035e60
jmp 0x14004489a
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r15
imul rsi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x140043aa9
mov rcx, rbx
call fcn.140035f50
test byte [rbx + 8], 0x20
je 0x140041945
test edi, edi
je 0x140043ac5
mov r8, qword [rsi + r15]
mov edx, edi
mov rcx, qword [rbx]
call fcn.140020110
test eax, eax
jne 0x140044bd4
test edi, edi
js 0x1400402b0
mov rdx, qword [rsi + r15]
mov rcx, qword [rbx]
call fcn.14001fc00
mov rdi, qword [rsp + 0x30]
mov esi, 1
jmp 0x140040052
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r14, qword [rcx + 0x10]
imul rsi, rax, 0x38
add rsi, r15
cmp word [rcx + 2], 0
je 0x140043b25
mov rax, qword [r12 + 0xf0]
mov rcx, qword [r14 + 0x20]
test rax, rax
je 0x140043b25
cmp qword [rax + 0x38], rcx
je 0x140044c2d
mov rax, qword [rax + 8]
test rax, rax
jne 0x140043b12
mov r8, qword [rsp + 0x50]
mov eax, dword [r12 + 0x100]
cmp eax, dword [r8 + 0x98]
jge 0x140044ef2
test byte [rsi + 8], 0x40
jne 0x140043c5c
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14 + 0xc]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r14 + 8]
add ecx, edx
add eax, 7
jns 0x140043b6f
add eax, 7
sar eax, 3
lea eax, [rax + rcx*8]
mov rcx, r8
movsxd rdx, eax
call fcn.140015720
mov rdi, rax
test rax, rax
je 0x140041945
mov rcx, rsi
call fcn.140035ac0
mov r8, qword [rsp + 0x50]
mov eax, 0x40
mov word [rsi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rsi], rdi
mov qword [rdi], r12
mov dword [rdi + 0x60], ebx
mov ecx, dword [r14 + 0x10]
mov dword [rdi + 0x64], ecx
mov rcx, qword [rsp + 0x30]
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x54], edx
mov rax, qword [r12 + 0x70]
mov qword [rdi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rdi + 0x5c], eax
mov rax, qword [r12 + 0x98]
mov qword [rdi + 0x28], rax
mov eax, dword [r12 + 0x2c]
mov dword [rdi + 0x50], eax
mov rax, qword [r12 + 0x68]
mov qword [rdi + 0x10], rax
mov eax, dword [r12 + 0xb8]
mov dword [rdi + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [rdi + 0x38], rax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
cmp rax, rcx
je 0x140043c52
mov r9d, 0x80
nop dword [rax + rax]
mov word [rax + 8], r9w
mov qword [rax + 0x28], r8
add rax, 0x38
cmp rax, rcx
jne 0x140043c40
mov eax, dword [r12 + 0x100]
jmp 0x140043c5f
mov rdi, qword [rsi]
inc eax
lea r15, [rdi + 0x70]
mov dword [r12 + 0x100], eax
mov rax, qword [r12 + 0xf0]
mov qword [rdi + 8], rax
mov rax, qword [r8 + 0x30]
mov qword [rdi + 0x40], rax
mov eax, dword [r12 + 0x3c]
mov dword [rdi + 0x68], eax
mov rax, qword [r12]
mov qword [rsp + 0x58], r15
mov ecx, dword [rax + 0x68]
mov dword [rdi + 0x6c], ecx
mov rax, qword [r12 + 0x110]
mov qword [rdi + 0x48], rax
mov qword [r12 + 0x110], r13
mov dword [r12 + 0x3c], r13d
mov qword [r12 + 0xf0], rdi
mov qword [r12 + 0x70], r15
movsxd rcx, dword [rdi + 0x60]
mov dword [r12 + 0x28], ecx
movzx eax, word [rdi + 0x64]
mov dword [r12 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r15
mov qword [r12 + 0x98], rdx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rdi + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400a6c90
mov r9, qword [r14]
mov esi, 1
mov qword [r12 + 0x68], r9
mov r10d, 0x2460
mov eax, dword [r14 + 8]
mov r11d, 0x1000
mov r14, qword [rsp + 0x50]
lea rdi, [r9 - 0x18]
mov qword [rsp + 0x40], r9
mov dword [r12 + 0xb8], eax
jmp 0x1400400c1
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov r9, qword [r12 + 0xf0]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x30]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140036110
jmp 0x14004004d
test dword [r14 + 0x2c], 0x2000000
mov rax, qword [rsp + 0x30]
mov rdi, rax
je 0x140043dbc
movsxd rax, dword [rax + 8]
add qword [r14 + 0x290], rax
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov ebx, dword [rsp + 0x38]
je 0x140043de2
add qword [r14 + 0x288], rax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
add qword [r12 + 0x50], rax
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
cmp dword [rdi + 4], 0
je 0x140043e2f
cmp qword [r14 + 0x288], 0
jne case.0x14003fa5b.95
cmp qword [r14 + 0x290], 0
je 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
cmp qword [r12 + 0x50], 0
jne case.0x14003fa5b.95
cmp qword [r14 + 0x290], 0
je 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rcx, qword [r12 + 0xf0]
test rcx, rcx
je 0x140043e93
mov rax, qword [rcx + 8]
test rax, rax
je 0x140043e80
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140043e74
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140043ea3
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140035c40
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140035c40
mov rax, qword [rbx]
lea rdx, [0x140000000]
mov r10d, 0x2460
mov r9, qword [rsp + 0x40]
mov r11d, 0x1000
mov ebx, dword [rsp + 0x38]
cmp qword [rdi], rax
jge 0x140043eea
mov qword [rdi], rax
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle 0x1400400c1
mov rax, rdi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x140044be3
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
call fcn.14003f8f0
mov rcx, qword [rbx + r15]
mov rsi, rax
mov qword [rbp + 0x38], rcx
test rcx, rcx
jle 0x140043f90
mov rdx, qword [rdi + r15]
lea rcx, [rbp + 0x38]
test rdx, rdx
cmovle rdx, r13
call fcn.140019510
test eax, eax
jne 0x140043f90
mov rax, qword [rbp + 0x38]
mov rdi, qword [rsp + 0x30]
mov qword [rsi], rax
mov esi, 1
jmp 0x140040052
mov rdi, qword [rsp + 0x30]
mov qword [rsi], 0xffffffffffffffff
mov esi, 1
jmp 0x140040052
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
test rax, rax
je 0x14003fccf
mov rdi, qword [rsp + 0x30]
jle 0x140044be3
dec rax
mov qword [rcx + r15], rax
jmp 0x140044be3
mov rax, qword [rsp + 0x30]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
cmp rax, r8
jle 0x140043ffe
dec rax
mov qword [rcx + r15], rax
mov rdi, qword [rsp + 0x30]
test rax, rax
je 0x140044be3
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rax, qword [rsp + 0x30]
mov rcx, r14
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x30]
call fcn.1400157c0
mov r8, rax
test rax, rax
je 0x140041945
mov qword [rax + 0x10], r13
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf095
mov qword [rax + 0x10], r8
jmp 0x14004409b
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r15
mov qword [rbp + 0x28], r10
cmp qword [rbx + 0x10], r10
je 0x140044105
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x140044105
mov r10, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1400440e0
mov r10, qword [rbp + 0x28]
inc dword [r10 + 0xc]
lea rcx, [rbp + 0x1d0]
mov r8d, esi
mov rdx, r14
call fcn.140035e40
movzx edx, byte [rbx + 0x2a]
lea rax, [rbp + 0x1d0]
mov qword [rbx], rax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
mov rcx, rbx
mov word [rbx + 0x28], 0
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
je 0x140044186
cmp dword [rbx + 0x24], 0
je 0x14004416e
lea rcx, [rbp + 0x1d0]
call fcn.14003cc10
mov r8, rax
lea rdx, [0x1400db730]
mov rcx, r12
call fcn.140036e40
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x3c], eax
lea rcx, [rbp + 0x1d0]
call fcn.140035ac0
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
cmp byte [rbx + 0x28], 0
je 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14004004d
imul rcx, rax, 0x38
mov rdx, rsi
add rcx, r15
call fcn.140035ec0
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.1400358b0
mov dword [rsp + 0x3c], eax
mov rcx, rbx
test eax, eax
jne 0x140044f12
movzx edx, byte [rsp + 0x48]
call fcn.140035490
mov rcx, rbx
call fcn.1400360a0
test eax, eax
jne 0x140044f83
jmp 0x14004004d
mov rbx, qword [rsp + 0x30]
lea rax, [rbp + 0x210]
lea r9, [rbp + 0x20c]
mov dword [rbp + 0x208], r13d
mov rcx, r14
mov qword [rbp + 0x20c], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.14009c9c0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
je 0x140044256
cmp eax, 5
jne 0x140045226
mov dword [rsp + 0x3c], r13d
mov dword [rbp + 0x208], esi
movsxd rax, dword [rbx + 0xc]
mov rbx, r13
imul rdi, rax, 0x38
add rdi, r15
nop dword [rax]
nop dword [rax + rax]
movsxd rdx, dword [rbp + rbx*4 + 0x208]
mov rcx, rdi
call fcn.140035ec0
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x140044270
jmp 0x14004004d
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov r14, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
mov rax, qword [rsp + 0x50]
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.140032f40
mov rcx, rax
mov rsi, rax
call fcn.140025540
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.140025550
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.1400251a0
cmp ebx, 5
jne 0x140044384
mov rcx, rax
call fcn.1400182d0
test eax, eax
je 0x140044316
mov rcx, rsi
call fcn.140025570
test eax, eax
jne 0x140044384
mov ebx, edi
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x140044322
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.1400253d0
mov ecx, 0xa02
mov word [r14 + 8], cx
mov ecx, eax
call fcn.140071770
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.1400182d0
movzx edx, byte [rsp + 0x48]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.140035490
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
mov r14, qword [rsp + 0x50]
mov esi, 1
mov r15, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x30]
jmp 0x140040052
cmp ebx, edi
je 0x140044318
cmp edi, 5
je 0x140044392
cmp ebx, 5
jne 0x140044318
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x53], 0
je 0x140044f32
cmp dword [rax + 0xb0], 1
jg 0x140044f32
cmp edi, 5
jne 0x1400443d6
mov rdx, rax
mov rcx, rsi
call fcn.140025850
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044320
mov edx, ebx
mov rcx, rsi
call fcn.1400253d0
jmp 0x1400443f1
cmp edi, 4
jne 0x1400443e6
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.1400253d0
cmp dword [rsp + 0x3c], 0
jne 0x140044320
mov edx, r13d
cmp ebx, 5
mov rcx, r15
sete dl
inc edx
call fcn.1400342f0
mov dword [rsp + 0x3c], eax
jmp 0x14004431c
mov rax, qword [rsp + 0x30]
lea rcx, [r12 + 0x90]
mov rdx, r14
mov r8d, dword [rax + 4]
call fcn.140086ed0
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002be00
mov dword [rsp + 0x3c], eax
mov edi, eax
test eax, eax
je 0x14004004d
cmp eax, 0x65
jne 0x140045226
mov dword [rsp + 0x3c], r13d
jmp 0x140044bd9
cmp dword [rdi + 4], 0
jne 0x140044488
mov rcx, r14
call fcn.14003c630
jmp 0x140040052
or dword [r12 + 0xc0], 1
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
movzx r8d, byte [rdi + 0xc]
test r8b, r8b
jne 0x1400444bf
mov eax, 0x4000
test dword [r14 + 0x2c], eax
jne case.0x14003fa5b.95
movsxd rax, dword [rdi + 4]
mov rcx, qword [r14 + 0x20]
mov edx, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140034100
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x140040052
mov edi, eax
cmp dil, 6
jne 0x140045226
mov rax, qword [rsp + 0x30]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
mov r8, qword [rax + 0x10]
call fcn.140036e40
jmp 0x140045226
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.140088640
mov dword [rsp + 0x3c], eax
mov edi, eax
test rbx, rbx
je 0x140044538
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14003c660
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0x130]
xorps xmm0, xmm0
mov qword [rbp + 0x130], r13
xorps xmm1, xmm1
mov qword [rbp + 0x160], r13
movdqu xmmword [rbp + 0x138], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x148], xmm1
mov qword [rbp + 0x158], r14
add rdx, r15
call fcn.140036150
lea rcx, [rbp + 0x130]
mov dword [rsp + 0x3c], eax
call fcn.14003cc10
test rax, rax
je 0x1400445c0
mov r8, rax
lea r9, [r12 + 0x90]
mov rax, qword [rsp + 0x30]
mov rcx, r14
mov edx, dword [rax + 4]
call fcn.1400880b0
mov dword [rsp + 0x3c], eax
lea rcx, [rbp + 0x130]
call fcn.140035ac0
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rcx, r14
inc dword [r14 + 0xbc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140088440
dec dword [r14 + 0xbc]
mov edi, eax
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov qword [rbp - 8], r13
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140044f6f
mov rdi, qword [rbx]
test rdi, rdi
je 0x140044f6f
lea rdx, [rbp - 8]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
mov rax, qword [rbp - 8]
mov r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r12
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.14003f540
mov rcx, qword [rbp - 8]
test rax, rax
je 0x140044f67
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x14004004d
mov rcx, qword [rsp + 0x30]
xor ebx, ebx
mov rdi, qword [r12 + 0x78]
mov r8d, ebx
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x98]
add rdx, r15
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1400446fc
mov r10d, 1
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1400446e3
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
mov rcx, rsi
call qword [r14 + 0x50]
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r9, qword [rsp + 0x40]
mov byte [r13 + 2], bl
test eax, eax
jne 0x140044be3
mov r14, qword [rsp + 0x50]
mov r10d, 0x2460
mov r15, qword [rsp + 0x58]
mov r11d, 0x1000
jmp 0x1400400c1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r15
cmp byte [rcx + 2], 0
je 0x1400447a1
mov rcx, rdi
call fcn.140035e60
jmp 0x14004004d
mov rax, qword [rcx + 0x38]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, 0x3e00
mov rbx, qword [rax]
mov rax, qword [rbx]
movdqu xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x168], rdi
movdqu xmmword [rbp + 0x180], xmm1
movdqu xmmword [rbp + 0x190], xmm0
and word [rdi + 8], dx
or word [rdi + 8], 1
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x38]
mov r8d, dword [rdx + 8]
lea rdx, [rbp + 0x168]
call qword [rax + 0x58]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
mov eax, dword [rbp + 0x18c]
test eax, eax
mov ecx, dword [rsp + 0x3c]
movzx edx, byte [rsp + 0x48]
cmovne ecx, eax
mov dword [rsp + 0x3c], ecx
mov rcx, rdi
call fcn.140035490
mov rcx, rdi
call fcn.1400360a0
test eax, eax
jne 0x140044f83
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14003fccf
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 + 0x3c], eax
call fcn.14003c660
cmp dword [rsp + 0x3c], 0
jne 0x140044f09
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1400439e7
mov r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x1400439ec
mov rcx, qword [rsp + 0x30]
mov edx, esi
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140035490
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140044f09
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
and dword [r12 + 0xc0], 0xfffffffe
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140044f6f
mov r10, qword [rbx]
test r10, r10
je 0x140044f6f
cmp qword [r10 + 0x68], 0
je 0x140044c0d
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
movzx edi, byte [r14 + 0x5a]
mov r8, qword [r12 + 0x78]
movsxd rax, dword [rax + 0xc]
movsxd rdx, dword [rdx + 8]
imul rcx, rax, 0x38
mov rax, r13
add rcx, r15
test edx, edx
jle 0x140044990
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140044980
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x98]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [r14 + 0x5a], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r14 + 0x5a], dil
mov rcx, r12
mov dword [rsp + 0x3c], eax
call fcn.14003c660
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x1400449df
cmp dword [rcx + 4], eax
je 0x1400449df
mov rax, qword [rbp + 0x98]
mov qword [r14 + 0x30], rax
mov eax, dword [rsp + 0x3c]
cmp al, 0x13
jne 0x140044a1a
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140044a1a
movzx ecx, word [rcx + 2]
cmp cx, 4
jne 0x140044a01
mov dword [rsp + 0x3c], r13d
jmp 0x14004004d
movzx eax, cl
cmp cx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r12 + 0xbe], al
jmp 0x140044a1f
inc dword [r12 + 0x3c]
mov edi, dword [rsp + 0x3c]
test edi, edi
jne 0x140045226
jmp 0x14004004d
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov rcx, qword [r14 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.140029ce0
mov ecx, eax
mov qword [rbx], rcx
jmp 0x14004004d
mov rdx, qword [rsp + 0x30]
mov rcx, r12
call fcn.14003f8f0
mov r8, qword [rsp + 0x30]
mov rdi, rax
mov rcx, qword [r14 + 0x20]
mov eax, r13d
movsxd rdx, dword [r8 + 4]
shl rdx, 5
cmp dword [r8 + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x140044aaa
mov rcx, rbx
call fcn.140029ce0
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0xc]
cmp eax, ecx
cmovb eax, ecx
mov edx, eax
mov rcx, rbx
call fcn.14002ac80
movsxd rcx, eax
mov qword [rdi], rcx
jmp 0x14004004d
movzx eax, byte [r14 + 0x5c]
test al, 0x81
je 0x140044b83
test byte [r12 + 0xc0], 2
jne 0x140044b83
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x140044afa
mov r9, qword [r12 + 0xe0]
test r9, r9
je 0x140044b7e
test al, al
jns 0x140044b29
mov rdi, qword [r14 + 0xd0]
mov rdx, r9
mov rcx, r12
call fcn.14003efa0
mov rcx, qword [r14 + 0xd8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.1400153d0
jmp 0x140044b7e
cmp dword [r14 + 0xb8], 1
jle 0x140044b6b
mov r8, r9
lea rdx, str.____s
mov rcx, r14
call fcn.140017540
mov rdx, qword [r14 + 0xd8]
mov r9, rax
mov r8, r12
mov ecx, esi
mov rbx, rax
call qword [r14 + 0xd0]
mov rdx, rbx
mov rcx, r14
call fcn.140015490
jmp 0x140044b7e
mov rdx, qword [r14 + 0xd8]
mov r8, r12
mov ecx, esi
call qword [r14 + 0xd0]
mov r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x1400f8f9c]
jl 0x140044bc8
cmp dword [r12 + 0xb8], 1
mov edx, esi
jle 0x140044bc5
mov eax, 0x18
mov rcx, qword [r12 + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x140044bb5
mov dword [rax + rcx + 4], r13d
inc edx
add rax, 0x18
cmp edx, dword [r12 + 0xb8]
jl 0x140044ba5
mov eax, r13d
mov rdi, qword [rsp + 0x30]
inc eax
mov dword [rdi + 4], eax
jmp 0x140044be3
mov esi, 1
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov eax, dword [rdi + 8]
mov r10d, 0x2460
mov r14, qword [rsp + 0x50]
dec eax
mov r15, qword [rsp + 0x58]
mov r11d, 0x1000
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x1400400c1
mov rdi, qword [rsp + 0x30]
mov r10d, 0x2460
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov r14, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rdi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rdi, qword [rsp + 0x30]
mov esi, 1
jmp 0x1400400b6
mov rdi, qword [rsp + 0x30]
mov esi, 1
mov ebx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
add rdi, 0x18
xor r13d, r13d
jmp 0x14003fa2f
mov rdx, qword [rsp + 0x30]
mov dword [r12 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r12 + 0xbe], al
mov dword [r12 + 0x34], ebx
test ecx, ecx
je 0x140044d5c
movzx eax, word [rdx + 2]
mov rcx, r12
test ax, ax
je 0x140044d20
movzx r8d, ax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0xe53a0]
call fcn.140036e40
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x140044d30
mov r8, qword [r12 + 0x90]
lea rdx, str._z:__s
mov rcx, r14
call fcn.140017540
mov qword [r12 + 0x90], rax
jmp 0x140044d30
mov r8, qword [rdx + 0x10]
lea rdx, [0x1400db730]
call fcn.140036e40
mov rax, qword [r12 + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xe0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
call fcn.140017820
mov rcx, r12
call fcn.14003a1d0
mov dword [rsp + 0x3c], eax
cmp eax, 5
jne 0x140045195
mov dword [r12 + 0x38], eax
jmp 0x1400452fd
cmp qword [r10 + 0x68], 0
jne 0x140044d9c
mov ebx, 0x2460
test word [rbp + 0x60], bx
jne 0x140044d93
cmp dword [rbp + 0x78], 0
je 0x140044d9c
lea rcx, [rbp + 0x58]
call fcn.140035a10
mov r9d, 0x13b95
jmp 0x140041432
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.140036e40
mov edi, 5
jmp 0x140045226
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.140036e40
mov edi, 5
jmp 0x140045226
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
mov byte [r14 + 0x53], 0
mov dword [rsp + 0x3c], 5
mov dword [r12 + 0x38], 5
jmp 0x1400452fd
mov edi, 8
jmp 0x140045226
cmp al, 5
jne 0x140045226
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x3c]
mov dword [r12 + 0x34], edx
mov dword [r12 + 0x38], eax
jmp 0x1400452fd
mov rdx, qword [r12 + 0x90]
mov rcx, r14
call fcn.140015490
lea rdx, str.database_schema_has_changed
mov rcx, r14
call fcn.140015aa0
mov qword [r12 + 0x90], rax
mov rax, qword [r14 + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x2c]
cmp dword [rcx], eax
je 0x140044eb2
mov rcx, r14
call fcn.14005ac10
or dword [r12 + 0xc0], 1
mov edi, 0x11
jmp 0x140045226
mov edi, 0x204
jmp 0x140045226
mov edi, 6
mov byte [r12 + 0xbe], 2
jmp 0x140045226
mov ebx, 7
mov dword [rsp + 0x3c], ebx
mov edi, ebx
jmp 0x14004382a
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x3c], 1
mov rcx, r12
call fcn.140036e40
mov edi, dword [rsp + 0x3c]
jmp 0x140045226
call fcn.14003cc10
mov r8, rax
lea rdx, [0x1400db730]
mov rcx, r12
call fcn.140036e40
mov edi, dword [rsp + 0x3c]
jmp 0x140045226
cmp ebx, 5
mov dword [rsp + 0x3c], 1
lea rax, str.into
mov rcx, r12
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.140036e40
mov edi, dword [rsp + 0x3c]
jmp 0x140045226
call qword [rdi + 0x38]
jmp 0x140041945
mov edi, 6
jmp 0x140045226
mov r12, qword [rsp + 0x78]
jmp 0x140044f83
mov r12, rdi
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.140036e40
mov edi, 0x12
jmp 0x140045226
mov rax, qword [r14 + 0x1a0]
test rax, rax
je 0x140044fc8
mov ecx, dword [rsp + 0x38]
cmp ecx, dword [rbp - 0x58]
jb 0x140044fc8
mov rcx, qword [r14 + 0x1a8]
call rax
test eax, eax
je 0x140044fc8
mov edi, 9
jmp 0x140045226
xor edx, edx
mov rcx, r12
call fcn.14003a180
mov edi, eax
test eax, eax
jne 0x140045226
mov rax, qword [r12]
cmp dword [rax + 0x280], edi
je 0x140044ff9
cmp dword [r12 + 0x40], edi
je 0x140044ff9
mov edx, esi
mov rcx, r12
call fcn.140039f40
mov eax, dword [r12 + 0x30]
mov rbx, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r12 + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r15
mov qword [r12 + 0x88], rdi
cmp dword [rbx + 8], 0
jle 0x14004507b
lea rbx, [rdi + 8]
mov esi, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x140045051
movsxd rax, r13d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140035650
test eax, eax
jne 0x140041945
movzx eax, word [rbx]
and ax, si
cmp ax, 2
jne 0x140045066
lea rcx, [rbx - 8]
call fcn.140035740
mov rax, qword [rsp + 0x30]
inc r13d
add rbx, 0x38
cmp r13d, dword [rax + 8]
jl 0x140045030
mov rbx, rax
cmp byte [r14 + 0x55], 0
jne 0x140041945
test byte [r14 + 0x5c], 4
je 0x1400450a5
mov rdx, qword [r14 + 0xd8]
xor r9d, r9d
mov r8, r12
lea ecx, [r9 + 4]
call qword [r14 + 0xd0]
sub rbx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov dword [rsp + 0x3c], 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r12 + 0x34], edx
jmp 0x1400452fd
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r14 + 0x53]
cmp ebx, eax
je 0x1400451ac
test ecx, ecx
je 0x140045107
mov edx, 0x204
mov rcx, r14
call fcn.14009b850
mov dil, 1
jmp 0x140045146
test ebx, ebx
je 0x14004512e
cmp dword [r14 + 0xb4], 0
jle 0x14004512e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.140036e40
mov edi, 5
jmp 0x140045226
mov edx, esi
mov rcx, r12
mov edi, ebx
call fcn.14003a180
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x1400452fd
mov rcx, r12
mov byte [r14 + 0x53], dil
call fcn.14003a1d0
cmp eax, 5
jne 0x14004518d
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub sil, bl
mov dword [r12 + 0x34], edx
mov byte [r14 + 0x53], sil
jmp 0x140044e08
mov rcx, r14
call fcn.14009ae30
cmp dword [r12 + 0x38], 0
mov eax, 0x65
cmovne eax, esi
mov dword [rsp + 0x3c], eax
jmp 0x1400452fd
test ebx, ebx
jne 0x1400451c3
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r12
call fcn.140036e40
mov edi, esi
jmp 0x140045226
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
call fcn.140036e40
mov edi, esi
jmp 0x140045226
cmp byte [r14 + 0x55], 0
mov eax, 9
mov ebx, 7
cmovne eax, ebx
mov ecx, eax
mov dword [rsp + 0x3c], eax
mov dword [r12 + 0x38], eax
call fcn.14009b9b0
mov r8, rax
lea rdx, [0x1400db730]
mov rcx, r12
call fcn.140036e40
mov edi, dword [rsp + 0x3c]
jmp 0x14004522b
mov edi, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x78]
mov ebx, 7
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x55], 0
cmovne edi, ebx
cmp qword [r12 + 0x90], 0
mov dword [rsp + 0x3c], edi
jne 0x140045267
cmp edi, 0xc0a
je 0x140045267
mov ecx, edi
call fcn.14009b9b0
mov r8, rax
lea rdx, [0x1400db730]
mov rcx, r12
call fcn.140036e40
mov dword [r12 + 0x38], edi
mov edx, edi
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140018380
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov r9, qword [r12 + 0xe0]
imul rcx
mov rax, qword [r12 + 0x90]
mov ecx, dword [rsp + 0x3c]
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.140017820
mov rcx, r12
call fcn.14003a1d0
cmp dword [rsp + 0x3c], 0xc0a
jne 0x1400452df
mov rcx, rdi
call fcn.140015c10
movzx eax, byte [rsp + 0x68]
mov dword [rsp + 0x3c], 1
test al, al
je 0x1400452fd
movzx edx, al
mov rcx, rdi
dec edx
call fcn.14005ac10
mov eax, dword [rsp + 0x38]
mov rcx, r12
add dword [r12 + 0xdc], eax
call fcn.140038850
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rbp + 0x218]
xor rcx, rsp
call fcn.1400a4a60
lea r11, [rsp + 0x340]
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