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

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x308]
sub rsp, 0x3f8
mov rax, qword [0x1402adcf8]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rax, qword [rcx + 0x88]
mov r13, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [rsp + 0x58], rax
mov rsi, qword [r13]
mov qword [rsp + 0x38], rax
xor al, al
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov qword [r11 - 0x20], r14
mov r14, qword [r13 + 0x68]
mov qword [r11 - 0x28], r15
mov r15d, ecx
mov byte [rsp + 0x70], al
movzx eax, byte [rsi + 0x60]
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x80], ecx
mov qword [rbp - 0x40], rcx
mov rcx, r13
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x60], r14
call fcn.14014e790
cmp qword [rsi + 0x1e8], r15
je 0x14014e926
mov ecx, dword [rsi + 0x1f8]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x14014e92d
mov rbx, 0xffffffffffffffff
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x428], rdi
mov qword [rsp + 0x3f0], r12
movaps xmmword [rsp + 0x3d0], xmm6
mov qword [rsp + 0x50], rbx
je 0x140156aad
xor r11d, r11d
mov dword [r13 + 0x38], r11d
mov qword [r13 + 0x48], r11
mov qword [r13 + 0xa0], r11
mov dword [rsi + 0x270], r11d
mov eax, dword [rsi + 0x178]
test eax, eax
jne 0x1401564ca
movsxd rax, dword [r13 + 0x34]
lea rdx, [0x140000000]
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov r8d, 0x1000
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x20]
lea r12, [rbx + rcx*8]
mov dword [rbp - 0x60], eax
movzx edi, byte [r12]
inc r15
mov qword [rsp + 0x38], r12
mov qword [rbp - 0x40], r15
cmp edi, 0xad
ja case.0x14014e9d6.86
mov ecx, dword [rdx + rdi*4 + 0x156cf0]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov r12, qword [rsp + 0x38]
jmp 0x140152559
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r14 + 8], ax
lea r12, [rbx + rcx*8]
jmp 0x140153969
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 8], ax
cmp dword [r12 + 8], 0
jne 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
cdqe
jmp 0x14014ea2b
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov r8d, 0x1000
jmp 0x140153969
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je case.0x14014e9d6.86
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x38]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x140156304
mov rdx, qword [r13 + 0x100]
test rdx, rdx
je 0x1401562ff
mov rax, qword [rdx + 8]
mov rcx, rdx
mov qword [r13 + 0x100], rax
dec dword [r13 + 0x110]
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x78], eax
add dword [rsi + 0x7c], eax
call fcn.140157a60
mov r12, qword [rsp + 0x38]
mov rbx, qword [r13 + 0x88]
mov qword [rsp + 0x58], rbx
cmp dword [r12 + 8], 4
jne 0x14014eb92
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
dec eax
mov r14, qword [r13 + 0x68]
xor r11d, r11d
cdqe
mov r9d, 0x2400
mov qword [rsp + 0x60], r14
mov r8d, 0x1000
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x140153963
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x14014ec09
call fcn.140102ab0
mov rcx, rax
lea rdx, [0x140000000]
movsxd rax, dword [r12 + 4]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov qword [rcx], rax
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x14014ec6e
mov rcx, rdx
call fcn.140102ab0
mov rdx, rax
xor r11d, r11d
mov rax, qword [r12 + 0x10]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140153969
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140153969
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x14014ecb9
mov rcx, rdx
call fcn.140102ab0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
mov eax, 8
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140153969
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x14014ed04
mov rcx, rsi
call fcn.140102ab0
xor r11d, r11d
mov rsi, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14014ed0d
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14014ed1b
mov eax, r11d
jmp 0x14014ed30
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x14014ed22
and eax, 0x3fffffff
mov r12, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x48]
mov dword [r12 + 4], eax
cmp r15b, 1
je 0x14014ee45
test rdi, rdi
jne 0x14014ed71
test word [rsi + 8], r9w
je 0x14014ed60
mov rcx, rsi
call fcn.14016e3d0
jmp 0x14014ed65
mov word [rsi + 8], r10w
test byte [rsi + 8], 2
je 0x14014edf9
jmp 0x14014eddf
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14014ed83
mov r14d, dword [rax + 0x80]
jmp 0x14014ed89
mov r14d, 0x3b9aca00
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14014ed90
btr ebx, 0x1f
test word [rsi + 8], r9w
jne 0x14014edaa
cmp dword [rsi + 0x20], 0
je 0x14014edb2
mov rcx, rsi
call fcn.14016e380
mov qword [rsi + 0x10], rdi
xor eax, eax
mov qword [rsi + 0x30], rax
mov eax, 0xa02
mov dword [rsi + 0xc], ebx
mov word [rsi + 8], ax
mov byte [rsi + 0xa], 1
cmp ebx, r14d
jg 0x14015680c
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
cmp byte [rsi + 0xa], r15b
je 0x14014edf9
movzx edx, r15b
mov rcx, rsi
call fcn.140159f10
test eax, eax
jne 0x140156a5e
xor r11d, r11d
mov eax, 0x800
mov dword [rsi + 0x20], r11d
or word [rsi + 8], ax
mov rax, r12
cmp byte [rax + 1], 0xf9
jne 0x14014ee2b
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14014ee2b
mov rcx, qword [rsp + 0x40]
call fcn.14011fc50
mov rax, r12
xor r11d, r11d
mov byte [rax + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov dword [rsp + 0x30], r11d
mov qword [r12 + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [r12 + 4], eax
mov rsi, qword [rsp + 0x40]
cmp eax, dword [rsi + 0x80]
jg 0x14015680c
mov byte [r12], 0x47
mov r9d, 0x2400
jmp 0x14014ee69
movzx r15d, byte [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x14014ee8e
mov rcx, rdx
call fcn.140102ab0
mov rdx, rax
mov r9d, 0x2400
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], r15b
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x140153955
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
xor r11d, r11d
cmp qword [rcx + r14], rax
jne 0x140153958
mov eax, 0xa10
mov r8d, 0x1000
mov word [rdx + 8], ax
jmp 0x140153963
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x14014ef12
call fcn.140102ab0
mov rcx, rax
mov r10d, 1
mov r9d, 0x2400
jmp 0x14014ef1b
mov eax, 4
mov word [rcx + 8], ax
mov edi, dword [rsi + 0xc]
lea rbx, [rcx + 8]
mov eax, dword [rsi + 8]
mov edx, 0x101
mov r12, qword [rsp + 0x38]
mov esi, r10d
cmp dword [r12 + 4], 0
cmovne si, dx
xor r15d, r15d
sub edi, eax
mov word [rbx], si
mov dword [rcx + 0xc], r15d
test edi, edi
jle 0x14014ef77
nop dword [rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x14014ef6a
lea rcx, [rbx - 8]
call fcn.14016e3d0
mov r9d, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r15d
test edi, edi
jg 0x14014ef50
mov rsi, qword [rsp + 0x40]
jmp 0x140153955
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x14014efdf
mov rcx, r14
call fcn.140102ab0
xor r11d, r11d
mov r14, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14014efe9
mov eax, 4
mov word [r14 + 8], ax
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsi + 0x10]
mov ebx, dword [r12 + 4]
test rsi, rsi
jne 0x14014f01a
test word [r14 + 8], r9w
je 0x14014f010
mov rcx, r14
call fcn.14016e3d0
jmp 0x14014f096
mov word [r14 + 8], r10w
jmp 0x14014f09c
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x14014f02b
mov ecx, dword [rax + 0x80]
jmp 0x14014f030
mov ecx, 0x3b9aca00
mov edi, 0x10
test ebx, ebx
jns 0x14014f065
movsxd rdx, ecx
mov ebx, r11d
test ecx, ecx
js 0x14014f060
mov rcx, rsi
movzx eax, byte [rcx + 1]
or al, byte [rcx]
je 0x14014f060
add rcx, 2
add ebx, 2
mov rax, rcx
sub rax, rsi
cmp rax, rdx
jle 0x14014f046
mov edi, 0x210
test word [r14 + 8], r9w
jne 0x14014f073
cmp dword [r14 + 0x20], 0
je 0x14014f07b
mov rcx, r14
call fcn.14016e380
xor eax, eax
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x30], rax
mov eax, 0x800
or di, ax
mov dword [r14 + 0xc], ebx
mov word [r14 + 8], di
mov r10d, 1
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0xa], al
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153969
movsxd rax, dword [r12 + 4]
mov rsi, qword [r13 + 0x80]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x30]
test al, 0x12
je 0x14014f101
bt ax, 0xe
mov ecx, dword [rdi + rsi - 0x2c]
jae 0x14014f0f0
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x10]
cmp ecx, dword [rax + 0x80]
jg 0x14015680c
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 8], r9w
je 0x14014f136
mov rcx, rbx
call fcn.14016e3d0
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rcx, qword [rsp + 0x38]
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, r14
add rbx, r14
xor r15d, r15d
nop
test word [rbx + 8], r9w
jne 0x14014f1ad
cmp dword [rbx + 0x20], r15d
je 0x14014f1c1
mov rcx, rbx
call fcn.14016e380
mov r10d, 1
mov r8d, 0x1000
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r10w
mov dword [rdi + 0x20], r15d
movzx eax, word [rbx + 8]
test r8w, ax
je 0x14014f27b
test al, 0x12
je 0x14014f266
bt ax, 0xe
jae 0x14014f246
mov edx, dword [rbx]
add edx, dword [rbx + 0xc]
test edx, edx
jg 0x14014f213
test al, 0x10
je 0x14014f246
mov edx, r10d
mov r8d, r10d
mov rcx, rbx
call fcn.140159570
test eax, eax
jne 0x140156a9b
movsxd rcx, dword [rbx + 0xc]
xor edx, edx
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
call fcn.1401ab060
mov eax, dword [rbx]
add dword [rbx + 0xc], eax
mov eax, 0xbdff
and word [rbx + 8], ax
cmp dword [rbx + 0x20], r15d
je 0x14014f256
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x14014f266
mov rcx, rbx
call fcn.14016e320
test eax, eax
jne 0x140156a9b
mov eax, 0xefff
mov r10d, 1
and word [rbx + 8], ax
mov r8d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x2400
sub esi, 1
jne 0x14014f1a0
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
jmp 0x140153969
mov rcx, qword [rsp + 0x38]
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, r14
add rbx, r14
test word [rbx + 8], r9w
je 0x14014f2e1
mov rdx, rdi
mov rcx, rbx
call fcn.14016cea0
mov r8d, 0x1000
jmp 0x14014f30a
movups xmm0, xmmword [rdi]
mov eax, 0x800
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 8], ax
jne 0x14014f30a
mov eax, 0xf3ff
and word [rbx + 8], ax
or word [rbx + 8], r8w
movzx eax, word [rbx + 8]
test r8w, ax
je 0x14014f35e
test al, 0x12
je 0x14014f34f
bt ax, 0xe
jae 0x14014f32f
mov rcx, rbx
call fcn.1401592f0
test eax, eax
jne 0x140156a5e
cmp dword [rbx + 0x20], 0
je 0x14014f33f
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x14014f34f
mov rcx, rbx
call fcn.14016e320
test eax, eax
jne 0x140156a5e
mov eax, 0xefff
mov r8d, 0x1000
and word [rbx + 8], ax
mov eax, esi
mov r9d, 0x2400
dec esi
test eax, eax
je 0x140154ec7
add rbx, 0x38
add rdi, 0x38
jmp 0x14014f2c7
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
test word [rcx + 8], r9w
je 0x14014f3bd
call fcn.14016cea0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153963
movups xmm0, xmmword [rdx]
mov r12, qword [rsp + 0x38]
mov eax, 0x800
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 8], ax
jne 0x140153958
mov eax, 0xf3ff
and word [rcx + 8], ax
or word [rcx + 8], r8w
jmp 0x140153969
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
test word [r8 + 8], r9w
je 0x14014f424
mov rdx, rax
mov rcx, r8
call fcn.14016f490
jmp 0x14014f3a4
mov r12, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r8d, 0x1000
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul r15, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r14
add r15, r14
imul r14, rax, 0x38
movzx esi, word [rdi + 8]
movzx eax, byte [r15 + 8]
add r14, qword [rsp + 0x60]
or al, sil
test al, 1
je 0x14014f4bd
test word [r14 + 8], r9w
je 0x14014f4a4
mov rcx, r14
call fcn.14016e3d0
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
jmp 0x14014f3a4
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x140153969
test sil, 0x12
jne 0x14014f4f3
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.140159de0
test eax, eax
jne 0x140156a5e
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov edx, 0x4000
jmp 0x14014f559
mov edx, 0x4000
test dx, si
je 0x14014f553
mov edx, dword [rdi + 0xc]
add edx, dword [rdi]
test edx, edx
jg 0x14014f50f
test sil, 0x10
je 0x14014f546
mov edx, r10d
mov r8d, r10d
mov rcx, rdi
call fcn.140159570
test eax, eax
jne 0x140156a5e
movsxd rcx, dword [rdi + 0xc]
xor edx, edx
add rcx, qword [rdi + 0x10]
movsxd r8, dword [rdi]
call fcn.1401ab060
mov eax, dword [rdi]
add dword [rdi + 0xc], eax
mov eax, 0xbdff
and word [rdi + 8], ax
movzx esi, word [rdi + 8]
mov eax, 0xfffd
mov edx, 0x4000
and si, ax
movzx r12d, byte [rsp + 0x48]
movzx ebx, word [r15 + 8]
test bl, 0x12
jne 0x14014f574
xor r8d, r8d
movzx edx, r12b
mov rcx, r15
call fcn.140159de0
jmp 0x14014f581
test dx, bx
je 0x14014f596
mov rcx, r15
call fcn.1401592f0
test eax, eax
jne 0x140156a5e
movzx ebx, word [r15 + 8]
mov eax, 0xfffd
and bx, ax
mov r9, qword [rsp + 0x40]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rdi + 0xc]
movsxd r12, r13d
movsxd rax, dword [r9 + 0x80]
cmp r12, rax
jg 0x140156807
xor eax, eax
lea edx, [r13 + 3]
mov r8d, eax
cmp r14, r15
mov rcx, r14
sete r8b
call fcn.140159570
test eax, eax
jne 0x140156a80
mov eax, 0x3e40
and word [r14 + 8], ax
or word [r14 + 8], 2
cmp r14, r15
je 0x14014f601
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r14 + 0x10]
call fcn.1401ab210
mov word [r15 + 8], bx
movsxd rcx, dword [r15 + 0xc]
add rcx, qword [r14 + 0x10]
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
call fcn.1401ab210
mov word [rdi + 8], si
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 1], 0
mov rax, qword [r14 + 0x10]
mov byte [r12 + rax + 2], 0
mov eax, 0x200
or word [r14 + 8], ax
movzx eax, byte [rsp + 0x48]
mov dword [r14 + 0xc], r13d
mov byte [r14 + 0xa], al
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
movzx ebx, ax
and bx, 0x2c
je 0x14014f68d
xor r15d, r15d
jmp 0x14014f6a7
test al, 0x12
je 0x14014f6a1
mov rcx, rdi
call fcn.1400eb740
movzx ebx, ax
xor r15d, r15d
jmp 0x14014f6a7
xor r15d, r15d
mov ebx, r15d
movsxd rax, dword [rsi + 8]
imul rsi, rax, 0x38
add rsi, r14
movzx edx, word [rsi + 8]
test dl, 0x2c
je 0x14014f6c1
movzx r8d, dx
jmp 0x14014f6db
test dl, 0x12
je 0x14014f6d8
mov rcx, rsi
call fcn.1400eb740
movzx edx, word [rsi + 8]
movzx r8d, ax
jmp 0x14014f6db
mov r8d, r15d
mov r12, qword [rsp + 0x38]
and r8b, bl
movzx r10d, word [rdi + 8]
or dx, r10w
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add r14, rcx
test r8b, 4
je 0x14014f8c7
movzx ecx, byte [r12]
mov r9, qword [rdi]
mov r8, qword [rsi]
sub ecx, 0x6a
je 0x14014f85a
sub ecx, 1
je 0x14014f81d
sub ecx, 1
je 0x14014f782
cmp ecx, 1
je 0x14014f750
test r9, r9
je 0x14014fa6d
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r13d, 1
cqo
cmove r9, r13
idiv r9
mov r8, rdx
jmp 0x14014f896
test r9, r9
je 0x14014fa6d
cmp r9, 0xffffffffffffffff
jne 0x14014f772
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14014f8d0
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14014f896
test r9, r9
jle 0x14014f7b8
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14014f8d0
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x14014f817
jmp 0x14014f8d0
jns 0x14014f817
test r8, r8
jle 0x14014f7d8
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x14014f817
jmp 0x14014f8d0
jns 0x14014f817
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x14014f8d0
cmp r8, rax
je 0x14014f8d0
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x14014f8d0
imul r8, r9
jmp 0x14014f896
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x14014f83a
test r8, r8
jns 0x14014f8d0
sub r8, rax
jmp 0x14014f896
neg r9
jns 0x14014f85f
test r8, r8
jns 0x14014f893
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jmp 0x14014f891
test r9, r9
js 0x14014f878
test r8, r8
jle 0x14014f893
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x14014f893
jmp 0x14014f8d0
test r8, r8
jns 0x14014f893
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x14014f8d0
add r8, r9
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
mov qword [r14], r8
mov r9d, 0x2400
movzx eax, word [r14 + 8]
and ax, cx
or ax, 4
mov word [r14 + 8], ax
xor r11d, r11d
mov r14, qword [rsp + 0x60]
jmp 0x140153958
test dl, 1
jne 0x14014fa6d
test r10b, 8
je 0x14014f8dc
movsd xmm2, qword [rdi]
jmp 0x14014f902
test r10b, 0x24
je 0x14014f8ec
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x14014f902
test r10b, 0x12
je 0x14014f8ff
mov rcx, rdi
call fcn.1400ff240
movaps xmm2, xmm0
jmp 0x14014f902
movaps xmm2, xmm6
movzx eax, word [rsi + 8]
test al, 8
je 0x14014f910
movsd xmm0, qword [rsi]
jmp 0x14014f92f
test al, 0x24
je 0x14014f91e
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x14014f92f
test al, 0x12
je 0x14014f92c
mov rcx, rsi
call fcn.1400ff240
jmp 0x14014f92f
movaps xmm0, xmm6
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x14014fa06
sub ecx, 1
je 0x14014fa00
sub ecx, 1
je 0x14014f9fa
cmp ecx, 1
je 0x14014f9ec
movzx eax, word [rdi + 8]
test al, 0x24
je 0x14014f965
mov rbx, qword [rdi]
jmp 0x14014f992
test al, 8
je 0x14014f977
movsd xmm0, qword [rdi]
call fcn.1400eee90
mov rbx, rax
jmp 0x14014f992
test al, 0x12
je 0x14014f98f
cmp qword [rdi + 0x10], 0
je 0x14014f98f
mov rcx, rdi
call fcn.1400ff210
mov rbx, rax
jmp 0x14014f992
mov rbx, r15
movzx eax, word [rsi + 8]
test al, 0x24
je 0x14014f99f
mov rax, qword [rsi]
jmp 0x14014f9c6
test al, 8
je 0x14014f9ae
movsd xmm0, qword [rsi]
call fcn.1400eee90
jmp 0x14014f9c6
test al, 0x12
je 0x14014f9c3
cmp qword [rsi + 0x10], 0
je 0x14014f9c3
mov rcx, rsi
call fcn.1400ff210
jmp 0x14014f9c6
mov rax, r15
test rbx, rbx
je 0x14014fa6d
cmp rbx, 0xffffffffffffffff
mov r13d, 1
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14014fa0a
ucomisd xmm2, xmm6
jp 0x14014f9f4
je 0x14014fa6d
divsd xmm0, xmm2
jmp 0x14014fa0a
mulsd xmm0, xmm2
jmp 0x14014fa0a
subsd xmm0, xmm2
jmp 0x14014fa0a
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x78], xmm0
mov rax, qword [rbp - 0x78]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x14014fa6d
mov rsi, qword [rsp + 0x40]
mov ecx, 0x3e40
movsd qword [r14], xmm0
mov r9d, 0x2400
movzx eax, word [r14 + 8]
and ax, cx
or ax, 8
mov word [r14 + 8], ax
xor r11d, r11d
mov r14, qword [rsp + 0x60]
jmp 0x140153958
mov r9d, 0x2400
test word [r14 + 8], r9w
je 0x14014fa9a
mov rcx, r14
call fcn.14016e3d0
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
jmp 0x140153958
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
xor r11d, r11d
mov word [r14 + 8], r10w
mov r8d, 0x1000
mov r14, qword [rsp + 0x60]
jmp 0x140153969
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x14014e9d6.86
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x14014faf8
xor edx, edx
call fcn.14016f490
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153963
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r14
imul rsi, rax, 0x38
movzx edx, word [rdi + 8]
add rcx, r14
add rsi, r14
movzx r8d, word [rcx + 8]
movzx eax, r8b
or al, dl
test al, 1
je 0x14014fb82
test word [rsi + 8], r9w
je 0x14014fb68
mov rcx, rsi
call fcn.14016e3d0
mov rsi, qword [rsp + 0x40]
jmp 0x14014f3a4
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x40]
jmp 0x140153969
mov eax, r8d
test r8b, 0x24
je 0x14014fb93
mov rbx, qword [rcx]
xor r15d, r15d
jmp 0x14014fbca
test al, 8
je 0x14014fba8
movsd xmm0, qword [rcx]
call fcn.1400eee90
mov rbx, rax
xor r15d, r15d
jmp 0x14014fbca
test al, 0x12
je 0x14014fbc4
cmp qword [rcx + 0x10], 0
je 0x14014fbc4
call fcn.1400ff210
movzx edx, word [rdi + 8]
mov rbx, rax
xor r15d, r15d
jmp 0x14014fbca
xor r15d, r15d
mov ebx, r15d
movzx eax, dx
test al, 0x24
je 0x14014fbd6
mov rcx, qword [rdi]
jmp 0x14014fc03
test al, 8
je 0x14014fbe8
movsd xmm0, qword [rdi]
call fcn.1400eee90
mov rcx, rax
jmp 0x14014fc03
test al, 0x12
je 0x14014fc00
cmp qword [rdi + 0x10], 0
je 0x14014fc00
mov rcx, rdi
call fcn.1400ff210
mov rcx, rax
jmp 0x14014fc03
mov rcx, r15
mov r12, qword [rsp + 0x38]
movzx edx, byte [r12]
cmp dl, 0x66
jne 0x14014fc17
and rbx, rcx
jmp 0x14014fc8b
cmp dl, 0x67
jne 0x14014fc21
or rbx, rcx
jmp 0x14014fc8b
test rcx, rcx
je 0x14014fc8b
jns 0x14014fc3b
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14014fc41
neg rcx
cmp rcx, 0x40
jl 0x14014fc59
test rbx, rbx
jns 0x14014fc54
cmp dl, 0x68
je 0x14014fc54
mov rbx, 0xffffffffffffffff
jmp 0x14014fc8b
mov rbx, r15
jmp 0x14014fc8b
cmp dl, 0x68
jne 0x14014fc66
shl rbx, cl
mov r8, rbx
jmp 0x14014fc88
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14014fc88
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [rsi], rbx
mov eax, 0x3e40
and word [rsi + 8], ax
mov r9d, 0x2400
or word [rsi + 8], 4
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x140153958
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140159700
movsxd rax, dword [r12 + 8]
mov r9d, 0x2400
add qword [rbx], rax
xor r11d, r11d
jmp 0x140153958
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test al, 4
jne 0x14014fd6c
test al, 8
jne 0x14014fd15
test al, 2
je 0x14014fd24
mov edx, r10d
mov rcx, rbx
call fcn.1400e20a0
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x14014fd1d
mov rcx, rbx
call fcn.1401584d0
lea rdx, [0x140000000]
movzx eax, word [rbx + 8]
test al, 4
jne 0x14014fd6c
cmp dword [r12 + 8], 0
jne 0x140152554
mov r10d, 0x14
mov dword [rsp + 0x30], r10d
xor r15d, r15d
mov edi, 1
lea r14, [0x140239754]
mov rbx, qword [rsp + 0x50]
cmp byte [rsi + 0x63], 0
je 0x140156b20
mov r10d, 7
jmp 0x140156b52
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r14
movzx eax, word [rcx + 8]
test al, 0x24
je case.0x14014e9d6.86
test al, 8
je 0x14014fdb5
movsd xmm0, qword [rcx]
jmp 0x14014fdbd
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov edi, 0x3e40
movsd qword [rcx], xmm0
and ax, di
or ax, 8
mov word [rcx + 8], ax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14014fe11
mov rcx, rbx
call fcn.1401592f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.140159100
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x14014f65d
mov rbx, qword [rsp + 0x50]
xor r15d, r15d
jmp 0x1401564d8
mov rcx, qword [rsp + 0x38]
mov r12, rcx
movsxd rax, dword [rcx + 4]
lea r15, [rcx + 2]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r14, qword [rsp + 0x60]
imul rsi, rax, 0x38
movzx edi, word [r14 + 8]
add rsi, qword [rsp + 0x60]
movzx ebx, word [rsi + 8]
movzx edx, bx
or dx, di
test dl, 1
je 0x14014ff0d
movzx eax, word [r15]
test al, al
jns 0x14014febb
movzx eax, bl
and al, dil
test al, 1
je 0x14014fea6
mov eax, 0x100
test ax, bx
jne 0x14014fea6
movzx eax, byte [rcx]
mov edx, r11d
jmp 0x1401500d2
movzx eax, bx
not ax
and eax, 1
lea edx, [rax*2 - 1]
jmp 0x1401500a9
test al, 0x20
je 0x14014fef1
movsxd rax, dword [r12 + 8]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x80], r10d
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x140153969
test al, 0x10
jne 0x140152554
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
jmp 0x140153969
movzx eax, byte [r15]
and al, 0x47
cmp al, 0x43
jb 0x140150021
movzx ecx, bx
test dl, 2
je 0x14014ff55
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14014ff3b
xor edx, edx
mov rcx, r14
call fcn.1400e20a0
movzx ebx, word [rsi + 8]
movzx eax, bl
movzx ecx, bx
and al, 0x2e
cmp al, 2
jne 0x14014ff55
xor edx, edx
mov rcx, rsi
call fcn.1400e20a0
movzx ecx, word [rsi + 8]
and cl, byte [r14 + 8]
test cl, 4
je 0x140150090
mov rax, qword [rsi]
cmp rax, qword [r14]
movzx eax, byte [r12]
jle 0x14015000a
mov r10d, 1
mov edx, r10d
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x22f48c]
xor r11d, r11d
mov word [rsi + 8], bx
mov word [r14 + 8], di
movzx r9d, word [r15]
movzx r8d, cl
test r9b, 0x20
je 0x1401500ec
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov dword [rbp - 0x80], edx
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r14
test r9b, 8
je 0x14014ffd9
cmp byte [rsi], 0x35
mov eax, r11d
sete al
cmp eax, r8d
je 0x140156172
mov rsi, qword [rsp + 0x40]
mov eax, 0x3e40
and word [rcx + 8], ax
mov r9d, 0x2400
or word [rcx + 8], 4
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov qword [rcx], r8
mov r8d, 0x1000
jmp 0x140153969
jge 0x140150016
mov edx, 0xffffffff
jmp 0x1401500b2
xor r11d, r11d
mov edx, r11d
jmp 0x1401500d2
cmp al, 0x42
jne 0x140150090
movzx r13d, byte [rsp + 0x48]
test dil, 2
jne 0x140150065
test dil, 0x2c
je 0x140150065
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.140159de0
movzx eax, di
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor di, ax
cmp r14, rsi
jne 0x140150065
movzx ebx, di
or bx, 2
test bl, 2
jne 0x140150090
test bl, 0x2c
je 0x140150090
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.140159de0
movzx eax, word [rsi + 8]
mov ecx, 0x3e40
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [r12 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.1401357a0
xor r11d, r11d
mov edx, eax
lea r10d, [r11 + 1]
movzx eax, byte [r12]
test edx, edx
jns 0x1401500cc
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x22ed84]
jmp 0x14014ff8b
jne 0x14014ff7c
lea rcx, [0x140000000]
mov r10d, 1
movzx ecx, byte [rax + rcx + 0x22f344]
jmp 0x14014ff8e
mov rbx, qword [rsp + 0x58]
test cl, cl
jne 0x140152559
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x140153969
cmp dword [rbp - 0x80], 0
jne 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x140150143
xor r15d, r15d
mov r13d, r15d
jmp 0x14015014e
mov r13, qword [rax - 8]
add r13, 4
xor r15d, r15d
mov rdx, qword [rax + 0x10]
mov esi, r15d
mov r8d, dword [rax + 4]
mov rbx, r15
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x78], rdx
mov dword [rsp + 0x78], r8d
mov dword [rbp - 0x68], r9d
mov qword [rbp - 0x70], rax
test rax, rax
jle 0x1401562f5
lea r12, [rdx + 0x20]
test r13, r13
je 0x14015018e
mov ecx, dword [r13 + rbx*4]
jmp 0x140150190
mov ecx, esi
mov rax, qword [rdx + 0x18]
lea r15d, [rcx + r9]
lea r14d, [rcx + r8]
mov r8, qword [r12]
imul rdx, r15, 0x38
imul rcx, r14, 0x38
movzx edi, byte [rax + rbx]
add rdx, qword [rsp + 0x60]
and edi, 1
add rcx, qword [rsp + 0x60]
call fcn.1401357a0
mov dword [rbp - 0x80], eax
mov edx, eax
test eax, eax
jne 0x1401501e8
mov rdx, qword [rbp - 0x78]
inc esi
mov r8d, dword [rsp + 0x78]
inc rbx
mov r9d, dword [rbp - 0x68]
add r12, 8
cmp rbx, qword [rbp - 0x70]
jl 0x140150182
jmp 0x14014f64e
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14015021a
imul rax, r14, 0x38
mov r14, qword [rsp + 0x60]
test byte [rax + r14 + 8], 1
jne 0x140150213
imul rax, r15, 0x38
test byte [rax + r14 + 8], 1
je 0x14015021f
neg edx
mov dword [rbp - 0x80], edx
jmp 0x14015021f
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
test edi, edi
je 0x140153955
neg edx
mov dword [rbp - 0x80], edx
jmp 0x140153955
mov edx, dword [rbp - 0x80]
test edx, edx
jns 0x14015025e
mov eax, dword [r12 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
jmp 0x140153969
lea rdx, [0x140000000]
jne 0x14015028a
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov eax, dword [r12 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rbx + rcx*8]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
mov edi, 2
imul rcx, rax, 0x38
mov edx, edi
add rcx, r14
call fcn.14014dac0
movsxd rcx, dword [r12 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.14014dac0
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r12], 0x2c
cdqe
jne 0x1401502f9
movzx edx, byte [rax + rcx + 0x22f4c8]
jmp 0x140150301
movzx edx, byte [rax + rcx + 0x22f4d8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp dl, dil
jne 0x140150334
movzx eax, word [rcx + 8]
mov edx, 0x3e40
and ax, dx
mov r9d, 0x2400
or ax, 1
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x140153958
movzx eax, dl
mov r9d, 0x2400
mov qword [rcx], rax
mov edx, 0x3e40
movzx eax, word [rcx + 8]
and ax, dx
or ax, 4
mov word [rcx + 8], ax
xor r11d, r11d
jmp 0x140153958
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14014dac0
movsxd rcx, eax
mov r9d, 0x2400
mov rax, rdi
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401503b5
call fcn.14016f490
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
mov r12, rdi
jmp 0x140153963
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r12, rdi
xor r11d, r11d
mov r8d, 0x1000
jmp 0x140153963
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
movzx eax, word [rcx + 8]
test al, 1
jne 0x140150486
test al, 0x24
je 0x140150406
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x140150443
test al, 8
je 0x140150410
movsd xmm0, qword [rcx]
jmp 0x140150433
test al, 0x12
je 0x140150440
call fcn.1400ff240
xor r11d, r11d
lea rdx, [0x140000000]
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x14015043b
je 0x140150440
mov rax, r11
jmp 0x140150443
mov rax, r10
test word [rbx + 8], r9w
je 0x140150463
mov rdx, rax
mov rcx, rbx
call fcn.14016f490
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
test word [rbx + 8], r9w
je 0x1401504a3
mov rcx, rbx
call fcn.14016e3d0
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test word [rdi + 8], r9w
je 0x1401504f4
mov rcx, rdi
call fcn.14016e3d0
xor r11d, r11d
mov r9d, 0x2400
jmp 0x1401504f9
mov word [rdi + 8], r10w
test byte [rbx + 8], 1
jne 0x140152351
mov eax, 4
mov word [rdi + 8], ax
movzx eax, word [rbx + 8]
test al, 0x24
je 0x140150530
mov rax, qword [rbx]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x140153958
test al, 8
je 0x140150556
movsd xmm0, qword [rbx]
call fcn.1400eee90
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
test al, 0x12
je 0x140150582
cmp qword [rbx + 0x10], 0
je 0x140150582
mov rcx, rbx
call fcn.1400ff210
mov r12, qword [rsp + 0x38]
not rax
mov qword [rdi], rax
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov r12, qword [rsp + 0x38]
mov rax, r11
not rax
xor r11d, r11d
mov qword [rdi], rax
mov r9d, 0x2400
jmp 0x140153958
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x140150629
mov r9, qword [r8 + 0x30]
mov rcx, r12
sub rcx, qword [r13 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x140152559
bts eax, edx
mov r8d, 0x1000
mov byte [rcx + r9], al
lea rdx, [0x140000000]
mov rcx, qword [r13 + 0x88]
mov r9d, 0x2400
mov eax, dword [rcx + 4]
mov dword [r12 + 4], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rcx, qword [r13 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x140152559
mov eax, dword [rcx + 4]
mov r8d, 0x1000
mov dword [r12 + 4], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14014dac0
xor r11d, r11d
mov r10d, 1
test eax, eax
jne 0x140152559
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153969
mov rax, qword [rsp + 0x38]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.14014dac0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
lea r10d, [r11 + 1]
test eax, eax
je 0x140152559
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153969
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x14014e9d6.86
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x140150763
call fcn.14016e3d0
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x140152559
mov word [rcx + 8], r10w
jmp 0x140152559
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x78]
mov r15d, dword [r12 + 8]
mov dword [rsp + 0x78], r15d
mov r13, qword [rax + rcx*8]
cmp byte [r13 + 3], 0
je 0x140150842
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x140150838
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140150838
cmp byte [r13 + 2], 0
jne 0x140150838
mov r13, qword [r13 + 0x30]
lea r15d, [rax - 1]
mov dword [rsp + 0x78], r15d
lea rdx, [0x140000000]
mov dword [rsp + 0x30], r11d
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov rsi, qword [r13 + 0x60]
mov qword [rbp - 0x78], rsi
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0x30]
add r14, rcx
mov qword [rbp + 0x18], r14
cmp dword [r13 + 0x28], eax
je 0x1401509b3
cmp byte [r13 + 2], 0
je 0x1401508b6
cmp byte [r13], 3
jne 0x140150885
movsxd rax, dword [r13 + 0x2c]
mov rdx, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [r13 + 0x74], eax
mov dword [r13 + 0x70], eax
mov rcx, qword [rcx + rdx + 0x10]
mov qword [r13 + 0x68], rcx
jmp 0x140150909
mov rcx, r13
call fcn.1401577a0
jmp 0x140150857
mov rax, qword [r13 + 0x38]
cmp byte [rax], 0
je 0x1401507ca
mov rcx, r13
call fcn.1400fb780
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401563fa
xor r11d, r11d
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401507cf
test word [r14 + 8], r9w
jne 0x14014f48d
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rbx, qword [r13 + 0x38]
mov rcx, rbx
call fcn.1400fabb0
mov r8d, dword [rbx + 0x40]
mov dword [r13 + 0x70], r8d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401508eb
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov r9, qword [rsp + 0x40]
mov dword [r13 + 0x74], ecx
mov rcx, qword [rbx + 0x38]
mov qword [r13 + 0x68], rcx
cmp r8d, dword [r9 + 0x80]
ja 0x140156802
mov eax, dword [r12 + 0x30]
mov dword [r13 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14015091f
mov dword [rsi], eax
mov al, 1
jmp 0x140150927
mov rdx, rsi
call fcn.140130140
lea rbx, [r13 + 0x52]
movzx edx, al
mov dword [r13 + 0x48], edx
xor r11d, r11d
mov word [rbx], r11w
mov ecx, dword [rsi]
mov qword [rbp - 0x68], rbx
cmp dword [r13 + 0x74], ecx
jae 0x1401509a2
mov qword [r13 + 0x68], r11
mov dword [r13 + 0x74], r11d
mov eax, dword [rsi]
cmp eax, 0x18003
ja 0x140150960
mov qword [rbp - 0x68], rbx
cmp eax, dword [r13 + 0x70]
jbe 0x1401509bb
mov r9d, 0x2400
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x1401563e4
mov r14, qword [rsp + 0x60]
dec eax
movsxd rcx, eax
mov r8d, 0x1000
lea rax, [rcx + rcx*2]
lea rsi, [rbx + rax*8]
mov qword [rsp + 0x38], rsi
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
jmp 0x140153963
mov r9, qword [r13 + 0x68]
movzx eax, r11w
mov qword [rbp - 0x70], r9
jmp 0x140150a83
lea rbx, [r13 + 0x52]
mov qword [rbp - 0x68], rbx
movzx eax, word [rbx]
cmp eax, r15d
ja 0x140150c93
mov edx, dword [r13 + 0x48]
mov ecx, dword [rsi]
cmp edx, ecx
jae 0x140150bc5
mov r9, qword [r13 + 0x68]
mov qword [rbp - 0x70], r9
test r9, r9
jne 0x140150a7f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x68], rax
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm0
mov r10, qword [r13 + 0x38]
mov r8d, dword [rsi]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x140150a21
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov r9, qword [r10 + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rbp + 0x48], r9
cmp r8d, ecx
ja 0x140150a4f
mov dword [rbp + 0x44], r8d
mov eax, 0x1010
mov word [rbp + 0x40], ax
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov dword [rsp + 0x30], r11d
jmp 0x140150a83
lea r9, [rbp + 0x38]
xor edx, edx
mov rcx, r10
call fcn.140159400
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140156b0b
mov r9, qword [rbp + 0x48]
movzx eax, word [rbx]
mov ecx, dword [rsi]
mov edx, dword [r13 + 0x48]
mov qword [rbp - 0x70], r9
jmp 0x140150a83
mov qword [rbp - 0x68], rbx
movzx r15d, ax
mov r12d, ecx
mov ebx, r15d
mov rcx, qword [rbp - 0x78]
mov r14d, dword [rsi + r15*4]
mov esi, edx
add rsi, r9
add r12, r9
nop dword [rax]
movzx edi, byte [rsi]
mov eax, 0x80
mov dword [rbp - 0x5c], edi
mov dword [r13 + rbx*4 + 0x78], edi
cmp edi, eax
jae 0x140150ac8
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x22f3e0]
jmp 0x140150b05
lea rdx, [rbp - 0x5c]
mov rcx, rsi
call fcn.140130140
mov edi, dword [rbp - 0x5c]
movzx eax, al
add rsi, rax
mov dword [r13 + rbx*4 + 0x78], edi
mov eax, 0x80
cmp edi, eax
jb 0x140150af2
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140150b01
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x22f3e0]
mov rcx, qword [rbp - 0x78]
inc r15d
add r14, rax
movsxd rbx, r15d
mov dword [rcx + rbx*4], r14d
cmp r15d, dword [rsp + 0x78]
ja 0x140150b20
cmp rsi, r12
jb 0x140150aa0
jmp 0x140150b25
cmp rsi, r12
jb 0x140150b7a
cmp rsi, r12
ja 0x140150b83
mov eax, dword [r13 + 0x70]
cmp r14, rax
jne 0x140150b83
sub esi, dword [rbp - 0x70]
mov r12d, 0x2400
mov rbx, qword [rbp - 0x68]
mov word [rbx], r15w
mov dword [r13 + 0x48], esi
cmp qword [r13 + 0x68], 0
jne 0x140150b65
test word [rbp + 0x40], r12w
jne 0x140150b5c
cmp dword [rbp + 0x58], 0
je 0x140150b65
lea rcx, [rbp + 0x38]
call fcn.14016e380
movzx eax, word [rbx]
xor r11d, r11d
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp + 0x18]
mov r15d, dword [rsp + 0x78]
jmp 0x140150bd2
mov eax, dword [r13 + 0x70]
cmp r14, rax
jbe 0x140150b33
cmp dword [rcx], 0
jne 0x140150b92
xor eax, eax
mov rsi, r12
mov r15d, eax
jmp 0x140150b33
cmp qword [r13 + 0x68], 0
mov r9d, 0x2400
jne 0x140150bbd
test word [rbp + 0x40], r9w
jne 0x140150bac
cmp dword [rbp + 0x58], 0
je 0x140150bbd
lea rcx, [rbp + 0x38]
call fcn.14016e380
xor r11d, r11d
jmp 0x140150960
xor r11d, r11d
jmp 0x140150966
mov edi, r11d
mov dword [rbp - 0x5c], r11d
mov r12d, 0x2400
movzx eax, ax
cmp eax, r15d
ja 0x140150c8e
mov rsi, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rsi + 1], 0xf5
jne 0x140150c50
mov rax, qword [rsi + 0x10]
test word [r14 + 8], r9w
je 0x140150c10
mov r8d, 0x800
mov rdx, rax
mov rcx, r14
call fcn.14016cea0
jmp 0x14014f64e
movups xmm0, xmmword [rax]
mov rsi, qword [rsp + 0x40]
mov ecx, 0x800
mov r12, qword [rsp + 0x38]
movups xmmword [r14], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [r14 + 0x10], xmm1
test word [rax + 8], cx
jne 0x140150c46
mov eax, 0xebff
and word [r14 + 8], ax
or word [r14 + 8], cx
mov r14, qword [rsp + 0x60]
jmp 0x140153958
test word [r14 + 8], r9w
je 0x140150c64
mov rcx, r14
call fcn.14016e3d0
jmp 0x14014f64e
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov rbx, qword [rsp + 0x58]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x60]
jmp 0x140153969
mov ebx, r15d
jmp 0x140150ca4
mov ebx, r15d
mov r12d, 0x2400
mov edi, dword [r13 + rbx*4 + 0x78]
mov dword [rbp - 0x5c], edi
test word [r14 + 8], r12w
je 0x140150cb3
mov rcx, r14
call fcn.14016e3d0
lea eax, [r15 + 1]
mov eax, dword [rsi + rax*4]
cmp dword [r13 + 0x74], eax
jb 0x140150d97
mov esi, dword [rsi + rbx*4]
add rsi, qword [r13 + 0x68]
cmp edi, 0xc
jae 0x140150ce2
mov r8, r14
mov edx, edi
mov rcx, rsi
call fcn.14015b680
jmp 0x14014f64e
movzx eax, byte [rsp + 0x48]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x140150d21
mov r12d, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r12w
call fcn.140159570
test eax, eax
jne 0x140156a87
mov rcx, qword [r14 + 0x10]
jmp 0x140150d29
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8, rbx
mov rdx, rsi
call fcn.1401ab210
mov rax, qword [r14 + 0x10]
lea rdx, [0x140000000]
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov r8d, 0x1000
mov byte [rbx + rax], 0
mov rax, qword [r14 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, edi
mov rbx, qword [rsp + 0x58]
and eax, 1
xor r11d, r11d
movzx eax, word [rdx + rax*2 + 0x22ec94]
mov word [r14 + 8], ax
lea r10d, [r11 + 1]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0xa], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x140150dbc
cmp edi, 0xc
jb 0x140150db8
test dil, 1
je 0x140150de5
test al, al
js 0x140150de5
mov eax, 0x80
cmp edi, eax
jb 0x140150dce
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x140150de0
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x22f3e0]
test r8d, r8d
jne 0x140150dfb
mov r8, r14
lea rcx, [0x14022d2b0]
mov edx, edi
call fcn.14015b680
jmp 0x14014f64e
mov edx, dword [rsi + rbx*4]
mov r9, r14
mov rcx, qword [r13 + 0x38]
call fcn.140159400
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401563f5
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.14015b680
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x14014f64e
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
nop dword [rax]
cmp al, 0x43
jl 0x140150e7b
movzx eax, word [rbx + 8]
test al, 4
jne 0x140150eb0
test al, 8
jne 0x140150e71
test al, 2
je 0x140150eb0
mov edx, r10d
mov rcx, rbx
call fcn.1400e20a0
jmp 0x140150eb0
mov rcx, rbx
call fcn.1401584d0
jmp 0x140150eb0
cmp al, 0x42
jne 0x140150eb0
movzx ecx, word [rbx + 8]
movzx eax, cx
test cl, 2
jne 0x140150ea4
test cl, 0x2c
je 0x140150ea4
movzx edx, byte [rsp + 0x48]
mov r8b, 1
mov rcx, rbx
call fcn.140159de0
movzx eax, word [rbx + 8]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 8], ax
cmp byte [rdi], 0x45
jne 0x140150f02
movzx ecx, word [rbx + 8]
test cl, 4
je 0x140150f02
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140150eeb
and cx, ax
or cx, 0x20
jmp 0x140150efe
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x14015612d
add rbx, 0x38
mov r10d, 1
jmp 0x140150e50
mov rcx, qword [rsp + 0x38]
mov rdx, r11
movzx r13d, byte [r13 + 0xc3]
mov r15, r11
mov r12d, r11d
mov qword [rbp - 0x70], rdx
mov byte [rsp + 0x7c], r13b
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x78], r11
add rcx, r14
mov qword [rbp - 0x68], rsi
mov qword [rbp + 0x18], rcx
test rdi, rdi
je 0x140150fde
movzx eax, byte [rdi]
lea rbx, [r11 + 8]
movzx esi, byte [rsp + 0x48]
mov r13d, 0xfffb
nop word [rax + rax]
lea rcx, [rbx - 8]
movzx r8d, sil
movzx edx, al
call fcn.1400e2020
cmp byte [rdi], 0x45
jne 0x140150fb7
movzx eax, word [rbx]
test al, 4
je 0x140150fb7
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x140150f90
movzx r13d, byte [rsp + 0x7c]
mov r10d, 1
mov rdx, qword [rbp - 0x70]
mov r11, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x68]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test cl, 1
je 0x140151007
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x140151185
test cl, 0x24
je 0x140151102
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14015101f
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x140151052
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140151044
cmp r13b, 4
jb 0x140151044
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x140151185
mov eax, r10d
inc r15
mov dword [r14], eax
jmp 0x140151185
cmp rdx, 0x7fff
ja 0x14015106c
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x140151185
cmp rdx, 0x7fffff
ja 0x140151086
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x140151185
cmp rdx, 0x7fffffff
ja 0x1401510a0
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x140151185
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401510c0
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x140151185
add r15, 8
test cl, 0x20
je 0x1401510f5
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
movsd qword [r14 - 0x24], xmm0
mov word [r14 - 0x1c], cx
mov dword [r14], eax
jmp 0x140151185
mov eax, 6
mov dword [r14], eax
jmp 0x140151185
test cl, 8
je 0x140151117
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x140151185
mov edi, dword [r14 - 0x18]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xe
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x14015115d
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x140151156
lea rcx, [r14 - 0x24]
call fcn.1401592f0
test eax, eax
jne 0x140156a80
add edi, dword [r14 - 0x24]
lea r10d, [rax + 1]
jmp 0x14015115d
add rdx, rax
mov qword [rbp - 0x70], rdx
mov eax, edi
mov ecx, r10d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x14015117b
inc ecx
shr rax, 7
test rax, rax
jne 0x140151170
mov r11, qword [rbp - 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x14015119b
mov rdx, qword [rbp - 0x70]
sub r14, 0x38
jmp 0x140150fe2
cmp r12d, 0x7e
jle 0x1401511df
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x1401511bb
inc edx
shr rax, 7
test rax, rax
jne 0x1401511b0
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401511db
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1401511d0
cmp edx, ecx
jge 0x1401511e2
inc r12d
mov r14, qword [rbp + 0x18]
mov rsi, qword [rbp - 0x70]
movsxd rbx, r12d
movsxd rdx, dword [r14 + 0x20]
lea rdi, [rbx + r15]
lea rcx, [rdi + rsi]
cmp rcx, rdx
jle 0x140151236
mov r9, qword [rsp + 0x40]
movsxd rax, dword [r9 + 0x80]
cmp rcx, rax
jg 0x140156807
cmp edx, edi
jge 0x140151236
xor r8d, r8d
mov edx, edi
mov rcx, r14
call fcn.140159570
test eax, eax
jne 0x140156a80
mov r11, qword [rbp - 0x78]
lea r10d, [rax + 1]
jmp 0x14015123e
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov dword [r14 + 0xc], edi
mov eax, 0x10
mov word [r14 + 8], ax
test rsi, rsi
je 0x14015125e
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov rsi, qword [r14 + 0x10]
mov ecx, 0x80
lea rdi, [rbx + rsi]
cmp r12d, ecx
jae 0x140151278
mov byte [rsi], r12b
mov eax, r10d
jmp 0x1401512bd
cmp rbx, 0x7f
ja 0x140151288
and bl, 0x7f
mov eax, r10d
mov byte [rsi], bl
jmp 0x1401512bd
cmp rbx, 0x3fff
ja 0x1401512ad
mov rax, rbx
mov r8d, 2
shr rax, 7
or al, cl
mov byte [rsi], al
and bl, 0x7f
mov byte [rsi + 1], bl
mov eax, r8d
jmp 0x1401512c3
mov rdx, rbx
mov rcx, rsi
call fcn.140108c20
mov ecx, 0x80
mov r8d, 2
mov r15, qword [rbp - 0x68]
lea r14, [r11 + 0xc]
movzx eax, al
mov r13d, 1
add rsi, rax
mov r11d, dword [r14 + 0x18]
cmp r11d, ecx
jae 0x1401512e8
mov byte [rsi], r11b
mov eax, r13d
jmp 0x140151322
mov rdx, r11
cmp r11, 0x7f
ja 0x1401512fb
and dl, 0x7f
mov eax, r13d
mov byte [rsi], dl
jmp 0x140151322
cmp rdx, 0x3fff
ja 0x14015131a
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rsi], al
and dl, 0x7f
mov byte [rsi + 1], dl
mov eax, r8d
jmp 0x140151322
mov rcx, rsi
call fcn.140108c20
movzx eax, al
add rsi, rax
lea eax, [r11 - 1]
cmp eax, 6
ja 0x140151364
mov rdx, qword [r14 - 0xc]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x22f3e0]
mov r13d, 0xffffffff
mov ebx, ecx
nop dword [rax]
add ecx, r13d
mov byte [rcx + rdi], dl
shr rdx, 8
test ecx, ecx
jne 0x140151350
lea r13d, [rcx + 1]
jmp 0x140151386
cmp r11d, 0xc
jb 0x140151382
mov ebx, dword [r14]
test ebx, ebx
je 0x140151386
mov rdx, qword [r14 + 4]
mov r8d, ebx
mov rcx, rdi
call fcn.1401ab210
jmp 0x140151386
xor eax, eax
mov ebx, eax
add r14, 0x38
mov eax, ebx
add rdi, rax
mov ecx, 0x80
lea rax, [r14 - 0xc]
lea r8d, [rcx - 0x7e]
cmp rax, r15
jbe 0x1401512d7
jmp 0x14014f64e
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
cmp dword [rdi + 0xc], 0
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
je 0x1401513d6
mov rcx, rdx
call fcn.140119e10
mov rbx, rax
mov qword [rbp], rax
jmp 0x1401513f9
lea r8, [rbp]
mov qword [rbp], r11
mov rcx, rsi
call fcn.140117790
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov rbx, qword [rbp]
mov rax, rdi
mov r12d, 0x2400
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x68]
test word [rax + 8], r12w
je 0x140151428
mov rcx, rax
call fcn.140102ab0
mov r9d, r12d
mov qword [rax], rbx
jmp 0x1401542cf
mov ecx, 4
mov r9d, r12d
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x1401542cf
mov rax, qword [rsp + 0x38]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x78], r10d
test r10d, r10d
jne 0x14015153f
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xd8], r10d
jg 0x140156404
test rsi, rsi
jne 0x140151476
xor r15d, r15d
mov ebx, r15d
jmp 0x140151492
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140151480
and ebx, 0x3fffffff
xor r15d, r15d
mov r8d, dword [rdi + 0x2cc]
xor edx, edx
add r8d, dword [rdi + 0x2c8]
mov rcx, rdi
call fcn.14015d560
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140156b18
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.14011fde0
mov rdi, rax
test rax, rax
je 0x140156128
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1401ab210
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x61], 0
je 0x1401514fe
mov byte [rsi + 0x61], 0
mov byte [rsi + 0x69], 1
jmp 0x140151504
inc dword [rsi + 0x2c8]
mov rax, qword [rsi + 0x2b8]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi + 0x18], rax
mov qword [rsi + 0x2b8], rdi
mov rax, qword [rsi + 0x2d0]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2d8]
mov qword [rdi + 0x10], rax
jmp 0x140153958
mov r9, qword [rsp + 0x40]
xor r15d, r15d
mov r13d, r15d
mov r12, qword [r9 + 0x2b8]
test r12, r12
je 0x140151645
lea r11, [0x140000000]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x140151616
test edx, edx
jne 0x14015162c
mov rsi, qword [rsp + 0x40]
cmp dword [rsi + 0xd8], r15d
jle 0x1401515a1
cmp r10d, 1
je 0x140156421
cmp qword [r12 + 0x18], r15
jne 0x140151672
cmp byte [rsi + 0x69], r15b
je 0x140151672
mov edi, 1
mov r15d, edi
cmp r10d, edi
jne 0x140151672
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2d8]
add rcx, qword [rax + 0x2d0]
test rcx, rcx
jg 0x1401564e9
mov rcx, rbx
mov byte [rsi + 0x61], dil
call fcn.140157dc0
cmp eax, 5
je 0x140156454
mov r10d, dword [rbx + 0x38]
mov dword [rsp + 0x30], r10d
test r10d, r10d
jne 0x140156445
mov byte [rsi + 0x69], r10b
jmp 0x140151777
movzx ecx, byte [rax + r11 + 0x22ead0]
movzx eax, byte [rdx + r11 + 0x22ead0]
cmp eax, ecx
jne 0x140151634
inc r8
jmp 0x140151570
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x140151561
mov r13, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
mov r8, rsi
call fcn.14014e830
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x14014fd4b
mov eax, dword [rsi + 0x2c8]
xor ecx, ecx
sub eax, r13d
lea r13d, [rax - 1]
mov eax, dword [rsi + 0x28]
cmp r10d, 2
jne 0x1401516ea
mov r14d, dword [rsi + 0x2c]
mov edi, ecx
and r14d, 1
test eax, eax
jle 0x1401516ed
mov esi, r14d
mov ebx, ecx
xor esi, 1
mov r9, qword [rsp + 0x40]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [r9 + 0x20]
mov rcx, qword [rcx + rbx + 8]
call fcn.14011aa20
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401563f5
mov rax, qword [rsp + 0x40]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x1401516a0
mov r10d, dword [rsp + 0x78]
xor ecx, ecx
mov rsi, qword [rsp + 0x40]
jmp 0x1401516ed
mov r14d, ecx
mov edi, ecx
test eax, eax
jle 0x140151733
mov rbx, rcx
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.140119e70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401563fa
mov r10d, dword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x140151700
test r14d, r14d
je 0x140151764
mov rax, qword [rsi + 8]
test rax, rax
je 0x140151758
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140151741
mov rcx, rsi
call fcn.14013fa80
or dword [rsi + 0x2c], 1
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x1401563fa
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
je 0x1401517ab
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.14011fc50
dec dword [rsi + 0x2c8]
mov rcx, qword [rsi + 0x2b8]
cmp rcx, r12
jne 0x140151783
mov ebx, dword [rsp + 0x78]
cmp ebx, 1
jne 0x1401517dc
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, rsi
mov qword [rsi + 0x2b8], rax
call fcn.14011fc50
test r15d, r15d
jne 0x14015612d
dec dword [rsi + 0x2c8]
jmp 0x140151802
mov rax, qword [r12 + 8]
mov qword [rsi + 0x2d0], rax
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x2d8], rax
test r15d, r15d
je 0x140151802
cmp ebx, 2
jne 0x14015612d
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.14015d560
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401563fa
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rcx, qword [rsp + 0x38]
mov dword [rbp - 0x50], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x14015184f
mov eax, dword [rsi + 0x30]
bt rax, 0x14
jb 0x14015650b
movsxd rcx, dword [rcx + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1401519be
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.140116a40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14015651c
test byte [r13 + 0xc8], 0x40
mov r12, qword [rsp + 0x38]
je 0x14015195e
cmp dword [r12 + 8], eax
je 0x14015195e
cmp byte [rsi + 0x61], al
je 0x1401518b4
cmp dword [rsi + 0xd4], 1
jle 0x14015195e
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x1401518d5
inc dword [rsi + 0x2cc]
mov r8d, dword [rsi + 0x2c8]
add r8d, dword [rsi + 0x2cc]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.14015d560
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140151948
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14015190a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14015190a
mov rcx, rbx
call fcn.1400e6140
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x140151924
cmp byte [rcx + 0xa], 0
je 0x140151924
mov edx, edi
call fcn.140103460
jmp 0x140151926
xor eax, eax
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x30], eax
je 0x14015193e
sub dword [rbx + 0x14], 1
jne 0x14015193e
mov rcx, rbx
call fcn.14016a950
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x2d0]
mov qword [r13 + 0x58], rax
mov rax, qword [rsi + 0x2d8]
mov qword [r13 + 0x60], rax
mov r8d, 0x1000
mov r9d, 0x2400
xor r11d, r11d
cmp word [r12 + 2], 0
je 0x1401519b0
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x140156561
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x140156561
mov r12, qword [rsp + 0x38]
test r10d, r10d
jne 0x14014fd43
jmp 0x14015395e
mov r10d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
jmp 0x14015196d
mov rcx, qword [rsi + 0x20]
lea r8, [rbp - 0x10]
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140117f40
movsxd rax, dword [r12 + 8]
mov r9d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x140151a30
call fcn.140102ab0
mov rcx, rax
mov r9d, 0x2400
movsxd rax, dword [rbp - 0x10]
xor r11d, r11d
mov r8d, 0x1000
mov qword [rcx], rax
jmp 0x140153963
mov eax, 4
xor r11d, r11d
mov word [rcx + 8], ax
mov r8d, 0x1000
movsxd rax, dword [rbp - 0x10]
mov qword [rcx], rax
jmp 0x140153963
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14011ab30
mov r12, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x140151aa2
mov ecx, dword [r12 + 0xc]
mov rax, r12
movzx eax, word [rax + 2]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rsi + 0x2c], 1
jmp 0x140151ab7
cmp eax, 2
jne 0x140151ab7
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x140151aef
mov rax, qword [rsi + 8]
test rax, rax
je 0x140151ae7
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140151ad0
and dword [r13 + 0xc8], 0xfffffffc
test r10d, r10d
jne 0x14014fd43
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x14014e9d6.97
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
cmp dword [rbx + 0x4c], eax
je 0x140151c62
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x1401565f1
mov rax, qword [rsp + 0x38]
mov esi, r11d
mov r9, qword [rsp + 0x40]
mov r14, r11
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r9 + 0x20]
mov r9, qword [rsp + 0x38]
mov r13, qword [rax + 8]
cmp dil, 0x62
jne 0x140151b98
mov rax, qword [rax + 0x18]
movzx edi, word [r9 + 2]
and edi, 8
or edi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x140151b9b
mov byte [rax + 0xc3], cl
jmp 0x140151b9b
mov edi, r11d
test byte [r9 + 2], 0x10
je 0x140151bbb
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140159700
mov r9, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [r9 + 1]
cmp al, 0xf7
jne 0x140151bcf
mov r14, qword [r9 + 0x10]
movzx esi, word [r14 + 8]
jmp 0x140151bd7
cmp al, 0xfd
jne 0x140151bd7
mov esi, dword [r9 + 0x10]
mov rcx, qword [rsp + 0x68]
mov r8d, esi
mov rsi, qword [rsp + 0x38]
mov r9d, r12d
mov byte [rsp + 0x20], 0
mov edx, dword [rsi + 4]
call fcn.1400e03e0
mov rbx, rax
test rax, rax
je 0x140156a80
mov byte [rax + 2], 1
mov r9, r14
or dword [rax + 8], 4
mov r8d, edi
mov dword [rax + 0x4c], r15d
mov edx, r15d
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1401179c0
mov r13, qword [rsp + 0x68]
lea rdx, [0x140000000]
mov qword [rbx + 0x40], r14
mov r10d, eax
cmp byte [rsi + 1], 0xf7
mov r9d, 0x2400
mov rsi, qword [rsp + 0x40]
mov r8d, 0x1000
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
xor r11d, r11d
jmp 0x140151c67
mov r10d, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rax + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r10d, r10d
jne 0x14014fd43
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.1400e03e0
mov r10, rax
test rax, rax
je 0x140156a63
mov byte [rax + 2], 1
mov r8d, 4
or dword [rax + 8], 1
mov rcx, qword [rbx + 0x40]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov ecx, dword [rbx + 8]
xor ecx, dword [rax + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x38]
mov r9, qword [r10 + 0x40]
mov edx, dword [r10 + 0x4c]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401179c0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov r9d, 0x2400
jmp 0x140153958
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x140151d85
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r15d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140234434]
mov qword [rcx + r14 + 0x10], rax
mov rax, rdi
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140151dda
test byte [rbx + 8], 8
jne 0x140151dda
mov qword [rbx + 0x18], r15
xor r8d, r8d
mov dword [rbx + 0x28], r15d
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
call fcn.140116e70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
mov byte [rbx + 2], 1
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, rdi
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rcx, r13
mov r8d, dword [rax + 8]
call fcn.1400e03e0
mov rbx, rax
test rax, rax
je 0x1401567bd
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov rax, rdi
mov dword [rsp + 0x28], 0x41e
mov r8, rsi
xor edx, edx
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsi]
call fcn.1401192d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
mov rcx, qword [rbx + 0x10]
mov r12d, 1
mov edx, r12d
xor r8d, r8d
call fcn.140116a40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140151eee
mov rax, rdi
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x140151eb9
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.140117950
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140151eb3
mov rax, qword [rbx + 0x38]
lea r8d, [r12 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401179c0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], 0
jmp 0x140151ee4
mov dword [rbx + 0x4c], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x38]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1401179c0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r12b
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rax, rdi
mov ecx, r15d
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
test r10d, r10d
jne 0x1401565fc
mov byte [rbx + 2], 1
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400e03e0
test rax, rax
je 0x140156a63
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, rsi
mov edx, dword [rdx + 0xc]
call fcn.14015bc10
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140152559
jmp 0x140153969
mov rax, qword [rsp + 0x38]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.1400e03e0
test rax, rax
je 0x140156a63
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov byte [rax + 2], 1
mov r9d, 0x2400
mov r8d, 0x1000
mov ecx, dword [r12 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1402b4fe3]
mov byte [rax + 4], 1
mov qword [rax + 0x38], rcx
jmp 0x140153963
mov rdx, qword [r13 + 0x78]
mov rcx, r13
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140157c00
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov r8d, 0x1000
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x140153963
mov rax, qword [rsp + 0x38]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov r15, qword [rax + rcx*8]
mov byte [r15 + 2], 0
mov byte [r15 + 3], 0
mov dword [r15 + 0x28], r11d
cmp byte [r15 + 4], 0
je 0x1401521a1
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movzx r14d, word [rbx + 8]
movzx eax, r14b
movzx ecx, r14w
and al, 0x2e
cmp al, 2
jne 0x1401520b1
xor edx, edx
mov rcx, rbx
call fcn.1400e20a0
movzx ecx, word [rbx + 8]
xor r11d, r11d
movzx eax, cx
test al, 0x24
je 0x1401520bd
mov rsi, qword [rbx]
jmp 0x1401520ee
test al, 8
je 0x1401520cf
movsd xmm0, qword [rbx]
call fcn.1400eee90
mov rsi, rax
jmp 0x1401520ee
test al, 0x12
je 0x1401520eb
cmp qword [rbx + 0x10], 0
je 0x1401520eb
mov rcx, rbx
call fcn.1400ff210
movzx ecx, word [rbx + 8]
mov rsi, rax
jmp 0x1401520ee
mov rsi, r11
mov word [rbx + 8], r14w
test cl, 0x24
jne 0x140152169
test cl, 8
jne 0x14015213f
test cl, 1
jne 0x140155aef
cmp edi, 0x18
jae 0x140155aef
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x74]
call fcn.140118c40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140153029
xor r11d, r11d
cmp dword [rsp + 0x74], 0
jne 0x140152f91
jmp 0x140152336
movsd xmm0, qword [rbx]
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
comisd xmm1, xmm0
jbe 0x14015215b
test dil, 1
je 0x140152169
dec edi
jmp 0x140152169
comisd xmm0, xmm1
jbe 0x140152169
test dil, 1
jne 0x140152169
inc edi
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.140118cc0
mov qword [r15 + 0x58], rsi
mov r10d, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14014fd43
jmp 0x140152227
mov rax, qword [r15 + 0x38]
lea rdx, [rbp + 0x20]
movzx ebx, byte [rax + 3]
mov rax, qword [rsp + 0x38]
and bl, 2
setne r12b
test dil, 1
mov ecx, dword [rax + 0x10]
mov rax, qword [r15 + 0x40]
mov qword [rbp + 0x20], rax
mov eax, r10d
mov word [rbp + 0x30], cx
mov ecx, 0xffffffff
cmovne eax, ecx
xor r9d, r9d
mov byte [rbp + 0x32], al
xor r8d, r8d
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x36], 0
lea rax, [rsp + 0x74]
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x28], rcx
mov rcx, qword [r15 + 0x38]
call fcn.140118cc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
test bl, bl
je 0x140152227
cmp byte [rbp + 0x36], al
je 0x14015212c
mov eax, dword [rsp + 0x74]
cmp edi, 0x18
jl 0x1401522d4
test eax, eax
js 0x14015224c
jne 0x14015223f
cmp edi, 0x19
je 0x14015224c
xor r11d, r11d
mov dword [rsp + 0x74], r11d
jmp 0x140152336
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], al
je 0x14015226d
call fcn.1400e6300
jmp 0x1401522a2
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x140152293
mov word [rcx + 0x56], r8w
call fcn.1400e6300
jmp 0x1401522a2
cmp byte [rdx + 8], r15b
jne 0x14015232e
call fcn.1400ff540
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x140152333
cmp eax, 0x65
jne 0x14014fd46
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x30], r15d
jmp 0x140152551
test eax, eax
jg 0x1401522f7
jne 0x1401522df
cmp edi, 0x16
je 0x1401522f7
mov rax, qword [r15 + 0x38]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x74], ecx
jmp 0x14015212f
mov rcx, qword [r15 + 0x38]
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x74], eax
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r15w
cmp byte [rcx], al
jne 0x14015235b
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14015235b
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r15b
je 0x14015235b
dec dx
mov word [rcx + 0x56], dx
mov dword [rsp + 0x30], r15d
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
test r12d, r12d
je 0x140152351
add qword [rsp + 0x38], 0x18
mov r12, qword [rsp + 0x38]
jmp 0x140153958
call fcn.1400e6a90
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x140152333
cmp eax, 0x65
jmp 0x1401522b4
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x38]
cmp byte [rax], 0
jne 0x1401562d9
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsi + 0x40]
mov qword [rbp + 0x180], rax
mov byte [rbp + 0x192], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x190], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x188], rcx
xor r15d, r15d
nop dword [rax + rax]
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.1400fabb0
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x140156612
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov word [rbp + 0xe0], r15w
mov dword [rbp + 0xf8], r15d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14015242c
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xe8], rax
cmp ecx, edx
ja 0x14015244f
mov edx, 0x1010
mov dword [rbp + 0xe4], ecx
mov word [rbp + 0xe0], dx
jmp 0x14015247f
mov r8d, ecx
lea r9, [rbp + 0xd8]
mov rcx, rbx
xor edx, edx
call fcn.140159400
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140152b93
mov rax, qword [rbp + 0xe8]
mov ecx, dword [rbp + 0xe4]
xor r9d, r9d
lea r8, [rbp + 0x180]
mov rdx, rax
call fcn.14015a8d0
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0xe0], r9w
jne 0x1401524ac
cmp dword [rbp + 0xf8], r15d
je 0x1401524be
lea rcx, [rbp + 0xd8]
call fcn.14016e380
mov r9d, 0x2400
mov dword [rsp + 0x30], r15d
test ebx, ebx
jg 0x14015253d
je 0x140155aef
test edi, edi
jle 0x140154ec7
mov rcx, qword [rsi + 0x38]
dec edi
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r15b
je 0x1401524f0
call fcn.1400e6300
jmp 0x140152525
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x140152516
mov word [rcx + 0x56], r8w
call fcn.1400e6300
jmp 0x140152525
cmp byte [rdx + 8], r15b
jne 0x1401523d0
call fcn.1400ff540
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x1401523d0
cmp eax, 0x65
jne 0x140152b93
mov r12, qword [rsp + 0x38]
add r12, 0x18
mov dword [rsp + 0x30], r15d
mov r10d, 1
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x38], rsi
mov r12, rsi
jmp 0x1401500f9
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x1401525a6
mov word [rdx + 0xc], ax
jmp 0x140153969
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x140153969
mov word [rdx + 0xc], ax
jmp 0x140153969
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x14014e9d6.11
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x14014e9d6.86
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [rcx + 0x10], 0
jle 0x140152666
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x1f8]
mov qword [rbp + 0x1f8], rax
xor r15d, r15d
movzx eax, word [rcx + 0x10]
mov r14d, r15d
mov word [rbp + 0x208], ax
mov qword [rbp + 0x200], rbx
jmp 0x1401526b8
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140152681
mov rcx, rbx
call fcn.1401592f0
test eax, eax
jne 0x140156a5e
mov rcx, qword [rsi + 0x40]
call fcn.14014da20
mov rdi, rax
mov r14, rax
test rax, rax
je 0x140156a5e
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.14015b180
mov rcx, qword [rsp + 0x38]
xor r15d, r15d
lea r10d, [r15 + 1]
mov byte [rdi + 0x12], 0
mov ebx, r15d
cmp byte [rcx], 0x1c
jne 0x1401526f6
movzx eax, word [rdi + 0x10]
mov rcx, r15
cmp r15w, ax
jae 0x1401526f6
mov edx, eax
mov rax, qword [rdi + 8]
add rax, 8
nop dword [rax + rax]
test byte [rax], 1
jne 0x1401526f3
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1401526e0
jmp 0x1401526f6
mov ebx, r10d
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.140118cc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test r14, r14
je 0x14015272f
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call fcn.14011fc50
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x140152b93
mov eax, dword [rbp - 0xc]
mov ecx, r15d
test eax, eax
mov dword [rsi + 0x2c], eax
sete cl
test eax, eax
setne al
mov byte [rsi + 2], al
mov rax, qword [rsp + 0x38]
mov byte [rsi + 3], r10b
mov dword [rsi + 0x28], r15d
movzx eax, byte [rax]
cmp al, 0x1e
jne 0x140152796
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
test ecx, ecx
jne 0x140152559
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x140153969
test ebx, ebx
jne 0x140155aef
test ecx, ecx
je 0x140155aef
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
cmp al, 0x1b
jne 0x1401527c8
mov rax, r12
movzx eax, word [rax + 0x10]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x40]
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne case.0x14014e9d6.32
movups xmm2, xmmword [rcx]
movups xmmword [rbp + 0x110], xmm2
movups xmm0, xmmword [rcx + 0x10]
psrldq xmm2, 8
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rcx + 0x20]
movd edx, xmm2
movups xmmword [rbp + 0x130], xmm1
movsd xmm0, qword [rcx + 0x30]
movsd qword [rbp + 0x140], xmm0
test dl, 4
jne 0x1401528b1
test dl, 8
jne 0x14015284d
test dl, 2
je 0x1401528a8
mov edx, r10d
lea rcx, [rbp + 0x110]
call fcn.1400e20a0
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401528a1
movsd xmm3, qword [rbp + 0x110]
movaps xmm0, xmm3
call fcn.1400eee90
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm3, xmm2
jp 0x1401528a8
jne 0x1401528a8
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401528a8
mov qword [rbp + 0x110], rax
mov ecx, 0x3e40
movzx eax, word [rbp + 0x118]
and ax, cx
or ax, 4
mov word [rbp + 0x118], ax
movzx edx, byte [rbp + 0x118]
test dl, 4
je 0x14014ea14
mov rdi, qword [rbp + 0x110]
jmp 0x1401528cb
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
xor r9d, r9d
mov dword [rbp - 0x38], r15d
mov r8, rdi
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.140118cc0
mov qword [rbx + 0x58], rdi
mov r10d, eax
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r15d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x38]
mov byte [rbx + 3], r15b
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x14015296b
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 8], r15d
jne 0x14015254b
lea r14, [0x140239754]
mov r9d, 0x162cb
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.1400de450
mov r10d, VariantTimeToDosDateTime
lea edi, [r15 + 1]
mov dword [rsp + 0x30], r10d
jmp 0x14014fd52
test r10d, r10d
jne 0x14014fd46
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401529bf
mov rcx, rdx
call fcn.140102ab0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401529c8
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r13 + 0x78]
mov r12, rdi
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140153969
mov rsi, qword [rsp + 0x38]
xor r15d, r15d
mov ebx, r15d
mov dword [rbp - 0x58], r15d
mov qword [rbp - 0x48], rbx
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r9w
je 0x140152a29
mov rcx, r14
call fcn.140102ab0
mov r14, rax
jmp 0x140152a33
mov eax, 4
mov word [r14 + 8], ax
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x140152a71
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.140118c40
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140152b93
cmp dword [rbp - 0x58], ebx
je 0x140152ab7
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x48], rax
movabs r12, 0x7fffffffffffffff
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x140152b1d
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x140152ae9
mov rax, qword [rcx + 8]
test rax, rax
je 0x140152aad
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140152aa1
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140152af2
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.1400fabb0
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, r12
jl 0x140152ae0
or dword [rsi + 8], 2
jmp 0x140152a7b
inc rbx
mov qword [rbp - 0x48], rbx
jmp 0x140152a7b
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140159700
mov rax, qword [rdi]
cmp rax, r12
je 0x140152b88
test byte [rsi + 8], 2
jne 0x140152b88
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x140152b9d
mov edi, r15d
nop word [rax + rax]
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.1400d16a0
mov rbx, qword [rbp - 0x48]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x58]
mov r8, rbx
mov qword [rbp - 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.140118cc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140152b93
cmp dword [rbp - 0x58], r15d
jne 0x140152b9d
inc edi
cmp edi, 0x64
jl 0x140152b30
mov r10d, 0xd
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x14014fd46
mov byte [rsi + 3], r15b
mov dword [rsi + 0x28], r15d
mov qword [r14], rbx
jmp 0x14014f64e
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov qword [rbp + 0x1d0], r8
cmp byte [rdi + 1], 0xfa
jne 0x140152c06
cmp qword [rsi + 0x138], 0
je 0x140152c06
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [rdi + 0x10]
shl rcx, 5
xor r15d, r15d
mov rsi, qword [rcx + rax]
jmp 0x140152c0f
xor r15d, r15d
mov edi, r15d
mov esi, r15d
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 2]
test al, 1
je 0x140152c2b
inc dword [r13 + 0x3c]
movzx eax, word [rcx + 2]
mov r8, qword [rbp + 0x1d0]
test al, 0x20
je 0x140152c38
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x1d8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x1ec], eax
test byte [rcx + 2], 0x10
je 0x140152c58
mov r9d, dword [rbx + 0x2c]
jmp 0x140152c5b
mov r9d, r15d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x140152c70
mov eax, dword [rdx]
mov dword [rbp + 0x1f0], eax
jmp 0x140152c77
mov dword [rbp + 0x1f0], r15d
mov qword [rbp + 0x1c8], r15
lea rdx, [rbp + 0x1c8]
movzx r8d, word [rcx + 2]
mov rcx, qword [rbx + 0x38]
and r8d, 0x8a
call fcn.140118040
mov byte [rbx + 3], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
mov dword [rbx + 0x28], r15d
test eax, eax
jne 0x140152b93
test rdi, rdi
je 0x140156128
mov rax, qword [rsp + 0x38]
mov r8, rsi
mov rsi, qword [rsp + 0x40]
mov edx, 0x12
mov r9, qword [rdi]
test byte [rax + 2], 4
mov eax, 0x17
mov rcx, qword [rsi + 0x130]
cmovne edx, eax
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
call qword [rsi + pe_nt_image_headers64]
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rdi, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x78]
movsxd rax, dword [rdi + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rdi + 8]
mov rdx, qword [rcx + rax*8]
mov rax, rdi
movsxd rax, dword [rax + 0xc]
test eax, eax
je 0x140152d38
imul rcx, rax, 0x38
xor r15d, r15d
mov r8, qword [rcx + r14]
jmp 0x140152d3e
xor r15d, r15d
mov r8d, r15d
mov rdx, qword [rdx + 0x38]
mov rcx, qword [r9 + 0x38]
call fcn.14011a490
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
mov r12, rdi
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153963
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x140152ddc
cmp qword [rsi + 0x138], 0
je 0x140152ddc
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x140152de2
cmp byte [rdi + 4], 0
je 0x140152de2
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.1400fabb0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov qword [rdi + 0x58], rax
jmp 0x140152de2
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.140117a50
xor r11d, r11d
mov dword [rsp + 0x30], eax
mov dword [rdi + 0x28], r11d
mov r10d, eax
mov dword [rdi + 0x2c], r11d
test eax, eax
jne 0x140153029
test r15b, 1
je 0x140156140
inc dword [r13 + 0x3c]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x138]
test r10, r10
je 0x14015615a
test byte [rsi + 0x40], 0x80
jne 0x14015615a
mov r9, qword [rsi]
lea edx, [r11 + 9]
mov rax, qword [rdi + 0x58]
mov r8, r14
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x130]
call r10
mov r14, qword [rsp + 0x60]
jmp 0x14014f3a4
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x78], eax
add dword [rsi + 0x7c], eax
mov dword [r13 + 0x3c], r11d
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
mov edi, dword [rdi + 0x10]
imul r15, rax, 0x38
mov rbx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x40]
add r15, r14
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x140152ece
mov rcx, rsi
call fcn.14014da20
mov qword [rbx + 0x30], rax
mov r14, rax
test rax, rax
je 0x14015301e
mov word [rax + 0x10], di
cmp byte [rbx + 0x58], 0
je 0x140152f0a
cmp byte [rbx + 0x59], 0
je 0x140152ee8
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x140152f12
mov rdx, qword [rbx + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x140152f12
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.14015b180
xor r11d, r11d
mov ecx, r11d
test edi, edi
jle 0x140152f40
mov rax, qword [r14 + 8]
add rax, 8
test byte [rax], 1
jne 0x140152f8c
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x140152f31
mov rdx, qword [r15 + 0x10]
xor r9d, r9d
mov ecx, dword [r15 + 0xc]
mov r8, r14
call fcn.14015a8d0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
test eax, eax
jne 0x140152559
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r14, qword [rsp + 0x60]
mov r8d, 0x1000
jmp 0x140153969
mov dword [rsp + 0x30], r11d
mov r12, qword [rsp + 0x38]
mov r10d, 1
jmp 0x140152554
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rbx, r14
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], 0
je 0x140152ffd
cmp byte [rax + 0x59], 0
je 0x140152fdb
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x140153005
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x140153005
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x140153033
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140159570
test eax, eax
je 0x140153040
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov rsi, qword [rsp + 0x40]
jmp 0x14014fd43
mov rax, qword [rbx + 0x18]
mov qword [rbx + 0x10], rax
and word [rbx + 8], 0x2d
mov dword [rbx + 0xc], edi
mov eax, 0x3e40
and word [rbx + 8], ax
mov r8, rdi
or word [rbx + 8], 0x10
mov rdx, rsi
mov rcx, qword [rbx + 0x10]
call fcn.1401ab210
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x30], r11d
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r11d
jmp 0x140153958
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r9w
je 0x1401530b7
mov rcx, rbx
call fcn.140102ab0
mov rbx, rax
jmp 0x1401530c0
mov eax, 4
mov word [rbx + 8], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.1400fabb0
mov edx, dword [rdi + 0x40]
cmp edx, dword [rsi + 0x80]
ja 0x14015680c
mov r8, rbx
mov rcx, rdi
call fcn.140159510
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov r12, qword [rsp + 0x38]
cmp dword [r12 + 0xc], eax
jne 0x140156132
movzx eax, word [rbx + 8]
bt ax, 0xc
jae 0x140156132
test al, 0x12
je 0x14015315b
bt ax, 0xe
jae 0x14015313b
mov rcx, rbx
call fcn.1401592f0
test eax, eax
jne 0x140156a63
cmp dword [rbx + 0x20], 0
je 0x14015314b
mov rax, qword [rbx + 0x18]
cmp qword [rbx + 0x10], rax
je 0x14015315b
mov rcx, rbx
call fcn.14016e320
test eax, eax
jne 0x140156a63
mov eax, 0xefff
mov r9d, 0x2400
and word [rbx + 8], ax
xor r11d, r11d
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x1401531b1
mov rcx, rdi
call fcn.140102ab0
xor r11d, r11d
lea rdx, [0x140000000]
mov rdi, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x1401531ba
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1401531f2
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
mov word [rdi + 8], r10w
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
cmp byte [rbx + 3], 0
je 0x140153216
mov rax, qword [rbx + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x140153958
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x38]
jne 0x140153263
mov rbx, qword [rcx]
lea rdx, [rbp + 8]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14014fd43
mov rax, qword [rbp + 8]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x140153958
cmp byte [rcx], 0
je 0x140153284
mov rcx, rbx
call fcn.1400fb780
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
xor r11d, r11d
jmp 0x140153289
mov dword [rsp + 0x30], r11d
cmp byte [rbx + 2], 0
je 0x1401532b5
mov r12, qword [rsp + 0x38]
mov r10d, 1
mov rbx, qword [rsp + 0x58]
mov r9d, 0x2400
mov word [rdi + 8], r10w
mov r8d, 0x1000
jmp 0x140153969
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1400fabb0
mov rax, qword [rbx + 0x30]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r11d
cmp byte [rcx], 0
jne 0x140152351
mov rcx, qword [rcx + 0x38]
call fcn.140116db0
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x34], r15d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp dil, 0x84
jne 0x140153341
mov dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r15b
je 0x140153950
lea rdx, [rbp - 0x34]
call fcn.140118c40
mov r10d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x34]
mov byte [rbx + 2], al
mov byte [rbx + 3], r15b
mov dword [rbx + 0x28], r15d
test r10d, r10d
jne 0x14014fd46
mov r12, qword [rsp + 0x38]
xor r11d, r11d
cmp dword [r12 + 8], r15d
jle 0x140156135
mov rbx, qword [rsp + 0x58]
jmp 0x140150677
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.1400ff7d0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x1401533c4
xor r15d, r15d
mov rcx, rbx
mov edi, r15d
call fcn.1400ff540
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x1401533eb
cmp eax, 0x10
jne 0x1401533e5
mov r12, qword [rsp + 0x38]
mov r10d, 1
xor r11d, r11d
mov dword [rbp - 0x60], r10d
mov dword [rsp + 0x30], r11d
jmp 0x140152554
mov edi, dword [rbp - 0x60]
xor r15d, r15d
mov dword [rbp - 0x60], edi
mov r11d, r10d
test r10d, r10d
jne 0x14014fd46
mov dword [rsp + 0x30], r10d
test edi, edi
jne 0x140155aef
mov rcx, rbx
call fcn.140119e10
test rax, rax
js 0x14015343f
mov rcx, rax
call fcn.140134fc0
mov r12, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x140153444
mov r10d, 1
mov dword [rsp + 0x30], r11d
mov dword [rbp - 0x60], r10d
jmp 0x140152551
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x30], r11d
mov r9d, 0x2400
xor r11d, r11d
mov dword [rbp - 0x60], edi
jmp 0x140153958
inc dword [r13 + 0xdc]
mov rax, qword [rsp + 0x38]
mov edi, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x38]
jne 0x1401534d3
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 0x58], r15b
jne 0x1401534a8
cmp qword [rbx + 0x38], r15
lea rdx, [rbx + 0x38]
je 0x14015350c
lea rcx, [rbx + 0x60]
mov edi, r15d
call fcn.140170df0
mov dword [rsp + 0x30], eax
jmp 0x14015350c
mov rcx, rbx
call fcn.14016fd10
mov edx, eax
mov rcx, rbx
call fcn.14016fe80
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015350c
mov rcx, rbx
call fcn.140170b00
mov dword [rsp + 0x30], eax
mov edi, r15d
jmp 0x14015350c
mov rcx, rbx
call fcn.1400ff7d0
xor r15d, r15d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401534f7
mov rcx, rbx
mov edi, r15d
call fcn.1400ff540
mov dword [rsp + 0x30], eax
jmp 0x140153504
cmp eax, 0x10
jne 0x140153504
lea edi, [rax - 0xf]
mov dword [rsp + 0x30], r15d
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r15d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x140152b93
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov byte [rsi + 2], dil
lea r10d, [r11 + 1]
test edi, edi
jne 0x140152559
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153969
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rbx, qword [rdi + 0x38]
cmp byte [rbx + 0x58], 0
je 0x1401535d3
cmp byte [rbx + 0x59], 0
je 0x1401535a5
mov rcx, qword [rbx + 0x10]
call fcn.14016eee0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140153632
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
jne 0x140153632
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x140153632
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], r11d
call fcn.14016e870
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140153632
cmp dword [rbp - 0x30], eax
je 0x140153632
mov r10d, 0x65
mov dword [rsp + 0x30], r10d
jmp 0x140153632
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r11
cmp qword [rbx + 0x40], 0
jne 0x1401535f5
mov rcx, rsi
call fcn.140170a00
xor r11d, r11d
cmp qword [rbx + 0x38], 0
mov r10d, 0x65
cmovne r10d, r11d
mov dword [rsp + 0x30], r10d
jmp 0x140153632
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + 0x10]
mov r10d, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov dword [rdi + 0x28], eax
test r10d, r10d
jne 0x140153655
mov byte [rdi + 2], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp 0x140155cff
cmp r10d, 0x65
jne 0x14014fd43
mov dword [rsp + 0x30], eax
mov byte [rdi + 2], 1
jmp 0x1401542c9
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [rcx + 2], 1
je 0x140153697
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401536be
mov rcx, rbx
call fcn.1401592f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 0xc]
xor r15d, r15d
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x280], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x298], rcx
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x2a0], ax
movzx r8d, word [rcx + 2]
test r8b, 0x10
je 0x14015370a
mov r9d, dword [rdi + 0x2c]
jmp 0x14015370d
mov r9d, r15d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.140118040
mov dword [rsp + 0x30], eax
mov r10d, eax
mov dword [rdi + 0x28], r15d
test eax, eax
jne 0x14014fd46
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14015378d
mov rcx, rbx
call fcn.1401592f0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov rdx, rbx
mov rcx, rdi
call fcn.14015c240
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0x1b0]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x1b0], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x1c0], ax
mov byte [rbp + 0x1c2], 0
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 8]
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x1b8], rcx
mov rcx, rdi
call fcn.140118cc0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
cmp dword [rbp - 8], eax
jne 0x140153869
mov dl, 4
mov rcx, rdi
call fcn.140117a50
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rbx + 0x28], r11d
mov r9d, 0x2400
mov dword [rbx + 0x2c], r11d
jmp 0x140153958
mov r12, qword [rsp + 0x38]
cmp word [r12 + 2], 0
jne 0x140156655
xor r11d, r11d
mov r9d, 0x2400
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], r11d
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x1401538de
mov rcx, rbx
call fcn.1400fb780
xor r15d, r15d
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
lea r10d, [rax + 1]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
jmp 0x1401538e6
xor r15d, r15d
mov dword [rsp + 0x30], r15d
cmp byte [rbx + 2], 0
jne 0x1401539be
mov rdx, qword [rbx + 0x38]
lea r8, [rbp + 0x10]
mov rcx, rsi
mov qword [rbp + 0x10], r15
call fcn.1401582a0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
mov rax, qword [rsp + 0x38]
mov r9d, 0x2400
cmp byte [rax], 0x88
jne 0x140153982
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp + 0x10]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r8d, 0x1000
mov rbx, qword [rsp + 0x58]
mov r10d, 1
lea rdx, [0x140000000]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x1401539ac
call fcn.140102ab0
mov rcx, rax
mov r9d, 0x2400
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x140153950
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x10]
mov qword [rcx], rax
jmp 0x140153950
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x1401539ed
call fcn.14016e3d0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov word [rcx + 8], r10w
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1401525d7
call fcn.1401577a0
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
cmp dil, 0x28
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
mov rbx, qword [rdx + 0x38]
mov qword [rbp + 0x198], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1a8], ax
sbb al, al
mov byte [rbp + 0x1aa], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x1a0], rcx
mov rcx, rbx
call fcn.1400fabb0
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x140156697
mov qword [rbp + 0x170], rsi
xor r15d, r15d
mov word [rbp + 0x150], r15w
mov dword [rbp + 0x168], r15d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x140153ae4
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x158], rdx
cmp r10d, ecx
ja 0x140153b0e
mov eax, 0x1010
mov dword [rbp + 0x154], r10d
mov word [rbp + 0x150], ax
mov dword [rsp + 0x30], r15d
jmp 0x140153b3f
lea r9, [rbp + 0x148]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.140159400
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
mov rdx, qword [rbp + 0x158]
mov r10d, dword [rbp + 0x154]
xor r9d, r9d
lea r8, [rbp + 0x198]
mov ecx, r10d
call fcn.14015a8d0
mov r9d, 0x2400
mov ebx, eax
test word [rbp + 0x150], r9w
jne 0x140153b6c
cmp dword [rbp + 0x168], r15d
je 0x140153b7e
lea rcx, [rbp + 0x148]
call fcn.14016e380
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
test byte [r12], 1
jne 0x140153b8e
neg ebx
jmp 0x140153b90
inc ebx
xor r11d, r11d
test ebx, ebx
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
jg 0x140152559
mov r8d, 0x1000
jmp 0x140153969
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x140153bdb
mov rcx, rdi
call fcn.140102ab0
mov rdi, rax
xor r11d, r11d
mov r10d, 1
mov word [rdi + 8], r10w
mov eax, dword [rsi + 0xe0]
inc eax
cmp dword [rsi + 0xd4], eax
jg 0x1401566ad
mov rax, qword [rsp + 0x38]
mov dword [rbp - 0x2c], r11d
movsxd r15, dword [rax + 0xc]
mov esi, dword [rax + 4]
mov r14, r15
mov rax, qword [rsp + 0x40]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x140153c30
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140153c30
mov rcx, rbx
call fcn.1400e6140
lea r8, [rbp - 0x2c]
mov edx, esi
mov rcx, rbx
call fcn.1400e5890
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x30], eax
je 0x140153c5e
sub dword [rbx + 0x14], 1
jne 0x140153c5e
mov rcx, rbx
call fcn.14016a950
mov r10d, dword [rsp + 0x30]
movsxd rdx, dword [rbp - 0x2c]
mov eax, 4
mov word [rdi + 8], ax
mov qword [rdi], rdx
test r10d, r10d
jne 0x140153029
mov rsi, qword [rsp + 0x40]
test edx, edx
je 0x14014f653
mov rax, qword [rsp + 0x38]
mov r9, qword [rsi + 0x20]
mov r8d, dword [rax + 4]
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140153cba
nop
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x38], edx
jne 0x140153cad
mov dword [rcx + 0x38], r8d
mov rax, qword [rax]
test rax, rax
jne 0x140153ca0
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x140153cd8
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x140153cd0
mov dword [rcx + 0x58], r8d
mov rax, qword [rax]
test rax, rax
jne 0x140153cc3
lea eax, [r15 + 1]
mov byte [rsp + 0x70], al
jmp 0x14014f653
mov rax, qword [rsp + 0x38]
lea r8, [rbp - 0x54]
mov r12, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x54], r15d
mov rcx, qword [rsi + 0x20]
cmp dword [rax + 0xc], r15d
movsxd rax, dword [rax + 8]
mov edx, dword [r12 + 4]
cmove r8, r15
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140116e70
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp dword [r12 + 0xc], r15d
je 0x140153d49
mov eax, dword [rbp - 0x54]
add dword [r13 + 0x3c], eax
mov rax, r12
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x140153d49
imul rcx, rax, 0x38
movsxd rax, dword [rbp - 0x54]
add qword [rcx + r14], rax
test r10d, r10d
jne 0x14014fd46
xor r11d, r11d
mov r9d, 0x2400
mov r8d, 0x1000
jmp 0x140153963
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x140153d8d
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.14015be00
jmp 0x14014f3a4
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140116e70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x68]
test word [rdi + 8], r9w
je 0x140153dd9
mov rcx, rdi
call fcn.140102ab0
mov rdi, rax
jmp 0x140153de2
mov eax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov dword [rbp - 0x28], r15d
movsxd rcx, dword [rax + 4]
mov esi, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], r15b
je 0x140153e1e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r15b
jne 0x140153e1e
mov rcx, rbx
call fcn.1400e6140
mov r8d, esi
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.1400e5380
mov r10d, eax
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x11], r15b
je 0x140153e4d
sub dword [rbx + 0x14], 1
jne 0x140153e4d
mov rcx, rbx
call fcn.14016a950
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x14014fd46
mov eax, dword [rbp - 0x28]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rdi], rax
jmp 0x140153958
mov rax, qword [rsp + 0x38]
xor r15d, r15d
inc byte [rsi + 0x6c]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov rdx, qword [rax + 0x10]
call fcn.1400cf1a0
dec byte [rsi + 0x6c]
mov r10d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14014fd46
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x140153f0c
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140141720
mov rax, qword [rsp + 0x38]
lea r8, [r13 + 0xa8]
and dword [rsi + 0x2c], 0xffffffef
mov edx, ebx
mov rcx, rsi
movzx r9d, word [rax + 2]
call fcn.140131230
or dword [rsi + 0x2c], 1
mov r10d, eax
and dword [r13 + 0xc8], 0xfffffffc
xor r15d, r15d
mov dword [rsp + 0x30], eax
jmp 0x14015401a
mov qword [rbp + 0x78], rsi
lea rax, [r13 + 0xa8]
mov qword [rbp + 0x80], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x88], ebx
xor r15d, r15d
mov dword [rbp + 0x90], r15d
mov rdx, rbx
mov rax, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov rax, qword [rsp + 0x38]
mov dword [rbp + 0x98], ecx
mov rcx, rsi
mov r8, qword [rsi + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.140135190
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x1401566e1
mov byte [rsi + 0xbd], 1
lea r9, [rbp + 0x78]
lea r8, [fcn.140130e60]
mov dword [rbp + 0x8c], r15d
mov rdx, rax
mov dword [rbp + 0x94], r15d
mov qword [rsp + 0x20], r15
call fcn.1400cf1a0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140154003
mov eax, dword [rbp + 0x8c]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140154003
cmp dword [rbp + 0x94], r15d
jne 0x140154003
lea rax, [0x140239754]
mov r9d, 0x168ae
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r15 + 0xb]
call fcn.1400de450
mov dword [rsp + 0x30], VariantTimeToDosDateTime
mov rdx, rbx
mov rcx, rsi
call fcn.14011fc50
mov r10d, dword [rsp + 0x30]
mov byte [rsi + 0xbd], r15b
test r10d, r10d
jne 0x1401566c0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.140114330
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd43
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.140130430
test rax, rax
je 0x1401540a3
cmp qword [rsi + 0x2e0], 0
jne 0x140154098
mov ecx, 0xffffffff
add dword [rax + 0x3c], ecx
jne 0x1401540a3
mov rdx, rax
mov rcx, rsi
call fcn.1400ee5d0
or dword [rsi + 0x2c], 1
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.140130430
mov rdx, rax
test rax, rax
je 0x1401540a3
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x140154105
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, rsi
call fcn.14012bf00
or dword [rsi + 0x2c], 1
jmp 0x14014f3a4
test rcx, rcx
je 0x14015413a
nop word [rax + rax]
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x140154132
mov rcx, rax
test rax, rax
jne 0x140154110
mov rcx, rsi
call fcn.14012bf00
or dword [rsi + 0x2c], 1
jmp 0x14014f3a4
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, rsi
call fcn.14012bf00
or dword [rsi + 0x2c], 1
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x38]
add rcx, 0x38
mov rdx, qword [rax + 0x10]
call fcn.140130430
mov rbx, rax
test rax, rax
je 0x14015612d
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1401541cd
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1400f4b70
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1401541cd
mov rax, qword [rdx + 0x68]
add rdx, 0x68
test rax, rax
je 0x1401541cd
cmp rax, rbx
je 0x1401541c6
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401541b2
jmp 0x1401541cd
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, rsi
call fcn.140121120
or dword [rsi + 0x2c], 1
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x140153958
mov rcx, qword [rsp + 0x38]
lea r10, [rbp - 0x20]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsi + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.140118520
mov r12d, 0x2400
mov rsi, rax
test word [rbx + 8], r12w
je 0x140154265
mov rcx, rbx
call fcn.14016e3d0
mov r12d, 1
jmp 0x140154270
mov r12d, 1
mov word [rbx + 8], r12w
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x1401542a9
test rsi, rsi
je 0x140156a71
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8d, 0xffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.1400d14e0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.140159a90
test byte [rbx + 8], 2
je 0x1401542c4
movzx eax, byte [rsp + 0x48]
cmp byte [rbx + 0xa], al
je 0x1401542c4
movzx edx, al
mov rcx, rbx
call fcn.140159f10
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov eax, dword [rsi + 0x178]
mov rbx, qword [rsp + 0x50]
test eax, eax
jne 0x1401564ca
cmp r15, rbx
jb 0x140153950
nop dword [rax + rax]
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x14015612d
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add rbx, rax
mov qword [rsp + 0x50], rbx
call rdx
test eax, eax
jne 0x1401564c3
cmp r15, rbx
jae 0x1401542f0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x140154365
mov rcx, rbx
call fcn.140159980
test eax, eax
jne 0x140156a63
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140140690
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
test al, 0x10
je 0x140154436
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1401543d6
test al, 1
jne 0x1401543ce
mov rcx, qword [rbx + 0x10]
call fcn.14010e470
mov qword [rbx + 0x10], rax
mov r10d, 1
movzx eax, word [rbx + 0x32]
mov r9d, 0x2400
or ax, 3
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140154432
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1401543fd
mov rcx, rbx
call fcn.140140540
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r9w
je 0x140154421
mov rdx, rdi
call fcn.14016f490
jmp 0x1401542c9
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x1401542cf
movzx eax, word [rdi + 8]
test r9w, ax
je 0x140154449
mov rcx, rdi
call fcn.14016e3d0
jmp 0x140155cff
mov word [rdi + 8], r10w
jmp case.0x14014e9d6.11
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x140154484
mov rcx, rbx
call fcn.140159980
test eax, eax
jne 0x140156a5e
test edi, edi
je 0x1401544a7
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.140140700
test eax, eax
jne 0x140155aef
test edi, edi
js 0x140156128
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140140690
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
jmp 0x140153958
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r14
cmp word [rcx + 2], 0
je 0x140154513
mov rax, qword [r13 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x140154513
nop dword [rax + rax]
cmp qword [rax + 0x38], rcx
je 0x1401525d7
mov rax, qword [rax + 8]
test rax, rax
jne 0x140154500
mov eax, dword [r13 + 0x110]
cmp eax, dword [rsi + 0xa8]
jge 0x1401566f6
test byte [r15 + 8], 0x10
jne 0x14015467d
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea esi, [rcx + 1]
cmovne esi, ecx
lea eax, [rsi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x14015455a
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, edi
mov rdx, rbx
call fcn.14011fde0
mov r14, rax
test rax, rax
je 0x140156a5e
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1401ab060
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x14015459c
cmp dword [r15 + 0x20], 0
je 0x1401545a4
mov rcx, r15
call fcn.14016e380
mov rcx, qword [rsp + 0x38]
mov eax, 0x410
sub rcx, qword [rsp + 0x58]
mov word [r15 + 8], ax
lea rax, [0x140157a40]
mov qword [r15 + 0x10], r14
mov dword [r15 + 0xc], edi
mov qword [r15 + 0x30], rax
mov qword [r14], r13
mov dword [r14 + 0x60], esi
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, esi
mov rsi, qword [rsp + 0x40]
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x140154671
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rcx
jne 0x140154660
mov eax, dword [r13 + 0x110]
xor r11d, r11d
jmp 0x140154681
mov r14, qword [r15 + 0x10]
inc eax
lea rdx, [r14 + 0x70]
mov dword [r13 + 0x110], eax
mov rax, qword [r13 + 0x100]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [r14 + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x60], rdx
mov ecx, dword [rax + 0x78]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r13 + 0x120], r11
mov dword [r13 + 0x3c], r11d
mov qword [r13 + 0x100], r14
mov qword [r13 + 0x68], rdx
movsxd rcx, dword [r14 + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1401ab060
mov rdi, qword [r12]
mov r14, qword [rsp + 0x60]
mov r15, qword [rbp - 0x40]
mov qword [r13 + 0x88], rdi
mov eax, dword [r12 + 8]
mov dword [r13 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rdi
jmp 0x1401542c9
mov rax, qword [rsp + 0x38]
mov edi, 0x2400
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r13 + 0x68]
test word [r9 + 8], di
je 0x140154782
mov rcx, r9
call fcn.140102ab0
xor r11d, r11d
mov r9, rax
lea r10d, [r11 + 1]
jmp 0x14015478c
mov eax, 4
mov word [r9 + 8], ax
mov r8, qword [r13 + 0x100]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x38]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x20]
test word [r9 + 8], di
je 0x1401547e4
mov rdx, rcx
mov r8d, 0x1000
mov rcx, r9
call fcn.14016cea0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, edi
mov r8d, 0x1000
jmp 0x140153963
movups xmm0, xmmword [rcx]
mov r12, qword [rsp + 0x38]
mov eax, 0x800
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 8], ax
jne 0x140156187
mov eax, 0xf3ff
mov r8d, 0x1000
and word [r9 + 8], ax
or word [r9 + 8], r8w
mov r9d, edi
jmp 0x140153969
mov eax, dword [rsi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
mov r12, rax
jae 0x140154856
movsxd rax, dword [rax + 8]
add qword [rsi + 0x2d8], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x140154879
add qword [rsi + 0x2d0], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
add qword [r13 + 0x50], rax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
cmp dword [r12 + 4], 0
je 0x1401548c5
cmp qword [rsi + 0x2d0], 0
jne case.0x14014e9d6.86
cmp qword [rsi + 0x2d8], 0
je 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
cmp qword [r13 + 0x50], 0
jne case.0x14014e9d6.86
cmp qword [rsi + 0x2d8], 0
je 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x14015492f
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015491c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140154910
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14015493f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.140159700
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140159700
mov rax, qword [rbx]
xor r11d, r11d
mov r9d, 0x2400
cmp qword [rdi], rax
jge 0x140153958
mov qword [rdi], rax
jmp 0x140153958
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x140153969
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x140152559
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x1401549f1
mov rcx, rdx
call fcn.140102ab0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401549fa
mov eax, 4
mov word [rdx + 8], ax
mov r8, qword [rbx + r14]
test r8, r8
jle 0x140154a41
mov rcx, qword [rdi + r14]
test rcx, rcx
cmovle rcx, r11
test rcx, rcx
js 0x140154a25
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jl 0x140154a41
mov r12, qword [rsp + 0x38]
lea rax, [rcx + r8]
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x140153969
mov r12, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x58]
mov r8d, 0x1000
mov qword [rdx], rax
jmp 0x140153969
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x1401525d7
mov r12, qword [rsp + 0x38]
jle 0x140152559
dec rax
mov qword [rcx + r14], rax
jmp 0x140152559
mov rax, qword [rsp + 0x38]
movabs rdi, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdi
jle 0x140154ab8
dec rax
mov qword [rcx + r14], rax
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x140152559
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
mov rcx, rsi
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.14011fde0
xor r15d, r15d
mov r8, rax
test rax, rax
je 0x1401567bd
mov qword [rax + 0x10], r15
add rdi, 6
lea rcx, [rax + rdi*8]
mov edi, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
mov word [rcx + 8], di
mov qword [rcx + 0x28], rsi
mov dword [rcx + 0x20], r15d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r13
mov byte [r8 + 0x28], r15b
mov dword [r8 + 0x24], r15d
mov byte [r8 + 0x29], bl
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
mov byte [rax], 0x9e
jmp 0x140154b84
mov rax, qword [rsp + 0x38]
xor r15d, r15d
lea edi, [r15 + 1]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x140154be5
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140154be5
mov rsi, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140154bc0
mov rsi, qword [rsp + 0x40]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov r12, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r12 + 4], 0
je 0x140154c0a
call qword [rax + 0x30]
jmp 0x140154c0d
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140156132
jle 0x140154c74
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140154c27
mov rax, r15
jmp 0x140154c5b
movzx edx, word [rcx + 8]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x140154c4a
cmp byte [rcx + 0xa], 1
jne 0x140154c4a
mov rax, qword [rcx + 0x10]
jmp 0x140154c5b
test dl, 1
je 0x140154c54
mov rax, r15
jmp 0x140154c5b
mov dl, 1
call fcn.14016ca90
mov r8, rax
lea rdx, [0x140234010]
mov rcx, r13
call fcn.14014e830
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x28], 0
je 0x140154cb1
mov rax, r12
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x140154cad
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x140154ca1
mov rdx, rdi
call fcn.14016f490
jmp 0x140154cad
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rax, qword [rbx]
mov r9d, 0x2400
test word [rax + 8], r9w
jne 0x140154cc7
cmp dword [rax + 0x20], 0
je 0x140154cd8
mov rcx, rax
call fcn.14016e380
mov rax, qword [rbx]
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
mov word [rax + 8], di
mov dword [rbx + 0x24], r15d
test r10d, r10d
jne 0x14014fd4b
jmp 0x140153955
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
test eax, eax
je 0x140154d93
mov rsi, qword [rcx + 0x10]
xorps xmm0, xmm0
imul rdi, rax, 0x38
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
xor eax, eax
add rdi, r14
mov qword [rbp + 0x240], rax
movups xmmword [rbp + 0x230], xmm0
test word [rdi + 8], r9w
je 0x140154d4c
mov rcx, rdi
call fcn.14016e3d0
jmp 0x140154d51
mov word [rdi + 8], r10w
lea rcx, [rbp + 0x210]
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x218], rsi
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x38]
mov r10d, dword [rbp + 0x234]
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x30], r10d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x140154da6
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.140159350
mov r10d, eax
mov dword [rsp + 0x30], eax
test r10d, r10d
jne 0x140156714
movzx eax, word [rbx + 8]
test al, 2
je 0x140154dd3
movzx r15d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r15b
je 0x140154dd3
movzx edx, r15b
mov rcx, rbx
call fcn.140159f10
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14015612d
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x140154de7
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x14015680c
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
lea rax, [rbp + 0x2b8]
mov dword [rbp + 0x2b8], 0xffffffff
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b4]
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov rcx, rsi
mov dword [rbp + 0x2b0], r15d
mov dword [rbp + 0x2b4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14011af00
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
je 0x140154e73
cmp eax, 5
jne 0x14014fd46
mov eax, 1
mov dword [rsp + 0x30], r15d
mov dword [rbp + 0x2b0], eax
mov rax, qword [rsp + 0x38]
mov rdi, r15
mov esi, 4
mov r9d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 8], r9w
je 0x140154eb3
mov rdx, rax
mov rcx, rbx
call fcn.14016f490
mov r9d, 0x2400
jmp 0x140154eba
mov qword [rbx], rax
mov word [rbx + 8], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x140154e91
mov rsi, qword [rsp + 0x40]
jmp 0x140153950
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rdi + 8]
imul r13, rax, 0x38
add r13, qword [r12 + 0x68]
test word [r13 + 8], r9w
je 0x140154f03
mov rcx, r13
call fcn.140102ab0
xor r11d, r11d
mov r13, rax
lea r10d, [r11 + 1]
jmp 0x140154f0d
mov eax, 4
mov word [r13 + 8], ax
mov rax, qword [rsi + 0x20]
mov edx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx r14d, byte [rdi + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rdi + 0x14], 3
jae 0x140154f4d
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x140154f50
cmp qword [rdi + 0x60], 0
jle 0x140154f50
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x14022d274]
jne 0x140154f64
mov rcx, qword [rdi + 0xd0]
cmp esi, 5
jne 0x140154fda
test rcx, rcx
je 0x140154fa4
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140154f75
and eax, 0x3fffffff
je 0x140154fa4
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x140154fa4
cmp byte [rdi + 8], 0
jne 0x140154fda
cmp dword [rcx], 2
jl 0x140154fa4
cmp qword [rcx + 0x68], 0
jne 0x140154fda
mov esi, r14d
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140154fb2
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.140137bf0
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x140155155
xor eax, eax
mov qword [r13 + 0x10], rax
jmp 0x14015518e
cmp esi, r14d
je 0x140154fa7
cmp r14d, 5
je 0x140154fea
cmp esi, 5
jne 0x140154fa7
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0x61], 0
je 0x140156738
cmp dword [r12 + 0xd4], 1
jg 0x140156738
cmp r14d, 5
jne 0x14015511b
cmp qword [rdi + 0x120], 0
mov ebx, r11d
jne 0x14015509b
mov dword [rbp - 0x24], r11d
movzx eax, byte [rdi + 0x15]
cmp al, 1
jb 0x140155032
cmp al, r14b
jne 0x140155055
cmp byte [rdi + 0x11], 0
jne 0x14015504b
mov rcx, qword [rdi + 0x48]
mov edx, r10d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x140155055
cmp byte [rdi + 0x15], 5
je 0x140155055
mov byte [rdi + 0x15], 1
test ebx, ebx
jne 0x140155103
mov rax, qword [rdi]
lea r9, [rbp - 0x24]
mov rdx, qword [rdi + 0x128]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x140155103
cmp dword [rbp - 0x24], eax
je 0x140155091
mov rcx, rdi
call fcn.1401035b0
mov ebx, eax
test eax, eax
jne 0x140155103
cmp qword [rdi + 0x120], 0
je 0x140155103
mov rcx, rdi
call fcn.1401032c0
mov ebx, eax
test eax, eax
jne 0x140155103
mov rax, qword [rdi + 0x110]
mov rdx, r12
movzx r8d, byte [rdi + 0xf]
mov r9d, dword [rdi + 0xbc]
mov rcx, qword [rdi + 0x120]
mov qword [rsp + 0x20], rax
call fcn.14015dd50
mov ebx, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov rcx, rdi
mov qword [rdi + 0x120], rax
call fcn.140103350
test ebx, ebx
je 0x140155103
cmp byte [rdi + 8], 0
jne 0x140155103
mov edx, 1
mov rcx, rdi
call fcn.140104100
jmp 0x140154faf
mov dword [rsp + 0x30], ebx
test ebx, ebx
jne 0x140154faf
mov edx, esi
mov rcx, rdi
call fcn.140137bf0
jmp 0x140155138
cmp r14d, 4
jne 0x14015512d
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.140137bf0
cmp dword [rsp + 0x30], 0
jne 0x140154faf
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.14011a3e0
mov dword [rsp + 0x30], eax
jmp 0x140154fab
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x22f560]
mov qword [r13 + 0x10], rcx
test rcx, rcx
jne 0x140155173
xor eax, eax
jmp 0x14015518e
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140155180
and eax, 0x3fffffff
movzx r15d, byte [rsp + 0x48]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
cmp r15b, 1
je 0x1401551af
movzx edx, r15b
mov rcx, r13
call fcn.140159f10
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x1401563fa
jmp 0x14014f653
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x1401551e0
imul r9, rax, 0x38
add r9, r14
xor r15d, r15d
jmp 0x1401551e6
xor r15d, r15d
mov r9d, r15d
mov rax, qword [rsp + 0x38]
lea rcx, [r13 + 0xa8]
mov rdx, rsi
mov r8d, dword [rax + 4]
call fcn.140140f70
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x14014fd46
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x140155243
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x140155243
mov rcx, rsi
call fcn.1400e6140
cmp byte [rdi + 0x21], 0
jne 0x140155256
mov dword [rsp + 0x30], 0x65
jmp 0x14015531d
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x40]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.1400f4760
mov r15d, eax
cmp r14d, eax
jb 0x140155305
cmp ebx, r14d
jae 0x140155305
test ebx, ebx
je 0x1401552fb
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1401552a9
xor r8d, r8d
xor edx, edx
call fcn.14010e990
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140155313
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401552bf
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401552b2
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.1400fbf80
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140155313
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.140138300
mov edx, dword [rdi + 0x40]
mov dword [rsp + 0x30], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x140155313
mov dword [rsp + 0x30], 0x65
jmp 0x140155313
mov ecx, 0x10d0f
call fcn.14011dd40
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
cmp byte [rsi + 0x11], 0
je 0x140155331
sub dword [rsi + 0x14], 1
jne 0x140155331
mov rcx, rsi
call fcn.14016a950
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x14014fb5e
cmp r10d, 0x65
jne 0x140153029
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x30], r11d
lea r10d, [r11 + 1]
jmp 0x140152559
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x1401553ad
mov ecx, dword [rax + 8]
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401525d7
inc ecx
and ecx, 3
nop
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140155380
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x38]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
or byte [rax + 1], 0x40
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
and byte [rax + 1], 0xbf
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rsp + 0x38]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x140155460
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x30]
bt rax, 0xa
jb 0x1401562d9
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
xor r15d, r15d
mov edi, dword [rax + 8]
mov r10d, r15d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov dword [rsp + 0x30], r15d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], r10b
je 0x140155554
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], r10b
jne 0x1401554a2
mov rcx, rbx
call fcn.1400e6140
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.140108d30
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140155528
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x1401554db
cmp dword [rax + 8], edi
jne 0x1401554d2
cmp qword [rax], rbx
je 0x140155504
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401554c8
mov ecx, 0x18
call fcn.1401351c0
test rax, rax
je 0x140155518
mov qword [rax + 0xc], r15
mov dword [rax + 0x14], r15d
mov dword [rax + 8], edi
mov qword [rax], rbx
mov rcx, qword [r14 + 0x78]
mov qword [rax + 0x10], rcx
mov qword [r14 + 0x78], rax
cmp sil, byte [rax + 0xc]
jbe 0x14015550e
mov byte [rax + 0xc], sil
mov r10d, r15d
mov dword [rsp + 0x30], r15d
jmp 0x140155523
mov r10d, 7
mov dword [rsp + 0x30], r10d
mov r14, qword [rsp + 0x60]
cmp byte [rbx + 0x11], r15b
je 0x140155541
sub dword [rbx + 0x14], 1
jne 0x140155541
mov rcx, rbx
call fcn.14016a950
mov r10d, dword [rsp + 0x30]
mov r9d, 0x2400
lea rdx, [0x140000000]
mov r8d, 0x1000
test r10d, r10d
jne 0x140156773
mov rsi, qword [rsp + 0x40]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x58]
lea r10d, [r11 + 1]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
movsxd rdx, dword [rsi + 0x1fc]
xor r15d, r15d
mov rbx, qword [r12 + 0x10]
mov dword [rsp + 0x30], r15d
test edx, edx
jle 0x1401555bf
cmp qword [rsi + 0x220], r15
jne 0x1401555bf
mov r10d, 6
mov dword [rsp + 0x30], r10d
test rbx, rbx
je 0x14014fd46
jmp 0x140155670
test rbx, rbx
jne 0x1401555d6
mov rbx, qword [rsp + 0x58]
xor r11d, r11d
mov dword [rsp + 0x30], r15d
jmp 0x140153969
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], r15
je 0x140155670
mov rcx, r15
test edx, edx
jle 0x14015560a
mov rax, qword [rsi + 0x220]
cmp qword [rax], rbx
je 0x140155698
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x1401555f5
mov rcx, rsi
call fcn.1400fb6c0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140155670
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140155670
mov edx, dword [rsi + 0x2cc]
add edx, dword [rsi + 0x2c8]
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 0x1fc]
inc dword [rbx + 0x18]
test edx, edx
je 0x140155670
cmp qword [rdi + 0xa0], r15
je 0x140155670
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x30], eax
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14014fd46
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov dword [rsp + 0x30], r15d
jmp 0x140155670
mov rax, qword [rsp + 0x38]
lea rcx, [rbp + 0xa0]
xor r15d, r15d
mov qword [rbp + 0xc8], rsi
xorps xmm0, xmm0
mov qword [rbp + 0xa0], r15
xorps xmm1, xmm1
mov qword [rbp + 0xd0], r15
movdqu xmmword [rbp + 0xa8], xmm0
movdqu xmmword [rbp + 0xb8], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140159250
mov rcx, qword [rbp + 0xa8]
mov edx, 0x202
mov dword [rsp + 0x30], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140155716
cmp byte [rbp + 0xaa], 1
jne 0x140155716
mov rax, qword [rbp + 0xb0]
jmp 0x140155734
test cl, 1
jne 0x140155883
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.14016ca90
mov rcx, qword [rbp + 0xa8]
mov r12, qword [rsp + 0x38]
test rax, rax
je 0x140155888
movsxd rcx, dword [r12 + 4]
lea rbx, [r13 + 0xa8]
mov r8, qword [rsi + 0x20]
mov rdx, rax
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, rsi
call fcn.1401298b0
mov r14, qword [rsp + 0x40]
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x58]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x200]
mov rdx, rdi
call fcn.1400f4b70
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14015584f
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x14015584f
cmp qword [rcx + 0x28], r15
je 0x14015584f
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.140171190
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401557de
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x1401557de
nop
cmp qword [rax], r14
je 0x1401557f7
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401557d0
mov rcx, qword [rbp + 0xa8]
mov rsi, r14
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
jmp 0x140155888
mov rcx, r14
call fcn.1400fb6c0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1401557de
mov rdx, qword [rsi + 0x60]
mov rsi, r14
test rdx, rdx
je 0x140155821
cmp qword [rdx], rsi
je 0x140155821
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140155813
movsxd rcx, dword [rsi + 0x1fc]
mov rax, qword [rsi + 0x220]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov qword [rax + rcx*8], rdx
inc dword [rsi + 0x1fc]
inc dword [rdx + 0x18]
mov rcx, qword [rbp + 0xa8]
jmp 0x140155888
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
mov rsi, r14
call fcn.140135190
mov r14, qword [rsp + 0x60]
mov qword [rbx], rax
mov eax, 1
mov rcx, qword [rbp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x30], eax
jmp 0x140155888
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
test r9w, cx
jne 0x14015589d
cmp dword [rbp + 0xc0], r15d
je 0x1401558af
lea rcx, [rbp + 0xa0]
call fcn.14016e380
mov r9d, 0x2400
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14014fd46
xor r11d, r11d
mov r8d, 0x1000
jmp 0x140153963
inc dword [rsi + 0xe0]
xor r15d, r15d
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsi + 0x20]
mov dword [rsp + 0x30], r15d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
shl rax, 5
mov r8, qword [rax + r8]
call fcn.1401298b0
mov rdi, rax
test rax, rax
je 0x14015598d
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x14015598d
nop
mov rcx, qword [rdx + 0x10]
cmp dword [rcx + 8], r15d
jg 0x1401567a4
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140155910
mov rdx, rdi
mov rcx, rsi
call fcn.1401717a0
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x140155949
mov rax, qword [rdx + 0x20]
inc dword [rdi + 0x3c]
mov rcx, qword [rbx + 0x10]
call rax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14015596a
mov qword [rbx + 0x10], r15
mov rcx, rbx
mov qword [rdi + 0x60], r15
call fcn.14015d650
cmp qword [rsi + 0x2e0], r15
jne 0x14015597d
mov eax, 0xffffffff
add dword [rdi + 0x3c], eax
jne 0x140155988
mov rdx, rdi
mov rcx, rsi
call fcn.1400ee5d0
mov rbx, qword [rsp + 0x58]
dec dword [rsi + 0xe0]
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14014fd46
mov dword [rsp + 0x30], r10d
jmp 0x14014f3a4
mov rax, qword [rsp + 0x38]
xor r15d, r15d
mov qword [rbp - 0x18], r15
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401567cd
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401567cd
lea rdx, [rbp - 0x18]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14014fd46
mov rax, qword [rbp - 0x18]
lea r9d, [r15 - 1]
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
call fcn.1400e03e0
mov rcx, qword [rbp - 0x18]
test rax, rax
je 0x1401567ba
mov r12, qword [rsp + 0x38]
mov r9d, 0x2400
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
xor r11d, r11d
jmp 0x140153958
mov rcx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x140155aa9
nop dword [rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x140155a90
mov rax, qword [rsp + 0x38]
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 + 0x30], eax
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x140156b0b
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x14014f64e
mov r12, qword [rsp + 0x38]
jmp 0x14015254b
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x140155b63
test word [rbx + 8], r9w
je 0x140155b42
mov rcx, rbx
call fcn.14016e3d0
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov r12, qword [rsp + 0x38]
mov word [rbx + 8], r10w
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rsi, qword [rax]
mov rax, qword [rsp + 0x38]
mov r14, qword [rsi]
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x248], rbx
movdqu xmmword [rbp + 0x260], xmm1
movdqu xmmword [rbp + 0x270], xmm0
test byte [rax + 2], 1
je 0x140155bc2
test word [rbx + 8], r9w
je 0x140155bb4
mov rcx, rbx
call fcn.14016e3d0
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov ecx, 0x4001
mov word [rbx + 8], cx
mov dword [rbx], r11d
jmp 0x140155bd0
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x248]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.14015d1a0
cmp dword [rbp + 0x26c], 0
jle 0x140155c4a
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140155c1b
cmp byte [rbx + 0xa], 1
jne 0x140155c1b
mov rax, qword [rbx + 0x10]
jmp 0x140155c2e
test cl, 1
je 0x140155c24
xor eax, eax
jmp 0x140155c2e
mov dl, 1
mov rcx, rbx
call fcn.14016ca90
mov r8, rax
lea rdx, [0x140234010]
mov rcx, r13
call fcn.14014e830
mov eax, dword [rbp + 0x26c]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 8]
test al, 2
je 0x140155c6e
movzx r15d, byte [rsp + 0x48]
cmp byte [rbx + 0xa], r15b
je 0x140155c6e
movzx edx, r15b
mov rcx, rbx
call fcn.140159f10
movzx eax, word [rbx + 8]
test al, 0x12
je 0x140155c8e
bt ax, 0xe
mov ecx, dword [rbx + 0xc]
jae 0x140155c7e
add ecx, dword [rbx]
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x80]
jg 0x14015680c
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x14014fd43
jmp 0x14014f653
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1401525d7
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x140153029
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1401542c4
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x38], rax
jmp 0x1401542cf
mov edi, dword [rsi + 0x30]
or qword [rsi + 0x30], 0x4000000
and edi, 0x4000000
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 2
je 0x140155d76
cmp byte [rbx + 0xa], 1
je 0x140155d76
mov dl, 1
mov rcx, rbx
call fcn.140159f10
mov dword [rsp + 0x30], eax
mov r10d, eax
test eax, eax
jne 0x140153029
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x140155d9b
mov rax, qword [rsp + 0x40]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.14015d1a0
and dword [r13 + 0xc8], 0xfffffffc
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
test r10d, r10d
jne 0x14014fd43
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
cmp byte [rsi + 0x63], 0
jne 0x140156a63
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401567f7
mov r10, qword [rbx]
test r10, r10
je 0x1401567f7
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x38]
movsxd rdx, dword [r12 + 8]
je 0x14015395e
movsxd rax, dword [r12 + 0xc]
xor r15d, r15d
movzx edi, byte [rsi + 0x68]
mov r8, qword [r13 + 0x70]
imul rcx, rax, 0x38
mov eax, r15d
add rcx, r14
test edx, edx
jle 0x140155e50
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140155e40
mov rax, r12
lea r9, [rbp + 0x70]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x68], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x68], dil
mov rcx, r13
mov dword [rsp + 0x30], eax
call fcn.14015d1a0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x140155e93
cmp dword [r12 + 4], r15d
je 0x140155ec8
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x38], rax
jmp 0x140155ec8
cmp r10b, 0x13
jne 0x140155ec8
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], r15b
je 0x140155ec8
movzx ecx, word [r12 + 2]
cmp ecx, 4
jne 0x1401567dd
mov dword [rsp + 0x30], r15d
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
inc dword [r13 + 0x3c]
test r10d, r10d
jne 0x14014fd46
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x140155f1b
mov rcx, rdx
call fcn.140102ab0
xor r11d, r11d
mov rdx, rax
mov r9d, 0x2400
mov r8d, 0x1000
lea r10d, [r11 + 1]
jmp 0x140155f24
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x140153969
mov rdi, qword [rsp + 0x38]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r9w
je 0x140155f76
mov rcx, rsi
call fcn.140102ab0
mov rsi, rax
xor r11d, r11d
jmp 0x140155f7f
mov eax, 4
mov word [rsi + 8], ax
movsxd rcx, dword [rdi + 4]
mov edi, r11d
mov rax, qword [rsp + 0x40]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140155fb0
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x140155fc7
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140155fc7
mov rcx, rbx
call fcn.1400e6140
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x140155fda
mov dword [rcx + 0xc0], edi
jmp 0x140155fe0
mov edi, dword [rcx + 0xc0]
cmp byte [rbx + 0x11], 0
je 0x140155ff4
sub dword [rbx + 0x14], 1
jne 0x140155ff4
mov rcx, rbx
call fcn.14016a950
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov eax, edi
mov r9d, 0x2400
mov qword [rsi], rax
mov rsi, qword [rsp + 0x40]
jmp 0x140153958
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp qword [rdi], rbx
je 0x140156075
mov qword [rdi + 0x18], r13
mov qword [rdi], rbx
movzx eax, byte [rdi + 0x29]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140156075
mov rsi, qword [rsp + 0x38]
lea r8, [rdi + 0x30]
lea r8, [r8 + rdx*8]
nop
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140156050
mov rsi, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rdi + 0x30]
and word [rbx + 8], ax
mov rcx, rdi
or word [rbx + 8], 1
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x29]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
test eax, eax
je 0x14015611b
jle 0x1401560ea
movzx ecx, word [rbx + 8]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401560be
cmp byte [rbx + 0xa], 1
jne 0x1401560be
mov rax, qword [rbx + 0x10]
jmp 0x1401560d1
test cl, 1
je 0x1401560c7
xor eax, eax
jmp 0x1401560d1
mov dl, 1
mov rcx, rbx
call fcn.14016ca90
mov r8, rax
lea rdx, [0x140234010]
mov rcx, r13
call fcn.14014e830
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
lea rdx, [r13 + 0x120]
mov r8d, dword [rdi + 0x20]
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.14014e1a0
mov r10d, dword [rsp + 0x30]
xor r15d, r15d
mov dword [rdi + 0x24], r15d
test r10d, r10d
jne 0x14014fd46
movzx eax, word [rbx + 8]
test al, 0x12
je 0x14015612d
jmp 0x140154db3
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
xor r11d, r11d
mov r9d, 0x2400
jmp 0x140153958
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x140153958
mov r12, qword [rsp + 0x38]
mov rsi, rax
mov r14, qword [rsp + 0x60]
mov r9d, 0x2400
jmp 0x140153958
mov rsi, qword [rsp + 0x40]
mov r9d, 0x2400
mov r12, qword [rsp + 0x38]
jmp 0x140153958
mov r9d, edi
jmp 0x140153958
movzx eax, byte [rsi + 0x6a]
test al, 0x41
je 0x140156270
cmp byte [r13 + 0xc5], 0
jne 0x140156270
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x1401561c3
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x14015626a
test al, 0x40
je 0x1401561f4
mov rdx, r9
mov rcx, r13
call fcn.140156fb0
mov rcx, qword [rsi + 0xf8]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xf0]
mov rcx, rbx
call fcn.1400d14e0
mov rbx, qword [rsp + 0x58]
jmp 0x140156254
cmp dword [rsi + 0xdc], 1
jle 0x140156241
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.140135190
mov rdx, qword [rsi + 0xf8]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xf0]
test rbx, rbx
je 0x1401561ed
mov rdx, rbx
mov rcx, rsi
call fcn.14011fc50
mov rbx, qword [rsp + 0x58]
jmp 0x140156254
mov rdx, qword [rsi + 0xf8]
mov r8, r13
mov ecx, r10d
call qword [rsi + 0xf0]
mov r8d, 0x1000
lea rdx, [0x140000000]
mov r10d, 1
xor r11d, r11d
mov r9d, 0x2400
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1402ab404]
jl 0x1401562c6
cmp byte [r12], 0xad
je case.0x14014e9d6.86
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x1401562c3
mov eax, 0x18
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1401562b4
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x1401562a2
mov eax, r11d
inc eax
mov dword [r12 + 4], eax
inc dword [r13 + 0xec]
jmp 0x140152559
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 0x18
mov r15, qword [rbp - 0x40]
jmp 0x14014e9af
mov r12, qword [rsp + 0x38]
jmp 0x14014f0aa
mov rdx, qword [rsp + 0x38]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xc2], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1401563b0
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x140156376
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x22f498]
call fcn.14014e830
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x140156386
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.140135190
mov qword [r13 + 0xa8], rax
jmp 0x140156386
mov r8, qword [rdx + 0x10]
lea rdx, [0x140234010]
call fcn.14014e830
mov rax, qword [r13 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.1400de450
mov rcx, r13
call fcn.140157dc0
mov rbx, qword [rsp + 0x50]
mov edi, eax
cmp eax, 5
jne 0x1401563cd
mov dword [r13 + 0x38], eax
jmp 0x140156494
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x140156494
mov ecx, 0x15aee
call fcn.14011dd40
mov r10d, eax
mov dword [rsp + 0x30], eax
mov rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x68]
jmp 0x14014fd43
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14014e830
mov r10d, 5
mov rsi, rdi
jmp 0x14014fd3e
mov r13, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14014e830
mov r10d, 5
mov dword [rsp + 0x30], r10d
jmp 0x14014fd46
mov byte [rsi + 0x61], 0
mov r13, rbx
xor r15d, r15d
jmp 0x14014fd4b
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
mov r13, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
mov byte [rsi + 0x61], 0
mov dword [rbx + 0x38], edi
mov rbx, qword [rsp + 0x50]
mov r15, qword [rbp - 0x40]
cmp r15, rbx
jb 0x140156c83
mov rdx, qword [rsi + 0x1e8]
test rdx, rdx
je 0x140156c83
mov eax, dword [rsi + 0x1f8]
mov rcx, qword [rsi + 0x1f0]
add rbx, rax
call rdx
test eax, eax
je 0x140156494
mov rbx, 0xffffffffffffffff
mov r10d, 9
xor r15d, r15d
mov dword [rsp + 0x30], r10d
mov edi, 1
lea r14, [0x140239754]
jmp 0x14014fd57
mov dword [rbx + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, rbx
mov byte [rbx + 0xc2], 2
mov r13, rbx
call fcn.14014e830
jmp 0x14015648b
mov eax, 8
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x14014fd43
mov rbx, qword [rsp + 0x50]
cmp r10b, 5
jne 0x14014fe39
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, dword [rsp + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], r10d
jmp 0x140156494
mov rdx, qword [r13 + 0xa8]
test rdx, rdx
je 0x140156575
mov rcx, rsi
call fcn.14011fc50
mov edx, 0x1c
mov rcx, rsi
call fcn.14011fde0
test rax, rax
je 0x1401565a7
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140235678]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x140235680]
mov dword [rax + 0x18], ecx
mov qword [r13 + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x1401565d6
mov rcx, rsi
call fcn.14013fb20
and dword [r13 + 0xc8], 0xfffffffd
mov r10d, 0x11
or dword [r13 + 0xc8], 1
jmp 0x14014fd3e
mov r10d, 0x204
jmp 0x14014fd3e
mov rcx, qword [rbx + 0x10]
call fcn.140116f50
mov r10d, dword [rsp + 0x30]
mov rdi, r12
jmp 0x14014fd4b
lea r14, [0x140239754]
mov r9d, 0x145b1
lea r8, str.database_corruption
mov qword [rsp + 0x20], r14
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.1400de450
mov rsi, qword [rsp + 0x40]
mov r10d, VariantTimeToDosDateTime
mov dword [rsp + 0x30], r10d
lea edi, [r10 - 0xa]
jmp 0x14014fd52
mov eax, 0x30b
lea r14, [0x140239754]
mov ecx, eax
mov qword [rsp + 0x20], r14
mov r9d, 0x166e5
mov dword [rsp + 0x30], eax
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400de450
xor r15d, r15d
mov r10d, 0x30b
lea edi, [r15 + 1]
jmp 0x14014fd52
mov ecx, 0x167b1
call fcn.14011dd40
mov r10d, eax
mov dword [rsp + 0x30], eax
jmp 0x14014fd43
mov r10d, 6
mov byte [r13 + 0xc2], 2
jmp 0x14014fd3e
mov rcx, rsi
call fcn.14013fa80
mov r10d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
cmp r10d, 7
je 0x1401567c2
jmp 0x1401564d3
call fcn.14013fa80
mov rbx, qword [rsp + 0x50]
mov r12d, 1
jmp 0x140156ab0
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x30], r10d
mov rcx, r13
call fcn.14014e830
mov r10d, dword [rsp + 0x30]
jmp 0x14014fd43
mov rcx, rbx
call fcn.1400d6420
mov r8, rax
lea rdx, [0x140234010]
mov rcx, r13
call fcn.14014e830
mov r10d, dword [rsp + 0x30]
jmp 0x14014fd43
mov r13, qword [rsp + 0x68]
lea rax, str.into
cmp esi, 5
mov dword [rsp + 0x30], r10d
lea r8, str.out_of
mov rcx, r13
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.14014e830
mov r10d, dword [rsp + 0x30]
mov rsi, r12
jmp 0x14014fd43
cmp r10b, 6
jne 0x140152b93
mov rax, qword [rsp + 0x38]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.14014e830
mov r10d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
jmp 0x14014fd46
dec dword [rsi + 0xe0]
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x14014fd46
call qword [rdi + 0x38]
mov rbx, qword [rsp + 0x50]
mov r12d, 1
jmp 0x140156ab0
mov r10d, 6
mov dword [rsp + 0x30], r10d
jmp 0x14014fd46
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xc2], al
jmp 0x14014fd46
mov r10d, 6
jmp 0x14014fd3e
mov r13, r12
jmp 0x14015680c
mov r13, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.14014e830
mov rsi, qword [rsp + 0x40]
mov r10d, 0x12
jmp 0x14014fd3e
cmp qword [r13 + 0x50], 0
jle case.0x14014e9d6.81
mov dword [r13 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r13 + 0xc2], 2
mov rcx, r13
call fcn.14014e830
mov edi, 1
xor r15d, r15d
mov r10d, edi
mov dword [rsp + 0x30], edi
jmp 0x14014fd4b
mov eax, dword [r13 + 0x30]
mov edi, r11d
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x38]
add rsi, r14
mov qword [r13 + 0xa0], rsi
cmp dword [rax + 8], 0
jle 0x1401568f0
lea rbx, [rsi + 8]
mov r14d, 0x202
test word [rbx], r8w
je 0x1401568bf
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140159760
test eax, eax
jne 0x140156a5e
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x1401568d5
lea rcx, [rbx - 8]
call fcn.14016e320
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x38
mov r8d, 0x1000
cmp edi, dword [rax + 8]
jl 0x1401568a2
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x63], 0
jne 0x140156a63
test byte [rsi + 0x6a], 4
je 0x14015691c
mov rdx, qword [rsi + 0xf8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rsi + 0xf0]
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
mov edi, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
mov rbx, qword [rsp + 0x50]
jmp 0x140156494
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x61]
cmp ebx, eax
je 0x140156a35
test ecx, ecx
je 0x140156980
mov edx, 0x204
mov rcx, rsi
call fcn.1401403e0
mov al, 1
jmp 0x1401569bb
test ebx, ebx
je 0x1401569a7
cmp dword [rsi + 0xd8], 0
jle 0x1401569a7
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.14014e830
mov r10d, 5
jmp 0x14014fd3e
mov edx, r10d
mov rcx, r13
call fcn.14014dc40
mov edi, eax
test eax, eax
jne 0x14015694a
movzx eax, bl
mov rcx, r13
mov byte [rsi + 0x61], al
call fcn.140157dc0
cmp eax, 5
jne 0x140156a11
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov rbx, qword [rsp + 0x50]
mov byte [rsi + 0x61], al
mov dword [r13 + 0x38], edi
jmp 0x140156494
mov rcx, rsi
call fcn.14011b340
cmp dword [r13 + 0x38], 0
mov edi, 0x65
mov rbx, qword [rsp + 0x50]
mov eax, 1
cmovne edi, eax
jmp 0x140156494
test ebx, ebx
jne 0x140156a45
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140156849
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
jmp 0x140156849
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
xor r15d, r15d
lea r12d, [r15 + 1]
jmp 0x140156ab0
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov rbx, qword [rsp + 0x50]
jmp 0x140156ab0
mov r13, qword [rsp + 0x68]
jmp 0x140156a5e
mov rsi, qword [rsp + 0x40]
xor r15d, r15d
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
jmp 0x140156ab0
mov rsi, qword [rsp + 0x40]
mov r12d, 1
mov rbx, qword [rsp + 0x50]
jmp 0x140156ab0
mov r12, r10
cmp byte [rsi + 0x63], 0
jne 0x140156af1
cmp byte [rsi + 0x64], 0
jne 0x140156af1
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x140156ad0
mov dword [rsi + 0x178], r12d
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x140156af1
mov dword [rax + 0x18], 7
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.14014e830
mov r10d, 7
jmp 0x1401564d3
mov rsi, qword [rsp + 0x40]
mov r13, r12
jmp 0x14014fd43
mov rsi, rdi
jmp 0x14014fd46
cmp r10d, 0x210a
jne 0x140156b57
mov r9d, 0x16fda
mov qword [rsp + 0x20], r14
lea r8, str.database_corruption
mov ecx, VariantTimeToDosDateTime
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400de450
mov r10d, VariantTimeToDosDateTime
mov dword [rsp + 0x30], r10d
cmp qword [r13 + 0xa8], 0
jne 0x140156b8f
cmp r10d, 0xc0a
je 0x140156b8f
mov ecx, r10d
call fcn.140122650
mov r8, rax
lea rdx, [0x140234010]
mov rcx, r13
call fcn.14014e830
mov r10d, dword [rsp + 0x30]
mov dword [r13 + 0x38], r10d
jmp 0x140156b9c
mov dword [r13 + 0x38], r10d
cmp r10d, 0xc0a
je 0x140156bcd
movzx eax, r10b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x140156bcd
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x140156bc7
xor r8d, r8d
xor edx, edx
call rax
mov r10d, dword [rsp + 0x30]
jmp 0x140156bca
mov eax, r15d
mov dword [rsi + 0x58], eax
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0xa8]
mov ecx, r10d
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.1400de450
mov rcx, r13
call fcn.140157dc0
cmp dword [rsp + 0x30], 0xc0a
jne 0x140156c66
cmp byte [rsi + 0x63], 0
jne 0x140156c66
cmp byte [rsi + 0x64], 0
jne 0x140156c66
mov byte [rsi + 0x63], 1
cmp dword [rsi + 0xdc], 0
jle 0x140156c45
mov dword [rsi + 0x178], edi
inc dword [rsi + 0x180]
mov word [rsi + 0x184], r15w
mov rax, qword [rsi + 0x140]
test rax, rax
je 0x140156c66
mov dword [rax + 0x18], 7
movzx eax, byte [rsp + 0x70]
test al, al
je 0x140156490
lea edx, [rax - 1]
mov rcx, rsi
call fcn.14013fb20
jmp 0x140156490
add dword [r13 + 0xe4], r15d
cmp dword [r13 + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x3d0]
mov r15, qword [rsp + 0x3e0]
mov r14, qword [rsp + 0x3e8]
mov r12, qword [rsp + 0x3f0]
mov rsi, qword [rsp + 0x420]
mov rbx, qword [rsp + 0x418]
je 0x140156ccc
mov rcx, r13
call fcn.14016e290
mov eax, edi
mov rdi, qword [rsp + 0x428]
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1401a8cb0
add rsp, 0x3f8
pop r13
pop rbp
ret