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

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x228]
sub rsp, 0x318
mov rax, qword [0x1400e6010]
xor rax, rsp
mov qword [rbp + 0x1d8], rax
mov rax, qword [rcx + 0x68]
mov r13, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rsi, qword [rcx]
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x18], r12
xor r12d, r12d
mov qword [r11 - 0x20], r14
mov ebx, r12d
mov qword [r11 - 0x28], r15
mov r15, qword [rcx + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rax
movzx eax, byte [rsi + 0x5e]
movaps xmmword [r11 - 0x38], xmm6
mov byte [rsp + 0x3c], al
movaps xmmword [r11 - 0x48], xmm7
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x58], r12b
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x74], ebx
mov qword [rsp + 0x50], r15
call fcn.14003fe80
cmp dword [r13 + 0x38], 7
lea r14d, [r12 + 1]
je 0x14004a46c
mov qword [r13 + 0x48], r12
mov qword [r13 + 0x88], r12
mov eax, dword [rsi + 0x160]
mov dword [rsi + 0x238], r12d
test eax, eax
jne 0x14004e338
mov eax, 0xffffffff
cmp qword [rsi + 0x1b0], rbx
je 0x140048b6e
mov r8d, dword [rsi + 0x1c0]
xor edx, edx
mov eax, dword [r13 + 0xe0]
div r8d
sub r8d, edx
mov dword [rbp - 0x80], r8d
jmp 0x140048b71
mov dword [rbp - 0x80], eax
movsxd rax, dword [r13 + 0x34]
mov edx, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
lea rcx, [0x140000000]
inc ebx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x74], ebx
mov r8d, 0x1000
movzx ebx, byte [rdi]
mov r10d, 0x80
cmp ebx, 0xa7
ja case.default.0x140048bce
mov ecx, dword [rcx + rbx*4 + 0x4e384]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r15 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x14004a059
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
mov word [rdx + r15 + 8], r10w
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x14004dc76
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
mov word [rcx + r15 + 8], dx
cdqe
mov qword [rcx + r15], rax
cmp dword [rdi + 8], 0
jne 0x14004a05e
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r15 + 8], r10w
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x14004dc76
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r15]
mov word [r8 + r15 + 8], dx
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [r9 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x14004dc76
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x140049083
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x30]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x14004dc97
mov rdi, qword [r13 + 0x100]
test rdi, rdi
je 0x14004dc97
mov rax, qword [rdi + 8]
mov rcx, rsi
mov edx, dword [r13 + 0x3c]
dec dword [r13 + 0x110]
mov qword [r13 + 0x100], rax
call fcn.140044630
mov rcx, rdi
call fcn.140040e60
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 4
jne 0x140048d80
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x68]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r13 + 0x68]
mov r15, qword [r13 + 0x70]
cdqe
mov qword [rsp + 0x50], r15
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
mov qword [rsp + 0x40], r9
mov edx, 4
mov r11d, 0x2460
jmp case.0x140048bce.83
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov rdi, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r11w
je 0x140048e16
mov rcx, rdx
call fcn.140048a20
mov r9, qword [rsp + 0x40]
mov rdx, rax
mov rax, qword [rsp + 0x30]
mov r11d, 0x2460
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14004dc71
mov rax, qword [rsp + 0x30]
mov word [rdx + 8], 4
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14004dc71
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r11w
je 0x140048e5e
mov rcx, rdx
call fcn.140048a20
mov r9, qword [rsp + 0x40]
mov rdx, rax
mov r11d, 0x2460
mov rax, qword [rsp + 0x30]
mov word [rdx + 8], 8
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14004dc71
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r11w
je 0x140048ea2
mov rcx, rbx
call fcn.140048a20
mov rcx, qword [rsp + 0x30]
mov rbx, rax
jmp 0x140048ea6
mov word [rbx + 8], dx
mov rdx, qword [rcx + 0x10]
mov byte [rcx], 0x45
test rdx, rdx
jne 0x140048eb7
mov eax, r12d
jmp 0x140048ece
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x140048ec0
and eax, 0x3fffffff
movzx edi, byte [rsp + 0x3c]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x140048f43
mov r9b, 1
mov qword [rsp + 0x20], r12
mov r8d, 0xffffffff
mov rcx, rbx
call fcn.14003d7a0
mov edx, edi
mov dword [rsp + 0x38], eax
mov rcx, rbx
call fcn.14003c6e0
test eax, eax
jne 0x14004a46c
mov rcx, qword [rsp + 0x30]
mov eax, 0x800
or word [rbx + 8], ax
mov dword [rbx + 0x20], r12d
cmp byte [rcx + 1], 0xf9
jne 0x140048f31
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
call fcn.1400163d0
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [rsi + 0x7c]
jg 0x14004e0dc
mov r11d, 0x2460
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r11w
je 0x140048f7b
mov rcx, rdx
call fcn.140048a20
mov rdx, rax
mov r11d, 0x2460
mov word [rdx + 8], 0xa02
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov byte [rdx + 0xa], dil
mov rdi, rbx
mov dword [rdx + 0xc], eax
movsxd rax, dword [rbx + 0xc]
test eax, eax
jle 0x14004dacc
imul rcx, rax, 0x38
movzx eax, word [rbx + 2]
cmp qword [rcx + r15], rax
jne 0x14004dacc
mov r9, qword [rsp + 0x40]
mov word [rdx + 8], 0xa10
jmp 0x14004dc76
movzx edi, byte [rsp + 0x3c]
jmp 0x140048f52
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r11w
je 0x140048ff8
call fcn.140048a20
mov rcx, rax
mov edx, 4
mov r11d, 0x2460
jmp 0x140048ffc
mov word [rcx + 8], dx
cmp dword [rbx + 4], 0
mov esi, r14d
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 8], si
mov dword [rcx + 0xc], r12d
lea rbx, [rcx + 8]
test edi, edi
jle 0x14004dae8
nop word [rax + rax]
test word [rbx + 0x38], r11w
lea rbx, [rbx + 0x38]
je 0x14004904a
lea rcx, [rbx - 8]
call fcn.14003ce30
mov r11d, 0x2460
dec edi
mov word [rbx], si
mov dword [rbx + 4], r12d
test edi, edi
jg 0x140049030
jmp 0x14004dc67
mov rax, qword [rsp + 0x30]
mov r8d, 0xff61
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r15 + 8]
and ax, r8w
or ax, 1
mov word [rcx + r15 + 8], ax
mov rdi, qword [rsp + 0x30]
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r11w
je 0x1400490b2
mov rcx, rbx
call fcn.140048a20
mov rbx, rax
jmp 0x1400490b6
mov word [rbx + 8], dx
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r12
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.14003d7a0
movzx eax, byte [rsp + 0x3c]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov byte [rbx + 0xa], al
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r13 + 0xa0]
mov rcx, rbx
call fcn.14003d650
test eax, eax
jne 0x14004e0dc
mov rax, qword [rsp + 0x30]
mov r8d, 0x800
mov rdx, rbx
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d6c0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop dword [rax]
test word [rbx + 8], r11w
jne 0x14004916d
cmp dword [rbx + 0x20], 0
je 0x14004917b
mov rcx, rbx
call fcn.14003ceb0
mov r8d, 0x1000
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r14w
mov dword [rdi + 0x20], r12d
test word [rbx + 8], r8w
je 0x1400491c1
mov rcx, rbx
call fcn.14003caa0
test eax, eax
jne 0x14004a46c
mov r8d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r11d, 0x2460
sub esi, 1
jne 0x140049160
jmp 0x14004dc67
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.14003d6c0
mov r8d, 0x1000
test word [rbx + 8], r8w
je 0x14004922e
mov rcx, rbx
call fcn.14003caa0
test eax, eax
jne 0x14004a46c
mov r8d, 0x1000
mov eax, esi
dec esi
test eax, eax
je 0x14004dab0
add rbx, 0x38
add rdi, 0x38
jmp 0x140049200
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r15
add rcx, r15
call fcn.14003d6c0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r15
mov rax, qword [rcx + r15]
test word [r8 + 8], r11w
je 0x1400492b0
mov rdx, rax
mov rcx, r8
call fcn.14003d4a0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
mov qword [r8], rax
mov word [r8 + 8], dx
jmp case.0x140048bce.83
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, r15
imul rbx, rax, 0x38
movzx ecx, word [rsi + 8]
add rdi, r15
movzx eax, cl
add rbx, r15
or al, byte [rdi + 8]
test al, 1
je 0x140049312
mov rcx, rbx
call fcn.14003d480
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov r14d, 0x4000
test r14w, cx
je 0x14004932e
mov rcx, rsi
call fcn.14003cb50
test eax, eax
jne 0x14004a46c
test word [rdi + 8], r14w
je 0x140049345
mov rcx, rdi
call fcn.14003cb50
test eax, eax
jne 0x14004a46c
test byte [rsi + 8], 0x12
movzx r14d, byte [rsp + 0x3c]
jne 0x140049368
xor r8d, r8d
movzx edx, r14b
mov rcx, rsi
call fcn.14003cbb0
test eax, eax
jne 0x14004a46c
test byte [rdi + 8], 0x12
jne 0x140049385
xor r8d, r8d
movzx edx, r14b
mov rcx, rdi
call fcn.14003cbb0
test eax, eax
jne 0x14004a46c
mov r9, qword [rsp + 0x48]
mov r14d, dword [rdi + 0xc]
add r14d, dword [rsi + 0xc]
movsxd r15, r14d
movsxd rax, dword [r9 + 0x7c]
cmp r15, rax
jg 0x14004e0dc
mov r8d, r12d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.14003c700
test eax, eax
jne 0x14004a46c
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [rbx + 8], ax
cmp rbx, rdi
je 0x1400493ea
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.VCRUNTIME140.dll_memcpy
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x3c]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r14d
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x30]
mov r14d, 1
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140048a00
movzx r12d, ax
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, r15
mov rcx, rsi
call fcn.140048a00
movzx ecx, word [rsi + 8]
movzx r14d, ax
movsxd rax, dword [rbx + 0xc]
or cx, word [rdi + 8]
imul rbx, rax, 0x38
movzx eax, r14b
add rbx, r15
and al, r12b
test al, 4
je 0x140049579
mov rax, qword [rsp + 0x30]
mov r15b, 1
mov r8, qword [rsi]
mov rcx, qword [rdi]
mov qword [rbp + 0x168], r8
movzx edx, byte [rax]
sub edx, 0x59
je 0x140049543
sub edx, 1
je 0x140049532
sub edx, 1
je 0x140049521
cmp edx, 1
je 0x1400494f2
test rcx, rcx
je 0x14004966a
cmp rcx, 0xffffffffffffffff
mov edx, 1
mov rax, r8
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp + 0x168], rdx
jmp 0x140049556
test rcx, rcx
je 0x14004966a
cmp rcx, 0xffffffffffffffff
jne 0x140049510
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140049585
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x168], rax
jmp 0x140049556
mov rdx, rcx
lea rcx, [rbp + 0x168]
call fcn.14001ac10
jmp 0x140049552
mov rdx, rcx
lea rcx, [rbp + 0x168]
call fcn.14001aba0
jmp 0x140049552
mov rdx, rcx
lea rcx, [rbp + 0x168]
call fcn.14001ab50
test eax, eax
jne 0x140049585
mov rax, qword [rbp + 0x168]
mov ecx, 0x3e00
mov qword [rbx], rax
movzx eax, word [rbx + 8]
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp 0x140049427
test cl, 1
jne 0x14004966f
xor r15b, r15b
mov rcx, rdi
call fcn.14003d0d0
mov rcx, rsi
movaps xmm6, xmm0
call fcn.14003d0d0
mov rax, qword [rsp + 0x30]
movaps xmm3, xmm0
movzx ecx, byte [rax]
sub ecx, 0x59
je 0x140049607
sub ecx, 1
je 0x140049601
sub ecx, 1
je 0x1400495fb
cmp ecx, 1
je 0x1400495ed
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp + 0x168], rax
test rcx, rcx
je 0x14004966a
cmp rcx, 0xffffffffffffffff
mov edx, 1
xorps xmm3, xmm3
cmove rcx, rdx
cqo
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x14004960b
ucomisd xmm6, xmm7
jp 0x1400495f5
je 0x14004966a
divsd xmm3, xmm6
jmp 0x14004960b
mulsd xmm3, xmm6
jmp 0x14004960b
subsd xmm3, xmm6
jmp 0x14004960b
addsd xmm3, xmm6
movsd qword [rsp + 0x68], xmm3
movsd xmm0, qword [rsp + 0x68]
movsd qword [rbp - 0x70], xmm0
movsd xmm2, qword [rsp + 0x68]
movsd xmm1, qword [rbp - 0x70]
ucomisd xmm2, xmm1
jp 0x14004966a
jne 0x14004966a
movzx eax, word [rbx + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [rbx], xmm3
or ax, 8
or r14b, r12b
mov word [rbx + 8], ax
test r14b, 8
jne 0x14004dab7
test r15b, r15b
jne 0x14004dab7
mov rcx, rbx
call fcn.14003d160
jmp 0x140049427
mov r15, qword [rsp + 0x50]
mov r11d, 0x2460
test word [rbx + 8], r11w
je 0x14004968e
mov rcx, rbx
call fcn.14003ce30
mov rsi, qword [rsp + 0x48]
jmp 0x140049431
mov r14d, 1
mov word [rbx + 8], r14w
jmp 0x14004dc67
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x140049083
imul rcx, rax, 0x38
xor edx, edx
add rcx, r15
call fcn.14003d4e0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r15
add rcx, r15
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r15
test al, 1
je 0x140049739
test word [rsi + 8], r11w
je 0x140049725
mov rcx, rsi
call fcn.14003ce30
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
mov word [rsi + 8], r14w
mov rsi, qword [rsp + 0x48]
jmp case.0x140048bce.83
call fcn.14003d070
mov rcx, rdi
mov rbx, rax
call fcn.14003d070
mov rdx, rax
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
cmp cl, 0x55
jne 0x14004975e
and rbx, rdx
jmp 0x1400497d2
cmp cl, 0x56
jne 0x140049768
or rbx, rdx
jmp 0x1400497d2
test rdx, rdx
je 0x1400497d2
jns 0x140049782
mov eax, 0xaf
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x140049788
neg rdx
cmp rdx, 0x40
jl 0x1400497a0
test rbx, rbx
jns 0x14004979b
cmp cl, 0x57
je 0x14004979b
mov rbx, 0xffffffffffffffff
jmp 0x1400497d2
mov rbx, r12
jmp 0x1400497d2
cmp cl, 0x57
mov rcx, rdx
jne 0x1400497b0
shl rbx, cl
mov r8, rbx
jmp 0x1400497cf
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1400497cf
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rsi + 8]
mov ecx, 0x3e00
mov rdi, qword [rsp + 0x30]
and ax, cx
mov r9, qword [rsp + 0x40]
or ax, 4
mov word [rsi + 8], ax
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14003d1c0
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x140049884
movzx r8d, byte [rsp + 0x3c]
mov dl, 0x43
mov rcx, rbx
call fcn.140048840
movzx eax, word [rbx + 8]
test al, 4
jne 0x140049874
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 8], 0
je 0x14004dd61
mov r9, qword [rsp + 0x40]
jmp 0x14004a05e
mov r9, qword [rsp + 0x40]
mov edx, 4
mov r11d, 0x2460
mov rdi, qword [rsp + 0x30]
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 4
je 0x140049083
call fcn.14003d210
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
test word [rbx + 8], ax
je 0x140049925
mov rcx, rbx
call fcn.14003cb50
movzx r8d, byte [rsp + 0x3c]
mov rcx, rbx
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax + 8]
call fcn.14003d320
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
movzx edx, byte [rcx + 8]
mov rcx, rbx
movzx r8d, byte [rsp + 0x3c]
mov dword [rsp + 0x38], r12d
call fcn.14003d320
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x30]
add r14, r15
add rsi, r15
movzx edi, word [r14 + 8]
movzx ebx, word [rsi + 8]
movzx ecx, bx
or cx, di
test cl, 1
je 0x140049a1f
movzx eax, word [rax + 2]
test al, al
jns 0x1400499c3
movzx eax, bl
and al, dil
test al, 1
je 0x140049a79
bt bx, 8
jb 0x140049a79
mov rax, qword [rsp + 0x30]
lea rdx, [0x140000000]
mov ecx, r12d
movzx eax, byte [rax]
movzx edx, byte [rax + rdx + 0xcc174]
jmp 0x140049a95
mov r14d, 1
test al, 0x20
je 0x140049a08
mov rax, qword [rsp + 0x30]
mov r8d, 0x3e00
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x70], r14d
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
movzx eax, word [rcx + r15 + 8]
and ax, r8w
or ax, r14w
mov word [rcx + r15 + 8], ax
jmp case.0x140048bce.83
test al, 0x10
jne 0x14004a059
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp case.0x140048bce.83
movzx eax, byte [rax + 2]
and al, 0x47
cmp al, 0x43
jb 0x140049b20
test cl, 2
je 0x140049a5d
movzx eax, dil
and al, 0xe
cmp al, 2
jne 0x140049a4a
xor edx, edx
mov rcx, r14
call fcn.140048760
movzx ebx, word [rsi + 8]
movzx eax, bl
and al, 0xe
cmp al, 2
jne 0x140049a5d
xor edx, edx
mov rcx, rsi
call fcn.140048760
movzx eax, byte [rsi + 8]
and al, byte [r14 + 8]
test al, 4
je 0x140049b83
mov rax, qword [rsi]
cmp rax, qword [r14]
jle 0x140049b13
mov rax, qword [rsp + 0x30]
mov ecx, 1
movzx eax, byte [rax]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0xcb370]
mov r9, qword [rsp + 0x30]
mov word [r14 + 8], di
mov rdi, qword [rsp + 0x30]
mov word [rsi + 8], bx
movzx r9d, word [r9 + 2]
movzx r8d, dl
test r9b, 0x20
je 0x140049be9
mov rax, rdi
mov dword [rsp + 0x70], ecx
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
test r9b, 8
je 0x140049ae2
cmp byte [rdi], 0x35
mov eax, r12d
sete al
cmp eax, r8d
je 0x14004dac1
movzx eax, word [rdx + r15 + 8]
mov ecx, 0x3e00
mov rsi, qword [rsp + 0x48]
and ax, cx
mov r9, qword [rsp + 0x40]
or ax, 4
mov word [rdx + r15 + 8], ax
mov r14d, 1
mov qword [rdx + r15], r8
jmp 0x140048d9c
jge 0x1400499a4
mov ecx, 0xffffffff
jmp 0x140049b9f
cmp al, 0x42
jne 0x140049b83
movzx r13d, byte [rsp + 0x3c]
test dil, 2
jne 0x140049b58
test dil, 0xc
je 0x140049b58
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.14003cbb0
movzx eax, di
mov ecx, 0x3e00
xor ax, word [r14 + 8]
and ax, cx
xor di, ax
test bl, 2
jne 0x140049b83
test bl, 0xc
je 0x140049b83
mov r8b, 1
movzx edx, r13b
mov rcx, rsi
call fcn.14003cbb0
movzx eax, bx
mov ecx, 0x3e00
xor ax, word [rsi + 8]
and ax, cx
xor bx, ax
mov rax, qword [rsp + 0x30]
mov rdx, r14
mov rcx, rsi
mov r8, qword [rax + 0x10]
call fcn.140043510
mov ecx, eax
mov edx, eax
test eax, eax
jns 0x140049bbb
mov rax, qword [rsp + 0x30]
lea rdx, [0x140000000]
movzx eax, byte [rax]
movzx edx, byte [rax + rdx + 0xcf434]
jmp 0x140049a95
mov rax, qword [rsp + 0x30]
mov word [rsp + 0x78], di
mov word [rsp + 0x78], bx
movzx eax, byte [rax]
test edx, edx
jne 0x140049a86
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0xcc174]
jmp 0x140049a95
mov r9, qword [rsp + 0x40]
mov r14d, 1
test dl, dl
jne 0x14004a05e
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
cmp dword [rsp + 0x70], 0
jne 0x14004a05e
jmp case.0x140048bce.83
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 1
jne 0x140049c26
mov r14, r12
jmp 0x140049c2e
mov r14, qword [rcx - 8]
add r14, 4
mov r9d, dword [rcx + 4]
mov edi, r12d
mov r13, qword [rcx + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0x30]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x78], r9d
mov dword [rsp + 0x68], ecx
movsxd r12, dword [r12 + 0xc]
test r12, r12
jle 0x14004dc44
lea rsi, [r13 + 0x20]
nop
test r14, r14
je 0x140049c6b
mov r8d, dword [r14 + rbx*4]
jmp 0x140049c6e
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r15d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.140043510
mov dword [rsp + 0x70], eax
mov r10d, eax
test eax, eax
jne 0x140049cc6
mov r9d, dword [rsp + 0x78]
inc edi
mov ecx, dword [rsp + 0x68]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x140049c60
jmp 0x140049427
mov rdi, qword [rsp + 0x30]
mov r14d, 1
mov rsi, qword [rsp + 0x48]
test r15b, r15b
mov r15, qword [rsp + 0x50]
lea edx, [r14 + 3]
je 0x14004dad1
mov r9, qword [rsp + 0x40]
neg r10d
mov dword [rsp + 0x70], r10d
mov r11d, 0x2460
jmp case.0x140048bce.83
mov r10d, dword [rsp + 0x70]
mov rax, qword [rsp + 0x30]
test r10d, r10d
jns 0x140049d24
mov eax, dword [rax + 4]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
jmp case.0x140048bce.83
jne 0x140049d3b
mov eax, dword [rax + 8]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
jmp case.0x140048bce.83
mov eax, dword [rax + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov edi, 2
mov edx, edi
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d100
mov ebx, eax
mov edx, edi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, r15
call fcn.14003d100
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd r8, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x2c
jne 0x140049da9
movzx r8d, byte [r8 + rdx + 0xccaa8]
jmp 0x140049db2
movzx r8d, byte [r8 + rdx + 0xcc6c0]
movsxd rax, dword [rax + 0xc]
imul rdx, rax, 0x38
mov eax, 0x3e00
movzx ecx, word [rdx + r15 + 8]
and cx, ax
cmp r8b, dil
jne 0x140049de6
mov rdi, qword [rsp + 0x30]
or cx, 1
mov r9, qword [rsp + 0x40]
mov word [rdx + r15 + 8], cx
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
or cx, 4
mov r9, qword [rsp + 0x40]
movzx eax, r8b
mov qword [rdx + r15], rax
mov word [rdx + r15 + 8], cx
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d100
movsxd rdx, dword [rbx + 0x10]
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d4e0
mov r9, qword [rsp + 0x40]
mov rdi, rbx
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r15
add rbx, r15
test byte [rcx + 8], 1
jne 0x14004d501
xor edx, edx
call fcn.14003d100
test eax, eax
mov rdx, r12
mov rcx, rbx
sete dl
call fcn.14003d4e0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
mov rcx, rbx
call fcn.14003d480
test byte [rdi + 8], 1
jne 0x14004da81
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14003d070
mov rdi, qword [rsp + 0x30]
not rax
mov r9, qword [rsp + 0x40]
mov qword [rbx], rax
jmp 0x140048d9c
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x140049f51
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x68]
mov r9, qword [r8 + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14004a054
mov rdi, qword [rsp + 0x30]
bts eax, edx
mov byte [rcx + r9], al
mov edx, 4
mov rax, qword [r13 + 0x68]
mov r9, qword [rsp + 0x40]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x68]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14004a059
mov rdi, qword [rsp + 0x30]
mov rax, rcx
mov ecx, dword [rcx + 4]
mov dword [rdi + 4], ecx
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, r15
mov edx, dword [rax + 0xc]
call fcn.14003d100
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
test eax, eax
jne 0x14004a05e
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov edx, r12d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d100
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
test eax, eax
je 0x14004a05e
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jne 0x14004a05e
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x14004a05e
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x140049083
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d480
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov eax, dword [rdi + 8]
mov rsi, qword [rsp + 0x48]
dec eax
mov r15, qword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
jmp 0x140048d9c
mov rax, qword [r13 + 0x98]
lea rdx, [rbp - 0x58]
mov rbx, qword [rsp + 0x30]
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rcx
lea rcx, [rbp - 0x60]
mov eax, dword [rbx + 8]
mov dword [rbp - 0x58], eax
call fcn.140042bf0
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
movsxd rax, dword [rbx + 0xc]
mov r10, qword [rbp - 0x60]
mov rdi, qword [rsp + 0x60]
imul r13, rax, 0x38
mov eax, dword [rdi + 0x30]
mov r12, qword [r10 + 0x60]
add r13, r15
cmp dword [r10 + 0x28], eax
je 0x14004a1d8
cmp byte [r10 + 2], 0
je 0x14004a127
cmp byte [r10], 3
jne 0x14004a112
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r15 + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r15 + 0x10]
mov rax, qword [rbp - 0x60]
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp - 0x60]
jmp 0x14004a162
mov rcx, r13
call fcn.14003d480
mov r9, qword [rsp + 0x40]
mov rdi, rbx
jmp 0x140048d9c
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.1400325a0
mov rcx, qword [rbp - 0x60]
mov dword [rcx + 0x70], eax
mov rcx, rbx
mov rdx, qword [rbp - 0x60]
add rdx, 0x74
call fcn.140032c50
mov rcx, qword [rbp - 0x60]
mov qword [rcx + 0x68], rax
mov rcx, qword [rbp - 0x60]
mov eax, dword [rsi + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x14004e0d9
mov eax, dword [rdi + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0x68]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14004a17f
mov dword [r12], eax
mov al, 1
jmp 0x14004a187
mov rdx, r12
call fcn.14001a9e0
movzx ecx, al
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rbp - 0x60]
mov word [rax + 0x52], cx
mov r10, qword [rbp - 0x60]
mov eax, dword [r12]
cmp dword [r10 + 0x74], eax
jae 0x14004a1d2
mov qword [r10 + 0x68], rcx
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x74], ecx
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x14004a370
mov r10, qword [rbp - 0x60]
cmp eax, dword [r10 + 0x70]
jbe 0x14004a1da
jmp 0x14004a370
mov rax, qword [r10 + 0x68]
jmp 0x14004a256
xor ecx, ecx
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rbp - 0x58]
cmp eax, r8d
jg 0x14004a3d2
mov eax, dword [r12]
cmp dword [r10 + 0x48], eax
jae 0x14004a393
mov rax, qword [r10 + 0x68]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14004a25b
xorps xmm0, xmm0
mov qword [rbp + 0xc8], rax
movups xmmword [rbp + 0x98], xmm0
lea r9, [rbp + 0x98]
xor edx, edx
movups xmmword [rbp + 0xa8], xmm0
movups xmmword [rbp + 0xb8], xmm0
mov r8d, dword [r12]
mov rcx, qword [r10 + 0x38]
call fcn.14003db30
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd74
mov rax, qword [rbp + 0xa8]
mov r10, qword [rbp - 0x60]
mov qword [rsp + 0x68], rax
movzx esi, word [r10 + 0x52]
mov ebx, dword [r10 + 0x48]
mov r14d, esi
mov r15d, dword [r12]
add rbx, rax
add r15, rax
mov edi, dword [r12 + rsi*4]
nop word [rax + rax]
movzx ecx, byte [rbx]
mov eax, 0x80
mov dword [rbp - 0x68], ecx
cmp ecx, eax
jae 0x14004a29c
inc rbx
call fcn.140042d60
movzx eax, al
jmp 0x14004a2b8
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14001a9e0
mov ecx, dword [rbp - 0x68]
movzx eax, al
add rbx, rax
call fcn.140042d40
mov eax, eax
mov rcx, qword [rbp - 0x60]
add rdi, rax
mov eax, dword [rbp - 0x68]
inc esi
mov dword [rcx + r14*4 + 0x78], eax
movsxd r14, esi
mov dword [r12 + r14*4], edi
mov rcx, qword [rbp - 0x60]
cmp esi, dword [rbp - 0x58]
jg 0x14004a2e0
cmp rbx, r15
jb 0x14004a280
jmp 0x14004a2e5
cmp rbx, r15
jb 0x14004a2f2
cmp rbx, r15
ja 0x14004a2fa
mov eax, dword [rcx + 0x70]
cmp rdi, rax
jne 0x14004a2fa
mov eax, dword [rcx + 0x70]
cmp rdi, rax
jbe 0x14004a30a
cmp dword [r12], 0
jne 0x14004a34d
xor r8d, r8d
mov rbx, r15
mov esi, r8d
sub ebx, dword [rsp + 0x68]
mov word [rcx + 0x52], si
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x48], ebx
mov r10, qword [rbp - 0x60]
cmp qword [r10 + 0x68], 0
jne 0x14004a334
lea rcx, [rbp + 0x98]
call fcn.14003cfe0
mov r10, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
mov r14d, 1
mov edx, dword [rbp - 0x68]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
jmp 0x14004a398
cmp qword [rcx + 0x68], 0
jne 0x14004a360
lea rcx, [rbp + 0x98]
call fcn.14003cfe0
mov r15, qword [rsp + 0x50]
mov r14d, 1
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x14004dd68
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r9 + rax*8]
jmp 0x140048d9c
mov edx, ecx
mov dword [rbp - 0x68], ecx
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x14004a3da
mov rax, qword [rsp + 0x30]
mov rcx, r13
cmp byte [rax + 1], 0xf5
jne 0x14004d504
mov rdx, qword [rax + 0x10]
mov r8d, 0x800
call fcn.14003d6c0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rbp - 0x68], edx
mov eax, 0x2460
test word [r13 + 8], ax
je 0x14004a3f9
mov rcx, r13
call fcn.14003d480
mov r10, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
mov edx, dword [rbp - 0x68]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [r12 + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x14004a4fd
movsxd rax, r8d
mov edi, dword [r12 + rax*4]
add rdi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x14004a438
mov r8, r13
mov rcx, rdi
call fcn.140042eb0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
movzx eax, byte [rsp + 0x3c]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x14004a491
xor r8d, r8d
mov word [r13 + 8], r14w
mov rcx, r13
call fcn.14003c700
test eax, eax
je 0x14004a499
mov r13, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
call fcn.140016cb0
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.14003e590
mov ebx, 7
mov edi, ebx
jmp 0x14004dd7e
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rcx, qword [r13 + 0x10]
mov r8, rbx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r13 + 0x10]
lea rcx, [0x140000000]
mov rdi, qword [rsp + 0x30]
mov edx, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
mov byte [rbx + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x68]
and eax, 1
movzx eax, word [rcx + rax*2 + 0xcd5e4]
mov word [r13 + 8], ax
mov r13, qword [rsp + 0x60]
add rdi, 0x18
mov ebx, dword [rsp + 0x74]
xor r12d, r12d
jmp 0x140048b97
movzx eax, byte [rsp + 0x3c]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x30]
mov edx, dword [rbp - 0x68]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x14004a524
cmp edx, 0xc
jb 0x14004a520
test dl, 1
je 0x14004a532
test al, al
js 0x14004a532
mov ecx, edx
call fcn.140042d40
test eax, eax
jne 0x14004a550
mov edx, dword [rbp - 0x68]
mov r8, r13
lea rcx, [0x1400e88b8]
call fcn.140042eb0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
movsxd rdx, dword [rbp - 0x58]
mov r9, r13
mov rcx, qword [rbp - 0x60]
mov r8d, eax
mov edx, dword [r12 + rdx*4]
mov rcx, qword [rcx + 0x38]
call fcn.14003db30
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd74
mov edx, dword [rbp - 0x68]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.140042eb0
mov rdi, qword [rsp + 0x30]
mov eax, 0xefff
and word [r13 + 8], ax
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movzx esi, byte [rsp + 0x3c]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r15
nop dword [rax]
movzx r8d, sil
movzx edx, al
mov rcx, rbx
call fcn.140048840
movzx eax, byte [rdi + 1]
lea rdi, [rdi + 1]
add rbx, 0x38
test al, al
jne 0x14004a5c0
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r14, r12
mov qword [rsp + 0x68], r8
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
add r15, qword [rsp + 0x50]
dec eax
cdqe
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x60]
add rsi, r15
mov qword [rsp + 0x78], rsi
movzx r13d, byte [rax + 0xbf]
movsxd rax, dword [rcx + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov qword [rbp - 0x70], rax
test rbx, rbx
je 0x14004a684
movzx eax, byte [rbx]
mov rdi, r15
movzx esi, byte [rsp + 0x3c]
nop word [rax + rax]
movzx r8d, sil
movzx edx, al
mov rcx, rdi
call fcn.140048840
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x14004a660
mov rsi, qword [rsp + 0x78]
mov rbx, rsi
nop word [rax + rax]
lea r8, [rbp + 0x150]
mov edx, r13d
mov rcx, rbx
mov rdi, r14
call fcn.140042c40
mov esi, eax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14004a6ef
test esi, esi
jne 0x14004a6ca
mov r14d, dword [rbp + 0x150]
mov esi, 0xa
add r14, rdi
lea ecx, [rsi - 9]
jmp 0x14004a720
test r14, r14
je 0x14004a6e1
mov rcx, rbx
call fcn.14003cb50
test eax, eax
jne 0x14004a467
jmp 0x14004a6ef
movsxd rcx, dword [rbx]
add qword [rsp + 0x68], rcx
sub dword [rbp + 0x150], ecx
mov eax, dword [rbp + 0x150]
add r14, rax
cmp esi, 0x7f
ja 0x14004a704
mov ecx, 1
jmp 0x14004a720
mov rax, rsi
mov ecx, 1
shr rax, 7
test rax, rax
je 0x14004a720
inc ecx
shr rax, 7
test rax, rax
jne 0x14004a715
add r12d, ecx
mov dword [rbx + 0x24], esi
cmp rbx, r15
je 0x14004a734
sub rbx, 0x38
jmp 0x14004a690
cmp r12d, 0x7e
jle 0x14004a753
movsxd rcx, r12d
call fcn.14001aa60
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14001aa60
cmp ebx, eax
jge 0x14004a756
inc r12d
mov r9, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
movsxd rbx, r12d
add r14, rbx
movsxd rax, dword [r9 + 0x7c]
add rcx, r14
mov qword [rbp - 0x78], r14
cmp rcx, rax
jg 0x14004e0d2
mov rsi, qword [rbp - 0x70]
mov edx, r14d
mov rcx, rsi
call fcn.14003ca20
test eax, eax
jne 0x14004a467
mov rsi, qword [rsi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x14004a7ad
mov r14d, 1
mov byte [rsi], r12b
mov eax, r14d
jmp 0x14004a7c1
mov rdx, rbx
mov rcx, rsi
call fcn.14001a7b0
mov edx, 0x80
lea r14d, [rdx - 0x7f]
mov r13, qword [rsp + 0x78]
movzx edi, al
nop dword [rax]
mov ebx, dword [r15 + 0x24]
movsxd rcx, edi
add rcx, rsi
cmp ebx, edx
jae 0x14004a7e5
mov byte [rcx], bl
mov eax, r14d
jmp 0x14004a7ed
mov rdx, rbx
call fcn.14001a7b0
movzx eax, al
mov r8d, ebx
movsxd rcx, r12d
mov rdx, r15
add rcx, rsi
add edi, eax
call fcn.140042d70
add r12d, eax
add r15, 0x38
mov edx, 0x80
cmp r15, r13
jbe 0x14004a7d0
mov r14, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov dword [rax + 0xc], r14d
lea r14d, [rdx - 0x7f]
mov word [rax + 8], 0x10
lea edx, [r14 + 3]
test r13, r13
je 0x14004dad1
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
mov dword [rax], r13d
mov word [rax + 8], 0x4010
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x1a8]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x1a8], r12
call fcn.140039c30
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov rcx, qword [rbp + 0x1a8]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rsp + 0x68], r14d
test r14d, r14d
jne 0x14004a999
cmp dword [rsi + 0xc4], r14d
jg 0x14004deca
mov rcx, rdi
call fcn.1400198e0
movsxd rsi, eax
xor edx, edx
mov rax, qword [rsp + 0x48]
mov rcx, rax
mov r8d, dword [rax + 0x290]
add r8d, dword [rax + 0x28c]
call fcn.1400a76b0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
mov rcx, qword [rsp + 0x48]
lea rdx, [rsi + 0x21]
call fcn.1400167e0
mov rbx, rax
test rax, rax
je 0x14004dae1
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov rsi, qword [rsp + 0x48]
cmp byte [rsi + 0x5f], r14b
je 0x14004a966
mov byte [rsi + 0x5f], r14b
mov byte [rsi + 0x67], 1
jmp 0x14004a96c
inc dword [rsi + 0x28c]
mov rax, qword [rsi + 0x280]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi + 0x298]
mov qword [rsi + 0x280], rbx
mov qword [rbx + 8], rax
mov rax, qword [rsi + 0x2a0]
mov qword [rbx + 0x10], rax
jmp 0x140049431
mov rbx, qword [rsi + 0x280]
mov r15d, r12d
test rbx, rbx
je 0x14004a9cb
nop dword [rax + rax]
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.140019d20
test eax, eax
je 0x14004a9e7
mov rbx, qword [rbx + 0x18]
inc r15d
test rbx, rbx
jne 0x14004a9b0
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.14003e590
mov edi, 1
jmp 0x14004dd79
cmp dword [rsi + 0xc4], 0
jle 0x14004a9fa
cmp r14d, 1
je 0x14004dee3
cmp qword [rbx + 0x18], 0
jne 0x14004aa58
cmp byte [rsi + 0x67], 0
je 0x14004aa58
mov edi, 1
mov dword [rsp + 0x78], edi
cmp r14d, edi
jne 0x14004aa5d
mov edx, edi
mov rcx, r13
call fcn.140041dc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004de4f
mov rcx, r13
mov byte [rsi + 0x5f], dil
call fcn.140041e10
cmp eax, 5
je 0x14004defc
mov byte [rsi + 0x67], 0
lea r12, [rsi + 0x28c]
mov ecx, dword [r13 + 0x38]
mov dword [rsp + 0x38], ecx
jmp 0x14004ab65
mov dword [rsp + 0x78], r12d
lea r12, [rsi + 0x28c]
xor ecx, ecx
mov eax, dword [r12]
sub eax, r15d
lea r15d, [rax - 1]
cmp r14d, 2
jne 0x14004aacf
mov r13d, dword [rsi + 0x2c]
mov esi, ecx
mov rax, qword [rsp + 0x48]
and r13d, 1
cmp dword [rax + 0x28], ecx
jle 0x14004aad2
mov r14d, r13d
mov edi, ecx
xor r14d, 1
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rdi + rcx + 8]
call fcn.140031e60
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e373
mov rax, qword [rsp + 0x48]
inc esi
add rdi, 0x20
cmp esi, dword [rax + 0x28]
jl 0x14004aa94
mov r14d, dword [rsp + 0x68]
xor ecx, ecx
jmp 0x14004aad2
mov r13d, ecx
mov rax, qword [rsp + 0x48]
mov esi, ecx
cmp dword [rax + 0x28], 0
jle 0x14004ab20
mov rdi, rcx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rdi + rcx + 8]
call fcn.140032130
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e373
mov rax, qword [rsp + 0x48]
inc esi
add rdi, 0x20
cmp esi, dword [rax + 0x28]
jl 0x14004aaf0
mov rsi, qword [rsp + 0x48]
test r13d, r13d
je 0x14004ab5c
mov rax, qword [rsi + 8]
test rax, rax
je 0x14004ab50
nop dword [rax]
nop word [rax + rax]
or dword [rax + 0xc4], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14004ab40
mov rcx, rsi
call fcn.140068f80
or dword [rsi + 0x2c], 1
mov r13, qword [rsp + 0x60]
mov edi, dword [rsp + 0x78]
mov rcx, qword [rsi + 0x280]
cmp rcx, rbx
je 0x14004ab97
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x280], rax
call fcn.140016310
dec dword [r12]
mov rcx, qword [rsi + 0x280]
cmp rcx, rbx
jne 0x14004ab71
cmp r14d, 1
jne 0x14004abdc
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, rsi
mov qword [rsi + 0x280], rax
call fcn.140016310
test edi, edi
jne 0x14004abfc
dec dword [r12]
mov r8d, r15d
mov edx, r14d
mov rcx, rsi
call fcn.1400a76b0
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
jmp 0x14004942c
mov rax, qword [rbx + 8]
mov qword [rsi + 0x298], rax
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x2a0], rax
test edi, edi
je 0x14004abbb
cmp r14d, 2
je 0x14004abbb
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
jmp 0x14004942c
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 8]
test edx, edx
je 0x14004ac26
test dword [rsi + 0x30], 0x100000
jne 0x14004df3b
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14004ad13
mov rcx, rbx
call fcn.140030990
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004df45
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], edi
je 0x14004acd5
test byte [r13 + 0xc4], 0x40
je 0x14004acd5
cmp byte [rsi + 0x5f], dil
je 0x14004ac79
cmp dword [rsi + 0xc0], 1
jle 0x14004acd5
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x14004ac9a
inc dword [rsi + 0x290]
mov r8d, dword [rsi + 0x290]
add r8d, dword [rsi + 0x28c]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.1400a76b0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004acbf
mov edx, dword [r13 + 0x40]
mov rcx, rbx
call fcn.1400320c0
mov dword [rsp + 0x38], eax
mov rax, qword [rsi + 0x298]
mov qword [r13 + 0x58], rax
mov rax, qword [rsi + 0x2a0]
mov qword [r13 + 0x60], rax
lea r8, [rbp + 0x154]
mov edx, r14d
mov rcx, rbx
call fcn.140039ab0
mov rax, qword [rsp + 0x30]
mov r11d, 0x2460
mov r9, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x154]
mov edx, dword [rcx + 4]
jmp 0x14004ad1f
mov eax, r12d
mov edx, r12d
mov dword [rbp + 0x154], eax
mov rdi, qword [rsp + 0x30]
cmp word [rdi + 2], 0
je 0x14004ad3d
cmp eax, dword [rdi + 0xc]
jne 0x14004df83
cmp edx, dword [rdi + 0x10]
jne 0x14004df83
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
jmp 0x14004dc76
mov rbx, qword [rsp + 0x30]
lea r8, [rbp + 0x190]
mov rcx, qword [rsi + 0x20]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140039ab0
mov rdx, rbx
mov rcx, r13
call fcn.140048a50
movsxd rcx, dword [rbp + 0x190]
mov rdi, rbx
mov r9, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140039b40
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x14004adda
mov rcx, qword [rbx + 0x18]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
mov dword [rcx], eax
or dword [rsi + 0x2c], 1
jmp 0x14004adef
cmp eax, 2
jne 0x14004adef
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 4], 1
jne 0x14004ae0a
mov rcx, rsi
call fcn.140044640
and dword [r13 + 0xc4], 0xfffffffe
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
test rdi, rdi
je 0x14004ae4f
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x4c], eax
jne 0x14004ae4f
jmp 0x14004af60
mov rcx, qword [rsp + 0x30]
test byte [r13 + 0xc4], 1
jne 0x14004dfe0
movsxd r15, dword [rcx + 8]
mov edi, r12d
mov r14, r12
movsxd r12, dword [rcx + 0xc]
mov rax, r12
shl rax, 5
add rax, qword [rsi + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x6b
jne 0x14004aeab
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x60]
cmp cl, byte [rax + 0xbf]
jae 0x14004aea4
mov byte [rax + 0xbf], cl
mov rcx, qword [rsp + 0x30]
jmp 0x14004aeb1
xor r8d, r8d
mov esi, r8d
test byte [rcx + 2], 0x10
je 0x14004aed0
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14003d1c0
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf7
jne 0x14004aee3
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14004aeea
cmp al, 0xfd
jne 0x14004aeea
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r12d
mov rcx, qword [rsp + 0x60]
mov r8d, edi
mov byte [rsp + 0x20], 0
call fcn.140048630
mov rdi, rax
test rax, rax
je 0x14004a467
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.140032220
mov rcx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov qword [rdi + 0x40], r14
mov r14d, 1
cmp byte [rcx + 1], 0xf7
mov dword [rsp + 0x38], eax
setne al
mov byte [rdi + 4], al
movzx edx, word [rcx + 2]
mov rcx, qword [rdi + 0x38]
and edx, 3
call fcn.14002daa0
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.140048630
test rax, rax
je 0x14004a46c
or dword [rax + 8], 1
mov r8d, 4
mov byte [rax + 2], 1
mov edx, r14d
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140032220
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140048630
mov rbx, rax
test rax, rax
je 0x14004a46c
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov byte [rax + 2], 1
mov r8, rsi
mov rax, qword [rsp + 0x30]
xor edx, edx
mov rcx, qword [rsi]
mov dword [rsp + 0x28], 0x41e
movzx eax, word [rax + 2]
or eax, 5
mov dword [rsp + 0x20], eax
call fcn.14002f360
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
call fcn.140030990
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rax + 0x10]
mov qword [rbx + 0x40], rsi
test rsi, rsi
je 0x14004b0e9
movzx r8d, word [rax + 2]
lea rdx, [rbp + 0x18c]
or r8d, 2
call fcn.1400391f0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004b0e5
mov rax, qword [rbx + 0x38]
mov r9, rsi
mov edx, dword [rbp + 0x18c]
mov r8d, 4
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140032220
mov dword [rsp + 0x38], eax
xor al, al
jmp 0x14004b108
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea edx, [r9 + 1]
lea r8d, [r9 + 4]
call fcn.140032220
mov dword [rsp + 0x38], eax
mov al, 1
mov edi, dword [rsp + 0x38]
mov edx, 4
mov ecx, edx
mov byte [rdx + rbx], al
test edi, edi
jne 0x14004dd79
mov rax, qword [rsp + 0x30]
lea r14d, [rdx - 3]
mov rdi, qword [rsp + 0x30]
mov ecx, r12d
mov rsi, qword [rsp + 0x48]
mov r11d, 0x2460
mov r9, qword [rsp + 0x40]
cmp word [rax + 2], 8
mov eax, dword [rbx + 8]
cmovne ecx, edx
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140048630
test rax, rax
je 0x14004a46c
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, rsi
mov edx, dword [rdx + 0xc]
call fcn.140050000
mov edi, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14004a05e
jmp 0x14004dc76
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140048630
test rax, rax
je 0x14004a46c
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1400e8884]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], 1
jmp 0x140048d9c
mov rdx, qword [r13 + 0x98]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140040c30
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov qword [rax + rcx*8], r12
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov r15d, r12d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov byte [rsi + 2], 0
je 0x14004b344
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x14004b2c9
xor edx, edx
mov rcx, rdi
call fcn.140048760
mov rcx, rdi
call fcn.14003d070
movzx ecx, word [rdi + 8]
mov r14, rax
test cl, 4
jne 0x14004b30e
test cl, 8
je 0x14004d4cc
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x14004b301
test bl, 1
je 0x14004b30e
dec ebx
jmp 0x14004b30e
comisd xmm0, xmm1
jbe 0x14004b30e
test bl, 1
jne 0x14004b30e
inc ebx
mov rcx, qword [rsi + 0x38]
lea rax, [rbp + 0x138]
lea rdi, [rsi + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r14
xor edx, edx
call fcn.140033230
mov dword [rsp + 0x38], eax
mov qword [rsi + 0x58], r14
test eax, eax
jne 0x14004e01d
jmp 0x14004b3ce
mov rax, qword [rsi + 0x38]
lea rdi, [rsi + 0x38]
mov rcx, qword [rsp + 0x30]
mov edx, 0xffffffff
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x40]
and r14b, 2
mov qword [rbp - 0x48], rax
movzx eax, word [rcx + 0x10]
setne r15b
mov word [rbp - 0x38], ax
test bl, 1
mov eax, 1
mov byte [rbp - 0x32], 0
cmovne eax, edx
xor r9d, r9d
mov byte [rbp - 0x36], al
lea rdx, [rbp - 0x48]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rbp + 0x138]
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140033230
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
test r14b, r14b
je 0x14004b3ce
cmp byte [rbp - 0x32], al
je 0x14004b461
xor r12d, r12d
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r12d
mov eax, dword [rbp + 0x138]
cmp ebx, 0x1a
jl 0x14004b433
test eax, eax
js 0x14004b3f8
jne 0x14004b3ef
cmp ebx, 0x1b
je 0x14004b3f8
mov dword [rbp + 0x138], r12d
jmp 0x14004b46f
mov dword [rbp + 0x138], r12d
xor edx, edx
mov rcx, qword [rdi]
call fcn.1400339d0
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
je 0x14004b461
cmp eax, 0x65
jne 0x14004dd79
mov r14d, 1
mov dword [rsp + 0x38], r12d
mov dword [rbp + 0x138], r14d
jmp 0x14004a054
test eax, eax
jg 0x14004b44e
jne 0x14004b43e
cmp ebx, 0x18
je 0x14004b44e
mov rcx, qword [rdi]
call fcn.1400337d0
mov dword [rbp + 0x138], eax
jmp 0x14004b467
mov dword [rbp + 0x138], r12d
xor edx, edx
mov rcx, qword [rdi]
call fcn.140033bb0
jmp 0x14004b409
mov eax, dword [rbp + 0x138]
test eax, eax
jne 0x14004d4cc
mov rdi, qword [rsp + 0x30]
mov r14d, 1
mov rsi, qword [rsp + 0x48]
test r15d, r15d
mov r15, qword [rsp + 0x50]
lea edx, [r14 + 3]
je 0x14004dad1
mov r9, qword [rsp + 0x40]
add rdi, 0x18
mov r11d, 0x2460
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov ecx, dword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r15
test ecx, ecx
jle 0x14004b4e9
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x48]
mov qword [rbp + 0x48], rax
mov r14, r12
mov word [rbp + 0x58], cx
mov qword [rbp + 0x50], rbx
jmp 0x14004b52f
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14004b504
mov rcx, rbx
call fcn.14003cb50
test eax, eax
jne 0x14004a46c
mov rcx, qword [rsi + 0x40]
call fcn.140043040
mov rdi, rax
mov r14, rax
test rax, rax
je 0x14004a46c
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1400430a0
mov rax, qword [rsp + 0x30]
mov ebx, r12d
mov byte [rdi + 0x12], 0
cmp byte [rax], 0x1c
jne 0x14004b569
movzx edx, word [rdi + 0x10]
mov ecx, r12d
test edx, edx
je 0x14004b569
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x14004b564
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14004b553
jmp 0x14004b569
mov ebx, 1
mov rcx, qword [rsi + 0x38]
lea rax, [rbp + 0x180]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.140033230
mov dword [rsp + 0x38], eax
mov edi, eax
test r14, r14
je 0x14004b59f
mov rcx, qword [rsp + 0x48]
mov rdx, r14
call fcn.140016310
test edi, edi
jne 0x14004dd79
mov eax, dword [rbp + 0x180]
mov ecx, r12d
mov r9, qword [rsp + 0x40]
mov r14d, 1
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp + 0x180]
test eax, eax
mov byte [rsi + 3], dil
mov rdi, qword [rsp + 0x30]
sete cl
test eax, eax
mov dword [rsi + 0x28], r12d
setne al
mov byte [rsi + 2], al
cmp byte [rdi], 0x1e
jne 0x14004b5f5
test ecx, ecx
jne 0x14004a05e
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
test ebx, ebx
jne 0x14004a05e
test ecx, ecx
je 0x14004a05e
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 4
jne case.0x140048bce.32
movzx r8d, byte [rsp + 0x3c]
mov dl, 0x43
mov rcx, rbx
call fcn.140048840
test byte [rbx + 8], 4
je 0x14004a054
mov rbx, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [r13 + 0x98]
xor edx, edx
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x38]
lea rax, [rbp + 0x170]
mov dword [rbp + 0x170], r12d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + r15]
mov rcx, r10
mov r8, rbx
call fcn.140033230
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x28], r12d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x170]
mov dword [rdi + 0x2c], eax
cmp dword [rbp + 0x170], 0
mov rdi, qword [rsp + 0x30]
je 0x14004b6cc
cmp dword [rdi + 8], 0
jne 0x14004986a
mov ecx, 0x15094
call fcn.1400c56b0
mov r12d, eax
mov dword [rsp + 0x38], eax
jmp 0x14004b6d1
mov r12d, dword [rsp + 0x38]
test r12d, r12d
jne 0x14004e01d
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140048a50
mov rcx, qword [r13 + 0x98]
mov rdi, rbx
movsxd rdx, dword [rbx + 4]
mov r9, qword [rsp + 0x40]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
mov qword [rbp + 0x140], r12
mov dword [rbp + 0x14c], r12d
call fcn.140048a50
movsxd rdx, dword [rbx + 4]
mov rsi, rax
mov rcx, qword [r13 + 0x98]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x14004b7bc
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x14c]
call fcn.140033140
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
cmp dword [rbp + 0x14c], eax
je 0x14004b78d
mov qword [rbp + 0x140], r14
jmp 0x14004b7bc
mov rcx, qword [rdi + 0x38]
call fcn.140032580
movabs rcx, 0x7fffffffffffffff
mov qword [rbp + 0x140], rax
cmp rax, rcx
jl 0x14004b7b2
or dword [rdi + 8], 2
jmp 0x14004b7bc
inc rax
mov qword [rbp + 0x140], rax
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x14004b856
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x14004b7f6
mov rax, qword [rcx + 8]
test rax, rax
je 0x14004b7ec
nop dword [rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004b7e0
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14004b7fd
imul rbx, rdx, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14003d070
movzx ecx, word [rbx + 8]
mov edx, 0x3e00
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14004b8c4
test byte [rdi + 8], 2
jne 0x14004b8c4
lea rcx, [rax + 1]
mov rax, qword [rbp + 0x140]
cmp rax, rcx
jge 0x14004b853
mov rax, rcx
mov qword [rbp + 0x140], rcx
mov qword [rbx], rax
test byte [rdi + 8], 2
je 0x14004b8d1
mov ebx, r12d
nop
lea rdx, [rbp + 0x140]
mov ecx, 8
call fcn.140019060
mov r8, qword [rbp + 0x140]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x14c]
mov qword [rbp + 0x140], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140033230
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
cmp dword [rbp + 0x14c], eax
jne 0x14004b8ce
inc ebx
cmp ebx, 0x64
jl 0x14004b860
mov edi, 0xd
jmp 0x14004dd79
xor r12d, r12d
mov r9, qword [rsp + 0x40]
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
mov rax, qword [rbp + 0x140]
mov rdi, qword [rsp + 0x30]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul r8, rax, 0x38
mov rax, qword [r13 + 0x98]
add r8, r15
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 0xc]
cmp bl, 0x76
jne 0x14004b92c
imul rax, rdx, 0x38
mov rdx, qword [rax + r15]
cmp byte [rcx + 1], 0xfa
mov qword [rbp + 0x20], rdx
jne 0x14004b95c
cmp qword [rsi + 0x128], 0
je 0x14004b95c
movsx rcx, byte [rdi + 1]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rcx + 0x10]
jmp 0x14004b962
mov rbx, r12
mov rsi, r12
test byte [rcx + 2], 1
je 0x14004b96c
inc dword [r13 + 0x3c]
test byte [rcx + 2], 0x20
je 0x14004b97b
mov r9, qword [rsp + 0x48]
mov qword [r9 + 0x38], rdx
mov rax, qword [r8 + 0x10]
movzx ecx, word [rcx + 2]
mov qword [rbp + 0x28], rax
mov eax, dword [r8 + 0xc]
mov dword [rbp + 0x3c], eax
test cl, 0x10
je 0x14004b999
mov r9d, dword [rdi + 0x2c]
jmp 0x14004b99c
mov r9d, r12d
mov eax, 0x4000
test word [r8 + 8], ax
je 0x14004b9b0
mov eax, dword [r8]
mov dword [rbp + 0x40], eax
jmp 0x14004b9b4
mov dword [rbp + 0x40], r12d
and ecx, 0xa
mov qword [rbp + 0x18], r12
mov r8d, ecx
lea rdx, [rbp + 0x18]
mov rcx, qword [rdi + 0x38]
call fcn.140038250
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
mov edi, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004dd79
test rbx, rbx
je 0x14004dab0
mov rax, qword [rsp + 0x30]
mov r8, rsi
mov rsi, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rbx]
test byte [rax + 2], 4
mov eax, 0x17
mov rcx, qword [rsi + 0x120]
cmovne edx, eax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x128]
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
lea rdi, [rsi + 0x128]
movsxd rcx, dword [rax + 4]
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xfa
jne 0x14004ba9a
cmp qword [rdi], 0
je 0x14004ba9a
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rbx + 1]
shl rcx, 5
mov r14, qword [rcx + rax]
mov rax, qword [rsp + 0x30]
test byte [rax + 2], 2
mov rsi, qword [rax + 0x10]
je 0x14004baa0
cmp byte [rbx + 4], 0
je 0x14004baa0
mov rcx, qword [rbx + 0x38]
call fcn.140032580
mov qword [rbx + 0x58], rax
mov rax, qword [rsp + 0x30]
jmp 0x14004baa0
mov r14, r12
mov rsi, r12
movzx edx, byte [rax + 2]
mov rcx, qword [rbx + 0x38]
call fcn.1400386e0
xor r8d, r8d
mov dword [rsp + 0x38], eax
mov qword [rbx + 0x28], r8
test eax, eax
jne 0x14004e01d
test r15b, 1
je 0x14004dab7
inc dword [r13 + 0x3c]
mov r10, qword [rdi]
test r10, r10
je 0x14004dab7
test byte [rsi + 0x40], 0x20
jne 0x14004dab7
mov r9, qword [rsi]
mov r8, r14
mov rax, qword [rbx + 0x58]
mov edx, 9
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x120]
call r10
jmp 0x14004942c
mov eax, dword [r13 + 0x3c]
add dword [rsi + 0x78], eax
mov dword [rsi + 0x74], eax
mov dword [r13 + 0x3c], r12d
jmp case.0x140048bce.83
mov rbx, qword [rsp + 0x30]
lea r9, [rbp + 0x17c]
mov rax, qword [r13 + 0x98]
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x17c], r12d
add rdx, r15
call fcn.140052d10
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rdi, rbx
mov r9, qword [rsp + 0x40]
cmp dword [rbp + 0x17c], eax
jne 0x14004a05e
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rdx, r15
mov rcx, qword [rax + rcx*8]
call fcn.140052c40
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r12d
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r11w
je 0x14004bbfa
mov rcx, rbx
call fcn.140048a20
mov rbx, rax
jmp 0x14004bbfe
mov word [rbx + 8], dx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.140032530
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [rsi + 0x7c]
ja 0x14004e0dc
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.14003db30
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 0xc], eax
jne 0x14004dacc
mov r8d, 0x1000
test word [rbx + 8], r8w
je 0x14004dacc
mov rcx, rbx
call fcn.14003caa0
test eax, eax
jne 0x14004a46c
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140048a50
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x98]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x14004bcbc
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov word [rax + 8], r14w
jmp 0x140048d9c
cmp byte [rbx + 3], 0
je 0x14004bcdf
mov rax, qword [rbx + 0x58]
mov r9, qword [rsp + 0x40]
mov qword [rbp + 0x198], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
cmp byte [rbx], 2
jne 0x14004bd2b
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x198]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov rax, qword [rbp + 0x198]
mov r9, qword [rsp + 0x40]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, rbx
call fcn.140042be0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
cmp byte [rbx + 2], al
je 0x14004bd5d
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov word [rdi + 8], r14w
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rbx + 0x38]
call fcn.140032580
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov qword [rbp + 0x198], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r12d
jne 0x14004da9b
mov rcx, qword [rcx + 0x38]
call fcn.14002d740
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x38]
mov dword [rbp + 0x160], r12d
cmp bl, 0x7f
jne 0x14004bdfc
mov rcx, rsi
mov dword [rdi + 0x2c], 0xffffffff
call fcn.140032570
test eax, eax
jne 0x14004dab0
lea rdx, [rbp + 0x160]
mov rcx, rsi
call fcn.140033140
mov dword [rsp + 0x38], eax
movzx eax, byte [rbp + 0x160]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r12d
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 8], 0
jle 0x14004dac7
cmp dword [rbp + 0x160], 0
mov r9, qword [rsp + 0x40]
jne 0x14004a05e
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x15c]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.1400330b0
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
cmp dword [rbp + 0x15c], eax
jne 0x14004a054
mov rcx, rbx
call fcn.1400337e0
test rax, rax
js 0x14004becc
mov rcx, rax
call fcn.14001acb0
mov rdi, qword [rsp + 0x30]
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x14004bed1
mov r9, qword [rsp + 0x40]
mov dword [rbp + 0x15c], r14d
jmp 0x14004a05e
mov rdi, qword [rsp + 0x30]
cmp dword [rbp + 0x15c], 0
mov r9, qword [rsp + 0x40]
jne 0x14004a05e
jmp 0x140048d9c
inc dword [r13 + 0xd8]
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x13c], r14d
cmp byte [rbx], 1
jne 0x14004bf26
lea rdx, [rbp + 0x13c]
mov rcx, rbx
call fcn.1400529f0
mov edi, eax
mov dword [rsp + 0x38], eax
jmp 0x14004bf71
mov rdi, qword [rbx + 0x38]
mov rcx, rdi
call fcn.140032dc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004bf51
mov rcx, rdi
mov dword [rbp + 0x13c], r12d
call fcn.140033050
mov edi, eax
mov dword [rsp + 0x38], eax
jmp 0x14004bf69
mov edi, dword [rsp + 0x38]
cmp edi, 0x10
jne 0x14004bf69
mov dword [rbp + 0x13c], r14d
mov edi, r12d
mov dword [rsp + 0x38], r12d
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r12d
test edi, edi
jne 0x14004dd79
movzx eax, byte [rbp + 0x13c]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov byte [rbx + 2], al
cmp dword [rbp + 0x13c], 0
jne 0x14004a05e
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
mov rdx, rbx
call fcn.140052ac0
jmp 0x14004bffe
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
cmp qword [rax + rcx*8], 0
je 0x140049083
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + 0x10]
mov dword [rsp + 0x38], eax
mov edi, eax
mov dword [rbx + 0x28], r12d
test eax, eax
jne 0x14004c025
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd0]
jmp 0x14004d650
cmp edi, 0x65
jne 0x14004dd79
mov dword [rsp + 0x38], r12d
mov byte [rbx + 2], 1
jmp 0x14004d66e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
test byte [rcx + 2], 1
je 0x14004c06a
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14004c08e
mov rcx, rbx
call fcn.14003cb50
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0x80
jne 0x14004c0a6
mov rdx, rbx
mov rcx, rdi
call fcn.140051640
mov edi, eax
mov dword [rsp + 0x38], eax
jmp 0x14004c110
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x110], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x108], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x120], rcx
mov rcx, qword [rsp + 0x30]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x128], ax
test r8b, 0x10
je 0x14004c0ef
mov r9d, dword [rdi + 0x2c]
jmp 0x14004c0f2
mov r9d, r12d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x108]
and r8d, 0xa
call fcn.140038250
mov dword [rdi + 0x28], r12d
mov edi, eax
mov dword [rsp + 0x38], eax
test edi, edi
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
lea rdx, [rbp]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x10], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x188]
mov byte [rbp + 0x12], 0
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 8], rcx
mov rcx, rdi
call fcn.140033230
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
cmp dword [rbp + 0x188], eax
jne 0x14004c1b1
mov dl, 4
mov rcx, rdi
call fcn.1400386e0
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov qword [rbx + 0x28], 0
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x14004c202
mov rcx, rbx
call fcn.140042b80
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
jmp 0x14004c207
mov dword [rsp + 0x38], r12d
cmp byte [rbx + 2], 0
jne 0x14004c2a9
mov qword [rbp + 0x1a0], r12
lea r8, [rbp + 0x1a0]
mov rdx, qword [rbx + 0x38]
mov rcx, rsi
call fcn.140044290
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
jne 0x14004dd79
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x83
jne 0x14004c285
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x98]
mov r9, qword [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], dil
mov rax, qword [rbp + 0x1a0]
mov rdi, qword [rsp + 0x30]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x140048d9c
mov rdx, rax
mov rcx, r13
call fcn.140048a50
mov rcx, qword [rbp + 0x1a0]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d480
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x148]
cmp bl, 0x28
lea r8, [rbp - 0x18]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x18], rax
movzx eax, word [rcx + 0x10]
mov word [rbp - 8], ax
sbb al, al
mov byte [rbp - 6], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov dword [rbp + 0x148], r12d
add rcx, r15
mov qword [rbp - 0x10], rcx
mov rcx, rsi
call fcn.1400444f0
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
test byte [rax], 1
mov eax, dword [rbp + 0x148]
jne 0x14004c33f
neg eax
jmp 0x14004c341
inc eax
mov edi, dword [rsp + 0x38]
mov dword [rbp + 0x148], eax
test edi, edi
jne 0x14004dd79
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
test eax, eax
jg 0x14004a05e
jmp 0x140048d9c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov rbx, rax
mov word [rax + 8], r14w
mov ecx, dword [rsi + 0xcc]
inc ecx
cmp dword [rsi + 0xc0], ecx
jg 0x14004dfea
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x158]
mov rcx, qword [rsi + 0x20]
mov dword [rbp + 0x158], r12d
movsxd rdi, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.140039a50
mov dword [rsp + 0x38], eax
mov edx, 4
cmp dword [rsp + 0x38], 0
mov word [rbx + 8], dx
movsxd rax, dword [rbp + 0x158]
mov qword [rbx], rax
jne 0x14004e01d
mov r8d, dword [rbp + 0x158]
test r8d, r8d
je 0x14004da9b
mov rax, qword [rsp + 0x30]
mov edx, edi
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.14006d1b0
mov r9, qword [rsp + 0x40]
lea eax, [rdi + 1]
mov rdi, qword [rsp + 0x30]
mov byte [rsp + 0x58], al
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x178]
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rsp + 0x30]
mov dword [rbp + 0x178], r12d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r12
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140039500
mov rdi, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
cmp dword [rdi + 0xc], 0
je 0x14004c480
movsxd rdx, dword [rbp + 0x178]
add dword [r13 + 0x3c], edx
movsxd rax, dword [rdi + 0xc]
test eax, eax
jle 0x14004c480
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14004c4c9
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.140050710
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rcx + 0x38]
call fcn.1400395e0
jmp 0x14004b19a
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov r9, qword [rsp + 0x48]
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov dword [rbp + 0x174], r12d
mov rcx, qword [r9 + 0x20]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.14002d2a0
mov r8d, ebx
lea rdx, [rbp + 0x174]
mov rcx, rdi
call fcn.140038c50
mov rcx, rdi
mov dword [rsp + 0x38], eax
call fcn.14002d390
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
movsxd rax, dword [rbp + 0x174]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
xor r9d, r9d
inc byte [rsi + 0x6a]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], r12
mov rdx, qword [rax + 0x10]
call fcn.140085360
dec byte [rsi + 0x6a]
jmp 0x14004b19a
mov rbx, qword [rsp + 0x30]
lea rax, [r13 + 0x90]
mov r8, qword [rsi + 0x20]
lea r9, str.sqlite_master
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], rsi
movsxd rcx, dword [rbx + 4]
mov rax, qword [rbx + 0x10]
mov rdx, rcx
shl rdx, 5
mov dword [rbp - 0x20], ecx
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.140018c70
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x14004dffc
lea r9, [rbp - 0x30]
mov byte [rsi + 0xb5], 1
lea r8, [fcn.14008d510]
mov dword [rbp - 0x1c], r12d
mov rdx, rax
mov qword [rsp + 0x20], r12
call fcn.140085360
test eax, eax
mov rdx, rbx
mov rcx, rsi
cmove eax, dword [rbp - 0x1c]
mov dword [rsp + 0x38], eax
call fcn.140016310
mov edi, dword [rsp + 0x38]
mov byte [rsi + 0xb5], 0
test edi, edi
je 0x14004b1a8
mov rcx, rsi
call fcn.140068f80
cmp edi, 7
je 0x14004a46c
jmp 0x14004dd79
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.140066080
jmp 0x14004b19a
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400696c0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140068be0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400a0540
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
lea r8, [rbp + 0x184]
mov qword [rsp + 0x20], r8
mov r8, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov rdx, qword [rcx + 0x10]
mov r8d, dword [r8 + 8]
add rdx, 4
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movzx eax, word [rcx + 2]
mov rcx, qword [rsi + 0x20]
add rbx, r15
mov r9d, dword [rdi + r15]
shl rax, 5
inc r9d
mov rcx, qword [rax + rcx + 8]
call fcn.14003ac70
mov rcx, rbx
mov rsi, rax
call fcn.14003d480
mov ecx, dword [rbp + 0x184]
test ecx, ecx
je 0x14004c753
test rsi, rsi
je 0x14004a46c
dec ecx
lea rax, [fcn.140016250]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi + r15], rdx
mov r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.14003d7a0
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.14003c6e0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x14004c7a4
mov rcx, rbx
call fcn.14003d500
test byte [rbx + 8], 0x20
je 0x14004a46c
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.1400234f0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 0x20
je 0x14004c809
mov rcx, qword [rbx]
lea rdx, [rbp + 0x1b8]
call fcn.140023980
test eax, eax
je 0x14004c809
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x1b8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.14003d4e0
jmp 0x14004d66e
mov rcx, rbx
call fcn.14003d480
jmp 0x14004d650
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x14004c849
mov rcx, rbx
call fcn.14003d500
test byte [rbx + 8], 0x20
je 0x14004a46c
test esi, esi
je 0x14004c86b
mov r8, qword [rdi + r15]
mov edx, esi
mov rcx, qword [rbx]
call fcn.140023a00
test eax, eax
jne 0x14004a054
test esi, esi
js 0x14004dab0
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx]
call fcn.1400234f0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r14, qword [rcx + 0x10]
imul rsi, rax, 0x38
add rsi, r15
cmp word [rcx + 2], 0
je 0x14004c8c9
mov rax, qword [r13 + 0x100]
mov rcx, qword [r14 + 0x20]
test rax, rax
je 0x14004c8c9
cmp qword [rax + 0x38], rcx
je 0x14004dc32
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004c8b6
mov r8, qword [rsp + 0x48]
mov eax, dword [r8 + 0xa4]
cmp dword [r13 + 0x110], eax
jge 0x14004e006
test byte [rsi + 8], 0x40
jne 0x14004c9e5
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14 + 0xc]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r14 + 8]
add ecx, edx
add eax, 7
jns 0x14004c912
add eax, 7
sar eax, 3
lea eax, [rax + rcx*8]
mov rcx, r8
movsxd rdx, eax
call fcn.140016740
mov rdi, rax
test rax, rax
je 0x14004a46c
mov rcx, rsi
call fcn.14003cfe0
mov word [rsi + 8], 0x40
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rsi], rdi
mov qword [rdi], r13
mov dword [rdi + 0x60], ebx
mov ecx, dword [r14 + 0x10]
mov dword [rdi + 0x64], ecx
mov rcx, qword [rsp + 0x30]
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x54], edx
mov rax, qword [r13 + 0x70]
mov qword [rdi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rdi + 0x5c], eax
mov rax, qword [r13 + 0x98]
mov qword [rdi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rdi + 0x50], eax
mov rax, qword [r13 + 0x68]
mov qword [rdi + 0x10], rax
mov eax, dword [r13 + 0xb8]
mov dword [rdi + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [rdi + 0x38], rax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rdi + 0x70]
add rcx, rdi
cmp rax, rcx
je 0x14004c9e8
mov r9, qword [rsp + 0x48]
nop dword [rax]
mov word [rax + 8], 0x80
mov qword [rax + 0x28], r9
add rax, 0x38
cmp rax, rcx
jne 0x14004c9d0
jmp 0x14004c9e8
mov rdi, qword [rsi]
inc dword [r13 + 0x110]
lea r15, [rdi + 0x70]
mov rax, qword [r13 + 0x100]
mov rsi, qword [rsp + 0x48]
mov qword [rdi + 8], rax
mov qword [rsp + 0x50], r15
mov rax, qword [rsi + 0x38]
mov qword [rdi + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [rdi + 0x68], eax
mov rax, qword [r13]
mov ecx, dword [rax + 0x74]
mov dword [rdi + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [rdi + 0x48], rax
mov qword [r13 + 0x120], r12
mov dword [r13 + 0x3c], r12d
mov qword [r13 + 0x100], rdi
mov qword [r13 + 0x70], r15
movsxd rcx, dword [rdi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rdi + 0x64]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, r15
mov qword [r13 + 0x98], rcx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rdi + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov r9, qword [r14]
mov qword [r13 + 0x68], r9
mov eax, dword [r14 + 8]
mov r14d, 1
mov dword [r13 + 0xb8], eax
lea rdi, [r9 - 0x18]
jmp 0x140048d97
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov r9, qword [r13 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x30]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.14003d6c0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
test dword [rsi + 0x30], 0x80000
mov rax, qword [rsp + 0x30]
mov rdi, rax
je 0x14004cb1e
movsxd rax, dword [rax + 8]
add qword [rsi + 0x2a0], rax
jmp case.0x140048bce.83
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
je 0x14004cb4b
add qword [rsi + 0x298], rax
mov r13, qword [rsp + 0x60]
add rdi, 0x18
mov ebx, dword [rsp + 0x74]
xor r12d, r12d
jmp 0x140048b97
add qword [r13 + 0x50], rax
mov r13, qword [rsp + 0x60]
add rdi, 0x18
mov ebx, dword [rsp + 0x74]
xor r12d, r12d
jmp 0x140048b97
cmp dword [rdi + 4], 0
je 0x14004cb8b
cmp qword [rsi + 0x298], 0
jne case.0x140048bce.83
cmp qword [rsi + 0x2a0], 0
je 0x14004a05e
jmp case.0x140048bce.83
cmp qword [r13 + 0x50], 0
jne case.0x140048bce.83
cmp qword [rsi + 0x2a0], 0
je 0x14004a05e
jmp case.0x140048bce.83
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x14004cbdf
mov rax, qword [rcx + 8]
test rax, rax
je 0x14004cbcc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004cbc0
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14004cbef
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.14003d070
mov qword [rdi], rax
mov r12d, 0x3e00
movzx eax, word [rdi + 8]
and ax, r12w
or ax, 4
mov word [rdi + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14003d070
movzx ecx, word [rbx + 8]
mov edx, 4
and cx, r12w
mov qword [rbx], rax
or cx, 4
mov word [rbx + 8], cx
cmp qword [rdi], rax
jge 0x14004da9b
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
mov qword [rdi], rax
mov rdi, qword [rsp + 0x30]
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle 0x14004dc76
mov rax, rdi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14004a05e
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rdi, rax, 0x38
call fcn.140048a50
mov rcx, qword [rbx + r15]
mov rsi, rax
mov qword [rbp + 0x1b0], rcx
test rcx, rcx
jle 0x14004ccff
mov rdx, qword [rdi + r15]
lea rcx, [rbp + 0x1b0]
test rdx, rdx
cmovle rdx, r12
call fcn.14001ab50
test eax, eax
jne 0x14004ccff
mov rax, qword [rbp + 0x1b0]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rsi], 0xffffffffffffffff
mov rsi, qword [rsp + 0x48]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
test rax, rax
je 0x140049083
mov rdi, qword [rsp + 0x30]
jle 0x14004a05e
dec rax
mov qword [rcx + r15], rax
jmp 0x14004a05e
mov rax, qword [rsp + 0x30]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
cmp rax, r8
jle 0x14004cd72
dec rax
mov qword [rcx + r15], rax
mov rdi, qword [rsp + 0x30]
test rax, rax
je 0x14004a05e
jmp case.0x140048bce.83
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.1400167e0
mov rbx, rax
test rax, rax
je 0x14004a46c
add rsi, 6
mov qword [rax + 0x10], r12
mov r8d, r14d
lea rcx, [rax + rsi*8]
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov qword [rax], rcx
call fcn.14003d460
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [rbx + 0x18], r13
sar rdx, 2
mov rax, rdx
mov byte [rbx + 0x28], 0
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x24], r12d
mov rax, qword [rsp + 0x30]
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x29], dil
mov word [rax], 0xf097
mov qword [rax + 0x10], rbx
jmp 0x14004ce25
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r15
mov qword [rbp - 0x78], r10
cmp qword [rbx + 0x10], r10
je 0x14004ce85
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14004ce85
mov r10, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14004ce60
mov r10, qword [rbp - 0x78]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
mov rcx, rbx
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14004da81
jle 0x14004cecb
mov rcx, qword [rbx]
mov dl, 1
call fcn.14003dc90
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
cmp byte [rbx + 0x28], 0
je 0x14004cef1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14004ceed
imul rcx, rax, 0x38
mov rdx, r14
add rcx, r15
call fcn.14003d4e0
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
mov r11d, 0x2460
test word [rcx + 8], r11w
jne 0x14004cf07
cmp dword [rcx + 0x20], 0
je 0x14004cf12
call fcn.14003ceb0
mov r11d, 0x2460
mov rax, qword [rbx]
mov edi, dword [rsp + 0x38]
mov word [rax + 8], r14w
mov dword [rbx + 0x24], r12d
test edi, edi
jne 0x14004dd79
jmp 0x14004dc6c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14003ccb0
mov dword [rsp + 0x38], eax
mov rcx, rbx
test eax, eax
jne 0x14004e026
movzx edx, byte [rsp + 0x3c]
call fcn.14003c6e0
mov rcx, rbx
call fcn.14003d650
test eax, eax
jne 0x14004e0dc
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rbx, qword [rsp + 0x30]
lea rax, [rbp + 0x1d0]
lea r9, [rbp + 0x1cc]
mov dword [rbp + 0x1c8], r12d
mov rcx, rsi
mov qword [rbp + 0x1cc], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
call fcn.1400c3710
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
je 0x14004cfdf
cmp eax, 5
jne 0x14004dd79
mov ecx, r14d
mov dword [rsp + 0x38], r12d
mov dword [rbp + 0x1c8], ecx
jmp 0x14004cfe5
mov ecx, dword [rbp + 0x1c8]
movsxd rax, dword [rbx + 0xc]
mov r11d, 0x2460
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, r15
test word [rbx + 8], r11w
je 0x14004d018
mov rdx, rax
mov rcx, rbx
call fcn.14003d4a0
mov edx, 4
mov r11d, 0x2460
jmp 0x14004d024
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 8], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x1cc]
test word [rbx + 0x40], r11w
je 0x14004d04b
mov rdx, rax
call fcn.14003d4a0
mov edx, 4
mov r11d, 0x2460
jmp 0x14004d052
mov qword [rcx], rax
mov word [rbx + 0x40], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x1d0]
test word [rbx + 0x78], r11w
je 0x14004d07b
mov rdx, rax
call fcn.14003d4a0
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rcx], rax
mov word [rbx + 0x78], dx
jmp case.0x140048bce.83
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov rcx, qword [rsi + 0x20]
mov r14, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.140039dc0
mov rcx, rax
mov rsi, rax
call fcn.1400299b0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.1400299c0
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.140029470
cmp ebx, 5
jne 0x14004d163
mov rcx, rax
call fcn.1400198e0
test eax, eax
je 0x14004d10c
mov rcx, rsi
call fcn.1400299f0
test eax, eax
jne 0x14004d163
mov ebx, edi
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x14004d118
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.140029830
mov ecx, eax
mov word [r14 + 8], 0xa02
call fcn.1400869a0
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.1400198e0
movzx edx, byte [rsp + 0x3c]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.14003c6e0
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
jmp 0x140049427
cmp ebx, edi
je 0x14004d10e
cmp edi, 5
je 0x14004d171
cmp ebx, 5
jne 0x14004d10e
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x5f], 0
je 0x14004e046
cmp dword [rax + 0xc0], 1
jg 0x14004e046
cmp edi, 5
jne 0x14004d1b5
mov rdx, rax
mov rcx, rsi
call fcn.140029bb0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004d116
mov edx, ebx
mov rcx, rsi
call fcn.140029830
jmp 0x14004d1d0
cmp edi, 4
jne 0x14004d1c5
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.140029830
cmp dword [rsp + 0x38], 0
jne 0x14004d116
mov edx, r12d
cmp ebx, 5
mov rcx, r15
sete dl
inc edx
call fcn.14003b480
mov dword [rsp + 0x38], eax
jmp 0x14004d112
mov rax, qword [rsp + 0x30]
lea rcx, [r13 + 0x90]
mov rdx, rsi
mov r8d, dword [rax + 4]
call fcn.1400a5040
jmp 0x14004b19a
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140031740
mov dword [rsp + 0x38], eax
mov edi, eax
test eax, eax
je 0x14004da81
cmp eax, 0x65
jne 0x14004dd79
mov dword [rsp + 0x38], r12d
jmp 0x14004a054
cmp dword [rdi + 4], 0
jne 0x14004d25d
mov rcx, rsi
call fcn.140044640
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
or dword [r13 + 0xc4], 1
jmp case.0x140048bce.83
movzx r8d, byte [rdi + 0xc]
test r8b, r8b
jne 0x14004d281
test dword [rsi + 0x30], 0x400
jne case.0x140048bce.83
movsxd rax, dword [rdi + 4]
mov rcx, qword [rsi + 0x20]
mov edx, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14003b290
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e07b
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1400a75b0
mov dword [rsp + 0x38], eax
mov edi, eax
test rbx, rbx
je 0x14004d2e0
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.140044780
test edi, edi
jmp 0x14004b1a2
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0x60]
xorps xmm0, xmm0
mov qword [rbp + 0x60], r12
xorps xmm1, xmm1
mov qword [rbp + 0x90], r12
movdqu xmmword [rbp + 0x68], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x78], xmm1
mov qword [rbp + 0x88], rsi
add rdx, r15
call fcn.14003d700
lea rcx, [rbp + 0x60]
mov dword [rsp + 0x38], eax
call fcn.140044ec0
test rax, rax
je 0x14004d352
mov r8, rax
lea r9, [r13 + 0x90]
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov edx, dword [rax + 4]
call fcn.1400a6c00
mov dword [rsp + 0x38], eax
lea rcx, [rbp + 0x60]
call fcn.14003cfe0
mov edi, dword [rsp + 0x38]
test edi, edi
jmp 0x14004b1a2
mov rax, qword [rsp + 0x30]
mov rcx, rsi
inc dword [rsi + 0xcc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400a7220
dec dword [rsi + 0xcc]
jmp 0x14004b19a
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x50], r12
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004e0ae
mov rdi, qword [rbx]
test rdi, rdi
je 0x14004e0ae
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov rax, qword [rbp - 0x50]
mov r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.140048630
mov rcx, qword [rbp - 0x50]
test rax, rax
je 0x14004e0a6
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov r12, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [r12 + 0x78]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x98]
add rdx, r15
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14004d489
mov r10d, 1
nop dword [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x14004d470
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.140044780
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004e37c
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], dil
test eax, eax
je 0x14004dc56
mov r14d, 1
jmp 0x14004a054
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r15
cmp byte [rdi + 2], 0
je 0x14004d518
mov rcx, rbx
call fcn.14003d480
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
cmp word [rcx + 2], 0
xorps xmm0, xmm0
mov rax, qword [rdi + 0x38]
xorps xmm1, xmm1
mov rsi, qword [rax]
mov r14, qword [rsi]
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xd0], rbx
movdqu xmmword [rbp + 0xe8], xmm1
movdqu xmmword [rbp + 0xf8], xmm0
je 0x14004d565
mov rcx, rbx
call fcn.14003d480
mov rcx, qword [rsp + 0x30]
mov eax, 0x4001
mov dword [rbx], r12d
jmp 0x14004d575
movzx eax, word [rbx + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
mov word [rbx + 8], ax
lea rdx, [rbp + 0xd0]
mov r8d, dword [rcx + 8]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
cmp dword [rbp + 0xf4], 0
jle 0x14004d5c8
mov rcx, rbx
call fcn.140044ec0
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov eax, dword [rbp + 0xf4]
mov dword [rsp + 0x38], eax
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.14003c6e0
mov rcx, rbx
call fcn.14003d650
test eax, eax
jne 0x14004e0dc
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004dd79
mov rsi, qword [rsp + 0x48]
jmp 0x140049431
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x98]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x140049083
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x48]
test eax, eax
jne 0x14004d66e
mov r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x30], rax
mov eax, dword [rsi + 0x160]
test eax, eax
jne 0x14004e338
mov r9d, dword [rsp + 0x74]
cmp r9d, dword [rbp - 0x80]
jb 0x14004da81
mov r8, qword [rsi + 0x1b0]
test r8, r8
je 0x14004da81
mov ecx, dword [rsi + 0x1c0]
xor edx, edx
mov eax, r9d
div ecx
sub ecx, edx
add ecx, r9d
mov dword [rbp - 0x80], ecx
mov rcx, qword [rsi + 0x1b8]
call r8
test eax, eax
jne 0x14004e117
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rcx, qword [rsp + 0x30]
mov edx, r14d
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14003c6e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004e01d
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
and dword [r13 + 0xc4], 0xfffffffe
mov edi, dword [rsp + 0x38]
test edi, edi
jmp 0x14004b1a2
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004e0ae
mov r10, qword [rbx]
test r10, r10
je 0x14004e0ae
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x30]
movsxd rdx, dword [rdx + 8]
je 0x14004dc71
mov rax, qword [rsp + 0x30]
movzx edi, byte [rsi + 0x66]
mov r8, qword [r13 + 0x78]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r12
add rcx, r15
test edx, edx
jle 0x14004d7a0
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14004d790
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x1c0]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x66], dil
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.140044780
mov edi, dword [rsp + 0x38]
test edi, edi
jne 0x14004d7ed
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 4], 0
je 0x14004d82d
mov rax, qword [rbp + 0x1c0]
mov qword [rsi + 0x38], rax
jmp 0x14004d82d
cmp dil, 0x13
jne 0x14004d828
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14004d828
mov rcx, qword [rsp + 0x30]
movzx ecx, word [rcx + 2]
cmp ecx, 4
jne 0x14004e0b8
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x38], r12d
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
inc dword [r13 + 0x3c]
cmp dword [rsp + 0x38], 0
jne 0x14004e01d
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov rcx, qword [rsi + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14002ef70
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140048d9c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140048a50
mov r8, qword [rsp + 0x30]
mov rdi, rax
mov rcx, qword [rsi + 0x20]
mov eax, r12d
movsxd rdx, dword [r8 + 4]
shl rdx, 5
cmp dword [r8 + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x14004d8c9
mov rcx, rbx
call fcn.14002ef70
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx + 0xc]
cmovb eax, dword [rcx + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.1400303f0
mov r9, qword [rsp + 0x40]
movsxd rcx, eax
mov qword [rdi], rcx
mov rdi, qword [rsp + 0x30]
jmp 0x140048d9c
mov rax, qword [rsp + 0x30]
mov rcx, rsi
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x30]
call fcn.1400167e0
mov r8, rax
test rax, rax
je 0x14004a46c
mov qword [rax], r12
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r13
sar rdx, 2
mov dword [r8 + 0x24], r12d
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [r8 + 0x29], bl
mov rax, qword [rsp + 0x30]
mov dword [r8 + 0x20], edx
add byte [rax], 2
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
jmp 0x14004d967
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r15
mov qword [rbp - 0x78], rdi
cmp qword [rbx], rdi
je 0x14004d9c4
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x14004d9c4
mov rdi, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14004d9a0
mov rdi, qword [rbp - 0x78]
movzx eax, word [rdi + 8]
lea r8, [rbx + 0x30]
mov ecx, 0x3e00
and ax, cx
mov rcx, rbx
or ax, 1
mov word [rdi + 8], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14004da41
jle 0x14004da16
mov dl, 1
mov rcx, rdi
call fcn.14003dc90
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
lea rdx, [r13 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.140042480
cmp dword [rsp + 0x38], 0
mov dword [rbx + 0x24], r12d
jne 0x14004e01d
movzx eax, word [rdi + 8]
test al, 0x12
je 0x14004da81
test al, 2
je 0x14004da62
movzx eax, byte [rsp + 0x3c]
cmp byte [rdi + 0xa], al
je 0x14004da62
movzx edx, al
mov rcx, rdi
call fcn.1400192c0
mov rcx, rdi
call fcn.14003d650
test eax, eax
jne 0x14004e0dc
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140048d9c
mov rdi, qword [rsp + 0x30]
mov edx, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
jmp case.0x140048bce.83
mov rdi, qword [rsp + 0x30]
mov r11d, 0x2460
mov r9, qword [rsp + 0x40]
jmp case.0x140048bce.83
mov rdi, qword [rsp + 0x30]
jmp 0x14004dac7
mov rdi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov r14d, 1
mov rsi, qword [rsp + 0x48]
mov edx, 4
mov r9, qword [rsp + 0x40]
mov r11d, 0x2460
jmp case.0x140048bce.83
mov rdi, qword [rsp + 0x30]
jmp 0x14004dac1
mov rdi, qword [rsp + 0x30]
mov r11d, 0x2460
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp case.0x140048bce.83
movzx eax, byte [rsi + 0x68]
test al, 0x81
je 0x14004dbcd
test byte [r13 + 0xc4], 2
jne 0x14004dbcd
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x14004db3a
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x14004dbc8
test al, al
jns 0x14004db69
mov rdi, qword [rsi + 0xe0]
mov rdx, r9
mov rcx, r13
call fcn.1400480f0
mov rcx, qword [rsi + 0xe8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.140016250
jmp 0x14004dbbd
cmp dword [rsi + 0xc8], 1
jle 0x14004dbaa
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.140018c70
mov rdx, qword [rsi + 0xe8]
mov r9, rax
mov r8, r13
mov ecx, r14d
mov rbx, rax
call qword [rsi + 0xe0]
mov rdx, rbx
mov rcx, rsi
call fcn.1400163d0
jmp 0x14004dbbd
mov rdx, qword [rsi + 0xe8]
mov r8, r13
mov ecx, r14d
call qword [rsi + 0xe0]
mov r11d, 0x2460
mov edx, 4
mov r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x1400e6244]
jl 0x14004dc21
cmp byte [rdi], 0xa7
je case.0x140048bce.83
cmp dword [r13 + 0xb8], 1
mov edx, r14d
jle 0x14004dc1e
mov eax, 0x18
nop dword [rax]
mov rcx, qword [r13 + 0x68]
cmp byte [rax + rcx], 0x14
jne 0x14004dc0f
mov dword [rax + rcx + 4], r12d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0xb8]
jl 0x14004dc00
mov eax, r12d
inc eax
mov dword [rdi + 4], eax
inc dword [r13 + 0xe8]
jmp 0x14004a05e
mov rdi, qword [rsp + 0x30]
mov r14d, 1
mov rsi, qword [rsp + 0x48]
jmp case.0x140048bce.83
mov rdi, qword [rsp + 0x30]
mov r14d, 1
mov r9, qword [rsp + 0x40]
jmp case.0x140048bce.83
mov r15, qword [rsp + 0x50]
mov r14d, 1
mov r11d, 0x2460
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov edx, 4
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x60]
add rdi, 0x18
mov ebx, dword [rsp + 0x74]
xor r12d, r12d
jmp 0x140048b97
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xbe], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x14004dd43
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x14004dd09
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0xcbe28]
call fcn.14003e590
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x14004dd19
mov r8, qword [r13 + 0x90]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.140018c70
mov qword [r13 + 0x90], rax
jmp 0x14004dd19
mov r8, qword [rdx + 0x10]
lea rdx, [0x1400d2870]
call fcn.14003e590
mov rax, qword [r13 + 0x90]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
call fcn.140018f60
mov rcx, r13
call fcn.140041e10
mov dword [rsp + 0x38], eax
cmp eax, 5
jne 0x14004e2e2
mov dword [r13 + 0x38], eax
jmp 0x14004de4f
mov edi, 0x14
jmp 0x14004dd79
mov ecx, 0x14a86
call fcn.1400c56b0
mov edi, eax
mov r13, qword [rsp + 0x60]
mov ebx, 7
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x61], 0
cmovne edi, ebx
cmp qword [r13 + 0x90], 0
mov dword [rsp + 0x38], edi
jne 0x14004ddb9
cmp edi, 0xc0a
je 0x14004ddb9
mov ecx, edi
call fcn.1400c2610
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov dword [r13 + 0x38], edi
mov edx, edi
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140019980
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0x90]
mov ecx, dword [rsp + 0x38]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140018f60
mov rcx, r13
call fcn.140041e10
cmp dword [rsp + 0x38], 0xc0a
jne 0x14004de2e
mov rcx, rdi
call fcn.140016cb0
movzx ecx, byte [rsp + 0x58]
mov eax, 1
mov dword [rsp + 0x38], eax
test cl, cl
je 0x14004de4f
lea edx, [rcx - 1]
mov rcx, rdi
call fcn.140068ef0
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x74]
add dword [r13 + 0xe0], ecx
cmp dword [r13 + 0xcc], 0
movaps xmm7, xmmword [rsp + 0x2e0]
movaps xmm6, xmmword [rsp + 0x2f0]
mov r15, qword [rsp + 0x300]
mov r14, qword [rsp + 0x308]
mov r12, qword [rsp + 0x310]
mov rdi, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x340]
mov rbx, qword [rsp + 0x338]
je 0x14004deb0
mov rcx, r13
call fcn.14003ff20
mov eax, dword [rsp + 0x38]
mov rcx, qword [rbp + 0x1d8]
xor rcx, rsp
call fcn.1400c69d0
add rsp, 0x318
pop r13
pop rbp
ret
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14003e590
mov edi, 5
jmp 0x14004dd79
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14003e590
mov edi, 5
jmp 0x14004dd79
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
mov dword [r13 + 0x34], edx
mov byte [rsi + 0x5f], 0
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x38], eax
jmp 0x14004de4f
mov edi, 8
jmp 0x14004dd79
cmp al, 5
jne 0x14004dd79
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x38]
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], eax
jmp 0x14004de4f
mov rdx, qword [r13 + 0x90]
mov rcx, rsi
call fcn.1400163d0
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.140016a40
mov qword [r13 + 0x90], rax
mov rax, qword [rsi + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x154]
cmp dword [rcx], eax
je 0x14004dfce
mov rcx, rsi
call fcn.140068ef0
or dword [r13 + 0xc4], 1
mov edi, 0x11
jmp 0x14004dd79
mov edi, 0x204
jmp 0x14004dd79
mov edi, 6
mov byte [r13 + 0xbe], 2
jmp 0x14004dd79
call fcn.140068f80
jmp 0x14004a46c
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x38], 1
mov rcx, r13
call fcn.14003e590
mov edi, dword [rsp + 0x38]
jmp 0x14004dd79
call fcn.140044ec0
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov edi, dword [rsp + 0x38]
jmp 0x14004dd79
cmp ebx, 5
mov dword [rsp + 0x38], 1
lea rax, str.into
mov rcx, r13
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.14003e590
mov edi, dword [rsp + 0x38]
jmp 0x14004dd79
mov edi, dword [rsp + 0x38]
cmp dil, 6
jne 0x14004dd79
mov rax, qword [rsp + 0x30]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.14003e590
jmp 0x14004dd79
call qword [rdi + 0x38]
jmp 0x14004a46c
mov edi, 6
jmp 0x14004dd79
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xbe], al
jmp 0x14004dd79
mov r13, qword [rsp + 0x60]
jmp 0x14004e0dc
mov r13, rdi
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.14003e590
mov edi, 0x12
jmp 0x14004dd79
mov rax, qword [rsi + 0x1b0]
test rax, rax
je 0x14004e121
mov ecx, dword [rsp + 0x74]
cmp ecx, dword [rbp - 0x80]
jb 0x14004e121
mov rcx, qword [rsi + 0x1b8]
call rax
test eax, eax
je 0x14004e121
mov edi, 9
jmp 0x14004dd79
xor edx, edx
mov rcx, r13
call fcn.140041dc0
mov edi, eax
test eax, eax
jne 0x14004dd79
mov edx, r14d
mov rcx, r13
call fcn.140041da0
mov eax, dword [r13 + 0x30]
mov rbx, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, r15
mov qword [r13 + 0x88], rdi
cmp dword [rbx + 8], 0
jle 0x14004e1c1
lea rbx, [rdi + 8]
mov r14d, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x14004e196
movsxd rax, r12d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14003caa0
test eax, eax
jne 0x14004a46c
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x14004e1ac
lea rcx, [rbx - 8]
call fcn.14003ca40
mov rax, qword [rsp + 0x30]
inc r12d
add rbx, 0x38
cmp r12d, dword [rax + 8]
jl 0x14004e175
mov rbx, rax
cmp byte [rsi + 0x61], 0
jne 0x14004a46c
test byte [rsi + 0x68], 4
je 0x14004e1e8
mov rdx, qword [rsi + 0xe8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rsi + 0xe0]
sub rbx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
inc edx
mov dword [rsp + 0x38], eax
mov dword [r13 + 0x34], edx
jmp 0x14004de4f
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x5f]
cmp ebx, eax
je 0x14004e2f9
test ecx, ecx
je 0x14004e248
mov edx, 0x204
mov rcx, rsi
call fcn.1400c24a0
mov al, 1
jmp 0x14004e288
test ebx, ebx
je 0x14004e26e
cmp dword [rsi + 0xc4], 0
jle 0x14004e26e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.14003e590
mov edi, 5
jmp 0x14004dd79
mov edx, r14d
mov rcx, r13
call fcn.140041dc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14004de4f
movzx eax, bl
mov rcx, r13
mov byte [rsi + 0x5f], al
call fcn.140041e10
cmp eax, 5
jne 0x14004e2da
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
sub r14b, bl
mov dword [r13 + 0x34], edx
mov byte [rsi + 0x5f], r14b
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x38], eax
jmp 0x14004de4f
mov rcx, rsi
call fcn.1400c1840
cmp dword [r13 + 0x38], 0
mov eax, 0x65
cmovne eax, r14d
mov dword [rsp + 0x38], eax
jmp 0x14004de4f
test ebx, ebx
jne 0x14004e314
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r13
call fcn.14003e590
mov edi, r14d
jmp 0x14004dd79
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r13
cmovne rdx, rax
call fcn.14003e590
mov edi, r14d
jmp 0x14004dd79
cmp byte [rsi + 0x61], 0
mov eax, 9
mov ebx, 7
cmovne eax, ebx
mov ecx, eax
mov dword [rsp + 0x38], eax
mov dword [r13 + 0x38], eax
call fcn.1400c2610
mov r8, rax
lea rdx, [0x1400d2870]
mov rcx, r13
call fcn.14003e590
mov edi, dword [rsp + 0x38]
jmp 0x14004dd7e
mov edi, dword [rsp + 0x38]
jmp 0x14004dd74
mov r13, r12
jmp 0x14004dd79