Function at 0x1402ffa20
Capabilities:
Encode data using xor
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push rsi
push r15
lea rbp, [r11 - 0x358]
sub rsp, 0x440
mov rax, qword [0x1404735c0]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov r9, qword [rcx + 0x88]
xor eax, eax
mov qword [r11 + 0x18], rdi
mov rsi, rcx
mov qword [r11 + 0x20], r12
mov r15d, eax
mov qword [r11 - 0x20], r13
mov r10d, eax
mov r13, qword [rcx]
mov edi, eax
mov qword [r11 - 0x28], r14
xor r14b, r14b
mov r11, qword [rcx + 0x68]
mov byte [rbp - 0x64], r14b
movzx r14d, byte [r13 + 0x64]
mov byte [rsp + 0x48], r14b
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x50], eax
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x68], r11
mov dword [rbp - 0x58], eax
cmp dword [rcx + 0xd0], eax
je 0x1402ffac4
call fcn.1402ff930
mov r11, qword [rsp + 0x68]
mov r10d, edi
mov r9, qword [rsp + 0x60]
cmp qword [r13 + 0x210], rdi
je 0x1402ffae5
mov ecx, dword [r13 + 0x220]
xor edx, edx
mov eax, dword [rsi + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x1402ffaec
mov r12, 0xffffffffffffffff
cmp dword [rsi + 0x34], 7
mov qword [rsp + 0x468], rbx
movaps xmmword [rsp + 0x420], xmm6
movaps xmmword [rsp + 0x410], xmm7
movaps xmmword [rsp + 0x400], xmm8
mov qword [rsp + 0x70], r12
je 0x140301df1
xor edx, edx
mov dword [rsi + 0x34], edx
mov qword [rsi + 0x48], rdx
mov dword [r13 + 0x298], edx
mov eax, dword [r13 + 0x198]
test eax, eax
jne 0x140307f59
movsxd rax, dword [rsi + 0x30]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
movzx ebx, byte [r12]
inc rdi
mov r8d, dword [0x1404735a0]
mov qword [rsp + 0x40], r12
mov qword [rbp - 0x80], rdi
cmp ebx, 0xb6
ja case.0x1402ffb8a.89
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x308470]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r11 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp case.0x1402ffb8a.9
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je 0x1403000e4
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 0x14], 4
cmp dword [r12 + 8], 0
jne 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
xor edi, edi
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r11 + 0x14], di
cdqe
xor edx, edx
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov word [r8 + r11 + 0x14], 4
movsxd rcx, dword [r8 + r11]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r12, [r9 + rcx*8]
mov qword [r8 + r11], rax
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1403000e4
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x140307901
mov rax, qword [rsp + 0x40]
cmp dword [rax + 4], 0
jne 0x140307901
mov rax, qword [rcx + 8]
mov qword [rsi + 0x108], rax
dec dword [rsi + 0x118]
mov rax, qword [rsi + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
call fcn.140308ef0
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 8], 4
jne 0x1402ffd61
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [rsi + 0x88]
mov r11, qword [rsi + 0x68]
cdqe
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r11
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
jmp 0x140300adb
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x1402ffdb2
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rcx, rax
xor edx, edx
jmp 0x1402ffdb8
mov word [rcx + 0x14], 4
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402ffe13
mov rcx, rdx
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rdx, rax
jmp 0x1402ffe19
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140300ad6
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402ffe5e
mov rcx, rdx
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rdx, rax
mov word [rdx + 0x14], 8
jmp 0x1402ffe19
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x1402ffe94
mov rcx, rbx
call fcn.140299190
mov rcx, qword [rsp + 0x40]
mov rbx, rax
jmp 0x1402ffe9a
mov word [rbx + 0x14], 4
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1402ffeab
xor r12d, r12d
mov eax, r12d
jmp 0x1402ffec3
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1402ffeb2
and eax, 0x3fffffff
xor r12d, r12d
mov dword [rcx + 4], eax
cmp r14b, 1
je 0x1402fff61
mov r9b, 1
mov qword [rsp + 0x20], r12
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.14030a950
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307d36
test byte [rbx + 0x14], 2
jne 0x1402fff02
mov byte [rbx + 0x16], r14b
jmp 0x1402fff1c
cmp byte [rbx + 0x16], r14b
je 0x1402fff1c
movzx edx, r14b
mov rcx, rbx
call fcn.14030ad50
test eax, eax
jne 0x140301dec
mov eax, 0x2000
mov dword [rbx + 0x20], r12d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 1], 0xfa
jne 0x1402fff4a
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1402fff4a
mov rcx, r13
call fcn.1402bd350
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rcx + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x140307d36
mov byte [rcx], 0x49
jmp 0x1402fff78
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402fff9f
mov rcx, rdx
call fcn.140299190
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov r11, qword [rsp + 0x68]
mov word [rdx + 0x14], 0x2202
mov rax, qword [rcx + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x40]
mov byte [rdx + 0x16], r14b
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1403046a8
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 2]
cmp qword [rcx + r11], rax
jne 0x1403046a8
mov r12, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov word [rdx + 0x14], 0x2210
mov r9, qword [rsp + 0x60]
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
mov r13d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r13w
je 0x140300037
call fcn.140299190
mov rcx, rax
xor edx, edx
jmp 0x14030003d
mov word [rcx + 0x14], 4
cmp dword [rbx + 4], 0
mov esi, 1
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], edx
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x140304694
nop dword [rax]
test word [rbx + 0x38], r13w
lea rbx, [rbx + 0x38]
je 0x140300086
lea rcx, [rbx - 0x14]
call fcn.140320cd0
xor edx, edx
dec edi
mov word [rbx], si
mov dword [rbx - 4], edx
test edi, edi
jg 0x140300070
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r8d, 0xffc1
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, r8w
or ax, 1
mov word [rcx + r11 + 0x14], ax
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], cx
je 0x140300129
mov rcx, rbx
call fcn.140299190
mov rbx, rax
mov ecx, 0x9000
jmp 0x14030012f
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x10]
movsxd rdi, dword [rax + 4]
test rdx, rdx
jne 0x140300180
test word [rbx + 0x14], cx
jne 0x14030014c
cmp dword [rbx + 0x20], edx
je 0x140300154
mov rcx, rbx
call fcn.140320c80
xor eax, eax
mov word [rbx + 0x14], 0x410
mov dword [rbx + 0x10], eax
test edi, edi
mov rcx, rbx
cmovs edi, eax
mov dword [rbx], edi
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], rax
call fcn.14030a1c0
test eax, eax
jne 0x140301de8
jmp 0x140300195
mov r8, rdi
xor r9d, r9d
xor edi, edi
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.14030a950
mov byte [rbx + 0x16], r14b
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsi + 0x80]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x1403001fe
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x1403001ed
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x140307d3d
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x140300228
mov rcx, rbx
call fcn.140320cd0
mov r11, qword [rsp + 0x68]
xor edx, edx
mov r9, qword [rsp + 0x60]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov r12, qword [rsp + 0x40]
mov ecx, 0xafff
mov r10d, dword [rsp + 0x50]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x58]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsp + 0x40]
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, r11
add rbx, r11
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1403002a3
cmp dword [rbx + 0x20], 0
je 0x1403002ad
mov rcx, rbx
call fcn.140320c80
xor edx, edx
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 + 0x14], 1
mov dword [rdi + 0x20], edx
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x140300327
test al, 0x12
je 0x14030031c
bt ax, 0xa
jae 0x1403002fc
mov rcx, rbx
call fcn.14030a1c0
test eax, eax
jne 0x140301de3
cmp dword [rbx + 0x20], 0
je 0x14030030c
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x14030031c
mov rcx, rbx
call fcn.140320c20
test eax, eax
jne 0x140301de3
mov ecx, 0xbfff
and word [rbx + 0x14], cx
xor edx, edx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140300292
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
mov esi, dword [rbx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1403003ae
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.14031fbc0
jmp 0x1403003db
movups xmm0, xmmword [rdi]
mov eax, 0x2000
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 0x14], ax
jne 0x1403003db
mov eax, 0xcfff
and word [rbx + 0x14], ax
mov eax, 0x4000
or word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x14030042e
test al, 0x12
je 0x140300421
bt ax, 0xa
jae 0x140300401
mov rcx, rbx
call fcn.14030a1c0
test eax, eax
jne 0x140301de3
cmp dword [rbx + 0x20], 0
je 0x140300411
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x140300421
mov rcx, rbx
call fcn.140320c20
test eax, eax
jne 0x140301de3
mov eax, 0xbfff
and ax, word [rbx + 0x14]
mov word [rbx + 0x14], ax
bt ax, 0xb
jae 0x140300449
test byte [r12 + 2], 2
je 0x140300449
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x14030045e
add rbx, 0x38
add rdi, 0x38
jmp 0x140300390
mov rsi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
jmp 0x140300ad6
mov rcx, qword [rsp + 0x40]
mov r8d, 0x9000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
test word [rcx + 0x14], r8w
je 0x1403004a5
mov r8d, 0x4000
call fcn.14031fbc0
jmp 0x140300199
movups xmm0, xmmword [rdx]
mov r12, qword [rsp + 0x40]
mov r8d, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], r8w
jne 0x140300ae0
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x140300529
mov rdx, rax
mov rcx, r8
call fcn.140321f60
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov qword [r8], rax
mov word [r8 + 0x14], 4
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
cmp qword [rsi + 0x50], 0
jg 0x140307a08
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r14, r11
imul rbx, rax, 0x38
movzx r15d, word [r14 + 0x14]
add rdi, r11
movzx eax, r15b
add rbx, r11
or al, byte [rdi + 0x14]
test al, 1
je 0x1403005ef
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1403005c7
mov rcx, rbx
call fcn.140320cd0
mov r15d, dword [rsp + 0x4c]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
test r15b, 0x12
jne 0x140300627
movzx r12d, byte [rsp + 0x48]
xor r8d, r8d
movzx edx, r12b
mov rcx, r14
call fcn.14030ac90
test eax, eax
jne 0x140301de8
movzx r15d, word [r14 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
jmp 0x14030065b
mov eax, 0x400
test ax, r15w
je 0x140300655
mov rcx, r14
call fcn.14030a1c0
test eax, eax
jne 0x140301de8
movzx r15d, word [r14 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx r12d, byte [rsp + 0x48]
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x140300676
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.14030ac90
jmp 0x140300683
test ax, si
je 0x140300697
mov rcx, rdi
call fcn.14030a1c0
test eax, eax
jne 0x140301de3
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
mov edx, dword [rdi + 0x10]
add edx, dword [r14 + 0x10]
movsxd rax, dword [r13 + 0x88]
movsxd r12, edx
cmp r12, rax
jg 0x140307d3d
xor eax, eax
mov rcx, rbx
mov r8d, eax
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.14030a460
test eax, eax
jne 0x140301de3
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x1403006fe
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [r14 + 0x14], r15w
movzx r14d, byte [rsp + 0x48]
cmp r14b, 1
jbe 0x140300728
and r12, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r15d, dword [rsp + 0x4c]
mov byte [r12 + rax], 0
mov rax, qword [rbx + 8]
mov byte [rax + r12 + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r12d
mov byte [rbx + 0x16], r14b
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x40]
add rsi, r11
add rdi, r11
movsxd rax, dword [rax + 0xc]
movzx ecx, word [rdi + 0x14]
movzx ebx, word [rsi + 0x14]
imul r14, rax, 0x38
movzx eax, cl
and al, bl
add r14, r11
test al, 4
jne 0x1403007d1
or cl, bl
test cl, 1
jne 0x140300a91
and bx, 0x2d
jne 0x1403007b3
mov rcx, rsi
call fcn.1402398f0
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x1403007c5
mov rcx, rdi
call fcn.1402398f0
and al, bl
test al, 4
je 0x1403009b3
xor edx, edx
mov rax, qword [rsp + 0x40]
mov r9, qword [rsi]
mov r8, qword [rdi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x14030095b
sub ecx, 1
je 0x1403008ee
sub ecx, 1
je 0x140300853
cmp ecx, 1
je 0x140300821
test r9, r9
je 0x140300a8c
cmp r9, 0xffffffffffffffff
mov eax, 1
cmove r9, rax
mov rax, r8
cqo
idiv r9
mov r8, rdx
jmp 0x14030097a
test r9, r9
je 0x140300a8c
cmp r9, 0xffffffffffffffff
jne 0x140300843
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x1403009b3
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14030097a
test r9, r9
jle 0x140300889
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1403009b3
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x1403008e5
jmp 0x1403009b3
jns 0x1403008e5
test r8, r8
jle 0x1403008a9
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1403008e5
jmp 0x1403009b3
jns 0x1403008e5
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x1403009b3
cmp r8, rcx
je 0x1403009b3
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x1403009b3
imul r8, r9
jmp 0x14030097a
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x14030090b
test r8, r8
jns 0x1403009b3
sub r8, rcx
jmp 0x14030097a
neg r9
js 0x14030092e
test r8, r8
jle 0x140300950
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x140300950
mov eax, 1
jmp 0x140300955
test r8, r8
jns 0x140300950
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x140300950
mov eax, 1
jmp 0x140300955
add r8, r9
mov eax, edx
test eax, eax
jne 0x1403009b3
jmp 0x14030097a
test r9, r9
js 0x140300998
test r8, r8
jle 0x140300977
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x1403009b3
add r8, r9
mov qword [r14], r8
mov ecx, 0xf244
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
jmp 0x140300aa5
test r8, r8
jns 0x140300977
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x140300977
movzx eax, word [rsi + 0x14]
test al, 8
je 0x1403009c1
movsd xmm6, qword [rsi]
jmp 0x1403009e4
test al, 0x24
je 0x1403009cf
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsi]
jmp 0x1403009e4
test al, 0x12
je 0x1403009e0
mov rcx, rsi
call fcn.140293fb0
movaps xmm6, xmm0
jmp 0x1403009e4
movaps xmm6, xmm8
movzx eax, word [rdi + 0x14]
test al, 8
je 0x1403009f2
movsd xmm0, qword [rdi]
jmp 0x140300a12
test al, 0x24
je 0x140300a00
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x140300a12
test al, 0x12
je 0x140300a0e
mov rcx, rdi
call fcn.140293fb0
jmp 0x140300a12
movaps xmm0, xmm8
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x140300a7d
sub ecx, 1
je 0x140300a77
sub ecx, 1
je 0x140300a71
cmp ecx, 1
je 0x140300a62
mov rcx, rsi
call fcn.1401fc260
mov rcx, rdi
mov rbx, rax
call fcn.1401fc260
test rbx, rbx
je 0x140300a8c
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140300a81
ucomisd xmm6, xmm8
jp 0x140300a6b
je 0x140300a8c
divsd xmm0, xmm6
jmp 0x140300a81
mulsd xmm0, xmm6
jmp 0x140300a81
subsd xmm0, xmm6
jmp 0x140300a81
addsd xmm0, xmm6
ucomisd xmm0, xmm0
setp al
cmp al, 1
jne 0x140300af4
mov r9, qword [rsp + 0x60]
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140300abf
mov rcx, r14
call fcn.140320cd0
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
jmp 0x1403001a3
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov word [r14 + 0x14], 1
movzx r14d, byte [rsp + 0x48]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
movsd qword [r14], xmm0
mov ecx, 0xf248
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
mov word [r14 + 0x14], ax
jmp 0x140300aa5
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x1403000e4
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140300b40
xor edx, edx
call fcn.140321f60
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rdi, r11
add rcx, r11
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
add rsi, r11
test al, 1
je 0x140300bd5
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x140300bb3
mov rcx, rsi
call fcn.140320cd0
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov word [rsi + 0x14], 1
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
call fcn.1401fc260
mov rcx, rdi
mov rbx, rax
call fcn.1401fc260
mov rdx, rax
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax]
cmp cl, 0x66
jne 0x140300bfa
and rbx, rdx
jmp 0x140300c6f
cmp cl, 0x67
jne 0x140300c04
or rbx, rdx
jmp 0x140300c6f
test rdx, rdx
je 0x140300c6f
jns 0x140300c1e
mov eax, 0xd1
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x140300c24
neg rdx
cmp rdx, 0x40
jl 0x140300c3d
test rbx, rbx
jns 0x140300c37
cmp cl, 0x68
je 0x140300c37
mov rbx, 0xffffffffffffffff
jmp 0x140300c6f
xor eax, eax
mov ebx, eax
jmp 0x140300c6f
cmp cl, 0x68
mov rcx, rdx
jne 0x140300c4d
shl rbx, cl
mov r8, rbx
jmp 0x140300c6c
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140300c6c
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
mov qword [rsi], rbx
mov ecx, 0xf244
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, 4
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14030a5e0
mov r12, qword [rsp + 0x40]
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
jmp 0x14030019e
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x140300d27
test cl, 0x28
jne 0x140300cf6
test cl, 2
je 0x140300d00
mov edx, 1
mov rcx, rbx
call fcn.14022e9c0
mov r11, qword [rsp + 0x68]
mov r9, qword [rsp + 0x60]
jmp 0x140300cfe
mov rcx, rbx
call fcn.140309760
xor edx, edx
movzx eax, word [rbx + 0x14]
movzx ecx, ax
test al, 4
jne 0x140300d27
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 8], 0
jne 0x14030158e
mov r15d, 0x14
jmp 0x140307653
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rbx + 0x14], cx
mov r12, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r11
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1403000e4
test al, 8
je 0x140300d79
movsd xmm0, qword [rcx]
jmp 0x140300d81
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r12, qword [rsp + 0x40]
mov r8d, 0xf248
and ax, r8w
movsd qword [rcx], xmm0
or ax, 8
mov word [rcx + 0x14], ax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140300ddc
mov rcx, rbx
call fcn.14030a1c0
mov r15d, eax
test eax, eax
jne 0x140307a38
mov rax, qword [rsp + 0x40]
movzx r8d, r14b
mov rcx, rbx
movzx edx, byte [rax + 8]
call fcn.140309f90
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r11
add r14, r11
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx ecx, di
and cx, si
test cl, 4
je 0x140300ece
mov rax, qword [r14]
cmp rax, qword [r15]
jle 0x140300e52
mov rax, qword [0x14046b398]
xor edx, edx
cmp byte [rbx + rax], dl
jmp 0x140300f32
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
jge 0x140300e98
mov rax, qword [0x14046b388]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x14030158e
mov rsi, qword [rsp + 0x58]
mov r10d, 0xffffffff
movzx r14d, byte [rsp + 0x48]
mov dword [rsp + 0x50], r10d
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [0x14046b390]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x14030158e
mov rsi, qword [rsp + 0x58]
mov r10d, edx
movzx r14d, byte [rsp + 0x48]
mov dword [rsp + 0x50], edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
movzx eax, di
or ax, si
test al, 1
je 0x140300f6b
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 2]
test al, al
jns 0x140300f30
test cl, 1
je 0x140300f15
mov eax, pe_nt_image_headers64
test ax, di
jne 0x140300f15
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x50], edx
mov r10d, dword [rsp + 0x50]
movzx edx, byte [rax]
mov rax, qword [0x14046b390]
jmp 0x14030108c
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x50], r10d
jmp 0x14030104d
test al, 0x10
mov r12, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x4c]
jne 0x14030158e
mov eax, 1
mov r10d, eax
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
movzx ecx, byte [rbx + 2]
and cl, 0x47
cmp cl, 0x43
jb 0x140300fb7
test al, 2
je 0x140301032
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x140300f9d
xor edx, edx
mov rcx, r15
call fcn.14022e9c0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x140301032
xor edx, edx
mov rcx, r14
call fcn.14022e9c0
jmp 0x140301032
cmp cl, 0x42
jne 0x140301032
test al, 2
je 0x140301032
movzx r12d, byte [rsp + 0x48]
test sil, 2
jne 0x140301003
test sil, 0x2c
je 0x140301003
mov r8b, 1
movzx edx, r12b
mov rcx, r15
call fcn.14030ac90
xor si, word [r15 + 0x14]
mov r13d, 0xdbf
and si, r13w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x140301009
movzx edi, si
or di, 2
jmp 0x140301009
mov r13d, 0xdbf
test dil, 2
jne 0x140301032
test dil, 0x2c
je 0x140301032
mov r8b, 1
movzx edx, r12b
mov rcx, r14
call fcn.14030ac90
xor di, word [r14 + 0x14]
and di, r13w
xor di, word [r14 + 0x14]
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1402e56f0
mov r11, qword [rsp + 0x68]
mov r10d, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x40]
mov ecx, r10d
test r10d, r10d
jns 0x14030106a
movzx ecx, byte [rax]
mov rax, qword [0x14046b388]
movzx edx, byte [rcx + rax]
jmp 0x140301090
movzx edx, byte [rax]
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x140301081
mov rax, qword [0x14046b390]
mov r10d, ecx
jmp 0x14030108c
mov rax, qword [0x14046b398]
mov dword [rsp + 0x50], ecx
movzx edx, byte [rdx + rax]
mov r12, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov r15d, dword [rsp + 0x4c]
test dl, dl
jne 0x14030158c
mov rsi, qword [rsp + 0x58]
xor edx, edx
movzx r14d, byte [rsp + 0x48]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
test r10d, r10d
je 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
test byte [rax + 2], 1
jne 0x1403010fb
mov r13, rdx
jmp 0x140301103
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
mov esi, edx
mov r8d, dword [rax + 4]
mov rbx, rdx
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x70], r8d
mov dword [rbp - 0x78], r9d
mov qword [rbp - 0x50], rax
test rax, rax
jle 0x1403078f2
lea r14, [rcx + 0x20]
test r13, r13
je 0x140301141
mov edx, dword [r13 + rbx*4]
jmp 0x140301143
mov edx, esi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r12, rcx, 0x38
movzx edi, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r14]
add r12, r11
imul r15, rcx, 0x38
mov rdx, r12
and edi, 1
add r15, r11
mov rcx, r15
call fcn.1402e56f0
mov dword [rsp + 0x50], eax
mov r10d, eax
test eax, eax
jne 0x1403011b7
mov rcx, qword [rbp - 0x60]
inc esi
mov r8d, dword [rbp - 0x70]
inc rbx
mov r9d, dword [rbp - 0x78]
add r14, 8
mov r11, qword [rsp + 0x68]
cmp rbx, qword [rbp - 0x50]
jl 0x140301135
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x1403001a8
mov rax, qword [rbp - 0x60]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x1403011dc
test byte [r15 + 0x14], 1
jne 0x1403011d4
test byte [r12 + 0x14], 1
je 0x1403011dc
neg r10d
mov dword [rsp + 0x50], r10d
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
movzx r14d, byte [rsp + 0x48]
mov r9, qword [rsp + 0x60]
test edi, edi
je 0x140300ae0
neg r10d
mov dword [rsp + 0x50], r10d
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
test r10d, r10d
jns 0x14030124a
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
jne 0x14030126d
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov r13, qword [rsp + 0x40]
mov edi, 2
mov edx, edi
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402fef60
movsxd rcx, dword [r13 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x68]
call fcn.1402fef60
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rdx, eax
mov rax, r13
cmp byte [rax], 0x2c
jne 0x1403012e1
movzx edx, byte [rdx + rcx + 0x351758]
jmp 0x1403012e9
movzx edx, byte [rdx + rcx + 0x351768]
movsxd rax, dword [rax + 0xc]
mov r11, qword [rsp + 0x68]
imul rcx, rax, 0x38
add rcx, r11
cmp dl, dil
jne 0x14030131a
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
and ax, dx
mov r12, r13
or ax, 1
mov word [rcx + 0x14], ax
jmp 0x1403001a3
movzx eax, dl
mov r12, r13
mov qword [rcx], rax
mov edx, 0xf244
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
jmp 0x1403001a3
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402fef60
movsxd rdx, dword [rbx + 0x10]
mov r11, qword [rsp + 0x68]
movsxd rcx, eax
mov rax, rbx
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140301389
call fcn.140321f60
mov r12, rbx
jmp 0x14030019e
mov qword [rcx], rdx
mov r12, rbx
mov word [rcx + 0x14], 4
jmp 0x1403001a3
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x140306f4b
test al, 0x24
je 0x1403013d1
cmp qword [rcx], 0
mov rax, rdx
sete al
jmp 0x140301403
test al, 8
je 0x1403013db
movsd xmm0, qword [rcx]
jmp 0x1403013f0
test al, 0x12
je 0x1403013fe
call fcn.140293fb0
mov r11, qword [rsp + 0x68]
xor edx, edx
mov r9, qword [rsp + 0x60]
ucomisd xmm0, xmm8
jp 0x1403013f9
je 0x1403013fe
mov rax, rdx
jmp 0x140301403
mov eax, 1
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x14030141e
mov rdx, rax
mov rcx, rbx
call fcn.140321f60
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [rbx], rax
mov word [rbx + 0x14], 4
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov r12, qword [rsp + 0x40]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r11
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x14030149c
mov rcx, rbx
call fcn.140320cd0
mov r11, qword [rsp + 0x68]
xor edx, edx
mov r9, qword [rsp + 0x60]
jmp 0x1403014a2
mov word [rbx + 0x14], 1
test byte [rdi + 0x14], 1
jne 0x140300d37
mov rcx, rdi
mov word [rbx + 0x14], 4
call fcn.1401fc260
not rax
mov qword [rbx], rax
jmp 0x140300199
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x14030151f
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsi + 0x88]
mov r9, qword [r8 + 0x28]
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 0x140301582
bts eax, edx
mov byte [rcx + r9], al
xor edx, edx
mov r9, qword [rsp + 0x60]
jmp 0x140301537
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x1403078bd
mov rax, qword [rsi + 0x88]
mov r12, qword [rsp + 0x40]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rcx, r11
mov edx, dword [rax + 0xc]
call fcn.1402fef60
test eax, eax
je 0x140300199
mov r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
xor edx, edx
mov eax, dword [r12 + 8]
mov rsi, qword [rsp + 0x58]
dec eax
mov r11, qword [rsp + 0x68]
movzx r14d, byte [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402fef60
test eax, eax
jne 0x140300199
jmp 0x140301582
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x14030168b
mov rcx, rax
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 0xc]
movzx eax, word [rcx + 0x4a]
cmp edx, eax
jge 0x140301675
mov ecx, dword [rcx + rdx*4 + 0x78]
cmp ecx, 0xc
jb 0x14030165f
test cl, 1
mov eax, 4
mov ecx, 8
cmove ax, cx
xor edx, edx
jmp 0x1403016b5
mov rax, rcx
xor edx, edx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x351788]
jmp 0x1403016b5
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x10]
mov eax, 1
dec ecx
shl ax, cl
xor edx, edx
jmp 0x1403016b5
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x3501f0]
mov eax, 1
dec ecx
shl ax, cl
mov r12, qword [rsp + 0x40]
test word [r12 + 2], ax
jne 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140301743
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140301743
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140301725
xor edx, edx
call fcn.140321f60
mov r12, rbx
jmp 0x14030019e
mov qword [rcx], rdx
mov r12, rbx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140301769
call fcn.140320cd0
mov r12, rbx
jmp 0x14030019e
mov word [rcx + 0x14], 1
mov r12, rbx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140303952
cmp byte [rdx + 2], 0
je 0x140303952
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1403017fd
call fcn.140320cd0
jmp 0x140301582
mov word [rcx + 0x14], 1
jmp 0x140301587
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
mov r14d, dword [rcx + 8]
mov dword [rbp - 0x78], r14d
nop word [rax + rax]
mov r13, qword [rbx + 0x58]
mov eax, dword [rsi + 0x2c]
mov qword [rbp - 0x50], r13
cmp dword [rbx + 0x20], eax
je 0x140301879
cmp byte [rbx + 2], 0
jne 0x1403018f6
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x140301872
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1403018a7
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1403018a7
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x140301822
cmp byte [rdi], 0
je 0x1403018be
jmp 0x140301886
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1403019e2
mov rcx, rbx
call fcn.1403094f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x140301830
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov rcx, rbx
call fcn.140308e60
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov rcx, rdi
call fcn.1402879b0
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x1403018ed
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x140301921
cmp byte [rbx], 3
jne 0x140301992
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x140301992
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
cmp eax, 0x80
jae 0x140301940
mov eax, 1
jmp 0x14030194f
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.1402e04f0
movzx eax, al
mov edx, 0x40
mov rcx, rbx
mov dword [rdx + rbx], eax
xor edx, edx
mov word [rbx + 0x4a], dx
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x140301989
mov qword [rbx + 0x60], rdx
mov dword [rbx + 0x6c], edx
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140301c40
cmp eax, dword [rbx + 0x68]
jbe 0x1403019e4
jmp 0x140301c40
mov rax, qword [rbx + 0x60]
jmp 0x140301a96
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1403019cc
call fcn.140320cd0
mov r11, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
jmp 0x1403001a3
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
mov word [rcx + 0x14], 1
jmp 0x1403001a3
xor edx, edx
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x140301d2e
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x140301c8f
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140301a9a
mov qword [rbp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x140301a4f
mov ecx, edx
test edx, edx
mov edx, 0
cmovs ecx, edx
jmp 0x140301a51
xor edx, edx
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x10], rax
cmp r8d, ecx
ja 0x140301a75
mov ecx, 0x4010
mov dword [rbp + 0x18], r8d
mov word [rbp + 0x1c], cx
mov dword [rsp + 0x4c], edx
jmp 0x140301a9a
lea r9, [rbp + 8]
xor edx, edx
mov rcx, r10
call fcn.14030a2f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x60], rax
movzx r12d, word [rbx + 0x4a]
mov esi, dword [rbx + 0x40]
mov r14d, r12d
mov rcx, qword [rbp - 0x50]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax + rax]
movzx edi, byte [rsi]
mov dword [rbp - 0x70], edi
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jae 0x140301ae7
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x34f4f0]
jmp 0x140301b23
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.1402e04f0
mov edi, dword [rbp - 0x70]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jb 0x140301b10
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140301b1f
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x34f4f0]
mov rcx, qword [rbp - 0x50]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rbp - 0x78]
ja 0x140301b3d
cmp rsi, r13
jb 0x140301ac0
jmp 0x140301b46
cmp rsi, r13
jb 0x140301bfa
cmp rsi, r13
ja 0x140301c06
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x140301c06
xor edx, edx
sub esi, dword [rbp - 0x60]
mov r8d, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
jne 0x140301b93
test word [rbp + 0x1c], r8w
jne 0x140301b82
cmp dword [rbp + 0x28], 0
je 0x140301b93
lea rcx, [rbp + 8]
call fcn.140320c80
xor edx, edx
mov r8d, 0x9000
mov r13, qword [rbp - 0x50]
mov r14d, dword [rbp - 0x78]
mov rsi, qword [rsp + 0x58]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x140301d35
mov r15, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
cmp byte [r15 + 1], 0xf6
jne 0x140301cf1
test word [rcx + 0x14], r8w
mov r8d, 0x2000
mov rax, qword [r15 + 0x10]
je 0x140301c9c
mov rdx, rax
call fcn.14031fbc0
mov r15d, dword [rsp + 0x4c]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x140301b5b
cmp dword [rcx], 0
jne 0x140301c18
xor edx, edx
mov rsi, r13
mov r12d, edx
jmp 0x140301b5d
cmp qword [rbx + 0x60], 0
jne 0x140301c39
mov eax, 0x9000
test word [rbp + 0x1c], ax
jne 0x140301c30
cmp dword [rbp + 0x28], 0
je 0x140301c39
lea rcx, [rbp + 8]
call fcn.140320c80
mov rsi, qword [rsp + 0x58]
xor edx, edx
mov r9, qword [rsp + 0x60]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x140307a42
mov r11, qword [rsp + 0x68]
dec eax
movzx r14d, byte [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r9 + rax*8]
mov qword [rsp + 0x40], r15
mov r12, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov edi, edx
mov r8d, 0x9000
jmp 0x140301ba0
movups xmm0, xmmword [rax]
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], r8w
jne 0x140304463
mov r10d, dword [rsp + 0x50]
mov eax, 0xafff
and word [rcx + 0x14], ax
or word [rcx + 0x14], r8w
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
test word [rcx + 0x14], r8w
jne 0x1403005b2
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov word [rcx + 0x14], 1
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x78]
mov rdx, qword [rsp + 0x40]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x68]
test word [rsi + 0x14], ax
je 0x140301d5f
mov rcx, rsi
call fcn.140320cd0
mov rdx, qword [rsp + 0x40]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140301e68
mov eax, r14d
mov r14d, dword [r13 + rax*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x140301da4
mov rcx, r14
mov edx, edi
mov r8, rsi
call fcn.14030c540
mov r15d, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
movzx eax, byte [rsp + 0x48]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x140301e13
mov r13, qword [rsp + 0x78]
cmp ebx, dword [r13 + 0x88]
jg 0x140307d31
xor r8d, r8d
mov word [rsi + 0x14], 1
mov rcx, rsi
call fcn.14030a460
test eax, eax
je 0x140301e1b
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov r12, qword [rsp + 0x70]
mov rcx, r13
call fcn.1402e5d30
lea rdx, str.out_of_memory
mov rcx, rsi
call fcn.1402ff9d0
mov r15d, 7
jmp 0x140307f5f
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov r8, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 8]
lea rcx, [0x140000000]
mov r15d, dword [rsp + 0x4c]
movzx r14d, byte [rsp + 0x48]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rbx + rax + 1], 0
mov eax, edi
and eax, 1
movzx eax, word [rcx + rax*2 + 0x351794]
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
movzx eax, byte [rsp + 0x48]
mov byte [rsi + 0x16], al
movzx eax, byte [rdx + 2]
and al, 0xc0
je 0x140301e8b
cmp al, 0x80
je 0x140301eaf
cmp edi, 0xc
jb 0x140301e8b
test dil, 1
je 0x140301eaf
cmp al, 0xc0
je 0x140301eaf
cmp edi, 0x80
jb 0x140301e9a
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140301eab
mov eax, edi
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x34f4f0]
test eax, eax
jne 0x140301ebb
lea rcx, [0x14034f320]
jmp 0x140301d85
mov eax, r14d
mov r8d, edi
mov qword [rsp + 0x30], rsi
mov edx, r14d
mov rsi, qword [rsp + 0x58]
mov rcx, rbx
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.14031fc00
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x1403005bc
mov rdi, qword [rbp - 0x80]
cmp eax, 7
je 0x140308180
mov rsi, qword [rsp + 0x78]
cmp eax, 0x12
je 0x140307d46
mov r14, qword [rsp + 0x40]
jmp 0x14030765b
mov rax, qword [rsp + 0x40]
mov esi, edx
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r11
cmp dx, word [r14 + 0x36]
jge 0x1403078e3
lea rdi, [r15 + 0xc]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x140301f65
test al, 0x20
jne 0x1403020e5
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xc], 0
jne 0x1403020e1
movzx ecx, byte [rdi]
cmp cl, 0x43
jl 0x140301f9b
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x140301fd6
test al, 0x28
jne 0x140301f8c
test al, 2
je 0x140301fd6
mov edx, 1
mov rcx, rbx
call fcn.14022e9c0
jmp 0x140301fd6
cmp cl, 0x45
jg 0x140301fd6
mov rcx, rbx
call fcn.140309760
jmp 0x140301fd6
cmp cl, 0x42
jne 0x140301fd6
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x140301fcb
test cl, 0x2c
je 0x140301fcb
cmp dword [rbx + 0x20], 0x20
jge 0x140302020
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.14030a460
test eax, eax
je 0x140302030
mov byte [rbx + 0x16], 0
mov r12d, 0xffd3
and word [rbx + 0x14], r12w
movzx ecx, word [rbx + 0x14]
movzx edx, cx
test cl, 1
jne 0x1403020e1
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x1403020d8
sub eax, 1
je 0x1403020d3
sub eax, 1
je 0x1403020d3
sub eax, 1
je 0x14030207c
cmp eax, 1
jne 0x1403020e1
test cl, 2
jmp 0x1403020db
mov rax, qword [rbx + 0x28]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rbx + 8]
mov r8, rbx
mov ecx, 0x20
call fcn.140320d10
mov byte [rbx + 0x16], 1
mov r12d, 0xffd3
movzx eax, word [rbx + 0x14]
mov ecx, 0x202
and ax, r12w
or ax, cx
mov word [rbx + 0x14], ax
movzx eax, byte [rsp + 0x48]
cmp al, 1
je 0x140301fd1
movzx edx, al
mov rcx, rbx
call fcn.14030ad50
jmp 0x140301fd1
test cl, 4
je 0x1403020ce
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rbx
ja 0x1403020a9
or cx, 0x20
jmp 0x1403020b9
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rdx + rax], cx
jmp 0x1403020e1
test cl, 0x28
jmp 0x1403020db
test cl, 4
jmp 0x1403020db
test cl, 0x10
je 0x140307a5d
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x140301f46
mov r15d, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rsi]
add rbx, r11
cmp al, 0x43
jl 0x14030216a
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x1403021fe
test cl, 0x28
jne 0x140302155
test cl, 2
je 0x1403021fe
mov edx, 1
mov rcx, rbx
call fcn.14022e9c0
jmp 0x1403021fe
cmp al, 0x45
jg 0x1403021fe
mov rcx, rbx
call fcn.140309760
jmp 0x1403021fe
cmp al, 0x42
jne 0x1403021fe
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x1403021f5
test cl, 0x2c
je 0x1403021f5
cmp dword [rbx + 0x20], 0x20
jge 0x1403021a3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.14030a460
lea rdx, [rbx + 8]
test eax, eax
je 0x1403021b7
mov byte [rbx + 0x16], 0
jmp 0x1403021f5
mov rax, qword [rbx + 0x28]
lea rdx, [rbx + 8]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rdx]
mov r8, rbx
mov ecx, 0x20
call fcn.140320d10
mov byte [rbx + 0x16], 1
mov ecx, 0xffd3
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x202
or ax, cx
mov word [rbx + 0x14], ax
cmp byte [rbx + 0x16], r14b
je 0x1403021f5
movzx edx, r14b
mov rcx, rbx
call fcn.14030ad50
mov edi, 0xffd3
and word [rbx + 0x14], di
cmp byte [rsi], 0x45
jne 0x140302255
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x140302255
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140302239
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x140302251
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rsi + 1]
inc rsi
test al, al
je 0x140304457
add rbx, 0x38
jmp 0x140302124
mov rcx, qword [rsp + 0x40]
mov rsi, rdx
mov r12d, edx
mov r13, rdx
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r14, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r14, r11
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r15, r14
mov qword [rbp - 0x60], r14
add rcx, r11
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x70], rcx
test rdi, rdi
je 0x14030230b
lea rbx, [r14 + 0x14]
mov r15d, 0xfffb
movzx r14d, byte [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r14b
call fcn.14022e950
cmp byte [rdi], 0x45
jne 0x1403022f7
movzx eax, word [rbx]
test al, 4
je 0x1403022f7
and ax, r15w
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x1403022d0
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp - 0x50]
lea rdi, [r15 + 0x24]
nop
movzx eax, word [rdi - 0x10]
movzx edx, ax
test al, 1
je 0x140302339
inc r12d
mov eax, 0x400
and dx, ax
mov r15d, 1
neg dx
sbb ebx, ebx
and ebx, 0xa
jmp 0x1403024ce
test dl, 0x24
je 0x140302445
mov r8, qword [rdi - 0x24]
mov rcx, r8
test r8, r8
jns 0x140302351
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x140302391
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140302381
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xc5], 4
jb 0x140302381
lea ebx, [rcx + 8]
mov r15d, 1
jmp 0x1403024ce
mov ebx, 1
inc rsi
mov r15d, ebx
jmp 0x1403024ce
cmp rcx, 0x7fff
ja 0x1403023ac
mov ebx, 2
add rsi, 2
lea r15d, [rbx - 1]
jmp 0x1403024ce
cmp rcx, 0x7fffff
ja 0x1403023c7
mov ebx, 3
add rsi, 3
lea r15d, [rbx - 2]
jmp 0x1403024ce
cmp rcx, 0x7fffffff
ja 0x1403023e2
mov ebx, 4
add rsi, 4
lea r15d, [rbx - 3]
jmp 0x1403024ce
movabs r9, 0x7fffffffffff
cmp rcx, r9
ja 0x140302403
mov ebx, 5
add rsi, 6
lea r15d, [rbx - 4]
jmp 0x1403024ce
add rsi, 8
test dl, 0x20
je 0x140302437
xorps xmm0, xmm0
mov ecx, 0xffdf
cvtsi2sd xmm0, r8
mov ebx, 7
and ax, cx
or ax, 8
lea r15d, [rbx - 6]
movsd qword [rdi - 0x24], xmm0
mov word [rdi - 0x10], ax
jmp 0x1403024ce
mov ebx, 6
lea r15d, [rbx - 5]
jmp 0x1403024ce
test dl, 8
je 0x14030245c
mov ebx, 7
inc r12d
add rsi, 8
lea r15d, [rbx - 6]
jmp 0x1403024ce
mov r15d, dword [rdi - 0x14]
mov eax, edx
shr eax, 1
and eax, 1
bt dx, 0xa
lea ebx, [r15 + 6]
lea ebx, [rax + rbx*2]
jae 0x14030249f
movsxd rax, dword [rdi - 0x24]
lea ebx, [rbx + rax*2]
test rsi, rsi
je 0x140302498
lea rcx, [rdi - 0x24]
call fcn.14030a1c0
test eax, eax
jne 0x140308176
add r15d, dword [rdi - 0x24]
jmp 0x14030249b
add r13, rax
mov r14, qword [rbp - 0x60]
mov eax, r15d
mov r15d, 1
add rsi, rax
mov ecx, r15d
mov eax, ebx
shr rax, 7
test rax, rax
je 0x1403024cb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1403024c0
add r12d, ecx
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, r14
je 0x1403024e5
sub rdi, 0x38
jmp 0x140302310
cmp r12d, 0x7e
jle 0x14030252f
movsxd rax, r12d
mov edx, r15d
shr rax, 7
test rax, rax
je 0x14030250b
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x140302500
add r12d, edx
mov ecx, r15d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14030252b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140302520
cmp edx, ecx
jge 0x140302532
inc r12d
mov rdi, qword [rbp - 0x70]
movsxd rbx, r12d
add rbx, rsi
movsxd rdx, dword [rdi + 0x20]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x14030257b
mov rsi, qword [rsp + 0x78]
movsxd rax, dword [rsi + 0x88]
cmp rcx, rax
jg 0x140307d42
cmp edx, ebx
jge 0x14030257b
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.14030a460
test eax, eax
je 0x140302583
mov r13, rsi
jmp 0x140301de3
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], 0x10
test r13, r13
je 0x14030259a
mov dword [rdi], r13d
mov word [rdi + 0x14], 0x410
mov rdi, qword [rdi + 8]
movsxd rbx, r12d
add rbx, rdi
cmp r12d, 0x80
jge 0x1403025b5
mov byte [rdi], r12b
inc rdi
jmp 0x1403025f6
movsxd rdx, r12d
cmp rdx, 0x7f
ja 0x1403025c8
and dl, 0x7f
mov eax, r15d
mov byte [rdi], dl
jmp 0x1403025f1
cmp rdx, 0x3fff
ja 0x1403025e9
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rdi], al
and dl, 0x7f
mov byte [rdi + 1], dl
mov eax, 2
jmp 0x1403025f1
mov rcx, rdi
call fcn.14027a2a0
cdqe
add rdi, rax
lea rsi, [r14 + 0x10]
mov r14, qword [rbp - 0x50]
nop
mov eax, dword [rsi + 0x14]
cmp eax, 7
ja 0x14030267b
mov byte [rdi], al
inc rdi
test eax, eax
je 0x1403026ef
mov rcx, qword [rsi - 0x10]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x34f4f0]
mov eax, edx
sub eax, 1
je 0x140302674
sub eax, 1
je 0x14030266d
sub eax, 1
je 0x140302666
sub eax, 1
je 0x14030265f
cmp eax, 2
je 0x140302651
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x1403026ef
cmp eax, 0x80
jae 0x140302695
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x1403026ef
movsxd rax, dword [rsi]
test eax, eax
jle 0x1403026ef
jmp 0x1403026da
mov rdx, rax
cmp rax, 0x7f
ja 0x1403026a8
and dl, 0x7f
mov eax, r15d
mov byte [rdi], dl
jmp 0x1403026ce
cmp rdx, 0x3fff
ja 0x1403026c6
shr rax, 7
or al, 0x80
mov byte [rdi], al
and dl, 0x7f
mov byte [rdi + 1], dl
mov eax, 2
jmp 0x1403026ce
mov rcx, rdi
call fcn.14027a2a0
cdqe
add rdi, rax
movsxd rax, dword [rsi]
test eax, eax
je 0x1403026ef
mov rdx, qword [rsi - 8]
mov r8, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rsi]
add rbx, rax
lea rax, [rsi - 0x10]
cmp rax, r14
je 0x14030444c
add rsi, 0x38
jmp 0x140302600
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsi + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14030272d
mov rcx, rdx
call fcn.1402b6e40
mov rbx, rax
jmp 0x140302752
xor eax, eax
lea r8, [rbp - 0x60]
mov rcx, r13
mov qword [rbp - 0x60], rax
call fcn.1402b4670
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x1403081b4
mov rbx, qword [rbp - 0x60]
mov rax, qword [rsp + 0x40]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x68]
test word [rax + 0x14], cx
je 0x14030277e
mov rcx, rax
call fcn.140299190
mov qword [rax], rbx
jmp 0x14030710e
mov word [rax + 0x14], 4
mov qword [rax], rbx
jmp 0x14030710e
mov rax, qword [rsp + 0x40]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rbp - 0x78], r10d
test r10d, r10d
jne 0x14030286e
cmp dword [r13 + 0xe0], r10d
jg 0x140307ad5
test rsi, rsi
jne 0x1403027bc
mov ebx, edx
jmp 0x1403027d2
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1403027c3
and ebx, 0x3fffffff
mov r8d, dword [r13 + 0x2f4]
xor edx, edx
add r8d, dword [r13 + 0x2f0]
mov rcx, r13
call fcn.14030df90
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
mov edx, ebx
mov rcx, r13
add rdx, 0x21
call fcn.1402bd4e0
mov rdi, rax
test rax, rax
je 0x140302b67
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
cmp byte [r13 + 0x65], r15b
je 0x14030283a
mov byte [r13 + 0x65], r15b
mov byte [r13 + 0x6d], 1
jmp 0x140302841
inc dword [r13 + 0x2f0]
mov rax, qword [r13 + 0x2e0]
mov qword [rdi + 0x18], rax
mov qword [r13 + 0x2e0], rdi
mov rax, qword [r13 + 0x2f8]
mov qword [rdi + 8], rax
mov rax, qword [r13 + 0x300]
mov qword [rdi + 0x10], rax
jmp 0x140302b67
mov r11, qword [rsp + 0x78]
mov r13d, edx
mov r12, qword [r11 + 0x2e0]
test r12, r12
je 0x14030297e
lea rbx, [0x140000000]
nop dword [rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x140302951
test edx, edx
jne 0x140302965
cmp dword [r11 + 0xe0], edx
jle 0x1403028cc
cmp r10d, 1
je 0x140307afe
cmp qword [r12 + 0x18], 0
jne 0x1403029aa
cmp byte [r11 + 0x6d], 0
je 0x1403029aa
mov eax, 1
mov r15d, eax
cmp r10d, eax
jne 0x1403029b1
mov rsi, qword [rsp + 0x58]
mov edx, eax
mov rcx, rsi
call fcn.1402ff100
mov r15d, eax
test eax, eax
jne 0x140308011
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov byte [rsi + 0x65], 1
call fcn.140309150
cmp eax, 5
je 0x140307b15
mov r15d, dword [rbx + 0x34]
mov dword [rsp + 0x4c], r15d
test r15d, r15d
jne 0x140307b07
mov byte [rsi + 0x6d], r15b
mov r11, rsi
mov r15d, 1
jmp 0x140302ab6
movzx ecx, byte [rax + rbx + 0x34f200]
movzx eax, byte [rdx + rbx + 0x34f200]
cmp eax, ecx
jne 0x14030296d
inc r8
jmp 0x1403028a0
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x140302890
mov rbx, qword [rsp + 0x58]
lea rdx, str.no_such_savepoint:__s
mov rcx, rbx
mov r8, rsi
call fcn.1402ff9d0
mov rsi, qword [rsp + 0x78]
mov r15d, 1
mov r14, qword [rsp + 0x40]
jmp 0x140307660
xor ecx, ecx
mov r15d, ecx
jmp 0x1403029b3
xor ecx, ecx
mov eax, dword [r11 + 0x2f0]
sub eax, r13d
lea r13d, [rax - 1]
cmp r10d, 2
jne 0x140302a1c
mov r14d, dword [r11 + 0x2c]
mov edi, ecx
and r14d, 1
cmp dword [r11 + 0x28], 0
jle 0x140302a1f
mov esi, r14d
mov rbx, rcx
xor esi, 1
mov rcx, qword [r11 + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.1402b7cc0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x14030818a
mov r11, qword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x1403029e1
mov r10d, dword [rbp - 0x78]
xor ecx, ecx
jmp 0x140302a23
mov r14d, ecx
mov eax, dword [rsp + 0x4c]
cmp dword [r11 + 0x28], 0
mov edi, ecx
jle 0x140302a65
mov rbx, rcx
nop
mov rcx, qword [r11 + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rbx + rcx + 8]
call fcn.1402b6ea0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x14030818a
mov r11, qword [rsp + 0x78]
inc edi
mov r10d, dword [rbp - 0x78]
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x140302a30
test r14d, r14d
je 0x140302aa4
mov rcx, qword [r11 + 8]
test rcx, rcx
je 0x140302a8e
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140302a73
mov rcx, r11
call fcn.1402f0f90
mov r11, qword [rsp + 0x78]
mov eax, dword [rsp + 0x4c]
or dword [r11 + 0x2c], 1
mov rdi, qword [rbp - 0x80]
test eax, eax
jne 0x1403081a5
movzx r14d, byte [rsp + 0x48]
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
je 0x140302af0
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.1402bd350
mov r11, qword [rsp + 0x78]
dec dword [r11 + 0x2f0]
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
jne 0x140302ac2
mov ebx, dword [rbp - 0x78]
cmp ebx, 1
jne 0x140302b22
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.1402bd350
test r15d, r15d
jne 0x140302b62
mov r11, qword [rsp + 0x78]
dec dword [r11 + 0x2f0]
jmp 0x140302b44
mov rax, qword [r12 + 8]
mov qword [r11 + 0x2f8], rax
mov rax, qword [r12 + 0x10]
mov qword [r11 + 0x300], rax
test r15d, r15d
je 0x140302b44
cmp ebx, 2
jne 0x140302b62
mov r8d, r13d
mov edx, ebx
mov rcx, r11
call fcn.14030df90
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140302b67
mov r15d, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 0xc7], 3
jne 0x140300199
mov r8, qword [rsp + 0x78]
mov r15d, 0x65
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x70]
jmp 0x14030836a
mov rcx, qword [rsp + 0x40]
mov dword [rbp - 0x44], edx
mov edx, dword [rcx + 8]
test edx, edx
je 0x140302bb9
mov rax, qword [r13 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x140307b61
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [r13 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140302d36
cmp byte [rbx + 0x11], 0
jne 0x140302c30
movzx eax, byte [rbx + 0x10]
test al, al
je 0x140302c30
cmp al, 1
jne 0x140302be8
test edx, edx
jne 0x140302c30
mov r8, qword [rbx + 8]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rbp - 0x44], eax
test edx, edx
je 0x140302c25
mov rax, qword [rbx]
mov rcx, qword [r8]
mov edx, dword [rax + 0x2f0]
cmp edx, dword [rcx + 0x80]
jle 0x140302c21
cmp byte [rcx + 0xa], 0
je 0x140302c21
call fcn.1402999a0
jmp 0x140302c3c
xor eax, eax
jmp 0x140302c3c
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x140302c50
lea r8, [rbp - 0x44]
mov rcx, rbx
call fcn.1402319f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307b87
mov r9, qword [rsp + 0x60]
test byte [rsi + 0xc8], 0x20
mov r12, qword [rsp + 0x40]
je 0x140302d42
cmp dword [r12 + 8], 0
je 0x140302d42
cmp byte [r13 + 0x65], 0
je 0x140302c83
cmp dword [r13 + 0xdc], 1
jle 0x140302d42
mov r8d, dword [rsi + 0x40]
test r8d, r8d
jne 0x140302ca5
inc dword [r13 + 0x2f4]
mov r8d, dword [r13 + 0x2f4]
add r8d, dword [r13 + 0x2f0]
mov dword [rsi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.14030df90
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140302d19
mov edi, dword [rsi + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x140302cd9
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x140302cd9
mov rcx, rbx
call fcn.140232d50
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x140302cf3
cmp byte [rcx + 0xa], 0
je 0x140302cf3
mov edx, edi
call fcn.1402999a0
jmp 0x140302cf5
xor eax, eax
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x4c], eax
je 0x140302d10
sub dword [rbx + 0x14], 1
jne 0x140302d10
mov rcx, rbx
call fcn.14031cda0
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov rax, qword [r13 + 0x2f8]
mov r9, qword [rsp + 0x60]
mov qword [rsi + 0x58], rax
mov rax, qword [r13 + 0x300]
mov qword [rsi + 0x60], rax
jmp 0x140302d39
mov r12, rcx
test r15d, r15d
jne 0x140307a38
cmp word [r12 + 2], 0
je 0x140300ad0
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x44], eax
jne 0x140307bcf
mov rax, qword [rsp + 0x40]
mov rcx, qword [r14 + 0x18]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x140307bcf
mov r12, qword [rsp + 0x40]
jmp 0x140300ad0
mov rcx, qword [r13 + 0x20]
lea r8, [rbp - 0x30]
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402b4f20
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x140302dd1
call fcn.140299190
mov rcx, rax
movsxd rax, dword [rbp - 0x30]
mov qword [rcx], rax
jmp 0x14030019e
movsxd rax, dword [rbp - 0x30]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x14030019e
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1402b7dd0
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x140302f00
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movzx eax, word [rax + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rax, r12
or dword [r13 + 0x2c], 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x140302eb1
nop dword [rax]
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], 0
jne 0x140302ea9
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x140302ea9
xor r12d, r12d
nop word [rax + rax]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.1402477b0
mov qword [rbx + 0x30], r12
mov rcx, r13
mov rdx, qword [rbx + 0x38]
call fcn.1402477b0
mov qword [rbx + 0x38], r12
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140302e80
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140302e60
mov rdi, qword [rbp - 0x80]
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 4], 1
jne 0x140302ef2
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140302eeb
nop dword [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140302ed0
and dword [rsi + 0xc8], 0xfffffffc
test r15d, r15d
jne 0x140307653
jmp 0x14030019e
cmp eax, 2
jne 0x140302eb5
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
jmp 0x140302eb5
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x140302f48
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
cmp dword [rdi + 0x44], eax
jne 0x140302f48
mov rcx, qword [rdi + 0x30]
call fcn.1402b3c70
jmp 0x14030305a
mov rdi, qword [rbp - 0x80]
mov eax, dword [rsi + 0xc8]
and al, 3
cmp al, 1
je 0x140307c66
mov rax, qword [rsp + 0x40]
mov edi, edx
mov r14, rdx
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x140302fae
mov rcx, qword [rsp + 0x40]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and esi, 8
mov rax, qword [rsp + 0x58]
or esi, 4
cmp cl, byte [rax + 0xc5]
jae 0x140302fb0
mov byte [rax + 0xc5], cl
jmp 0x140302fb0
mov esi, edx
mov rcx, qword [rsp + 0x40]
test byte [rcx + 2], 0x10
je 0x140302fd2
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14030a5e0
mov rcx, qword [rsp + 0x40]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x140302fe5
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x140302fec
cmp al, 0xfd
jne 0x140302fec
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov r8d, edi
call fcn.14022bf30
mov rdi, rax
test rax, rax
je 0x140308176
mov byte [rax + 1], r12b
mov r9, r14
mov byte [rax + 2], 1
mov r8d, esi
or dword [rax + 8], 4
mov edx, r15d
mov dword [rax + 0x44], r15d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1402b4890
mov rsi, qword [rsp + 0x58]
mov r15d, eax
mov qword [rdi + 0x38], r14
movzx r14d, byte [rsp + 0x48]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 1], 0xf8
setne al
mov byte [rdi + 4], al
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r15d, r15d
jne 0x140307a4f
jmp 0x140300199
mov r15, qword [rsp + 0x40]
xor r9d, r9d
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 8]
mov edx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
movsx r8d, word [rbx + 0x48]
call fcn.14022bf30
mov r10, rax
test rax, rax
je 0x140301dec
mov byte [rax + 2], 1
mov r8d, 4
mov edx, dword [rax + 8]
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
mov ecx, edx
movzx eax, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 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 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1402b4890
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x140300199
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x140303147
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edx
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140352fb8]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r15 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14030319b
test byte [rbx + 8], 8
jne 0x14030319b
movsx eax, word [rbx + 0x48]
cmp dword [r15 + 8], eax
jg 0x14030319b
xor r13d, r13d
xor r8d, r8d
mov qword [rbx + 0x18], r13
mov dword [rbx + 0x20], r13d
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.1402b3d30
mov dword [rsp + 0x4c], eax
mov r15d, eax
mov dword [rbp - 0x70], eax
test eax, eax
jne 0x140304080
xor edx, edx
jmp 0x140303301
mov r8d, dword [r15 + 8]
xor r9d, r9d
mov rcx, rsi
call fcn.14022bf30
mov rbx, rax
test rax, rax
je 0x140301dec
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r15 + 2]
mov r8, r13
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.1402b62d0
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x11], al
jne 0x14030322b
cmp byte [rcx + 0x10], 2
jb 0x14030322b
mov rax, qword [rcx]
mov edx, dword [rax + 0x2f0]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x140303223
cmp byte [rcx + 0xa], r15b
je 0x140303223
call fcn.1402999a0
lea r12d, [r15 + 1]
jmp 0x14030323c
xor eax, eax
lea r12d, [rax + 1]
jmp 0x14030323c
mov r12d, 1
xor r8d, r8d
mov edx, r12d
call fcn.1402319f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x1403032d7
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax + 0x10]
mov qword [rbx + 0x38], rsi
test rsi, rsi
je 0x1403032a7
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1402b4820
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x1403032a1
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 4]
mov edx, dword [rbx + 0x44]
mov r9, rsi
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1402b4890
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov byte [rbx + 4], 0
jmp 0x1403032d2
mov dword [rbx + 0x44], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1402b4890
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov byte [rbx + 4], 1
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
xor edx, edx
mov ecx, edx
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 r15d, r15d
jne 0x140307c76
mov byte [rbx + 2], 1
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov r15, qword [rsp + 0x40]
mov r9b, 1
mov rcx, rsi
mov r8d, dword [r15 + 8]
mov edx, dword [r15 + 4]
call fcn.14022bf30
test rax, rax
je 0x140301dec
mov rcx, qword [r15 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [r15 + 0xc]
call fcn.14030c8e0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
xor edx, edx
test rcx, rcx
jne case.0x1402ffb8a.89
jmp 0x14030158e
mov rax, qword [rsp + 0x40]
mov r9b, 3
mov rcx, rsi
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14022bf30
test rax, rax
je 0x140301dec
mov rcx, qword [rsp + 0x40]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x140473674]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14030340f
mov rcx, rsi
call fcn.140308fd0
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
xor edx, edx
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], rdx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsi + 0x78]
mov r12d, edx
mov r15, qword [rsp + 0x40]
movsxd rcx, dword [r15 + 4]
mov rsi, qword [rax + rcx*8]
mov byte [rsi + 2], 0
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], edx
cmp byte [rsi + 4], 0
je 0x140303561
movsxd rax, dword [r15 + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x140303490
xor edx, edx
mov rcx, rdi
call fcn.14022e9c0
mov rcx, rdi
call fcn.1401fc260
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14030352f
test cl, 8
jne 0x14030350d
test cl, 1
jne 0x140306f13
cmp ebx, 0x17
jae 0x140306f13
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x1403034e4
test byte [rcx + 1], 8
je 0x1403034e4
xor edx, edx
mov dword [rbp - 0x68], edx
mov r15d, edx
mov dword [rsp + 0x4c], edx
jmp 0x140303ecf
lea rdx, [rbp - 0x68]
call fcn.140232c80
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
xor edx, edx
cmp dword [rbp - 0x68], 0
jne 0x14030391e
jmp 0x14030371d
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.1402e33a0
test eax, eax
jle 0x140303526
test bl, 1
jne 0x14030352f
dec ebx
jmp 0x14030352f
jns 0x14030352f
test bl, 1
je 0x14030352f
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp - 0x68]
xor r8d, r8d
mov rdx, r15
call fcn.1402b7490
mov qword [rsi + 0x50], r15
mov r15d, eax
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x140307a4f
lea esi, [rax + 1]
jmp 0x1403035f2
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov ecx, dword [r15 + 0x10]
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0x1a0]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x1a0], rax
mov esi, 1
mov word [rbp + 0x1bc], cx
lea eax, [rbx - 1]
setne r12b
mov ecx, 0xffffffff
test al, 1
mov eax, esi
cmovne eax, ecx
mov byte [rbp + 0x1be], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1c2], 0
add rcx, r11
mov qword [rbp + 0x1a8], rcx
mov rcx, qword [rdi]
call fcn.1402b5010
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
test r14b, r14b
je 0x1403035f2
cmp byte [rbp + 0x1c2], al
je 0x1403034fc
mov eax, dword [rbp - 0x68]
cmp ebx, 0x17
jl 0x1403036a4
test eax, eax
js 0x140303613
jne 0x140303609
cmp ebx, 0x18
je 0x140303613
xor edx, edx
mov dword [rbp - 0x68], edx
jmp 0x14030371d
mov rcx, qword [rdi]
xor r13d, r13d
mov dword [rbp - 0x68], r13d
mov word [rcx + 0x46], r13w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r13b
je 0x140303632
call fcn.140232f20
jmp 0x140303671
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 0x140303658
mov word [rcx + 0x56], r8w
call fcn.140232f20
jmp 0x140303671
cmp byte [rdx + 8], r13b
je 0x14030366c
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x4c], edx
jmp 0x14030371d
call fcn.140294540
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x14030371b
cmp eax, 0x65
jne 0x140303ea6
mov r12, qword [rsp + 0x40]
xor edx, edx
mov r9, qword [rsp + 0x60]
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov dword [rbp - 0x68], esi
jmp 0x14030158e
test eax, eax
jg 0x1403036c3
jne 0x1403036af
cmp ebx, 0x15
je 0x1403036c3
mov rax, qword [rdi]
xor edx, edx
mov ecx, edx
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x68], ecx
jmp 0x1403034fe
mov rcx, qword [rdi]
xor r13d, r13d
mov dword [rbp - 0x68], r13d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r13w
cmp byte [rcx], r13b
jne 0x140303703
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x140303703
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r13b
je 0x140303703
dec dx
mov word [rcx + 0x56], dx
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x4c], edx
jmp 0x14030371d
call fcn.140233790
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x14030371b
cmp eax, 0x65
jmp 0x140303683
xor edx, edx
mov r11, qword [rsp + 0x68]
test r12d, r12d
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
je 0x140304463
mov rsi, qword [rsp + 0x58]
add r12, 0x18
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x1403000e4
mov rcx, qword [rsp + 0x40]
mov rax, qword [rdi + 0x38]
mov qword [rbp + 0x238], rax
mov byte [rbp + 0x256], 0
movzx eax, word [rcx + 0x28]
mov esi, dword [rcx + 4]
mov word [rbp + 0x254], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x240], rcx
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1402879b0
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x140307c8d
mov qword [rbp + 0xe0], r13
xor r9d, r9d
mov word [rbp + 0xdc], r9w
mov dword [rbp + 0xe8], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14030380a
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xd0], rax
cmp ecx, edx
ja 0x14030382d
mov edx, 0x4010
mov dword [rbp + 0xd8], ecx
mov word [rbp + 0xdc], dx
jmp 0x140303859
mov r8d, ecx
lea r9, [rbp + 0xc8]
mov rcx, rbx
xor edx, edx
call fcn.14030a2f0
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov ecx, dword [rbp + 0xd8]
mov rax, qword [rbp + 0xd0]
xor r9d, r9d
lea r8, [rbp + 0x238]
mov rdx, rax
call fcn.14030b800
cmp dword [rbp + 0xe8], 0
mov ebx, eax
je 0x140303882
lea rcx, [rbp + 0xc8]
call fcn.140320c80
xor edx, edx
mov dword [rsp + 0x4c], edx
mov r15d, edx
test ebx, ebx
jle 0x14030389c
mov rax, qword [rsp + 0x40]
cmp word [rax + 2], dx
je 0x140303911
test ebx, ebx
jns 0x14030665c
test esi, esi
jle 0x14030446d
mov dword [rdi + 0x20], edx
dec esi
mov rcx, qword [rdi + 0x30]
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], dl
je 0x1403038c6
call fcn.140232f20
jmp 0x1403038fb
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 0x1403038ec
mov word [rcx + 0x56], r8w
call fcn.140232f20
jmp 0x1403038fb
cmp byte [rdx + 8], r15b
jne 0x1403037b0
call fcn.140294540
mov r15d, eax
test eax, eax
je 0x1403037b0
cmp eax, 0x65
jne 0x140307a4f
xor edx, edx
add qword [rsp + 0x40], 0x18
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov r12, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
jmp 0x14030158e
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x40]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x14030396b
mov word [rdx + 0xc], ax
mov r12, qword [rsp + 0x40]
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x140300ae0
mov word [rdx + 0xc], ax
xor edx, edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x1402ffb8a.9
cmp byte [rdx + 2], 0
je 0x140303952
jmp case.0x1402ffb8a.9
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x1402ffb8a.89
mov rax, qword [rsi + 0x78]
mov r15, qword [rsp + 0x40]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0xa8], rcx
movzx eax, word [r15 + 0x10]
mov word [rbp + 0xbc], ax
test ax, ax
je 0x140303a48
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0xa0], rax
lea rdx, [rbp + 0xa0]
mov byte [rbp + 0xbe], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.1402b5010
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x140303abc
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x140303a60
call fcn.14030a1c0
test eax, eax
jne 0x140301dec
mov rcx, qword [rbx + 0x38]
call fcn.1402feec0
mov rdi, rax
test rax, rax
je 0x140301de8
mov rdx, qword [rbp + 0xa8]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.14030c030
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.1402b5010
mov rdx, rdi
mov dword [rsp + 0x4c], eax
mov rcx, r13
mov r15d, eax
call fcn.1402bd350
mov rdi, qword [rbp - 0x80]
test r15d, r15d
jne 0x140307a38
mov ecx, dword [rsi]
test ecx, ecx
setne al
xor edx, edx
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x40]
mov byte [rbx + 3], r15b
mov dword [rbx + 0x20], edx
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x140303af6
test ecx, ecx
je 0x14030391e
mov rsi, qword [rsp + 0x58]
jmp 0x140303305
test ecx, ecx
jne 0x14030391e
cmp al, 0x1b
jne 0x140303b3f
mov rcx, rdx
movzx edx, word [rbp + 0xbc]
test rdx, rdx
je 0x140304457
mov rax, qword [rbp + 0xa8]
add rax, 0x14
test byte [rax], 1
jne 0x140306f18
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x140303b20
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
cmp byte [r12], 0x1a
jne 0x140304463
movzx eax, word [r12 + 0x10]
mov rsi, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov word [rbx + 0xc], ax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne case.0x1402ffb8a.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x200], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x210], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x220], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x230], xmm1
test al, 4
jne 0x140303c01
test al, 0x28
jne 0x140303bf3
test al, 2
je 0x140303c01
mov edx, 1
lea rcx, [rbp + 0x200]
call fcn.14022e9c0
mov r9, qword [rsp + 0x60]
jmp 0x140303bff
lea rcx, [rbp + 0x200]
call fcn.140309760
xor edx, edx
test byte [rbp + 0x214], 4
je 0x1403078bd
mov rdi, qword [rbp + 0x200]
jmp 0x140303c28
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
mov rax, qword [rsp + 0x40]
lea r9, [rbp - 0x70]
mov dword [rbp - 0x70], edx
xor r8d, r8d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1402b7490
mov qword [rbx + 0x50], rdi
xor edx, edx
mov byte [rbx + 2], 0
mov r15d, eax
mov dword [rbx + 0x20], edx
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp - 0x70]
mov byte [rbx + 3], dl
mov dword [rbx + 0x24], eax
test eax, eax
je 0x140303c8a
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 8], edx
je 0x140307cd7
mov r9, qword [rsp + 0x60]
jmp 0x14030158e
test r15d, r15d
jne 0x140307a4f
jmp 0x140303305
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x140303cc6
mov rcx, rdx
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rdx, rax
jmp 0x140303ccc
mov word [rdx + 0x14], 4
mov rax, qword [rsi + 0x78]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rbx
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140300ad6
mov r13, qword [rsp + 0x40]
mov rbx, rdx
mov qword [rbp - 0x70], rdx
mov dword [rbp - 0x78], edx
movsxd rax, dword [r13 + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [rsi + 0x68]
test word [r14 + 0x14], ax
je 0x140303d30
mov rcx, r14
call fcn.140299190
mov r14, rax
xor edx, edx
jmp 0x140303d37
mov word [r14 + 0x14], 4
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x140303db4
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x140303d8c
test byte [rcx + 1], 8
je 0x140303d8c
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1402879b0
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x70], rbx
cmp rbx, r12
jl 0x140303e00
or dword [rsi + 8], 2
jmp 0x140303dbe
lea rdx, [rbp - 0x78]
call fcn.140232c80
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x14030819d
cmp dword [rbp - 0x78], eax
je 0x140303d5f
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x70], rax
movabs r12, 0x7fffffffffffffff
mov rax, r13
movsxd rax, dword [rax + 0xc]
test eax, eax
je 0x140303e41
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x108]
test rcx, rcx
je 0x140303e09
mov rax, qword [rcx + 8]
test rax, rax
je 0x140303def
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140303de3
mov rax, r13
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140303e12
inc rbx
mov qword [rbp - 0x70], rbx
jmp 0x140303dbe
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14030a5e0
mov rax, qword [rdi]
cmp rax, r12
je 0x140307d1f
test byte [rsi + 8], 2
jne 0x140307d1f
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x140303ec3
xor r13d, r13d
mov edi, r13d
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.1402261b0
mov rbx, qword [rbp - 0x70]
lea r9, [rbp - 0x78]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x70], rbx
call fcn.1402b7490
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140303ea6
cmp dword [rbp - 0x78], r13d
jne 0x140303ec3
inc edi
cmp edi, 0x64
jl 0x140303e51
lea r15d, [rax + 0xd]
mov rsi, qword [rsp + 0x78]
mov eax, 0xb
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
jmp 0x140307668
mov byte [rsi + 3], 0
xor edx, edx
mov dword [rsi + 0x20], edx
mov qword [r14], rbx
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
movzx r14d, byte [rsp + 0x48]
jmp 0x14030330f
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 8]
movsxd rcx, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
mov qword [rbp + 0x140], rax
cmp byte [r15 + 1], 0xfb
jne 0x140303f42
cmp qword [r13 + 0x140], 0
je 0x140303f42
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [r15 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
xor ecx, ecx
jmp 0x140303f48
xor ecx, ecx
mov edi, ecx
mov esi, ecx
test byte [r15 + 2], 1
je 0x140303f6a
mov rax, qword [rsp + 0x58]
inc qword [rax + 0x38]
test byte [r15 + 2], 0x20
je 0x140303f6a
mov rax, qword [rbp + 0x140]
mov qword [r13 + 0x38], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x148], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x15c], eax
test byte [r15 + 2], 0x10
je 0x140303f8b
mov r9d, dword [rbx + 0x24]
jmp 0x140303f8e
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140303fa3
mov eax, dword [rdx]
mov dword [rbp + 0x160], eax
jmp 0x140303fa9
mov dword [rbp + 0x160], ecx
mov qword [rbp + 0x138], rcx
lea rdx, [rbp + 0x138]
movzx r8d, word [r15 + 2]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1402b55f0
inc dword [rbp - 0x58]
xor edx, edx
mov byte [rbx + 3], 0
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x140307a4f
test rdi, rdi
je 0x14030446d
mov rax, qword [rsp + 0x40]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r13 + 0x138]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x140]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x140]
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov r15, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x78]
movsxd rax, dword [r15 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r15 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r15 + 0xc]
test eax, eax
je 0x14030405e
imul rcx, rax, 0x38
xor r13d, r13d
mov r8, qword [rcx + r11]
jmp 0x140304064
xor r13d, r13d
mov r8d, r13d
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1402b7710
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x140300199
mov rsi, qword [rsp + 0x78]
mov eax, 0xb
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
jmp 0x140307668
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfb
mov r15d, dword [rax + 8]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x1403040ff
cmp qword [r13 + 0x140], 0
je 0x1403040ff
movsx rcx, byte [rdi + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x140304106
cmp byte [rdi + 4], 0
je 0x140304106
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1402879b0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x40]
mov qword [rdi + 0x50], rax
jmp 0x140304106
xor eax, eax
mov r14d, eax
mov esi, eax
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x30]
call fcn.1402b4920
inc dword [rbp - 0x58]
xor edx, edx
mov dword [rdi + 0x20], edx
mov dword [rdi + 0x24], edx
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x14030818a
test r15b, 1
je 0x14030442d
mov rax, qword [rsp + 0x58]
inc qword [rax + 0x38]
mov r10, qword [r13 + 0x140]
test r10, r10
je 0x14030442d
test rsi, rsi
je 0x14030442d
test byte [rsi + 0x30], 0x80
jne 0x14030442d
mov rax, qword [rdi + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov r15d, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov rax, qword [rsi + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
mov qword [rsi + 0x38], rdx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
mov ebx, dword [rbx + 0x10]
imul r15, rax, 0x38
mov rdi, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
add r15, r11
mov r14, qword [rdi + 0x30]
test r14, r14
jne 0x140304204
mov rcx, rsi
call fcn.1402feec0
mov qword [rdi + 0x30], rax
mov r14, rax
test rax, rax
je 0x140304322
mov word [rax + 0x1c], bx
cmp byte [rdi + 0x58], 0
je 0x140304240
cmp byte [rdi + 0x59], 0
je 0x14030421e
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x140304248
mov rdx, qword [rdi + 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]
lea rdx, [rax + 0x14]
jmp 0x140304248
mov rdx, qword [rdi + 0x38]
lea r8, [rdx + 0x10]
mov edx, dword [rdx]
mov r9, r14
mov rcx, rsi
call fcn.14030c030
xor edx, edx
mov ecx, edx
test ebx, ebx
jle 0x140304278
mov rax, qword [r14 + 8]
add rax, 0x14
test byte [rax], 1
jne 0x140303917
inc ecx
add rax, 0x38
cmp ecx, ebx
jl 0x140304265
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov ecx, dword [r15 + 0x10]
mov r8, r14
call fcn.14030b800
xor edx, edx
mov dword [rsp + 0x4c], edx
mov r15d, edx
test eax, eax
jne 0x14030391e
mov dword [rsp + 0x4c], edx
jmp 0x140303ecf
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rbx, r11
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x140304301
cmp byte [rax + 0x59], 0
je 0x1403042df
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x140304309
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]
lea rdi, [rax + 0x14]
jmp 0x140304309
mov rdi, qword [rax + 0x38]
lea rsi, [rdi + 0x10]
movsxd rdi, dword [rdi]
cmp dword [rbx + 0x20], edi
jge 0x140304336
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14030a460
test eax, eax
je 0x140304343
mov r14, qword [rsp + 0x40]
mov r15d, 7
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov ecx, 0xf250
movzx eax, word [rbx + 0x14]
mov r8, rdi
and ax, cx
mov rdx, rsi
or ax, 0x10
mov word [rbx + 0x14], ax
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x40]
xor edx, edx
mov rsi, qword [rsp + 0x58]
mov r15d, edx
mov dword [rsp + 0x4c], edx
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edx
jmp 0x140303305
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x1403043b9
mov rcx, rbx
call fcn.140299190
mov rbx, rax
jmp 0x1403043bf
mov word [rbx + 0x14], 4
movsxd rcx, dword [r15 + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1402879b0
mov edx, dword [rdi + 0x40]
cmp edx, dword [r13 + 0x88]
ja 0x140307d3d
mov r8, rbx
mov rcx, rdi
call fcn.14030a400
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 0xc], eax
jne 0x14030445c
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14030445c
mov rcx, rbx
call fcn.14030a670
test eax, eax
jne 0x140301de8
jmp 0x14030019e
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
movzx r14d, byte [rsp + 0x48]
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
jmp 0x14030330f
mov r15d, dword [rsp + 0x4c]
movzx r14d, byte [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
xor edx, edx
mov rsi, qword [rsp + 0x58]
jmp 0x14030330f
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
jmp 0x14030330f
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x1403044b1
mov rcx, rdi
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rdi, rax
xor edx, edx
jmp 0x1403044b7
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1403044f0
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov word [rdi + 0x14], 1
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
cmp byte [rbx + 3], 0
je 0x140304506
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x20], rax
mov qword [rdi], rax
jmp 0x140300199
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x140304543
mov rbx, qword [rcx]
lea rdx, [rbp - 0x20]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, rsi
mov r15d, eax
mov dword [rsp + 0x4c], eax
call fcn.14030dc30
test r15d, r15d
jne 0x140307a4f
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
jmp 0x140300199
cmp byte [rcx], 0
je 0x140304563
mov rcx, rbx
call fcn.1403094f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
xor edx, edx
jmp 0x14030456a
mov r15d, edx
mov dword [rsp + 0x4c], edx
cmp byte [rbx + 2], 0
je 0x14030457b
mov word [rdi + 0x14], 1
jmp 0x140303305
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1402879b0
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x20], rax
mov qword [rdi], rax
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x1403045df
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, rsi
call fcn.14022bf30
test rax, rax
je 0x140301dec
xor edx, edx
lea rcx, [0x140473674]
mov dword [rax + 0x24], edx
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
jmp 0x1403045e1
xor edx, edx
mov byte [rax + 2], 1
mov dword [rax + 0x20], edx
cmp byte [rax], 0
jne 0x140304878
mov rcx, qword [rax + 0x30]
call fcn.1402b3c70
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov dword [rbp - 0x70], edx
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov eax, edx
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x1403046b4
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x1403046aa
lea rdx, [rbp - 0x70]
call fcn.140232c80
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp - 0x70]
xor edx, edx
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
test r15d, r15d
jne 0x140307a4f
mov r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
cmp dword [r12 + 8], 0
jle 0x14030009c
test eax, eax
jne 0x140304861
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
jmp 0x14030330f
xor edx, edx
mov r12, qword [rsp + 0x40]
jmp 0x14030330f
cmp byte [rcx], 0
jne 0x140304632
test byte [rcx + 1], 8
je 0x140304632
mov byte [rdi + 2], dl
mov r15d, edx
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
mov dword [rsp + 0x4c], edx
jmp 0x14030465f
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140294950
mov r15d, eax
test eax, eax
jne 0x140304710
xor eax, eax
mov rcx, rbx
mov r13d, eax
call fcn.140294540
mov r15d, eax
jmp 0x140304725
cmp eax, 0x10
jne 0x140304721
mov dword [rbp - 0x48], 1
jmp 0x140306653
mov r13d, dword [rbp - 0x48]
mov dword [rbp - 0x48], r13d
test r15d, r15d
jne 0x140307a38
mov dword [rsp + 0x4c], r15d
test r13d, r13d
jne 0x140306f18
mov rcx, rbx
call fcn.1402b6e40
test rax, rax
js 0x14030477a
mov rcx, rax
call fcn.1402e4d70
mov r12, qword [rsp + 0x40]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14030477f
mov r9, qword [rsp + 0x60]
mov dword [rbp - 0x48], 1
mov dword [rsp + 0x4c], r15d
jmp 0x14030158c
mov r12, qword [rsp + 0x40]
mov dword [rbp - 0x48], r13d
mov dword [rsp + 0x4c], r15d
jmp 0x14030019e
inc dword [rsi + 0xdc]
mov rax, qword [rsp + 0x40]
mov r15d, 1
mov edi, r15d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], dil
jne 0x14030480e
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x4c], edx
jne 0x1403047e0
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x1403047dc
xor eax, eax
lea rcx, [rbx + 0x60]
mov edi, eax
call fcn.140323730
mov dword [rsp + 0x4c], eax
xor edx, edx
jmp 0x140304837
mov rcx, rbx
call fcn.140322760
mov edx, eax
mov rcx, rbx
call fcn.1403228d0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x14030480a
mov rcx, rbx
call fcn.140323460
mov dword [rsp + 0x4c], eax
xor eax, eax
mov edi, eax
xor edx, edx
jmp 0x140304837
mov rcx, rbx
call fcn.140294950
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x14030486b
xor eax, eax
mov rcx, rbx
mov edi, eax
call fcn.140294540
mov dword [rsp + 0x4c], eax
xor edx, edx
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], edx
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
jne 0x140307a4f
mov r12, qword [rsp + 0x40]
mov byte [rsi + 2], dil
cmp dword [r12 + 8], r15d
jle 0x140300097
test edi, edi
je 0x140300097
mov r9, qword [rsp + 0x60]
jmp 0x14030158c
cmp eax, 0x10
jne 0x14030482e
xor edx, edx
mov dword [rsp + 0x4c], edx
jmp 0x140304830
mov r12, qword [rsp + 0x40]
jmp 0x14030009c
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0x58], 0
je 0x14030491c
cmp byte [rdi + 0x59], 0
je 0x1403048e5
mov rcx, qword [rdi + 0x10]
call fcn.1403219a0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x140304965
mov rax, qword [rdi + 0x10]
cmp qword [rax + 0x18], 0
jne 0x140304965
mov rbx, qword [rsp + 0x40]
mov ecx, 0x65
mov rdi, qword [rbp - 0x80]
mov r15d, ecx
mov dword [rsp + 0x4c], ecx
jmp 0x140304a3e
mov rcx, qword [rdi + 0x18]
mov dword [rbp - 0x70], edx
lea rdx, [rbp - 0x70]
call fcn.140321340
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x140304965
cmp dword [rbp - 0x70], eax
je 0x140304965
mov rbx, qword [rsp + 0x40]
mov ecx, 0x65
mov rdi, qword [rbp - 0x80]
mov r15d, ecx
mov dword [rsp + 0x4c], ecx
jmp 0x140304a3e
mov rdx, qword [rdi + 0x38]
xor r14d, r14d
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r14
cmp qword [rdi + 0x40], r14
jne 0x140304954
nop word [rax + rax]
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.1402bd350
mov rdx, rbx
test rbx, rbx
jne 0x140304940
cmp qword [rdi + 0x38], r14
mov ecx, 0x65
cmovne ecx, r14d
mov dword [rsp + 0x4c], ecx
mov r15d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140304a3e
mov rax, qword [rsi + 0x78]
mov rbx, qword [rsp + 0x40]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], dx
cmp byte [rcx], 0
jne 0x1403049c8
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1403049c8
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x1403049c8
dec dx
xor eax, eax
mov word [rcx + 0x56], dx
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov dword [rsi + 0x20], eax
jmp 0x140304a48
call fcn.140233790
jmp 0x140304a37
mov rax, qword [rsi + 0x78]
mov rbx, qword [rsp + 0x40]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x1403049f8
call fcn.140232f20
jmp 0x140304a37
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 0x140304a1e
mov word [rcx + 0x56], r8w
call fcn.140232f20
jmp 0x140304a37
cmp byte [rdx + 8], 0
je 0x140304a32
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov dword [rsi + 0x20], eax
jmp 0x140304a48
call fcn.140294540
mov dword [rsp + 0x4c], eax
mov r15d, eax
xor edx, edx
mov dword [rsi + 0x20], edx
test r15d, r15d
jne 0x140304a61
mov rcx, qword [rsp + 0x58]
mov byte [rsi + 2], 0
movzx eax, word [rbx + 2]
inc dword [rcx + rax*4 + 0xd4]
jmp case.0x1402ffb8a.9
cmp r15d, 0x65
jne 0x140307a38
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov byte [rsi + 2], 1
jmp 0x14030710e
mov r15, qword [rsp + 0x40]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r15 + 2], 1
je 0x140304aa2
inc qword [rsi + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140304acc
mov rcx, rbx
call fcn.14030a1c0
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov r15, qword [rsp + 0x40]
xor edx, edx
mov r11, qword [rsp + 0x68]
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x2b8], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2b0], rax
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x2c8], rcx
movzx eax, word [r15 + 0x10]
mov word [rbp + 0x2d0], ax
movzx r8d, word [r15 + 2]
test r8b, 0x10
je 0x140304b11
mov r9d, dword [rdi + 0x24]
jmp 0x140304b14
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2b0]
and r8d, 0x8a
call fcn.1402b55f0
xor edx, edx
mov dword [rsp + 0x4c], eax
mov dword [rdi + 0x20], edx
mov r15d, eax
test eax, eax
jne 0x140307a4f
jmp 0x140303305
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140304b7e
mov rcx, rbx
call fcn.14030a1c0
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov rdx, rbx
mov rcx, rdi
call fcn.14030cd70
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
jmp 0x140300199
mov rax, qword [rsi + 0x78]
lea r8, [rbp - 0x2c]
mov r15, qword [rsp + 0x40]
lea rdx, [rbp + 0x288]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x288], rax
movzx eax, word [r15 + 0xc]
mov word [rbp + 0x2a4], ax
mov byte [rbp + 0x2a6], 0
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x290], rcx
mov rcx, rdi
call fcn.1402b5010
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
cmp dword [rbp - 0x2c], eax
jne 0x140304c34
mov dl, 4
mov rcx, rdi
call fcn.1402b4920
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov r12, qword [rsp + 0x40]
xor edx, edx
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x14030330a
mov r12, qword [rsp + 0x40]
cmp word [r12 + 2], 0
je 0x140304c55
mov eax, dword [r13 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x140307d6a
xor edx, edx
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x14030330a
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x140304c9c
mov rcx, rbx
call fcn.1403094f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
mov r9, qword [rsp + 0x60]
xor edx, edx
jmp 0x140304ca3
mov r15d, edx
mov dword [rsp + 0x4c], edx
cmp byte [rbx + 2], 0
jne 0x140304d4e
mov qword [rbp - 0x60], rdx
lea r8, [rbp - 0x60]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.140309550
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0x8d
jne 0x140304d11
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x60]
mov byte [rdx + 2], r15b
mov qword [rdx + 0x50], rax
xor eax, eax
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x140300199
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x140304d3c
call fcn.140299190
mov rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rcx], rax
jmp 0x140300199
mov rax, qword [rbp - 0x60]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140304d78
call fcn.140320cd0
jmp 0x140300199
mov r12, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov word [rcx + 0x14], 1
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1403000e4
call fcn.140308e60
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov r15, qword [rsp + 0x40]
cmp bl, 0x2a
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x260], rax
movzx eax, word [r15 + 0x10]
mov word [rbp + 0x27c], ax
sbb al, al
mov byte [rbp + 0x27e], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x268], rcx
mov rcx, rbx
call fcn.1402879b0
mov ecx, dword [rbx + 0x40]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffe
ja 0x140307d9d
mov qword [rbp + 0x118], r13
xor eax, eax
mov word [rbp + 0x114], ax
xor r13d, r13d
mov dword [rbp + 0x120], r13d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x140304e6c
test r8d, r8d
mov edx, r8d
cmovs edx, r13d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x108], rax
cmp ecx, edx
ja 0x140304e97
mov edx, 0x4010
mov dword [rbp + 0x110], ecx
mov word [rbp + 0x114], dx
mov r15d, r13d
mov dword [rsp + 0x4c], r13d
jmp 0x140304ec7
mov r8d, ecx
lea r9, [rbp + 0x100]
mov rcx, rbx
xor edx, edx
call fcn.14030a2f0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140304080
mov ecx, dword [rbp + 0x110]
mov rax, qword [rbp + 0x108]
xor r9d, r9d
lea r8, [rbp + 0x260]
mov rdx, rax
call fcn.14030b800
mov ebx, eax
cmp dword [rbp + 0x120], r13d
je 0x140304ef0
lea rcx, [rbp + 0x100]
call fcn.140320c80
mov r12, qword [rsp + 0x40]
test byte [r12], 1
jne 0x140304f00
neg ebx
jmp 0x140304f02
inc ebx
xor edx, edx
test ebx, ebx
jg 0x140306661
jmp 0x14030330a
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x140304f3a
mov rcx, rdi
call fcn.140299190
mov rdi, rax
xor edx, edx
mov word [rdi + 0x14], 1
mov eax, dword [r13 + 0xe8]
inc eax
cmp dword [r13 + 0xdc], eax
jg 0x140307db4
movsxd r14, dword [r15 + 0xc]
mov rax, qword [r13 + 0x20]
mov rcx, r14
mov esi, dword [r15 + 4]
shl rcx, 5
mov dword [rbp - 0x70], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x140304f88
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140304f88
mov rcx, rbx
call fcn.140232d50
lea r8, [rbp - 0x70]
mov edx, esi
mov rcx, rbx
call fcn.1402324b0
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x4c], eax
je 0x140304fb1
sub dword [rbx + 0x14], 1
jne 0x140304fb1
mov rcx, rbx
call fcn.14031cda0
movsxd rdx, dword [rbp - 0x70]
mov word [rdi + 0x14], 4
mov qword [rdi], rdx
test r15d, r15d
jne 0x140307a4f
test edx, edx
je 0x140305572
mov rax, qword [rsp + 0x40]
mov r9, r14
shl r9, 5
add r9, qword [r13 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140305005
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x140304ffd
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140304ff0
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140305027
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14030501f
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140305012
mov rsi, qword [rsp + 0x58]
inc r14b
mov byte [rbp - 0x64], r14b
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov r15, qword [rsp + 0x40]
lea r8, [rbp - 0x18]
mov qword [rbp - 0x18], rdx
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r15 + 8]
mov edx, dword [r15 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402b3d30
mov r12, qword [rsp + 0x40]
mov r15d, eax
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x4c], eax
cmp dword [r12 + 0xc], 0
je 0x14030509d
mov rax, qword [rbp - 0x18]
add qword [rsi + 0x38], rax
mov rax, r12
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14030509d
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x18]
add qword [rcx + r11], rax
test r15d, r15d
jne 0x140307a38
jmp 0x1403001a3
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1403050d2
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.14030cae0
jmp 0x140300199
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1402b3d30
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x140305124
mov rcx, rdi
call fcn.140299190
mov rdi, rax
xor edx, edx
jmp 0x14030512a
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x70], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x140305158
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140305158
mov rcx, rbx
call fcn.140232d50
mov r8d, esi
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140231fb0
cmp byte [rbx + 0x11], 0
mov r15d, eax
mov dword [rsp + 0x4c], eax
je 0x140305182
sub dword [rbx + 0x14], 1
jne 0x140305182
mov rcx, rbx
call fcn.14031cda0
test r15d, r15d
jne 0x140307a4f
mov eax, dword [rbp - 0x70]
mov rsi, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x140300199
inc byte [r13 + 0x70]
mov rax, qword [rsp + 0x40]
mov rbx, qword [r13 + 0x200]
movzx edi, byte [r13 + 0x6e]
mov qword [rbp - 0x60], rdx
cmp dword [rax + 4], 0
je 0x1403051c6
mov qword [r13 + 0x200], rdx
mov byte [r13 + 0x6e], 0
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, r13
xor r8d, r8d
call fcn.140223390
dec byte [r13 + 0x70]
mov r15d, eax
mov qword [r13 + 0x200], rbx
mov rbx, qword [rbp - 0x60]
mov dword [rsp + 0x4c], eax
mov byte [r13 + 0x6e], dil
test rbx, rbx
jne 0x140305208
test eax, eax
je 0x140300199
mov r8, rbx
lea rdx, [0x140354bc0]
mov rcx, rsi
call fcn.1402ff9d0
test rbx, rbx
je 0x140307dd8
cmp dword [0x14046b030], 0
je 0x140307dcf
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x140305242
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x140307dd8
call qword [0x14046b0c0]
jmp 0x140307dd8
mov r15, qword [rsp + 0x40]
cmp qword [r15 + 0x10], 0
movsxd rbx, dword [r15 + 4]
jne 0x1403052d8
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1402f2d30
and dword [r13 + 0x2c], 0xffffffef
lea r8, [rsi + 0xa8]
movzx r9d, word [r15 + 2]
mov edx, ebx
mov rcx, r13
call fcn.1402e15c0
or dword [r13 + 0x2c], 1
mov r15d, eax
and dword [rsi + 0xc8], 0xfffffffc
mov dword [rsp + 0x4c], eax
jmp 0x1403053ca
mov dword [rbp + 0x58], edx
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x48], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x40], r13
mov rdx, rbx
mov dword [rbp + 0x50], ebx
mov rax, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x60], ecx
mov rcx, r13
mov r8, qword [r13 + 0x20]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1402e5040
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x140307e06
xor eax, eax
mov byte [r13 + 0xc5], 1
lea r9, [rbp + 0x40]
mov dword [rbp + 0x54], eax
lea r8, [fcn.1402e12c0]
mov dword [rbp + 0x5c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140223390
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x1403053b7
mov r15d, dword [rbp + 0x54]
mov dword [rsp + 0x4c], r15d
test r15d, r15d
jne 0x1403053b7
cmp dword [rbp + 0x5c], r15d
jne 0x1403053b7
lea rax, [0x14035ce34]
mov r15d, 0xb
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x1834d
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140208410
mov dword [rsp + 0x4c], r15d
mov rdx, rbx
mov rcx, r13
call fcn.1402bd350
mov byte [r13 + 0xc5], 0
test r15d, r15d
je 0x140300199
mov rcx, r13
call fcn.1402f0f90
jmp 0x140307ddc
mov rax, qword [rsp + 0x40]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.1402b1160
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rax, qword [rsp + 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1402e07e0
test rax, rax
je 0x14030544d
cmp qword [r13 + 0x308], 0
jne 0x140305442
mov ecx, 0xffffffff
add dword [rax + 0x2c], ecx
jne 0x14030544d
mov rdx, rax
mov rcx, r13
call fcn.14023d510
or dword [r13 + 0x2c], 1
jmp 0x140300199
mov rax, qword [rsp + 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x40]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.1402e07e0
mov r8, rax
test rax, rax
je 0x14030544d
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, r8
jne 0x1403054a1
mov rcx, qword [r8 + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x1403054cb
test rcx, rcx
je 0x1403054cb
nop word [rax + rax]
lea rdx, [rcx + 0x28]
mov rcx, qword [rcx + 0x28]
cmp rcx, r8
je 0x1403054c4
test rcx, rcx
jne 0x1403054b0
jmp 0x1403054cb
mov rax, qword [r8 + 0x28]
mov qword [rdx], rax
mov rdx, r8
mov rcx, r13
call fcn.1402ca9c0
or dword [r13 + 0x2c], 1
jmp 0x140300199
mov rbx, qword [rsp + 0x40]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.1402e07e0
mov rbx, rax
test rax, rax
je 0x140300199
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14030555d
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.140243e90
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14030555d
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x14030555d
cmp rax, rbx
je 0x140305556
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x140305542
jmp 0x14030555d
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, r13
call fcn.1402be9d0
or dword [r13 + 0x2c], 1
jmp 0x140300199
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov r15, qword [rsp + 0x40]
lea r9, [rbp]
mov rdx, qword [r13 + 0x20]
mov qword [rsp + 0x30], r9
lea r9, [rbp - 0x28]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r15 + 0xc]
mov r8, qword [r15 + 0x10]
mov r9d, dword [r15 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
movzx eax, word [r15 + 2]
add rdi, r11
shl rax, 5
add rbx, r11
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.1402b5b30
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1403055f9
mov rcx, rbx
call fcn.140320cd0
jmp 0x1403055ff
mov word [rbx + 0x14], 1
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x140305639
test r15d, r15d
jne 0x140307e10
mov rdx, qword [rbp]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.140226070]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
call fcn.14030a950
test byte [rbx + 0x14], 2
jne 0x140305648
mov byte [rbx + 0x16], r14b
jmp 0x14030710e
cmp byte [rbx + 0x16], r14b
je 0x14030710e
movzx edx, r14b
mov rcx, rbx
call fcn.14030ad50
jmp 0x14030710e
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x140305694
mov rcx, rbx
call fcn.14030a850
test eax, eax
jne 0x140301de8
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1402f1a60
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
test byte [rdi + 0x14], 0x10
je 0x140305736
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1403056dd
test al, 1
jne 0x1403056d8
mov rcx, qword [rbx + 0x10]
call fcn.1402a63e0
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140305736
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1403056fe
mov rcx, rbx
call fcn.1402f1990
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsp + 0x68]
test word [rcx + 0x14], ax
je 0x140305728
mov rdx, rdi
call fcn.140321f60
jmp 0x14030710e
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x14030710e
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14030574e
mov rcx, rdi
call fcn.140320cd0
jmp case.0x1402ffb8a.9
mov word [rdi + 0x14], 1
jmp case.0x1402ffb8a.9
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x14030578d
mov rcx, rbx
call fcn.14030a850
test eax, eax
jne 0x140301de3
test esi, esi
je 0x1403057a9
mov r8, qword [rdi]
mov edx, esi
mov rcx, qword [rbx + 8]
call fcn.1402f1ad0
test eax, eax
jne 0x140306f18
test esi, esi
js 0x140300751
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1402f1a60
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r11
cmp word [rcx + 2], 0
je 0x140305804
mov rax, qword [rsi + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x140305804
cmp qword [rax + 0x30], rcx
je 0x1403078c7
mov rax, qword [rax + 8]
test rax, rax
jne 0x1403057f1
mov eax, dword [r13 + 0xb0]
cmp dword [rsi + 0x118], eax
jge 0x140307e27
test byte [r15 + 0x14], 0x10
jne 0x140305953
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x14030584b
add eax, 7
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, r13
movsxd rsi, r14d
mov rdx, rsi
call fcn.1402bd4e0
mov rbx, rax
test rax, rax
je 0x140301de3
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x14030588c
cmp dword [r15 + 0x20], 0
je 0x140305894
mov rcx, r15
call fcn.140320c80
mov rsi, qword [rsp + 0x58]
lea rax, [0x140308ed0]
mov rcx, qword [rsp + 0x40]
sub rcx, qword [rsp + 0x60]
mov word [r15 + 0x14], 0x1010
mov qword [r15 + 8], rbx
mov dword [r15 + 0x10], r14d
mov qword [r15 + 0x30], rax
mov qword [rbx], rsi
mov dword [rbx + 0x58], edi
mov eax, dword [r12 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
xor edx, edx
mov rax, qword [rsi + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [rsi + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [rsi + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [rsi + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [rsi + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x140305957
nop dword [rax + rax]
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rcx
jne 0x140305940
jmp 0x140305957
mov rbx, qword [r15 + 8]
inc dword [rsi + 0x118]
mov rax, qword [rsi + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [rsi + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [rsi + 0x128]
mov qword [rbx + 0x40], rax
mov qword [rsi + 0x128], rdx
mov qword [rsi + 0x38], rdx
lea rdx, [rbx + 0x70]
mov qword [rsi + 0x108], rbx
mov qword [rsi + 0x68], rdx
movsxd rcx, dword [rbx + 0x58]
mov dword [rsi + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [rsi + 0x28], eax
mov qword [rsp + 0x68], rdx
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [rsi + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x28], 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 sub.VCRUNTIME140.dll_memset
mov rcx, qword [r12]
mov r15d, dword [rsp + 0x4c]
mov qword [rsi + 0x88], rcx
mov eax, dword [r12 + 8]
mov qword [rsp + 0x60], rcx
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x40], rcx
mov dword [rsi + 0x90], eax
jmp 0x14030710e
mov rax, qword [rsp + 0x40]
mov r13d, 0x9000
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [rsi + 0x68]
test word [r9 + 0x14], r13w
je 0x140305a47
mov rcx, r9
call fcn.140299190
mov r9, rax
jmp 0x140305a4e
mov word [r9 + 0x14], 4
mov r8, qword [rsi + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x40]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x18]
test word [r9 + 0x14], r13w
je 0x140305a95
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.14031fbc0
jmp 0x140300199
movups xmm0, xmmword [rcx]
mov r12, qword [rsp + 0x40]
mov eax, 0x2000
mov r11, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 0x14], ax
jne 0x1402ffff4
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
jmp 0x1403001a8
mov eax, dword [r13 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x40]
mov r12, rax
jae 0x140305b0e
movsxd rax, dword [rax + 8]
add qword [r13 + 0x300], rax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x140305b31
add qword [r13 + 0x2f8], rax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
add qword [rsi + 0x50], rax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
cmp dword [r12 + 4], 0
je 0x140305b7d
cmp qword [r13 + 0x2f8], 0
jne case.0x1402ffb8a.89
cmp qword [r13 + 0x300], 0
je 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
cmp qword [rsi + 0x50], 0
jne case.0x1402ffb8a.89
cmp qword [r13 + 0x300], 0
je 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x140305bdf
mov rax, qword [rcx + 8]
test rax, rax
je 0x140305bcc
nop dword [rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140305bc0
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140305bef
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.14030a5e0
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14030a5e0
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x140300199
mov qword [rdi], rax
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x140300ae0
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x14030158c
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r11
imul r8, rax, 0x38
add rdi, r11
mov eax, 0x9000
add r8, qword [rsi + 0x68]
test word [r8 + 0x14], ax
je 0x140305ca1
mov rcx, r8
call fcn.140299190
mov r11, qword [rsp + 0x68]
mov r8, rax
mov r9, qword [rsp + 0x60]
jmp 0x140305ca8
mov word [r8 + 0x14], 4
mov rcx, qword [rbx]
test rcx, rcx
jle 0x140305ce6
mov rdx, qword [rdi]
mov eax, 0
test rdx, rdx
cmovle rdx, rax
test rdx, rdx
js 0x140305cd6
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jl 0x140305ce6
mov r12, qword [rsp + 0x40]
add rcx, rdx
mov qword [r8], rcx
jmp 0x140300adb
mov r12, qword [rsp + 0x40]
mov rcx, 0xffffffffffffffff
mov qword [r8], rcx
jmp 0x140300adb
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x1403000e4
mov r12, qword [rsp + 0x40]
jle 0x14030158e
dec rax
mov qword [rcx + r11], rax
jmp 0x14030158e
mov rax, qword [rsp + 0x40]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r8
jle 0x140305d52
dec rax
mov qword [rcx + r11], rax
mov r12, qword [rsp + 0x40]
test rax, rax
je 0x14030158e
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov rcx, r13
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x68]
call fcn.1402bd4e0
mov r8, rax
test rax, rax
je 0x140301de8
xor r12d, r12d
lea rcx, [rbx + 6]
mov qword [rax + 0x10], r12
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x40]
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], r13
mov dword [rcx + 0x20], r12d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x40]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], rsi
mov byte [r8 + 0x29], r12b
mov dword [r8 + 0x24], r12d
mov byte [r8 + 0x28], r14b
mov byte [r8 + 0x2a], bl
mov byte [rax + 1], 0xf1
mov qword [rax + 0x10], r8
mov byte [rax], 0xa3
jmp 0x140305e19
mov rax, qword [rsp + 0x40]
xor r12d, r12d
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rdi, qword [rsp + 0x68]
imul r10, rax, 0x38
add r10, rdi
mov qword [rbp - 0x60], r10
cmp qword [rbx + 0x10], r10
je 0x140305e85
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140305e85
mov r10, qword [rsp + 0x40]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax + rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140305e60
mov r10, qword [rbp - 0x60]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [rcx + 4], 0
mov rcx, rbx
je 0x140305ea8
call qword [rax + 0x30]
jmp 0x140305eab
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140300199
jle 0x140305f14
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140305ec5
mov rax, r12
jmp 0x140305ef9
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x140305ee8
cmp byte [rcx + 0x16], 1
jne 0x140305ee8
mov rax, qword [rcx + 8]
jmp 0x140305ef9
test dl, 1
je 0x140305ef2
mov rax, r12
jmp 0x140305ef9
mov dl, 1
call fcn.14031f760
mov r8, rax
lea rdx, [0x140354bc0]
mov rcx, rsi
call fcn.1402ff9d0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x4c], r15d
cmp byte [rbx + 0x29], 0
je 0x140305f57
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x140305f53
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rdi
test word [rcx + 0x14], ax
je 0x140305f45
mov edx, 1
call fcn.140321f60
jmp 0x140305f53
mov eax, 1
mov qword [rcx], rax
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140305f6b
cmp dword [rcx + 0x20], 0
je 0x140305f70
call fcn.140320c80
mov rax, qword [rbx]
xor edx, edx
mov word [rax + 0x14], 1
mov dword [rbx + 0x24], edx
test r15d, r15d
jne 0x140307a4f
mov r12, qword [rsp + 0x40]
mov r11, rdi
jmp 0x14030330f
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r11
test eax, eax
je 0x14030604b
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x168], xmm0
movups xmmword [rbp + 0x178], xmm0
xor eax, eax
mov qword [rbp + 0x198], rax
add rdi, r11
mov eax, 0x9000
movups xmmword [rbp + 0x188], xmm0
test word [rdi + 0x14], ax
je 0x140305ff1
mov rcx, rdi
call fcn.140320cd0
jmp 0x140305ff7
mov word [rdi + 0x14], 1
mov qword [rbp + 0x168], rdi
mov qword [rbp + 0x178], rbx
mov qword [rbp + 0x170], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x190], cl
lea rcx, [rbp + 0x168]
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov r15d, dword [rbp + 0x18c]
mov rdi, qword [rbp - 0x80]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
mov dword [rsp + 0x4c], r15d
add rbx, r11
jmp 0x140306062
mov rdx, rsi
mov rcx, rbx
call fcn.14030a230
mov r11, qword [rsp + 0x68]
mov r15d, eax
mov dword [rsp + 0x4c], eax
test r15d, r15d
jne 0x140307e46
test byte [rbx + 0x14], 2
jne 0x140306084
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov byte [rbx + 0x16], r14b
jmp 0x1403001a3
cmp byte [rbx + 0x16], r14b
je 0x140307692
movzx edx, r14b
mov rcx, rbx
call fcn.14030ad50
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
lea rax, [rbp + 0x2e8]
mov dword [rbp + 0x2e0], edx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2e4]
mov rax, qword [rsp + 0x40]
mov rcx, r13
mov dword [rbp + 0x2e8], 0xffffffff
mov dword [rbp + 0x2e4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1402b8180
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x140306107
cmp eax, 5
jne 0x140307a38
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x4c], eax
lea ecx, [rax + 1]
jmp 0x14030610d
mov ecx, dword [rbp + 0x2e0]
mov rax, qword [rsp + 0x40]
mov r13d, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, qword [rsp + 0x68]
test word [rbx + 0x14], r13w
je 0x140306141
mov rdx, rax
mov rcx, rbx
call fcn.140321f60
mov edx, 4
jmp 0x14030614d
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x2e4]
test word [rbx + 0x4c], r13w
je 0x14030616e
mov rdx, rax
call fcn.140321f60
mov edx, 4
jmp 0x140306175
mov qword [rcx], rax
mov word [rbx + 0x4c], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x2e8]
test word [rbx + 0x84], r13w
je 0x140306197
mov rdx, rax
call fcn.140321f60
jmp 0x140300199
mov qword [rcx], rax
mov word [rbx + 0x84], dx
jmp 0x140300199
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov eax, 0x9000
add r15, qword [rsi + 0x68]
test word [r15 + 0x14], ax
je 0x1403061d0
mov rcx, r15
call fcn.140299190
mov r15, rax
jmp 0x1403061d7
mov word [r15 + 0x14], 4
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
cmp edx, 0xffffffff
mov r13, qword [rcx + rax + 8]
mov rax, qword [r13 + 8]
mov rbx, qword [rax]
movzx r14d, byte [rbx + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rbx + 0x15], 3
jae 0x140306217
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x14030621a
cmp qword [rbx + 0x60], 0
jle 0x14030621a
mov esi, r14d
cmp byte [rbx + 0x13], 0
jne 0x140306235
lea rax, [0x14046c3a0]
cmp qword [rbx], rax
je 0x140306235
mov rcx, qword [rbx + 0xd8]
jmp 0x14030623c
lea rcx, [0x140350164]
cmp esi, 5
jne 0x1403062b6
test rcx, rcx
je 0x14030627f
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140306250
test eax, 0x3fffffff
je 0x14030627f
cmp byte [rbx + 0x11], 0
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
jne 0x14030627f
cmp byte [rbx + 8], 0
jne 0x1403062b6
cmp dword [rcx], 2
jl 0x14030627f
cmp qword [rcx + 0x68], 0
jne 0x1403062b6
mov esi, r14d
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
je 0x14030628d
mov esi, r14d
mov edx, esi
mov rcx, rbx
call fcn.1402e7cb0
mov word [r15 + 0x14], 0x2202
cmp eax, 6
jne 0x140306433
xor r13d, r13d
mov qword [r15 + 8], r13
mov eax, r13d
jmp 0x140306471
cmp esi, r14d
je 0x140306282
cmp r14d, 5
je 0x1403062c6
cmp esi, 5
jne 0x140306282
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0x65], 0
je 0x140307e74
cmp dword [r12 + 0xdc], 1
jg 0x140307e74
cmp r14d, 5
jne 0x1403063f7
xor ecx, ecx
mov edi, ecx
cmp qword [rbx + 0x128], rcx
jne 0x14030636d
mov dword [rbp - 0x40], ecx
movzx eax, byte [rbx + 0x16]
cmp al, 1
jb 0x14030630d
cmp al, r14b
jne 0x140306331
cmp byte [rbx + 0x11], cl
jne 0x140306327
mov rcx, qword [rbx + 0x48]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x140306331
cmp byte [rbx + 0x16], 5
je 0x140306331
mov byte [rbx + 0x16], 1
test edi, edi
jne 0x1403063df
mov rax, qword [rbx]
lea r9, [rbp - 0x40]
mov rdx, qword [rbx + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x1403063df
cmp dword [rbp - 0x40], eax
je 0x14030636d
mov rcx, rbx
call fcn.140299af0
mov edi, eax
test eax, eax
jne 0x1403063df
cmp qword [rbx + 0x128], 0
je 0x1403063df
mov rcx, rbx
call fcn.1402997f0
mov edi, eax
test eax, eax
jne 0x1403063df
mov rax, qword [rbx + 0x118]
mov rdx, r12
movzx r8d, byte [rbx + 0xf]
mov r9d, dword [rbx + 0xc8]
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x20], rax
call fcn.14030e620
mov edi, eax
mov dword [rsp + 0x4c], eax
xor eax, eax
mov rcx, rbx
mov qword [rbx + 0x128], rax
call fcn.140299880
test edi, edi
je 0x1403063df
cmp byte [rbx + 8], 0
jne 0x1403063df
mov edx, 1
mov rcx, rbx
call fcn.14029a220
jmp 0x14030628a
mov dword [rsp + 0x4c], edi
test edi, edi
jne 0x14030628a
mov edx, esi
mov rcx, rbx
call fcn.1402e7cb0
jmp 0x140306414
cmp r14d, 4
jne 0x140306409
lea edx, [r14 - 2]
mov rcx, rbx
call fcn.1402e7cb0
cmp dword [rsp + 0x4c], 0
jne 0x14030628a
xor eax, eax
mov rcx, r13
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.1402b7390
mov ecx, eax
mov dword [rsp + 0x4c], eax
jmp 0x140306286
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x3515e0]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x140306455
xor r13d, r13d
mov eax, r13d
jmp 0x140306471
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140306460
and eax, 0x3fffffff
xor r13d, r13d
movzx r14d, byte [rsp + 0x48]
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
cmp r14b, 1
je 0x140306492
movzx edx, r14b
mov rcx, r15
call fcn.14030ad50
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
jne 0x140303ea6
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov r15, qword [rsp + 0x40]
movsxd rax, dword [r15 + 8]
test eax, eax
je 0x1403064c0
imul r9, rax, 0x38
add r9, r11
jmp 0x1403064c3
mov r9, rdx
mov r8d, dword [r15 + 4]
lea rcx, [rsi + 0xa8]
mov rdx, r13
call fcn.1402f2480
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x14030651b
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x14030651b
mov rcx, rsi
call fcn.140232d50
cmp byte [rdi + 0x21], 0
jne 0x140306531
mov r15d, 0x65
mov dword [rsp + 0x4c], r15d
jmp 0x14030662c
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.1402436a0
mov r15d, eax
cmp r14d, eax
jb 0x1403065f3
cmp ebx, r14d
jae 0x1403065f3
test ebx, ebx
je 0x1403065e6
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140306584
xor r8d, r8d
xor edx, edx
call fcn.1402aacb0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x1403065df
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14030659d
nop dword [rax]
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140306590
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.140289f70
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140306626
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1402e83e0
mov edx, dword [rdi + 0x40]
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x140306626
mov r15d, dword [rsp + 0x4c]
jmp 0x140306626
mov r15d, 0x65
mov dword [rsp + 0x4c], r15d
jmp 0x140306626
lea rax, [0x14035ce34]
mov ebx, 0xb
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x12060
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140208410
mov r15d, ebx
mov dword [rsp + 0x4c], ebx
movzx r14d, byte [rsp + 0x48]
cmp byte [rsi + 0x11], 0
je 0x140306640
sub dword [rsi + 0x14], 1
jne 0x140306640
mov rcx, rsi
call fcn.14031cda0
test r15d, r15d
je 0x140300751
cmp r15d, 0x65
jne 0x140307a4f
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov r12, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
jmp 0x14030158e
cmp dword [r12 + 4], 0
jne 0x1403066c2
mov rdx, qword [r13 + 8]
mov r8d, dword [r12 + 8]
test rdx, rdx
je 0x140300ae0
nop word [rax + rax]
mov eax, dword [rdx + 0xc8]
lea ecx, [r8 + 1]
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x140306690
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov eax, dword [rsi + 0xc8]
mov ecx, dword [r12 + 8]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rsi + 0xc8], ecx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x14030676d
movabs rax, 0x400000000
test qword [r13 + 0x30], rax
jne case.0x1402ffb8a.89
mov r15, qword [rsp + 0x40]
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r15 + 4]
mov edx, dword [r15 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402b6110
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
je 0x140300199
mov r14, qword [rsp + 0x40]
cmp al, 6
jne 0x140307656
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rsi
call fcn.1402ff9d0
jmp 0x140307656
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x4c], edx
movsxd rdx, dword [r13 + 0x224]
mov rbx, qword [rcx + 0x10]
test edx, edx
jle 0x140306816
cmp qword [r13 + 0x248], 0
jne 0x140306816
xor r13d, r13d
mov dword [rbp - 0x70], 6
mov r15d, 6
mov dword [rsp + 0x4c], r15d
test rbx, rbx
jne 0x1403068eb
mov rsi, qword [rsp + 0x78]
lea eax, [r15 + 5]
mov rbx, qword [rsp + 0x58]
mov r14, rcx
jmp 0x140307668
test rbx, rbx
jne 0x140306839
xor edx, edx
mov r12, rcx
mov r15d, edx
mov dword [rsp + 0x4c], edx
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x1403068df
xor eax, eax
mov ecx, eax
test edx, edx
jle 0x140306875
mov rax, qword [r13 + 0x248]
nop word [rax + rax]
cmp qword [rax], rbx
je 0x140306905
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x140306860
mov rcx, r13
call fcn.140289560
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x1403068df
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x1403068df
mov edx, dword [r13 + 0x2f4]
add edx, dword [r13 + 0x2f0]
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rbx
inc dword [r13 + 0x224]
inc dword [rbx + 0x18]
test edx, edx
je 0x1403068df
cmp qword [rdi + 0xa0], 0
je 0x1403068df
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x4c], eax
mov r15d, dword [rsp + 0x4c]
xor r13d, r13d
mov rdi, qword [rbp - 0x80]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.14030dc30
test r15d, r15d
jne 0x140304080
jmp 0x140300199
xor r13d, r13d
mov r15d, r13d
mov dword [rsp + 0x4c], r13d
jmp 0x1403068e7
mov rax, qword [rsp + 0x40]
lea rcx, [rbp + 0x68]
mov qword [rbp + 0x68], rdx
xorps xmm0, xmm0
mov qword [rbp + 0x98], rdx
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
movdqu xmmword [rbp + 0x88], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r11
call fcn.14030a120
movzx ecx, word [rbp + 0x7c]
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x140306977
cmp byte [rbp + 0x7e], 1
jne 0x140306977
mov rax, qword [rbp + 0x70]
jmp 0x14030698f
test cl, 1
jne 0x140306aba
mov dl, 1
lea rcx, [rbp + 0x68]
call fcn.14031f760
movzx ecx, word [rbp + 0x7c]
test rax, rax
je 0x140306aba
mov r8, qword [r13 + 0x20]
lea rbx, [rsi + 0xa8]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
movsxd rcx, dword [rcx + 4]
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r13
call fcn.1402c7c50
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r13 + 0x228]
mov rdx, rdi
call fcn.140243e90
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140306a8c
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x140306a8c
cmp qword [rcx + 0x28], 0
je 0x140306a8c
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r13
call fcn.1403240d0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140306aad
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x140306aad
nop
cmp qword [rax], r13
je 0x140306a40
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140306a30
jmp 0x140306aad
mov rcx, r13
call fcn.140289560
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x140306aad
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x140306a6e
nop dword [rax]
cmp qword [rdx], r13
je 0x140306a6e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140306a60
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rdx
inc dword [r13 + 0x224]
inc dword [rdx + 0x18]
jmp 0x140306aad
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r13
call fcn.1402e5040
mov qword [rbx], rax
mov eax, 1
mov r15d, eax
mov dword [rsp + 0x4c], eax
movzx ecx, word [rbp + 0x7c]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov eax, 0x9000
test ax, cx
jne 0x140306acd
cmp dword [rbp + 0x88], 0
je 0x140306ad6
lea rcx, [rbp + 0x68]
call fcn.140320c80
test r15d, r15d
jne 0x140307a38
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov rcx, r13
inc dword [r13 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14030d1c0
dec dword [r13 + 0xe8]
mov r15d, eax
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x140307a38
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rdx
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140307ebc
mov rdi, qword [rbx]
test rdi, rdi
je 0x140307eb8
lea rdx, [rbp - 0x38]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, rsi
mov r15d, eax
mov dword [rsp + 0x4c], eax
call fcn.14030dc30
test r15d, r15d
jne 0x140307a4f
mov rax, qword [rbp - 0x38]
mov r9b, 2
xor r8d, r8d
mov rcx, rsi
mov qword [rax], rbx
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 4]
call fcn.14022bf30
mov rcx, qword [rbp - 0x38]
test rax, rax
je 0x140307eb0
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x140300199
mov r15, qword [rsp + 0x40]
mov qword [rbp - 0x10], rdx
movsxd rax, dword [r15 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, r11
test word [rdi + 0x14], ax
je 0x140306bc4
mov rcx, rdi
call fcn.140320cd0
jmp 0x140306bca
mov word [rdi + 0x14], 1
mov rbx, qword [r15 + 0x10]
mov rcx, qword [rbx + 0x50]
mov r10, qword [rcx + 0x10]
mov r11, qword [r10]
inc dword [rbx + 0x2c]
inc dword [rcx + 0x18]
lea rcx, [rbp - 0x10]
movsxd rax, dword [r15 + 4]
mov rdx, qword [r13 + 0x20]
mov r9d, dword [r15 + 0xc]
mov r8, qword [rbx]
shl rax, 5
mov qword [rsp + 0x20], rcx
mov rcx, r10
mov rdx, qword [rax + rdx]
call qword [r11 + 0xc0]
mov rcx, qword [rbx + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
call fcn.14030e0a0
cmp qword [r13 + 0x308], 0
jne 0x140306c2d
mov eax, 0xffffffff
add dword [rbx + 0x2c], eax
jne 0x140306c38
mov rdx, rbx
mov rcx, r13
call fcn.14023d510
test r15d, r15d
jne 0x140307ecc
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x140300199
lea rax, [fcn.140226070]
mov r9b, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.14030a950
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.140319ef0
test eax, eax
jne 0x140301dec
lea ecx, [rax + 0x10]
call fcn.1402e5070
mov rdi, rax
test rax, rax
je 0x140301de8
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x68]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x140306ce2
mov rcx, rbx
call fcn.140299190
mov rbx, rax
mov rcx, rbx
mov word [rbx + 0x14], 1
call fcn.140320c80
lea rax, str.ValueList
mov qword [rbx], rax
lea rax, [fcn.140251880]
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r11
movsxd rdi, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
movq xmm4, r11
mov r13, qword [rax + rcx*8]
mov rax, qword [rsp + 0x58]
mov r12d, dword [rdx]
punpcklqdq xmm4, xmm4
mov rsi, qword [r13 + 0x30]
mov rbx, qword [rax + 0x70]
xor eax, eax
mov r9d, eax
mov edx, eax
mov r15, qword [rsi]
mov r14, qword [r15]
test edi, edi
jle 0x140306e8b
cmp edi, 8
jb 0x140306e8b
cmp r8d, 6
jl 0x140306e8b
movdqa xmm7, xmmword [0x14035d0d0]
mov eax, edi
and eax, 0x80000007
jge 0x140306d95
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm5, xmmword [0x14035d090]
lea rcx, [rbx + 0x20]
movdqa xmm6, xmmword [0x14035d0b0]
mov r10d, edi
sub r10d, eax
mov r8d, 4
nop word [rax + rax]
movq xmm3, xmm7
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm6
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm6
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x140306dc0
cmp rdx, rdi
jge 0x140306eb9
lea r8d, [r9 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbx + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x140306ea0
mov rax, qword [rsp + 0x40]
mov r9d, edi
mov edx, r12d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rbx, qword [rsp + 0x58]
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x4c], eax
call fcn.14030dc30
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
jne 0x140307ac2
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], r15b
test eax, eax
jne 0x140306f18
movzx r14d, byte [rsp + 0x48]
mov rsi, rbx
jmp 0x140300199
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
xor edx, edx
mov r9, qword [rsp + 0x60]
jmp 0x14030158e
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], 0
je 0x140306f67
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140301443
mov rcx, rbx
call fcn.140320cd0
jmp 0x140300199
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x1f8], rax
movzx eax, byte [rsp + 0x48]
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1c8], rbx
movups xmmword [rbp + 0x1e8], xmm0
mov byte [rbp + 0x1f0], al
movups xmmword [rbp + 0x1d8], xmm0
test byte [rcx + 2], 1
je 0x140306fd3
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140306fc9
mov rcx, rbx
call fcn.140320cd0
mov rcx, qword [rsp + 0x40]
xor edx, edx
mov word [rbx + 0x14], 0x401
mov dword [rbx], edx
jmp 0x140306fe7
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, 1
mov word [rbx + 0x14], ax
mov r8d, dword [rcx + 8]
lea rdx, [rbp + 0x1c8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov dword [rsp + 0x4c], eax
mov r15d, eax
call fcn.14030dc30
cmp dword [rbp + 0x1ec], 0
jle 0x14030706b
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14030703a
cmp byte [rbx + 0x16], 1
jne 0x14030703a
mov rax, qword [rbx + 8]
jmp 0x14030704d
test cl, 1
je 0x140307043
xor eax, eax
jmp 0x14030704d
mov dl, 1
mov rcx, rbx
call fcn.14031f760
mov r8, rax
lea rdx, [0x140354bc0]
mov rcx, rsi
call fcn.1402ff9d0
mov r15d, dword [rbp + 0x1ec]
mov dword [rsp + 0x4c], r15d
test byte [rbx + 0x14], 2
movzx r14d, byte [rsp + 0x48]
jne 0x14030707d
mov byte [rbx + 0x16], r14b
jmp 0x14030708f
cmp byte [rbx + 0x16], r14b
je 0x14030708f
movzx edx, r14b
mov rcx, rbx
call fcn.14030ad50
test r15d, r15d
jne 0x140307a4f
jmp 0x140300199
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1403000e4
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov dword [rsp + 0x4c], eax
mov r15d, eax
call fcn.14030dc30
test r15d, r15d
jne 0x140307ac2
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14030710e
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x60]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x40], rax
mov eax, dword [r13 + 0x198]
mov rdi, qword [rbp - 0x80]
test eax, eax
jne 0x14030816c
mov r14, qword [rsp + 0x70]
cmp rdi, r14
jb 0x14030768c
nop
mov rdx, qword [r13 + 0x210]
test rdx, rdx
je 0x14030768c
mov eax, dword [r13 + 0x220]
mov rcx, qword [r13 + 0x218]
add r14, rax
mov qword [rsp + 0x70], r14
call rdx
test eax, eax
jne 0x140307f52
cmp rdi, r14
jae 0x140307130
mov rsi, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x48]
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
mov edi, dword [r13 + 0x30]
or qword [r13 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 2
jne 0x1403071ab
mov byte [rbx + 0x16], 1
jmp 0x1403071c6
cmp byte [rbx + 0x16], 1
je 0x1403071c6
mov dl, 1
mov rcx, rbx
call fcn.14030ad50
mov r15d, eax
test eax, eax
jne 0x140307a4f
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x4c], eax
mov r15d, eax
test edi, edi
jne 0x1403071e9
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call fcn.14030dc30
and dword [rsi + 0xc8], 0xfffffffc
test r15d, r15d
jne 0x140307a4f
jmp 0x140300199
mov qword [rbp - 8], rdx
cmp byte [r13 + 0x67], 0
jne 0x140301dec
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140307ebc
mov r10, qword [rbx]
test r10, r10
je 0x140307ebc
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x40]
movsxd rdx, dword [r12 + 8]
je 0x140300adb
movsxd rax, dword [r12 + 0xc]
mov r15, r12
movzx edi, byte [r13 + 0x6c]
mov r8, qword [rsi + 0x70]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r11
test edx, edx
jle 0x140307290
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140307280
movzx eax, byte [r15 + 2]
lea r9, [rbp - 8]
mov rcx, rbx
mov byte [r13 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, rsi
mov dword [rsp + 0x4c], eax
mov r15d, eax
call fcn.14030dc30
test r15d, r15d
jne 0x1403072d0
cmp dword [r12 + 4], r15d
je 0x140307301
mov rax, qword [rbp - 8]
mov qword [r13 + 0x38], rax
jmp 0x140307301
cmp r15b, 0x13
jne 0x140307301
mov rax, r12
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140307301
mov rcx, r12
movzx ecx, word [rcx + 2]
cmp ecx, 4
jne 0x140307f7a
xor edx, edx
mov r15d, edx
mov dword [rsp + 0x4c], edx
jmp 0x14030330a
inc qword [rsi + 0x38]
test r15d, r15d
jne 0x140307a4f
jmp 0x14030019e
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x140307341
mov rcx, rdx
call fcn.140299190
mov r9, qword [rsp + 0x60]
mov rdx, rax
jmp 0x140307347
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 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 0x140300ad6
mov rbx, qword [rsp + 0x40]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x58]
add rsi, qword [rax + 0x68]
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x1403073a1
mov rcx, rsi
call fcn.140299190
mov rsi, rax
xor edx, edx
jmp 0x1403073a7
mov word [rsi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov edi, edx
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1403073d2
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x1403073e9
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1403073e9
mov rcx, rbx
call fcn.140232d50
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1403073fa
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x140307414
sub dword [rbx + 0x14], 1
jne 0x140307414
mov rcx, rbx
call fcn.14031cda0
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp qword [r15], rbx
je 0x140307496
mov qword [r15 + 0x18], rsi
mov qword [r15], rbx
mov byte [r15 + 0x28], r14b
movzx eax, byte [r15 + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140307496
mov r13, qword [rsp + 0x40]
lea r8, [r15 + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r11
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140307470
mov r13, qword [rsp + 0x78]
movzx eax, word [rbx + 0x14]
lea r8, [r15 + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, r15
or ax, 1
mov word [rbx + 0x14], ax
mov rax, qword [r15 + 8]
movzx edx, byte [r15 + 0x2a]
call qword [rax + 0x18]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x140307682
jle 0x140307518
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1403074eb
cmp byte [rbx + 0x16], 1
jne 0x1403074eb
mov rax, qword [rbx + 8]
jmp 0x1403074fe
test cl, 1
je 0x1403074f4
xor eax, eax
jmp 0x1403074fe
mov dl, 1
mov rcx, rbx
call fcn.14031f760
mov r8, rax
lea rdx, [0x140354bc0]
mov rcx, rsi
call fcn.1402ff9d0
mov ecx, dword [r15 + 0x24]
mov dword [rsp + 0x4c], ecx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
add rdi, 0x128
mov esi, dword [r15 + 0x20]
mov rbx, qword [rdi]
mov r14d, dword [r12 + 4]
test rbx, rbx
je 0x14030763b
nop
test esi, esi
js 0x140307563
cmp dword [rbx], esi
jne 0x14030755a
mov eax, dword [rbx + 4]
test eax, eax
js 0x14030755a
cmp eax, 0x1f
jg 0x140307563
bt r14d, eax
jae 0x140307563
lea rdi, [rbx + 0x18]
jmp 0x14030762f
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140307572
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov qword [rdi], rax
cmp rbx, qword [r13 + 0x1f0]
jae 0x1403075bd
cmp rbx, qword [r13 + 0x1e0]
jb 0x1403075a1
mov rax, qword [r13 + 0x1d8]
mov qword [rbx], rax
mov qword [r13 + 0x1d8], rbx
jmp 0x14030762f
cmp rbx, qword [r13 + 0x1e8]
jb 0x1403075bd
mov rax, qword [r13 + 0x1c8]
mov qword [rbx], rax
mov qword [r13 + 0x1c8], rbx
jmp 0x14030762f
cmp qword [r13 + 0x308], 0
je 0x1403075d4
mov rdx, rbx
mov rcx, r13
call fcn.140293f10
jmp 0x14030762f
cmp dword [0x14046b030], 0
je 0x140307626
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1403075ef
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x14030762f
call qword [0x14046b0c0]
jmp 0x14030762f
mov rcx, rbx
call qword [0x14046b058]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x140307540
xor edx, edx
mov dword [r15 + 0x24], edx
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
je 0x140303ed4
mov rdi, qword [rbp - 0x80]
mov r14, r12
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x58]
mov eax, 0xb
xor r13d, r13d
mov r12, qword [rsp + 0x70]
cmp byte [rsi + 0x67], 0
je 0x1403081bc
mov r15d, 7
jmp 0x1403081f2
mov r15d, dword [rsp + 0x4c]
jmp 0x140300199
movzx r14d, byte [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x140300199
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.1402432c0
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x140300199
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.1402432c0
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x14030776f
inc dword [rsi + 0xf4]
jmp 0x14030158c
inc dword [rsi + 0xf0]
jmp 0x140300ad6
movzx eax, byte [r13 + 0x6e]
test al, 0x41
je 0x1403077dc
cmp byte [rsi + 0xc5], 0xfe
je 0x1403077dc
mov rcx, qword [rsp + 0x40]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x1403077a6
mov r9, qword [rsi + 0xf8]
test r9, r9
je 0x1403077d7
test al, 0x40
je 0x140307848
mov rdx, r9
mov rcx, rsi
call fcn.140308750
mov rcx, qword [r13 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xf8]
mov rcx, rbx
call fcn.140226070
xor edx, edx
mov r9, qword [rsp + 0x60]
mov ebx, 1
mov rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x40]
mov eax, dword [rax + 4]
cmp eax, dword [0x14046b1d8]
jl 0x140307836
cmp byte [r12], 0xb6
je 0x1402ffdc9
cmp dword [rsi + 0x90], 1
mov edx, ebx
jle 0x140307832
mov eax, 0x18
xor edi, edi
mov rcx, qword [rsi + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x140307824
mov dword [rax + rcx + 4], edi
inc edx
add rax, 0x18
cmp edx, dword [rsi + 0x90]
jl 0x140307813
xor edx, edx
mov eax, edx
inc eax
mov dword [r12 + 4], eax
inc dword [rsi + 0xec]
jmp 0x14030158e
cmp dword [r13 + 0xe4], 1
jle 0x140307899
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.1402e5040
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, rsi
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xf8]
test rbx, rbx
je 0x1403077d5
mov rdx, rbx
mov rcx, r13
call fcn.1402bd350
jmp 0x1403077d5
mov rdx, qword [r13 + 0x100]
mov ebx, 1
mov ecx, ebx
mov r8, rsi
call qword [r13 + 0xf8]
mov r9, qword [rsp + 0x60]
xor edx, edx
jmp 0x1403077e1
mov r12, qword [rsp + 0x40]
jmp 0x14030158e
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x80]
jmp 0x1402ffb4b
mov r15d, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x40]
jmp 0x140300f4e
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
jmp 0x140303314
mov r15, qword [rsp + 0x40]
mov ecx, dword [r15 + 4]
mov dword [rsi + 0x34], ecx
movzx eax, byte [r15 + 8]
mov byte [rsi + 0xc4], al
test ecx, ecx
je 0x1403079c9
movzx eax, word [r15 + 2]
mov rcx, rsi
test ax, ax
je 0x140307973
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x351608]
call fcn.1402ff9d0
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x140307983
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.1402e5040
mov qword [rsi + 0xa8], rax
jmp 0x140307983
mov r8, qword [r15 + 0x10]
lea rdx, [0x140354bc0]
call fcn.1402ff9d0
mov r9, qword [rsi + 0xf8]
mov rcx, r15
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, dword [r15 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.140208410
mov rcx, rsi
call fcn.140309150
mov r8, qword [rsp + 0x78]
mov r15d, eax
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x70]
cmp eax, 5
jne 0x1403079f0
mov dword [rsi + 0x34], eax
jmp 0x140308370
cmp dword [rsi + 0x34], 0
mov r15d, 0x65
mov eax, 1
cmovne r15d, eax
jmp 0x140308370
mov r15d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x34], r15d
mov rcx, rsi
mov byte [rsi + 0xc4], 2
call fcn.1402ff9d0
cmp byte [rsi + 0xc6], 0
mov eax, 1
cmovge r15d, eax
mov r14, qword [rsp + 0x40]
jmp 0x140307656
mov ecx, 0x17466
call fcn.1402bb4d0
mov r15d, eax
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov rbx, qword [rsp + 0x58]
lea r10, [0x140000000]
and edx, 0x3f
movsxd rax, esi
movzx r8d, byte [rdx + r10 + 0x3501f0]
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rcx*8]
mov rcx, rbx
shr r9d, 4
mov r8, qword [r10 + r8*8 + 0x46c440]
and r9d, 0xf
mov qword [rsp + 0x28], rax
dec r9d
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x46b3a8]
call fcn.1402ff9d0
mov r15d, 0xc13
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307660
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1402ff9d0
mov rsi, qword [rsp + 0x78]
mov r15d, 5
mov r14, qword [rsp + 0x40]
jmp 0x140307660
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x140307adc
mov r14, qword [rsp + 0x40]
mov byte [rsi + 0x65], 0
jmp 0x140307660
mov r14, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r8, qword [rsp + 0x78]
mov rcx, r14
sub rcx, qword [rsp + 0x60]
mov r15d, 5
mov r12, qword [rsp + 0x70]
mov rsi, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [r8 + 0x65], 0
mov dword [rbx + 0x34], r15d
jmp 0x140308370
mov rsi, qword [rsp + 0x78]
bt rax, 0x14
mov rbx, qword [rsp + 0x58]
mov eax, 0xb
mov r15d, 8
mov r14, rcx
cmovae r15d, eax
jmp 0x140307665
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x70]
cmp r15b, 5
jne 0x140307f64
mov r8, qword [rsp + 0x78]
mov rcx, r14
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov dword [rsi + 0x34], r15d
jmp 0x140308370
mov rdx, qword [rsi + 0xa8]
test rdx, rdx
je 0x140307be3
mov rcx, r13
call fcn.1402bd350
mov edx, 0x1c
mov rcx, r13
call fcn.1402bd4e0
test rax, rax
je 0x140307c15
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140354948]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x140354950]
mov dword [rax + 0x18], ecx
mov qword [rsi + 0xa8], rax
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x44]
cmp dword [rcx], eax
je 0x140307c44
mov rcx, r13
call fcn.1402f1030
mov eax, dword [rsi + 0xc8]
mov r15d, 0x11
mov r14, qword [rsp + 0x40]
and eax, 0xffffffed
or eax, 1
mov dword [rsi + 0xc8], eax
jmp 0x140307656
mov r14, qword [rsp + 0x40]
mov r15d, 0x204
jmp 0x140307656
mov rcx, qword [rbx + 0x10]
call fcn.1402b3e10
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
lea rax, [0x14035ce34]
mov r9d, 0x15c36
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140208410
mov rsi, qword [rsp + 0x78]
mov eax, 0xb
mov r14, qword [rsp + 0x40]
mov r15d, eax
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
jmp 0x140307665
lea rax, [0x14035ce34]
mov r9d, 0x17d2e
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140208410
mov rsi, qword [rsp + 0x78]
mov eax, 0xb
mov rbx, qword [rsp + 0x58]
mov r15d, eax
mov rdi, qword [rbp - 0x80]
mov r14, r12
jmp 0x140307665
mov rdi, qword [rbp - 0x80]
mov r15d, 0xd
mov r14, r13
jmp 0x140307656
mov rsi, r13
jmp 0x140307d42
mov rsi, qword [rsp + 0x78]
jmp 0x140307d46
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x58]
lea rdx, str.string_or_blob_too_big
mov rcx, rbx
call fcn.1402ff9d0
mov r14, qword [rsp + 0x40]
mov r15d, 0x12
jmp 0x140307660
lea rax, [0x14035ce34]
mov r15d, 0x30b
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x18168
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140208410
jmp 0x14030764f
mov ecx, 0x18235
call fcn.1402bb4d0
mov r14, qword [rsp + 0x40]
mov r15d, eax
jmp 0x140307656
mov r14, qword [rsp + 0x40]
mov r15d, 6
mov rdi, qword [rbp - 0x80]
mov byte [rsi + 0xc4], 2
jmp 0x140307656
mov rcx, rbx
call qword [0x14046b058]
mov rdi, qword [rbp - 0x80]
mov r12, qword [rsp + 0x70]
cmp r15d, 7
je 0x140301df1
mov rsi, qword [rsp + 0x78]
xor r13d, r13d
mov r14, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
lea eax, [r13 + 0xb]
jmp 0x14030766d
call fcn.1402f0f90
jmp 0x140301dec
mov rcx, qword [rbp]
call fcn.140226070
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, rsi
mov r15d, 1
call fcn.1402ff9d0
mov r14, qword [rsp + 0x40]
jmp 0x140307656
mov rcx, rbx
call fcn.1401fc310
mov rbx, qword [rsp + 0x58]
lea rdx, [0x140354bc0]
mov rcx, rbx
mov r8, rax
call fcn.1402ff9d0
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
jmp 0x140307660
mov rbx, qword [rsp + 0x58]
lea rax, str.into
cmp esi, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, rbx
cmove r8, rax
mov r15d, 1
call fcn.1402ff9d0
mov r14, qword [rsp + 0x40]
mov rsi, r12
jmp 0x140307660
call qword [rdi + 0x38]
jmp 0x140301de8
mov rdi, qword [rbp - 0x80]
mov r14, qword [rsp + 0x40]
mov r15d, 6
jmp 0x140307656
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x140307a4f
cmp dword [0x14046b030], 0
je 0x140307f3b
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x140307ef4
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x140307a4f
call qword [0x14046b0c0]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov rcx, rbx
call qword [0x14046b058]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov r12, 0xffffffffffffffff
mov r15d, 9
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x78]
xor r13d, r13d
mov rbx, qword [rsp + 0x58]
lea eax, [r13 + 0xb]
jmp 0x14030766d
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [rsi + 0xc4], al
jmp 0x14030764f
mov eax, dword [rsi + 0x2c]
mov r15, qword [rsp + 0x40]
add eax, 2
or eax, 1
mov dword [rsi + 0x2c], eax
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + 0xa0], rcx
cmp byte [r13 + 0x67], 0
jne 0x140301dec
test byte [r13 + 0x6e], 4
je 0x140307fe5
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, rsi
lea ecx, [r9 + 4]
call qword [r13 + 0xf8]
mov r9, qword [rsp + 0x60]
mov rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
mov r15d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [rsi + 0x30], edx
mov r8, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x70]
jmp 0x140308370
mov r15, qword [rsp + 0x40]
movzx eax, byte [r13 + 0x65]
mov ebx, dword [r15 + 4]
mov ecx, dword [r15 + 8]
cmp ebx, eax
je 0x140308133
test ecx, ecx
je 0x14030805a
mov edx, 0x204
mov rcx, r13
call fcn.1402f1820
mov al, 1
mov r14d, 1
jmp 0x1403080ab
test ebx, ebx
je 0x140308087
cmp dword [r13 + 0xe0], 0
jle 0x140308087
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rsi
call fcn.1402ff9d0
mov r14, qword [rsp + 0x40]
mov r15d, 5
jmp 0x140307656
mov r14d, 1
mov rcx, rsi
mov edx, r14d
call fcn.1402ff100
mov r15d, eax
test eax, eax
jne 0x140308011
mov r15, qword [rsp + 0x40]
movzx eax, bl
mov rcx, rsi
mov byte [r13 + 0x65], al
call fcn.140309150
cmp eax, 5
jne 0x140308109
mov r8, qword [rsp + 0x78]
mov rcx, r15
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x70]
mov r15d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
mov r14, qword [rsp + 0x40]
sub al, bl
mov dword [rsi + 0x30], edx
mov byte [r13 + 0x65], al
mov dword [rsi + 0x34], r15d
jmp 0x140308370
mov rcx, r13
call fcn.1402b8680
cmp dword [rsi + 0x34], 0
mov r15d, 0x65
mov r8, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
cmovne r15d, r14d
mov r14, qword [rsp + 0x40]
jmp 0x140308370
test ebx, ebx
jne 0x140308140
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140308154
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, rsi
call fcn.1402ff9d0
mov r14, qword [rsp + 0x40]
mov r15d, 1
jmp 0x140307656
mov r12, qword [rsp + 0x70]
jmp 0x140307f59
mov r13, qword [rsp + 0x78]
jmp 0x140301de3
mov r13, qword [rsp + 0x78]
jmp 0x140301dec
mov r15d, dword [rsp + 0x4c]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
jmp 0x140307656
mov r14, r13
jmp 0x140307656
mov r15d, dword [rsp + 0x4c]
mov r14, qword [rsp + 0x40]
jmp 0x140307656
mov r14, rbx
jmp 0x140307656
cmp r15d, 0x210a
jne 0x1403081f2
lea rcx, [0x14035ce34]
mov r9d, 0x18b12
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140208410
mov r15d, 0xb
cmp qword [rbx + 0xa8], 0
jne 0x14030826b
cmp r15d, 0xc0a
je 0x14030826b
mov ecx, r15d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x140308255
sub ecx, 1
je 0x14030824c
cmp ecx, 0x19f
je 0x140308243
movzx eax, r15b
cmp eax, 0x1d
jae 0x14030825c
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x34ed00]
test rcx, rcx
je 0x14030825c
mov r8, rcx
jmp 0x14030825c
lea r8, str.abort_due_to_ROLLBACK
jmp 0x14030825c
lea r8, str.no_more_rows_available
jmp 0x14030825c
lea r8, str.another_row_available
lea rdx, [0x140354bc0]
mov rcx, rbx
call fcn.1402ff9d0
mov edx, r15d
mov dword [rbx + 0x34], r15d
mov rcx, rsi
call fcn.1402f98d0
mov r9, qword [rbx + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rbx + 0xa8]
mov ecx, r15d
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.140208410
cmp byte [rbx + 0xc7], 2
jne 0x1403082d0
mov rcx, rbx
call fcn.140309150
cmp r15d, 0xc0a
jne 0x1403083c2
mov rcx, rsi
call fcn.1402e5d30
mov r8, qword [rsp + 0x78]
movzx eax, byte [rbp - 0x64]
mov r15d, 1
test al, al
je 0x1403083ef
cmp eax, r15d
jb 0x140308327
mov ecx, eax
mov rax, qword [r8 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax - 8]
or word [rcx + 0x72], 8
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [r8 + 0x2c], 0xffffffef
cmp dword [r8 + 0x48], 0
jne 0x1403083ef
cmp dword [r8 + 0x28], 0
mov edi, r13d
jle 0x140308365
mov rbx, r13
nop
mov rax, qword [r8 + 0x20]
mov rcx, qword [rbx + rax + 0x18]
test byte [rcx + 0x72], 8
je 0x140308359
call fcn.1402f2d30
mov r8, qword [rsp + 0x78]
inc edi
add rbx, 0x20
cmp edi, dword [r8 + 0x28]
jl 0x140308340
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
nop
cmp rdi, r12
jb 0x1403083f9
mov rdx, qword [r8 + 0x210]
test rdx, rdx
je 0x1403083f9
mov eax, dword [r8 + 0x220]
mov rcx, qword [r8 + 0x218]
add r12, rax
call rdx
mov r8, qword [rsp + 0x78]
test eax, eax
je 0x140308370
mov rbx, qword [rsp + 0x58]
mov r12, 0xffffffffffffffff
mov rsi, r8
xor r13d, r13d
lea r15d, [r12 + 0xa]
lea eax, [r12 + 0xc]
jmp 0x14030766d
cmp r15d, 0xb
jne 0x1403082e5
mov r8, qword [rsp + 0x78]
cmp byte [r8 + 0x65], 0
jne 0x1403082ea
movabs rax, 0x200000000
or qword [r8 + 0x30], rax
jmp 0x1403082ea
mov rsi, qword [rsp + 0x58]
jmp 0x140308370
add dword [rsi + 0xe4], edi
cmp dword [rsi + 0xd0], 0
movaps xmm8, xmmword [rsp + 0x400]
movaps xmm7, xmmword [rsp + 0x410]
movaps xmm6, xmmword [rsp + 0x420]
mov r14, qword [rsp + 0x430]
mov r13, qword [rsp + 0x438]
mov r12, qword [rsp + 0x478]
mov rdi, qword [rsp + 0x470]
mov rbx, qword [rsp + 0x468]
je 0x140308451
mov rcx, rsi
call fcn.140320b90
mov eax, r15d
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.140339750
add rsp, 0x440
pop r15
pop rsi
pop rbp
ret