Function at 0x14005cb80
Capabilities:
Encrypt data using speck
Parse credit card information
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140157100]
xor rax, rsp
mov qword [rbp + 0x108], rax
mov rbx, qword [rcx]
xor r10d, r10d
mov edx, r10d
mov rsi, qword [rcx + 0x88]
mov rax, rcx
mov r11, qword [rcx + 0x68]
mov r12, rsi
mov qword [rsp + 0x68], rcx
mov r15d, r10d
mov r9b, byte [rbx + 0x64]
mov dil, r10b
mov byte [rsp + 0x40], r9b
mov r8d, r10d
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x48], r10d
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x41], r10b
mov dword [rsp + 0x44], edx
mov qword [rbp - 0x78], r10
mov qword [rsp + 0x58], r11
mov dword [rsp + 0x78], r10d
cmp dword [rcx + 0xc8], r10d
je 0x14005cc3d
call fcn.1400586ac
mov rax, qword [rsp + 0x68]
mov edx, r15d
mov r11, qword [rsp + 0x58]
xor r10d, r10d
mov r9b, byte [rsp + 0x40]
mov r8, qword [rbp - 0x78]
cmp dword [rax + 0x34], 7
mov r14d, 1
je 0x140062eec
mov dword [rax + 0x34], r10d
mov qword [rax + 0x48], r10
mov eax, dword [rbx + 0x188]
mov dword [rbx + 0x268], r10d
test eax, eax
jne 0x140061e1b
mov r12, qword [rsp + 0x68]
xorps xmm7, xmm7
movsxd rax, dword [r12 + 0x30]
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
lea ecx, [r14 + 3]
add r8, r14
mov qword [rsp + 0x60], r13
mov qword [rbp - 0x78], r8
mov edi, 5
movzx r8d, byte [r13]
cmp r8d, 0x5c
ja 0x14005f3a7
je 0x14005f334
cmp r8d, 0x2d
ja 0x14005e309
je 0x14005e23f
cmp r8d, 0x16
ja 0x14005db07
je 0x14005d951
cmp r8d, 0xb
ja 0x14005d752
je 0x14005d726
cmp r8d, edi
ja 0x14005d4fe
je 0x14005d4bd
test r8d, r8d
je 0x14005d112
sub r8d, 1
je 0x140062ac0
sub r8d, 1
je 0x14005cf6e
sub r8d, 1
je 0x14005ceb7
cmp r8d, 1
jne 0x14005cf5c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rdx, qword [rsp + 0x50]
mov r15, rax
movsxd rcx, dword [r13 + 4]
mov ebx, dword [r13 + 0xc]
shl rcx, 5
mov rax, qword [rdx + 0x20]
mov r14, qword [rcx + rax + 8]
mov rcx, r14
call fcn.14005420c
mov rcx, rax
mov rsi, rax
call fcn.1400468f4
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.1400468fc
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.1400467a8
mov edx, 5
cmp ebx, edx
jne 0x14005ce16
mov rcx, rax
call fcn.14003b1d8
test eax, eax
je 0x14005cd9d
mov rcx, rsi
call fcn.1400469f0
xor ecx, ecx
test eax, eax
jne 0x14005ce1a
mov ebx, edi
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x14005cda9
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.1400467d0
mov ecx, eax
mov word [r15 + 0x14], 0x2202
call fcn.140089178
mov rcx, rax
mov qword [r15 + 8], rax
call fcn.14003b1d8
movzx edx, byte [rsp + 0x40]
mov r14d, 1
mov rcx, r15
mov byte [r15 + 0x16], r14b
mov dword [r15 + 0x10], eax
call fcn.140055c1c
mov r15d, dword [rsp + 0x48]
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
jmp 0x14005cf57
xor ecx, ecx
jmp 0x14005ce1f
mov edx, 5
cmp ebx, edi
je 0x14005cd9f
cmp edi, edx
je 0x14005ce33
cmp ebx, edx
jne 0x14005cd9f
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x65], cl
je 0x140062a3c
cmp dword [rax + 0xdc], 1
jg 0x140062a3c
cmp edi, edx
jne 0x14005ce77
mov rdx, rax
mov rcx, rsi
call fcn.140046b18
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x14005cda7
mov edx, ebx
mov rcx, rsi
call fcn.1400467d0
xor ecx, ecx
jmp 0x14005ce98
mov eax, 4
cmp edi, eax
jne 0x14005ce8d
lea edx, [rax - 2]
mov rcx, rsi
call fcn.1400467d0
xor ecx, ecx
cmp dword [rsp + 0x48], 0
jne 0x14005cda7
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
mov rcx, r14
sete dl
inc edx
call fcn.1400551a4
mov dword [rsp + 0x48], eax
jmp 0x14005cda3
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0x100]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0xfc]
or dword [rbp + 0x100], 0xffffffff
mov rcx, rbx
or dword [rbp + 0xfc], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xf8], r10d
call fcn.1400b6d54
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005cf14
cmp eax, edi
jne 0x140062f30
mov r15d, r10d
mov dword [rsp + 0x48], r10d
mov dword [rbp + 0xf8], r14d
movsxd rax, dword [r13 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
movsxd rdx, dword [rbp + rdi*4 + 0xf8]
mov rcx, rbx
call fcn.1400566f4
add rdi, r14
add rbx, 0x38
cmp rdi, 3
jl 0x14005cf24
mov rbx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov r9b, byte [rsp + 0x40]
xor r10d, r10d
mov edx, dword [rsp + 0x44]
mov ecx, 4
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov r8, qword [rbp - 0x78]
jmp 0x14005cc83
mov edx, dword [r13 + 8]
mov dword [rbp + 0x88], r10d
test edx, edx
je 0x14005cf94
mov rax, qword [rbx + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140062a6d
movsxd rdi, dword [r13 + 4]
shl rdi, 5
add rdi, qword [rbx + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14005d06e
lea r8, [rbp + 0x88]
mov rcx, rbx
call fcn.14004cd1c
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140062a85
mov rsi, qword [rsp + 0x50]
lea eax, [r15 + 0x20]
test byte [r12 + 0xc0], al
je 0x14005d07c
cmp dword [r13 + 8], r10d
je 0x14005d07c
cmp byte [rsi + 0x65], r10b
je 0x14005cffe
cmp dword [rsi + 0xdc], r14d
jle 0x14005d07c
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x14005d022
add dword [rsi + 0x2c4], r14d
mov r8d, dword [rsi + 0x2c4]
add r8d, dword [rsi + 0x2c0]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.14009f7d8
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d054
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.14004dcc4
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
mov rax, qword [rsi + 0x2c8]
mov qword [r12 + 0x58], rax
mov rax, qword [rsi + 0x2d0]
mov qword [r12 + 0x60], rax
jmp 0x14005d073
mov rsi, qword [rsp + 0x50]
test r15d, r15d
jne 0x14005d45e
cmp word [r13 + 2], r10w
je 0x14005cdf9
mov eax, dword [r13 + 0xc]
cmp dword [rbp + 0x88], eax
jne 0x14005d0a4
mov rcx, qword [rdi + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x14005cdf9
mov rdx, qword [r12 + 0xa8]
mov rcx, rsi
call fcn.1400384a4
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.1400388d4
mov qword [r12 + 0xa8], rax
mov rax, qword [rsi + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x88]
cmp dword [rcx], eax
je 0x14005d0f1
mov rcx, rsi
call fcn.140076d94
mov eax, dword [r12 + 0xc0]
mov r15d, 0x11
and eax, 0xffffffed
or eax, r14d
mov dword [r12 + 0xc0], eax
jmp 0x140062a65
mov esi, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
mov dword [rbp + 0x88], esi
test esi, esi
jne 0x14005d1ec
cmp dword [rbx + 0xe0], r10d
jg 0x140062bc3
mov rcx, rdi
call fcn.14003b1d8
mov r8d, dword [rbx + 0x2c4]
xor edx, edx
add r8d, dword [rbx + 0x2c0]
mov rcx, rbx
movsxd rsi, eax
call fcn.14009f7d8
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
lea rdx, [rsi + 0x21]
mov rcx, rbx
call fcn.1400386fc
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x14005d49e
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.14011b910
mov rcx, qword [rsp + 0x50]
xor r10d, r10d
cmp byte [rcx + 0x65], r10b
je 0x14005d1b5
mov byte [rcx + 0x65], r10b
mov byte [rcx + 0x6d], r14b
jmp 0x14005d1bc
add dword [rcx + 0x2c0], r14d
mov rax, qword [rcx + 0x2b0]
mov qword [rbx + 0x18], rax
mov rax, qword [rcx + 0x2c8]
mov qword [rcx + 0x2b0], rbx
mov qword [rbx + 8], rax
mov rax, qword [rcx + 0x2d0]
mov qword [rbx + 0x10], rax
mov rbx, rcx
jmp 0x14005d4a3
mov r15, qword [rbx + 0x2b0]
mov r13d, r10d
jmp 0x14005d211
mov rcx, qword [r15]
mov rdx, rdi
call fcn.14003b650
xor r10d, r10d
test eax, eax
je 0x14005d22d
mov r15, qword [r15 + 0x18]
add r13d, r14d
test r15, r15
jne 0x14005d1f8
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.1400574ec
jmp 0x140062bbb
cmp dword [rbx + 0xe0], r10d
jle 0x14005d23f
cmp esi, r14d
je 0x140062bcf
cmp qword [r15 + 0x18], r10
jne 0x14005d2aa
cmp byte [rbx + 0x6d], r10b
je 0x14005d2aa
mov r12d, r14d
cmp esi, r14d
jne 0x14005d2ad
mov r12, qword [rsp + 0x68]
mov edx, r14d
mov rcx, r12
call fcn.140059a44
xor edi, edi
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140063035
mov rcx, r12
mov byte [rbx + 0x65], r14b
call fcn.140059ab0
lea ecx, [rdi + 5]
cmp eax, ecx
je 0x140062bdb
mov eax, dword [r12 + 0x34]
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14005d29e
mov byte [rbx + 0x65], r10b
jmp 0x14005d2a2
mov byte [rbx + 0x6d], r10b
mov r12d, r14d
jmp 0x14005d3b5
mov r12d, r10d
mov eax, dword [rbx + 0x2c0]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, r14d
cmp esi, eax
jne 0x14005d327
mov r14d, dword [rbx + 0x2c]
mov eax, 1
and r14d, eax
mov esi, r10d
cmp dword [rbx + 0x28], r10d
jle 0x14005d31f
mov edi, r14d
mov rbx, r10
xor edi, eax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.14004daf0
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140062f26
mov rax, qword [rsp + 0x50]
inc esi
add rbx, 0x20
cmp esi, dword [rax + 0x28]
jl 0x14005d2e7
mov rbx, rax
mov esi, dword [rbp + 0x88]
jmp 0x14005d32a
mov r14d, r10d
mov edi, r10d
cmp dword [rbx + 0x28], r10d
jle 0x14005d39c
mov rbx, r10
mov rax, qword [rsp + 0x50]
mov r8d, r13d
mov edx, esi
mov rcx, qword [rax + 0x20]
mov rcx, qword [rcx + rbx + 8]
call fcn.14004dd34
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140062f26
mov rdx, qword [rsp + 0x50]
inc edi
add rbx, 0x20
cmp edi, dword [rdx + 0x28]
jl 0x14005d336
mov rbx, rdx
test r14d, r14d
mov r14d, 1
je 0x14005d3b5
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005d3a2
mov eax, dword [rcx + 0xc0]
and eax, 0xfffffffd
or eax, r14d
mov dword [rcx + 0xc0], eax
mov rcx, qword [rcx + 0x10]
jmp 0x14005d37f
mov eax, dword [rsp + 0x48]
jmp 0x14005d370
mov rcx, rbx
call fcn.140076e1c
or dword [rbx + 0x2c], r14d
mov eax, dword [rsp + 0x48]
xor r10d, r10d
test eax, eax
jne 0x140062f26
mov rcx, qword [rbx + 0x2b0]
cmp rcx, r15
je 0x14005d3f4
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rbx
mov qword [rbx + 0x2b0], rax
call fcn.1400383f0
dec dword [rbx + 0x2c0]
mov rcx, qword [rbx + 0x2b0]
cmp rcx, r15
jne 0x14005d3c9
xor r10d, r10d
cmp esi, r14d
jne 0x14005d41f
mov rax, qword [r15 + 0x18]
mov rdx, r15
mov rcx, rbx
mov qword [rbx + 0x2b0], rax
call fcn.1400384a4
xor r10d, r10d
test r12d, r12d
jne 0x14005d48d
dec dword [rbx + 0x2c0]
jmp 0x14005d443
mov rax, qword [r15 + 8]
mov qword [rbx + 0x2c8], rax
mov rax, qword [r15 + 0x10]
mov qword [rbx + 0x2d0], rax
test r12d, r12d
je 0x14005d443
mov eax, 2
cmp esi, eax
jne 0x14005d48d
mov r8d, r13d
mov edx, esi
mov rcx, rbx
call fcn.14009f7d8
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005d492
mov r13d, 2
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov dil, byte [rsp + 0x41]
mov r14, qword [rsp + 0x50]
cmp byte [r14 + 0x67], r10b
je 0x140062f3f
mov r15d, 7
jmp 0x140062f58
mov r15d, dword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
jmp 0x14005d4a3
mov rbx, qword [rsp + 0x50]
cmp byte [r12 + 0xbf], 3
jne 0x14005cdfe
mov r15d, 0x65
jmp 0x14006303a
cmp dword [r13 + 8], r10d
je 0x14005d4d0
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, r11
jmp 0x14005d4d3
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, rbx
call fcn.14009e0cc
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
mov r15d, eax
jne 0x14005d45e
jmp 0x14005ce03
sub r8d, 6
je 0x14005d65e
sub r8d, 1
je 0x14005d566
sub r8d, 1
je 0x1400628b2
sub r8d, 1
je 0x14005eaa7
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r11 + 0x14], cx
mov rcx, r13
sub rcx, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x14005eaa7
mov qword [rbp + 0x78], r10
cmp byte [rbx + 0x67], r10b
jne 0x140061169
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140062c3f
mov r10, qword [rbx]
xor eax, eax
test r10, r10
je 0x140062c3f
movsxd r11, dword [r13 + 8]
cmp qword [r10 + 0x68], rax
je 0x140062a2a
movsxd rax, dword [r13 + 0xc]
xor r9d, r9d
mov rsi, qword [rsp + 0x50]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov dil, byte [rsi + 0x6c]
mov eax, r9d
add rcx, qword [rsp + 0x58]
test r11d, r11d
jle 0x14005d5d7
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r14
cmp rax, r11
jl 0x14005d5c7
mov al, byte [r13 + 2]
lea r9, [rbp + 0x78]
mov edx, r11d
mov byte [rsi + 0x6c], al
mov rcx, rbx
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.14005b65c
xor r10d, r10d
test r15d, r15d
jne 0x14005d62e
cmp dword [r13 + 4], r10d
je 0x14005d618
mov rax, qword [rbp + 0x78]
mov qword [rsi + 0x38], rax
add qword [r12 + 0x38], r14
test r15d, r15d
jne 0x14005d45e
mov rbx, rsi
jmp 0x14005cdfe
cmp r15b, 0x13
jne 0x14005d618
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14005d618
mov ecx, 4
cmp word [r13 + 2], cx
jne 0x140062c1b
mov r15d, r10d
mov dword [rsp + 0x48], r10d
mov rbx, rsi
jmp 0x1400603e3
movsxd rax, dword [r13 + 0xc]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rsp + 0x68]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
mov rdi, qword [rdi + 0x70]
mov r15, qword [rax + rcx*8]
lea r10, [rdx + 0x38]
mov r12d, dword [rdx + r11]
add r10, r11
xor eax, eax
mov qword [rbp + 0x98], r15
mov edx, eax
mov rbx, qword [r15 + 0x30]
movsxd r9, dword [r10]
mov r14, qword [rbx]
mov rsi, qword [r14]
test r9d, r9d
jle 0x14005d6cb
lea r15d, [rax + 1]
mov r8d, r15d
movsxd rax, r8d
add r8d, r15d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rdi + rdx*8], rcx
add rdx, r15
cmp rdx, r9
jl 0x14005d6ab
mov r15, qword [rbp + 0x98]
mov r8, qword [r13 + 0x10]
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call qword [rsi + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, r14
mov edi, eax
mov dword [rsp + 0x48], eax
call fcn.14005b65c
xor r10d, r10d
test edi, edi
jne 0x140062f26
mov rcx, rbx
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x70]
lea r14d, [rdi + 1]
xor r10d, r10d
mov byte [r15 + 2], r10b
test eax, eax
mov r15d, edi
jne 0x140062910
mov rbx, qword [rsp + 0x50]
jmp 0x14005ce03
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r14d
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 0x14], 4
cmp dword [r13 + 8], r10d
jne 0x140062910
jmp 0x14005cf57
cmp r8d, 0x11
ja 0x14005d92a
je 0x14005d900
sub r8d, 0xc
je 0x14005d8bd
sub r8d, 1
je 0x14005d85c
sub r8d, 1
je 0x14005d834
sub r8d, 1
je 0x14005d7b4
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140056324
xor r10d, r10d
test eax, eax
jne 0x140062910
jmp 0x14005ce03
mov r8, qword [r12 + 0x100]
test r8, r8
je 0x14005d80b
mov r9, qword [r8 + 0x28]
mov rcx, r13
sub rcx, qword [r12 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x140062910
bts eax, edx
mov byte [rcx + r9], al
jmp 0x14005d820
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x140062910
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r13 + 4], ecx
jmp 0x14005ce08
test edx, edx
jns 0x14005d84e
mov eax, dword [r13 + 4]
sub eax, r14d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
jmp 0x14005cf57
jne 0x14005d856
mov eax, dword [r13 + 8]
jmp 0x14005d83c
mov eax, dword [r13 + 0xc]
jmp 0x14005d83c
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 0x14]
test cl, al
jne 0x14005d8a4
mov r8b, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.14005c6bc
movzx eax, word [rbx + 0x14]
mov ecx, 4
xor r10d, r10d
test cl, al
jne 0x14005d89f
cmp dword [r13 + 8], r10d
jne 0x140062910
lea r15d, [rcx + 0x10]
jmp 0x14005d45e
mov r11, qword [rsp + 0x58]
mov edx, 0xf244
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
mov rbx, qword [rsp + 0x50]
jmp 0x1400603ed
movsxd rax, dword [r13 + 4]
sub r13, rsi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov word [r8 + r11 + 0x14], cx
movsxd rcx, dword [r8 + r11]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
mov qword [r8 + r11], rax
lea r13, [rsi + rcx*8]
jmp 0x14005cf53
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.140056324
xor r10d, r10d
test eax, eax
je 0x140062910
jmp 0x14005ce03
mov ecx, r8d
sub ecx, 0x12
je 0x14005da7f
sub ecx, 1
je 0x14005da39
sub ecx, 1
je 0x14005da01
cmp ecx, 1
jne 0x14005cf57
mov rax, qword [r12 + 0x78]
mov edi, r8d
movsxd rcx, dword [r13 + 4]
mov r12d, r10d
mov r14, qword [rax + rcx*8]
and word [r14 + 2], 0
mov dword [r14 + 0x20], r10d
cmp byte [r14 + 4], r10b
je 0x14005dc46
movsxd rax, dword [r13 + 0xc]
mov ecx, 2
imul rbx, rax, 0x38
add rbx, r11
movzx esi, word [rbx + 0x14]
mov al, sil
and al, 0x2e
cmp al, cl
jne 0x14005d99f
xor edx, edx
mov rcx, rbx
call fcn.14005c5e8
mov rcx, rbx
call fcn.14005629c
movzx ecx, word [rbx + 0x14]
mov r15, rax
mov word [rbx + 0x14], si
test cl, 0x24
jne 0x14005dc0e
mov eax, 8
test al, cl
jne 0x14005dbea
test cl, 1
jne 0x140061580
cmp edi, 0x17
jae 0x140061580
mov rcx, qword [r14 + 0x30]
lea rdx, [rbp + 0x80]
call fcn.14004e99c
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
jmp 0x14005dd53
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14005cf53
cmp byte [rdx + 2], r10b
je 0x14005cf53
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14005665c
xor r10d, r10d
jmp 0x140062910
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
test byte [rcx + 0x14], r14b
jne 0x14005da72
xor edx, edx
call fcn.140056324
xor ecx, ecx
mov edx, ecx
test eax, eax
mov rcx, rbx
sete dl
call fcn.1400566f4
jmp 0x14005cf41
mov rcx, rbx
call fcn.14005665c
jmp 0x14005cf41
cmp dword [r13 + 4], r10d
jl 0x14005dadf
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0x4a]
cmp dword [r13 + 0xc], eax
jge 0x14005dad0
movsxd rax, dword [r13 + 0xc]
mov ecx, dword [rcx + rax*4 + 0x78]
cmp ecx, 0xc
jb 0x14005dabc
and cl, r14b
neg cl
sbb dx, dx
and dx, 0xfffc
add dx, 8
jmp 0x14005dafd
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x13b588]
jmp 0x14005dafd
mov ecx, dword [r13 + 0x10]
mov edx, r14d
sub ecx, r14d
shl dx, cl
jmp 0x14005dafd
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14005b8dc
sub eax, r14d
mov edx, r14d
mov cl, al
shl dx, cl
xor r10d, r10d
test word [r13 + 2], dx
jmp 0x14005d7a9
cmp r8d, 0x22
ja 0x14005e037
je 0x14005e106
cmp r8d, 0x1c
ja 0x14005dd8a
je 0x14005db4f
mov ecx, r8d
sub ecx, 0x17
je 0x14005d951
sub ecx, 1
je 0x14005d951
sub ecx, 1
je 0x14005dbc5
sub ecx, 1
je 0x14005dba9
cmp ecx, 1
jne 0x14005cf57
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp - 0x3c], ax
mov qword [rbp - 0x50], rcx
test ax, ax
je 0x14005df1e
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x3a], r10b
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.14004ec10
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14005df93
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jl 0x14005db4f
jmp 0x14005cf57
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14005eaa7
cmp byte [rdx + 2], r10b
je 0x14005cf53
jmp 0x14005eaa7
movsd xmm1, qword [rbx]
mov rcx, r15
call fcn.14005a928
test eax, eax
jle 0x14005dc04
test dil, 1
jne 0x14005dc0e
dec edi
jmp 0x14005dc0e
jns 0x14005dc0e
test dil, 1
je 0x14005dc0e
inc edi
lea rbx, [r14 + 0x30]
xor r8d, r8d
mov rcx, qword [rbx]
lea r9, [rbp + 0x80]
mov rdx, r15
call fcn.14004e9b4
xor r10d, r10d
mov qword [r14 + 0x50], r15
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
lea r14d, [rax + 1]
jmp 0x14005dccb
lea rbx, [r14 + 0x30]
mov rax, qword [rbx]
lea rdx, [rbp - 0x58]
mov sil, byte [rax + 3]
mov rax, qword [r14 + 0x38]
and sil, 2
mov qword [rbp - 0x58], rax
mov r14d, 1
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp - 0x3c], ax
lea eax, [r8 - 1]
and al, r14b
mov byte [rbp - 0x36], r10b
neg al
lea r8, [rbp + 0x80]
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
and cl, 0xfe
add cl, r14b
mov byte [rbp - 0x3a], cl
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbx]
call fcn.14004ec10
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
test sil, sil
je 0x14005dccb
cmp byte [rbp - 0x36], r10b
je 0x14005dd53
mov eax, dword [rbp + 0x80]
cmp edi, 0x17
jl 0x14005dcfd
test eax, eax
js 0x14005dcea
jne 0x14005dce1
cmp edi, 0x18
je 0x14005dcea
mov dword [rbp + 0x80], r10d
jmp 0x14005dd60
mov dword [rbp + 0x80], r10d
xor edx, edx
mov rcx, qword [rbx]
call fcn.14004f1c8
jmp 0x14005dd2d
test eax, eax
jg 0x14005dd1c
jne 0x14005dd08
cmp edi, 0x15
je 0x14005dd1c
mov rax, qword [rbx]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp + 0x80], ecx
jmp 0x14005dd53
mov dword [rbp + 0x80], r10d
xor edx, edx
mov rcx, qword [rbx]
call fcn.14004f320
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005dd53
cmp eax, 0x65
jne 0x14005d45e
mov dword [rbp + 0x80], r14d
mov r15d, r10d
mov dword [rsp + 0x48], r10d
cmp dword [rbp + 0x80], r10d
jne 0x140061595
mov r11, qword [rsp + 0x58]
mov r14d, 1
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
lea ecx, [r14 + 3]
test r12d, r12d
je 0x14005f2b8
add r13, 0x18
jmp 0x14005f2b8
mov ecx, r8d
sub ecx, 0x1d
je 0x14005db4f
sub ecx, 1
je 0x14005de3c
sub ecx, 1
je 0x14005de93
sub ecx, 1
je 0x1400614e7
cmp ecx, 1
jne 0x14005cf57
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0xb8]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.14004e8fc
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [rbp + 0xb8], r10d
je 0x14005ddfb
or rcx, 0xffffffffffffffff
jmp 0x14005de12
mov rcx, rbx
call fcn.14004f078
mov rcx, rax
call fcn.14003cf40
movsx rcx, ax
xor r10d, r10d
movsxd rax, dword [r13 + 0xc]
cmp rcx, rax
jl 0x14005de30
movsxd rax, dword [r13 + 0x10]
cmp rcx, rax
jg 0x14005de30
mov dword [rbp + 0xb8], r14d
jmp 0x140062910
mov dword [rbp + 0xb8], r10d
jmp 0x14005d71c
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne 0x14005de93
movups xmm0, xmmword [rcx]
mov r8b, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp - 0x10]
movups xmmword [rbp + 0x10], xmm0
movsd qword [rbp + 0x20], xmm1
call fcn.14005c6bc
mov eax, 4
xor r10d, r10d
test byte [rbp + 4], al
je 0x140062910
mov rdi, qword [rbp - 0x10]
jmp 0x14005de9f
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
movsxd rcx, dword [r13 + 4]
lea r9, [rbp + 0xb4]
mov rax, qword [r12 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0xb4], r10d
call fcn.14004e9b4
xor r10d, r10d
mov qword [rbx + 0x50], rdi
mov word [rbx + 2], r10w
mov r15d, eax
mov dword [rbx + 0x20], r10d
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0xb4]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0xb4], r10d
je 0x14005df10
cmp dword [r13 + 8], r10d
jne 0x140062910
mov ecx, 0x18140
call fcn.1400b7dd4
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
jmp 0x14005d71c
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14005df3a
call fcn.140055ef4
xor esi, esi
test eax, eax
jne 0x140062edd
jmp 0x14005df3c
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.14005a578
mov rdi, rax
test rax, rax
je 0x140062edd
mov rdx, qword [rbp - 0x50]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.14005a5d0
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.14004ec10
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400383f0
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r10b
setne al
mov dword [rbx + 0x20], r10d
mov byte [rbx + 2], al
cmp byte [r13], 0x1d
jne 0x14005dfca
mov rsi, qword [rsp + 0x70]
test ecx, ecx
je 0x140062910
jmp 0x14005d71c
test ecx, ecx
jne 0x14006159b
cmp byte [r13], 0x1b
jne 0x14005e00b
movzx edx, word [rbp - 0x3c]
mov rcx, r10
test rdx, rdx
je 0x14006254c
mov rax, qword [rbp - 0x50]
add rax, 0x14
test byte [rax], r14b
jne 0x14006159b
add rcx, r14
add rax, 0x38
cmp rcx, rdx
jl 0x14005dff1
jmp 0x14005cdf9
cmp byte [r13], 0x1a
mov ecx, 4
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
jne 0x14005f2b8
movzx eax, word [r13 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x14005f2b8
cmp r8d, 0x28
ja 0x14005e17d
je 0x14005e23f
sub r8d, 0x23
je 0x14005e106
sub r8d, 1
je 0x14005e10e
sub r8d, 1
je 0x14005e0a9
sub r8d, 1
je 0x14005e08d
cmp r8d, 1
jne 0x14005cf5c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14004f1c8
jmp 0x14005e0c3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14004f320
jmp 0x14005e0c3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.140065558
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14005e0eb
mov byte [rbx + 2], r10b
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xcc], r14d
jmp 0x14005eaa2
cmp r15d, 0x65
jne 0x14005d45e
mov r15d, r10d
mov dword [rsp + 0x48], r10d
mov byte [rbx + 2], r14b
jmp 0x140061dfe
add dword [r12 + 0xd4], r14d
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x90]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x90], r14d
cmp byte [rbx], r14b
jne 0x14005e13b
mov rcx, rbx
call fcn.1400654e8
xor r10d, r10d
jmp 0x14005e14f
mov rcx, qword [rbx + 0x30]
call fcn.14004e8fc
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov al, byte [rbp + 0x90]
mov byte [rbx + 2], al
cmp dword [r13 + 8], r10d
jle 0x14006254c
cmp dword [rbp + 0x90], r10d
jmp 0x14005d716
mov ecx, r8d
sub ecx, 0x29
je 0x14005e23f
sub ecx, 1
je 0x14005e23f
sub ecx, 1
je 0x14005e1a0
cmp ecx, 1
jne 0x14005cf57
movsxd rax, dword [r13 + 4]
mov edi, 2
imul rcx, rax, 0x38
mov edx, edi
add rcx, r11
call fcn.140056324
movsxd rcx, dword [r13 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x58]
call fcn.140056324
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd r9, eax
lea rax, [0x140000000]
jne 0x14005e1ed
mov r9b, byte [r9 + rax + 0x136b48]
jmp 0x14005e1f5
mov r9b, byte [r9 + rax + 0x1374b0]
movsxd rax, dword [r13 + 0xc]
mov r11, qword [rsp + 0x58]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r11 + 0x14]
cmp r9b, dil
jne 0x14005e21b
mov eax, 0xf241
and cx, ax
or cx, r14w
jmp 0x14005e22f
movzx eax, r9b
mov qword [rdx + r11], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r11 + 0x14], cx
mov rbx, qword [rsp + 0x50]
jmp 0x14005cf4b
movsxd rcx, dword [r13 + 4]
cmp r8b, 0x2a
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x3c], ax
sbb al, al
mov byte [rbp - 0x3a], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.14004e048
mov edx, dword [rbx + 0x40]
mov eax, edx
sub rax, r14
cmp rax, 0x7ffffffe
ja 0x140062c4a
mov rax, qword [rsp + 0x50]
lea r8, [rbp - 0x10]
xor ecx, ecx
mov qword [rbp + 8], rax
mov word [rbp + 4], cx
mov dword [rbp + 0x10], ecx
mov rcx, rbx
call fcn.140056dc0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rdx, qword [rbp - 8]
lea r8, [rbp - 0x58]
mov ecx, dword [rbp]
xor r9d, r9d
call fcn.14005aa90
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x10], r10d
je 0x14005e2ef
lea rcx, [rbp - 0x10]
call fcn.140056214
xor r10d, r10d
test byte [r13], r14b
jne 0x14005e2f9
neg ebx
jmp 0x14005e2fc
add ebx, r14d
test ebx, ebx
jg 0x140062910
jmp 0x14005d71c
cmp r8d, 0x44
ja 0x14005ec8a
je 0x14005ec3c
cmp r8d, 0x39
ja 0x14005e94e
je 0x14005e6ec
cmp r8d, 0x33
ja 0x14005e6ca
je 0x14005e6b2
sub r8d, 0x2e
je 0x14005e65b
sub r8d, 1
je 0x14005e5e4
sub r8d, 1
je 0x14005e39b
sub r8d, 1
je 0x14005e375
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r14b
jmp 0x14005d747
cmp dword [r13 + 4], r10d
je 0x14005e384
cmp qword [rbx + 0x2c8], r10
jmp 0x14005e389
cmp qword [r12 + 0x50], r10
jne 0x14005cf5c
cmp qword [rbx + 0x2d0], r10
jmp 0x14005ea3e
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r11
cmp word [r13 + 2], r10w
je 0x14005e3d2
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x100]
jmp 0x14005e3cd
cmp qword [rax + 0x30], rcx
je 0x140062a20
mov rax, qword [rax + 8]
test rax, rax
jne 0x14005e3bf
mov eax, dword [rbx + 0xb0]
cmp dword [r12 + 0x110], eax
jge 0x140062c5c
mov eax, 0x10
test byte [rdi + 0x14], al
jne 0x14005e5db
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x14005e41d
add eax, 7
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, rbx
movsxd rdx, esi
call fcn.140038684
mov rbx, rax
test rax, rax
je 0x140062edd
mov rcx, rdi
call fcn.140056250
sub r13, qword [rsp + 0x70]
lea rax, [0x140058860]
mov qword [rdi + 0x30], rax
xor r10d, r10d
mov word [rdi + 0x14], 0x1010
mov qword [rdi + 8], rbx
mov dword [rdi + 0x10], esi
mov qword [rbx], r12
mov dword [rbx + 0x58], r14d
mov eax, dword [r15 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14005e4fd
mov rdx, qword [rsp + 0x50]
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], rdx
add rax, 0x38
cmp rax, rcx
jne 0x14005e4eb
mov r14d, 1
add dword [r12 + 0x110], r14d
lea rdx, [rbx + 0x70]
mov rax, qword [r12 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdx
mov rax, qword [rax + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [r12]
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [r12 + 0x120]
mov qword [rbx + 0x40], rax
mov qword [r12 + 0x68], rdx
mov qword [r12 + 0x120], r10
mov qword [r12 + 0x38], r10
mov qword [r12 + 0x100], rbx
movsxd rcx, dword [rbx + 0x58]
mov dword [r12 + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r12 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r12 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.14011bfb0
mov rsi, qword [r15]
mov qword [r12 + 0x88], rsi
mov eax, dword [r15 + 8]
mov r15d, dword [rsp + 0x48]
lea r13, [rsi - 0x18]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x60], r13
mov dword [r12 + 0x90], eax
jmp 0x140061dfb
mov rbx, qword [rdi + 8]
jmp 0x14005e503
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r11
mov eax, 0x10
add rsi, r11
test byte [rbx + 0x14], al
jne 0x14005e61b
mov rcx, rbx
call fcn.14005677c
xor r10d, r10d
test eax, eax
jne 0x140062edd
test edi, edi
je 0x14005e63a
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.1400426ac
xor r10d, r10d
test eax, eax
jne 0x14006159b
test edi, edi
js 0x14005cdf9
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.14004235c
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp 0x14005cf46
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r11
test byte [rbx + 0x14], al
je 0x14005e6a2
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xf0]
call fcn.140042644
test eax, eax
je 0x14005e6a2
movsxd rax, dword [r13 + 0xc]
mov rdx, qword [rbp + 0xf0]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
call fcn.1400566f4
jmp 0x140061dfb
mov rcx, rbx
call fcn.14005665c
xor r10d, r10d
jmp 0x14005eaa2
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r14b
je 0x140062910
jmp 0x14005cf57
sub r8d, 0x34
je 0x14005e6ec
sub r8d, 1
je 0x14005e6ec
sub r8d, 1
je 0x14005e6ec
sub r8d, 1
je 0x14005e6ec
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul r14, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add r14, r11
add rsi, r11
movzx edi, word [r14 + 0x14]
movzx ebx, word [rsi + 0x14]
movzx eax, bx
and ax, di
test cl, al
je 0x14005e77b
mov rcx, qword [r14]
mov r14d, 1
cmp qword [rsi], rcx
lea rcx, [0x140000000]
mov rsi, qword [rsp + 0x70]
movzx eax, byte [r13]
jle 0x14005e753
cmp byte [rax + rcx + 0x1378e8], r10b
jne 0x140062910
mov edx, r14d
mov dword [rsp + 0x44], edx
mov rbx, qword [rsp + 0x50]
jmp 0x14005cf57
jge 0x14005e768
cmp byte [rax + rcx + 0x1378dc], r10b
jne 0x140062910
or edx, 0xffffffff
jmp 0x14005e745
cmp byte [rax + rcx + 0x1378e2], r10b
jne 0x140062910
mov edx, r10d
jmp 0x14005e745
movzx ecx, bx
mov edx, 1
or cx, di
test dl, cl
je 0x14005e7fa
test byte [r13 + 2], 0x80
je 0x14005e7de
test dl, al
je 0x14005e7c6
mov eax, 0x100
test ax, bx
jne 0x14005e7c6
mov edx, r10d
mov dword [rsp + 0x44], edx
movzx ecx, byte [r13]
lea rax, [0x140000000]
test edx, edx
jne 0x14005e921
mov cl, byte [rcx + rax + 0x1378e2]
jmp 0x14005e928
movzx eax, bx
not ax
and eax, edx
lea edx, [rax*2 - 1]
mov dword [rsp + 0x44], edx
jmp 0x14005e904
mov rsi, qword [rsp + 0x70]
mov eax, 0x10
mov r14, rdx
test byte [r13 + 2], al
jne 0x140062910
jmp 0x14005e745
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14005e847
mov r12d, 2
test r12b, cl
je 0x14005e8e7
mov al, dil
and al, 0x2e
cmp al, r12b
jne 0x14005e82b
xor edx, edx
mov rcx, r14
call fcn.14005c5e8
movzx ebx, word [rsi + 0x14]
mov al, bl
and al, 0x2e
cmp al, r12b
jne 0x14005e8e7
xor edx, edx
mov rcx, rsi
call fcn.14005c5e8
jmp 0x14005e8e7
cmp al, 0x42
jne 0x14005e8e7
mov r12d, 2
test r12b, cl
je 0x14005e8e7
test r12b, dil
je 0x14005e875
movzx eax, di
mov ecx, 0xffd3
and ax, cx
mov word [r14 + 0x14], ax
jmp 0x14005e8b8
test dil, 0x2c
je 0x14005e8b3
mov r8b, dl
mov rcx, r14
mov dl, r9b
call fcn.140055f58
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
mov edx, 1
xor di, word [r14 + 0x14]
mov ecx, 0xffd3
cmp r14, rsi
jne 0x14005e8b8
movzx ebx, di
or bx, r12w
jmp 0x14005e8b8
mov ecx, 0xffd3
test r12b, bl
je 0x14005e8c3
and word [rsi + 0x14], cx
jmp 0x14005e8e7
test bl, 0x2c
je 0x14005e8e7
mov r8b, dl
mov rcx, rsi
mov dl, byte [rsp + 0x40]
call fcn.140055f58
xor bx, word [rsi + 0x14]
mov eax, 0xdbf
and bx, ax
xor bx, word [rsi + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.14005a9a8
mov r11, qword [rsp + 0x58]
mov edx, eax
mov dword [rsp + 0x44], eax
xor r10d, r10d
test edx, edx
jns 0x14005e7a6
movzx eax, byte [r13]
lea rcx, [0x140000000]
mov cl, byte [rax + rcx + 0x1378dc]
jmp 0x14005e928
mov cl, byte [rcx + rax + 0x1378e8]
mov word [rsi + 0x14], bx
mov rsi, qword [rsp + 0x70]
mov word [r14 + 0x14], di
mov r14d, 1
test cl, cl
jne 0x140062910
mov rbx, qword [rsp + 0x50]
jmp 0x14005ce0c
cmp r8d, 0x3f
ja 0x14005eac2
je 0x14005ea49
sub r8d, 0x3a
je 0x14005ea3c
sub r8d, 1
je 0x14005ea17
sub r8d, 1
je 0x14005e9f0
sub r8d, 1
je 0x14005e9c6
cmp r8d, 1
jne 0x14005cf5c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbx + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14004d4e0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14006254c
cmp eax, 0x65
jne 0x14005d45e
mov r15d, r10d
mov dword [rsp + 0x48], r10d
jmp 0x140062910
movsxd rax, dword [r13 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r8
jle 0x14005e9e8
dec rax
mov qword [rcx + r11], rax
test rax, rax
jmp 0x14005e6bf
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x14005cf57
jle 0x140062910
dec rax
mov qword [rcx + r11], rax
jmp 0x140062910
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x14005cf53
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x140062910
test edx, edx
je 0x140062910
jmp 0x14005cf5c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x14005cf57
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.14005b65c
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x70]
xor r10d, r10d
test eax, eax
jne 0x140061dfe
mov rbx, qword [rsp + 0x50]
mov eax, dword [r13 + 8]
sub eax, r14d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
mov qword [rsp + 0x60], r13
jmp 0x140061e03
sub r8d, 0x40
je 0x14005ebdf
sub r8d, 1
je 0x14005eafe
sub r8d, 1
je 0x14005eafe
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], cl
je 0x14005cf5c
mov rax, qword [rax + r11]
jmp 0x14005d841
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r11
cmp qword [rbx], rdi
je 0x14005eb5d
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov byte [rbx + 0x28], r9b
sub rdx, 1
mov qword [rbx + 0x18], r12
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x14005eb5d
lea r8, [rdx + 6]
mov esi, 8
lea r8, [rbx + r8*8]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r14d
cdqe
imul rcx, rax, 0x38
add rcx, r11
mov qword [r8], rcx
sub r8, rsi
sub rdx, r14
jns 0x14005eb3a
mov rsi, qword [rsp + 0x70]
movzx eax, word [rdi + 0x14]
lea r8, [rbx + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rbx
or ax, r14w
mov word [rdi + 0x14], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14006254c
jle 0x14005ebb9
mov dl, r14b
mov rcx, rdi
call fcn.140056ecc
mov r8, rax
lea rdx, [0x14013d3d8]
mov rcx, r12
call fcn.1400574ec
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r15d
mov r9d, dword [r13 + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x50]
call fcn.14005a06c
xor r10d, r10d
mov dword [rbx + 0x24], r10d
jmp 0x14005df10
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
mov rcx, r11
add rbx, r11
call fcn.14005c868
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
mov r8, rdx
shr rcx, 3
and r8b, 7
movsx edx, byte [rcx + rax]
movzx eax, r8b
bt edx, eax
jb 0x14005ec2f
add dword [r12 + 0xec], r14d
jmp 0x14005da31
add dword [r12 + 0xe8], r14d
jmp 0x14005cf41
movsxd rax, dword [r13 + 4]
sub r13, qword [r12 + 0x88]
imul r8, rax, 0x38
mov rax, qword [r8 + r11]
lea rcx, [rax + rax*2]
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
sub eax, r14d
cdqe
mov qword [r8 + r11], rax
mov eax, dword [rsi + rcx*8 + 8]
sub eax, r14d
cdqe
lea rcx, [rax + rax*2]
jmp 0x14005d8f7
cmp r8d, 0x50
ja 0x14005f032
je 0x14005efac
cmp r8d, 0x4a
ja 0x14005eda1
je 0x14005ef3a
sub r8d, 0x45
je 0x14005ed02
sub r8d, 1
je 0x14005ed15
sub r8d, 1
je 0x14005eceb
sub r8d, 1
je 0x14005ecd1
cmp r8d, 1
je 0x140060b8e
jmp 0x14005cf5c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x14005cf46
mov rdx, r13
mov rcx, r12
call fcn.14005c840
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x14005cf46
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r14b
je 0x14005cf57
mov rbx, qword [r12 + 0x100]
test rbx, rbx
je 0x140062c73
cmp dword [r13 + 4], r10d
jne 0x140062c73
mov rax, qword [rbx + 8]
mov rdx, qword [r12 + 0x38]
mov rcx, qword [rsp + 0x50]
dec dword [r12 + 0x110]
mov qword [r12 + 0x100], rax
call fcn.14005b528
mov rcx, rbx
call fcn.1400591f4
mov ecx, 4
cmp dword [r13 + 8], ecx
jne 0x14005ed7b
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r14d
mov rsi, qword [r12 + 0x88]
mov r11, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x58], r11
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
jmp 0x14005e235
sub r8d, 0x4b
je 0x14005ef3a
sub r8d, 1
je 0x14005ef13
sub r8d, 1
je 0x14005eead
sub r8d, 1
je 0x14005ee2b
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
mov r12d, 0x4000
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov rdx, rdi
mov rcx, rbx
call fcn.140056968
test word [rbx + 0x14], r12w
je 0x14005ee16
mov rcx, rbx
call fcn.140055e9c
xor r10d, r10d
test eax, eax
jne 0x140062edd
jmp 0x14005ee19
xor r10d, r10d
add rdi, 0x38
add rbx, 0x38
sub esi, r14d
jne 0x14005edef
jmp 0x14005cdf9
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.14005683c
xor r10d, r10d
test eax, eax
jne 0x140062e5a
movsxd rax, dword [r13 + 8]
mov r11, qword [rsp + 0x58]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x14005ee7a
mov rcx, rbx
call fcn.14005665c
mov r11, qword [rsp + 0x58]
xor r10d, r10d
movups xmm0, xmmword [rdi - 0x38]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov rbx, qword [rsp + 0x50]
jmp 0x14005ce08
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rdx, qword [r13 + 0x10]
mov rbx, rax
xor eax, eax
mov rcx, rbx
test rdx, rdx
jne 0x14005eee7
mov edx, dword [r13 + 4]
call fcn.140056674
mov rcx, rbx
call fcn.140055ef4
xor r10d, r10d
test eax, eax
jne 0x140062edd
jmp 0x14005eefb
movsxd r8, dword [r13 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.1400569c4
xor r10d, r10d
mov r9b, byte [rsp + 0x40]
mov r11, qword [rsp + 0x58]
mov byte [rbx + 0x16], r9b
mov rbx, qword [rsp + 0x50]
jmp 0x14005cf53
movsxd rax, dword [r13 + 4]
mov r8d, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, r8w
or ax, r14w
mov word [rcx + r11 + 0x14], ax
jmp 0x14005cf57
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov ecx, dword [r13 + 4]
mov edi, dword [r13 + 0xc]
neg ecx
mov edx, dword [r13 + 8]
mov ecx, 0x100
sbb si, si
lea rbx, [rax + 0x14]
and si, cx
xor r10d, r10d
add si, r14w
mov dword [rax + 0x10], r10d
sub edi, edx
mov word [rbx], si
test edi, edi
jle 0x14006254c
mov eax, 0x9000
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x14005ef99
lea rcx, [rbx - 0x14]
call fcn.1400561dc
xor r10d, r10d
mov eax, 0x9000
sub edi, r14d
mov word [rbx], si
mov dword [rbx - 4], r10d
test edi, edi
jg 0x14005ef7f
jmp 0x14005cdf9
movsxd rax, dword [r13 + 4]
mov r12d, 0x4000
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.1400568a4
test word [rbx + 0x14], r12w
je 0x14005eff6
mov rcx, rbx
call fcn.140055e9c
xor r10d, r10d
test eax, eax
jne 0x140062edd
jmp 0x14005eff9
xor r10d, r10d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14005f01b
mov ecx, 2
test byte [r13 + 2], cl
je 0x14005f01b
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
sub esi, r14d
test eax, eax
je 0x14006254c
add rbx, 0x38
add rdi, 0x38
jmp 0x14005efcc
cmp r8d, 0x56
ja 0x14005f126
je 0x14005f107
sub r8d, 0x51
je 0x14005f0e1
sub r8d, 1
je 0x14005f09c
sub r8d, 1
je 0x14005f08d
sub r8d, 1
je 0x140062d56
cmp r8d, 1
jne 0x14005cf5c
cmp dword [r13 + 4], r10d
je 0x14005cf5c
movsxd rax, dword [r13 + 4]
xor edx, edx
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400566f4
jmp 0x14005cf46
xor edx, edx
mov rcx, r12
call fcn.140059a44
jmp 0x14005d4e7
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14005f0cf
mov rcx, r8
mov rdx, rax
call fcn.1400566c0
jmp 0x14005cf46
mov ecx, 4
mov qword [r8], rax
mov word [r8 + 0x14], cx
jmp 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
mov r8d, 0x4000
call fcn.1400568a4
jmp 0x14005cf46
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400563cc
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x14005cf41
sub r8d, 0x57
je 0x14005f315
sub r8d, 1
je 0x14005f2c7
sub r8d, 2
je 0x14005f195
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140056324
movsxd rdx, dword [r13 + 0x10]
mov r11, qword [rsp + 0x58]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
jne 0x14005f0c5
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
jmp 0x14005cf4b
test byte [r13 + 2], r14b
jne 0x14005f1a0
mov rdi, r10
jmp 0x14005f1a7
mov rdi, qword [r13 - 8]
add rdi, rcx
mov r12, qword [rsp + 0x60]
mov r14d, r10d
mov r13, qword [r13 + 0x10]
mov rbx, r10
movsxd rax, dword [r12 + 0xc]
mov r8d, dword [r12 + 4]
mov ecx, dword [r12 + 8]
mov dword [rbp + 0x88], r8d
mov dword [rbp - 0x80], ecx
mov qword [rbp + 0x98], rax
test rax, rax
jle 0x140062a02
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x14005f1ed
mov edx, dword [rdi + rbx*4]
jmp 0x14005f1f0
mov edx, r14d
mov rax, qword [r13 + 0x18]
add ecx, edx
imul r12, rcx, 0x38
movzx eax, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r15]
add r12, r11
imul rsi, rcx, 0x38
and eax, 1
mov rdx, r12
add rsi, r11
mov dword [rbp + 0x78], eax
mov rcx, rsi
call fcn.14005a9a8
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov edx, eax
test eax, eax
jne 0x14005f26e
mov r8d, dword [rbp + 0x88]
lea eax, [rdx + 1]
mov ecx, dword [rbp - 0x80]
add r14d, eax
mov r11, qword [rsp + 0x58]
add rbx, rax
add r15, 8
cmp rbx, qword [rbp + 0x98]
jl 0x14005f1e3
mov r13, qword [rsp + 0x60]
mov r14d, eax
mov r15d, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp 0x14005ce0c
mov rax, qword [r13 + 0x18]
mov ecx, 2
lea r14d, [rcx - 1]
test byte [rbx + rax], cl
je 0x14005f293
test byte [rsi + 0x14], r14b
jne 0x14005f28d
test byte [r12 + 0x14], r14b
je 0x14005f293
neg edx
mov dword [rsp + 0x44], edx
mov ecx, 4
mov r13, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov r9b, byte [rsp + 0x40]
cmp dword [rbp + 0x78], r10d
je 0x14005f2b8
neg edx
mov dword [rsp + 0x44], edx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x14005f2f3
mov rcx, rbx
call fcn.140055ef4
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov r8b, byte [rsp + 0x40]
mov rcx, rbx
mov dl, byte [r13 + 8]
call fcn.140056538
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jmp 0x14005df13
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
je 0x14005cf57
call fcn.1400563fc
jmp 0x14005cf46
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r14b
jne 0x14005f37d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r14b
jne 0x14005f37d
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x14005f36f
xor edx, edx
jmp 0x14005f0c5
mov qword [rcx], r10
mov word [rcx + 0x14], 4
jmp 0x14005cf57
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x14005f39d
call fcn.1400561dc
jmp 0x14005cf46
mov word [rcx + 0x14], r14w
jmp 0x14005cf57
mov eax, 0x8c
cmp r8d, eax
ja 0x1400616f3
je 0x140061618
cmp r8d, 0x74
ja 0x140060828
je 0x140060911
cmp r8d, 0x69
ja 0x14006018d
je 0x14005ffa6
cmp r8d, 0x63
ja 0x14005ff80
je 0x14005ff48
sub r8d, 0x5e
je 0x14005fa4a
sub r8d, 1
je 0x14005f910
sub r8d, 1
je 0x14005f879
sub r8d, 1
je 0x14005f486
cmp r8d, 1
jne 0x14005cf5c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r13 + 0xc], r10d
je 0x14005f441
mov rcx, rdx
call fcn.14004f078
mov qword [rbp + 0xd0], rax
jmp 0x14005f469
lea r8, [rbp + 0xd0]
mov qword [rbp + 0xd0], r10
mov rcx, rbx
call fcn.140054100
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [rbp + 0xd0]
xor r10d, r10d
mov qword [rax], rcx
jmp 0x140061e03
movsxd rax, dword [r13 + 4]
mov r9d, 1
mov rdi, qword [r13 + 0x10]
mov r15, r10
imul rsi, rax, 0x38
mov eax, dword [r13 + 8]
mov r12d, r10d
sub eax, r9d
mov qword [rbp - 0x68], r10
add rsi, r11
cdqe
imul r14, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
add r14, rsi
mov dword [rbp + 0x78], r10d
add r13, r11
mov qword [rbp + 0x88], r10
mov qword [rbp - 0x80], rsi
mov qword [rbp + 0x98], r14
mov qword [rbp - 0x70], r13
test rdi, rdi
je 0x14005f542
mov r14b, byte [rsp + 0x40]
lea rbx, [rsi + 0x14]
lea r13d, [r9 + 3]
mov r15d, 0xfffb
lea r12d, [r9 + 0x1f]
mov dl, byte [rdi]
lea rcx, [rbx - 0x14]
mov r8b, r14b
call fcn.14005c6bc
cmp byte [rdi], 0x45
jne 0x14005f51c
movzx eax, word [rbx]
test r13b, al
je 0x14005f51c
and ax, r15w
or ax, r12w
mov word [rbx], ax
inc rdi
add rbx, 0x38
xor r10d, r10d
cmp byte [rdi], r10b
jne 0x14005f4f6
mov r15, qword [rbp - 0x68]
lea r9d, [r10 + 1]
mov r12d, dword [rbp + 0x78]
mov r13, qword [rbp - 0x70]
mov r14, qword [rbp + 0x98]
lea rdi, [r14 + 0x24]
movzx edx, word [rdi - 0x10]
test r9b, dl
je 0x14005f567
add r12d, r9d
mov eax, 0x400
and dx, ax
neg dx
sbb ebx, ebx
and ebx, 0xa
jmp 0x14005f6b8
test dl, 0x24
je 0x14005f649
mov r8, qword [rdi - 0x24]
mov rcx, r8
test r8, r8
jns 0x14005f57f
not rcx
add r12d, r9d
cmp rcx, 0x7f
ja 0x14005f5b4
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x14005f5a9
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xbd], 4
jb 0x14005f5a9
lea ebx, [rcx + 8]
jmp 0x14005f6b8
add r15, r9
mov ebx, r9d
jmp 0x14005f6b8
cmp rcx, 0x7fff
ja 0x14005f5cc
mov eax, 2
add r15, rax
mov ebx, eax
jmp 0x14005f6b8
cmp rcx, 0x7fffff
ja 0x14005f5e3
add r15, 3
mov ebx, 3
jmp 0x14005f6b8
cmp rcx, 0x7fffffff
ja 0x14005f5f3
mov eax, 4
jmp 0x14005f5c2
movabs rax, 0x7fffffffffff
cmp rcx, rax
ja 0x14005f610
add r15, 6
mov ebx, 5
jmp 0x14005f6b8
mov ecx, 8
add r15, rcx
lea eax, [rcx + 0x18]
test al, dl
je 0x14005f642
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
and dx, ax
or dx, cx
mov word [rdi - 0x10], dx
movsd qword [rdi - 0x24], xmm0
mov ebx, 7
jmp 0x14005f6b8
mov ebx, 6
jmp 0x14005f6b8
mov eax, 8
test al, dl
je 0x14005f65a
add r12d, r9d
add r15, rax
jmp 0x14005f63b
mov r14d, dword [rdi - 0x14]
mov eax, edx
shr eax, 1
and eax, r9d
bt dx, 0xa
lea ebx, [r14 + 6]
lea ebx, [rax + rbx*2]
jae 0x14005f6a2
lea rsi, [rdi - 0x24]
movsxd rax, dword [rsi]
lea ebx, [rbx + rax*2]
test r15, r15
je 0x14005f697
mov rcx, rsi
call fcn.140055ef4
test eax, eax
jne 0x140062edd
add r14d, dword [rsi]
jmp 0x14005f69e
add qword [rbp + 0x88], rax
mov rsi, qword [rbp - 0x80]
mov eax, r14d
mov ecx, ebx
add r15, rax
call fcn.14003ccac
add r12d, eax
mov r9d, 1
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, rsi
je 0x14005f6cf
sub rdi, 0x38
jmp 0x14005f546
cmp r12d, 0x7e
jg 0x14005f6da
add r12d, r9d
jmp 0x14005f6f6
movsxd rcx, r12d
call fcn.14003ccac
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14003ccac
cmp ebx, eax
jge 0x14005f6f6
inc r12d
mov r14, qword [rbp + 0x88]
movsxd rax, dword [r13 + 0x20]
movsxd rsi, r12d
lea rbx, [rsi + r15]
lea rcx, [r14 + rbx]
cmp rcx, rax
jg 0x14005f71e
mov rax, qword [r13 + 0x28]
xor r10d, r10d
mov qword [r13 + 8], rax
jmp 0x14005f748
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x140062e5a
mov edx, ebx
mov rcx, r13
call fcn.140055d88
xor r10d, r10d
test eax, eax
jne 0x140062edd
mov dword [r13 + 0x10], ebx
mov word [r13 + 0x14], 0x10
test r14, r14
je 0x14005f763
mov dword [r13], r14d
mov word [r13 + 0x14], 0x410
mov rdi, qword [r13 + 8]
lea rbx, [rsi + rdi]
cmp r12d, 0x80
jge 0x14005f77c
mov byte [rdi], r12b
inc rdi
jmp 0x14005f790
movsxd rdx, r12d
mov rcx, rdi
call fcn.14003ca54
movsxd rcx, eax
add rdi, rcx
xor r10d, r10d
mov rsi, qword [rbp - 0x80]
mov r14, qword [rbp + 0x98]
add rsi, 0x10
mov eax, dword [rsi + 0x14]
cmp eax, 7
ja 0x14005f81a
mov byte [rdi], al
inc rdi
test eax, eax
je 0x14005f863
mov rcx, qword [rsi - 0x10]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x1376c0]
mov eax, edx
sub eax, 1
je 0x14005f813
sub eax, 1
je 0x14005f80c
sub eax, 1
je 0x14005f805
sub eax, 1
je 0x14005f7fe
cmp eax, 2
je 0x14005f7f0
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x14005f863
cmp eax, 0x80
jae 0x14005f832
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x14005f863
cmp dword [rsi], r10d
jle 0x14005f863
jmp 0x14005f84b
mov rdx, rax
mov rcx, rdi
call fcn.14003ca54
movsxd rcx, eax
xor r10d, r10d
add rdi, rcx
cmp dword [rsi], r10d
je 0x14005f863
movsxd r8, dword [rsi]
mov rcx, rbx
mov rdx, qword [rsi - 8]
call fcn.14011b910
movsxd rax, dword [rsi]
add rbx, rax
xor r10d, r10d
lea rax, [rsi - 0x10]
cmp rax, r14
je 0x14006253c
add rsi, 0x38
jmp 0x14005f79f
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r11
mov r8b, r9b
mov dl, al
mov rcx, rbx
call fcn.14005c6bc
cmp byte [rdi], 0x45
jne 0x14005f8f2
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x14005f8f2
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14005f8d6
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x14005f8ee
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
mov r9b, byte [rsp + 0x40]
add rdi, r14
xor r10d, r10d
mov al, byte [rdi]
test al, al
je 0x14006258f
add rbx, 0x38
jmp 0x14005f88a
mov r15, qword [r13 + 0x10]
mov ebx, r10d
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
mov r14, qword [r15 + 8]
add rsi, r11
cmp r10w, word [r15 + 0x36]
jge 0x140062a10
lea rdi, [r14 + 0xc]
test byte [rdi + 6], 0x60
je 0x14005f958
mov eax, 0x20
test byte [rdi + 6], al
jne 0x14005fa13
cmp dword [r13 + 0xc], r10d
je 0x14005f958
add rsi, 0x38
jmp 0x14005fa13
mov dl, byte [rdi]
mov r8b, r9b
mov rcx, rsi
call fcn.14005c6bc
movzx ecx, word [rsi + 0x14]
mov edx, 1
test dl, cl
jne 0x14005fa0c
mov eax, dword [rdi - 4]
lea r8d, [rdx + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x14005f9ff
sub eax, edx
je 0x14005f9f8
sub eax, edx
je 0x14005f9f8
sub eax, edx
je 0x14005f99d
cmp eax, edx
jne 0x14005fa0c
test r8b, cl
jmp 0x14005fa06
mov eax, 4
test al, cl
je 0x14005f9f3
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rsi
ja 0x14005f9ce
or cx, 0x20
jmp 0x14005f9de
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rsi], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rax + rdx], cx
jmp 0x14005fa0c
test cl, 0x28
jmp 0x14005fa06
mov eax, 4
jmp 0x14005fa04
mov eax, 0x10
test al, cl
je 0x140062dd3
add rsi, 0x38
xor r10d, r10d
movsx eax, word [r15 + 0x36]
inc ebx
mov r9b, byte [rsp + 0x40]
add rdi, 0x18
cmp ebx, eax
jl 0x14005f935
mov r15d, dword [rsp + 0x48]
mov r14d, 1
mov rbx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
jmp 0x14005cf53
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov esi, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x88], esi
mov r15, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp + 0x78], r15
cmp dword [rbx + 0x20], eax
je 0x14005faaa
cmp byte [rbx + 2], r10b
jne 0x14005fb0b
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r10b
je 0x14005faa3
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14005fad2
lea eax, [rsi + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14005fad2
mov rbx, qword [rbx + 0x28]
lea esi, [rax - 1]
jmp 0x14005fa5b
cmp byte [rdi], r10b
je 0x14005fae9
jmp 0x14005fab7
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x14005fc73
mov rcx, rbx
call fcn.14005a26c
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005fa61
jmp 0x14005d45e
mov rcx, rbx
call fcn.14005a224
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140062f26
mov rcx, rdi
call fcn.14004e0a8
lea r14, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, r14
mov rcx, rdi
call fcn.14004e59c
mov rcx, rax
xor r10d, r10d
jmp 0x14005fb3c
cmp byte [rbx], 3
jne 0x14005fc57
cmp dword [rbx + 0x24], r10d
jle 0x14005fc57
movsxd rax, dword [rbx + 0x24]
lea r14, [rbx + 0x6c]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 0x10]
mov dword [r14], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
lea rsi, [rbx + 0x40]
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r15], eax
cmp eax, 0x80
jae 0x14005fb60
mov eax, 1
jmp 0x14005fb72
mov rcx, qword [rbx + 0x60]
mov rdx, r15
call fcn.14003cc44
movzx eax, al
xor r10d, r10d
mov rcx, rsi
lea rdi, [rbx + 0x4a]
mov dword [rcx], eax
mov word [rdi], r10w
mov eax, dword [r15]
cmp dword [r14], eax
jae 0x14005fc51
mov qword [rbx + 0x60], r10
mov dword [r14], r10d
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x14005fd31
cmp eax, dword [rbx + 0x68]
ja 0x14005fd31
mov esi, dword [rbp + 0x88]
movzx eax, word [rdi]
cmp eax, esi
ja 0x14005fdac
mov eax, dword [r15]
lea rsi, [rbx + 0x40]
cmp dword [rsi], eax
jae 0x14005fd5e
mov r13, qword [rbx + 0x60]
mov qword [rbp - 0x80], r13
test r13, r13
jne 0x14005fc12
xorps xmm0, xmm0
lea r8, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
xor eax, eax
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x70], rax
movups xmmword [rbp + 0x60], xmm0
mov edx, dword [r15]
mov rcx, qword [rbx + 0x30]
call fcn.140056dc0
xor r10d, r10d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140062f26
mov r13, qword [rbp + 0x48]
mov qword [rbp - 0x80], r13
movzx r12d, word [rdi]
mov edi, dword [rsi]
mov r14d, r12d
mov rax, qword [rbp + 0x78]
add rdi, r13
mov r15d, dword [r15 + r12*4]
mov esi, dword [rax]
add rsi, r13
mov r13, rax
movzx eax, byte [rdi]
mov dword [rbp - 0x60], eax
mov dword [rbx + r14*4 + 0x78], eax
mov ecx, dword [rbp - 0x60]
cmp ecx, 0x80
jae 0x14005fc7c
inc rdi
call fcn.14005a2e8
movzx eax, al
jmp 0x14005fca0
mov r13, qword [rbx + 0x60]
jmp 0x14005fc0e
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
call fcn.14005665c
mov r15d, dword [rsp + 0x48]
jmp 0x14005e64c
lea rdi, [rbx + 0x4a]
jmp 0x14005fbaf
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.14003cc44
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x60]
mov dword [rbx + r14*4 + 0x78], eax
mov ecx, dword [rbp - 0x60]
call fcn.14005a2cc
mov eax, eax
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [r13 + r14*4], r15d
cmp r12d, dword [rbp + 0x88]
ja 0x14005fcc0
cmp rdi, rsi
jb 0x14005fc2e
mov r13, qword [rbp - 0x80]
cmp rdi, rsi
jb 0x14005fd03
ja 0x14005fd0b
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x14005fd0b
mov r15, qword [rbp + 0x78]
xor r10d, r10d
sub edi, r13d
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], edi
cmp qword [rbx + 0x60], r10
jne 0x14005fcf4
lea rcx, [rbp + 0x40]
call fcn.140056250
mov edx, dword [rbp - 0x60]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
jmp 0x14005fd64
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x14005fcd3
mov r15, qword [rbp + 0x78]
xor r10d, r10d
cmp dword [r15], r10d
jne 0x14005fd1f
mov r12d, r10d
mov rdi, rsi
jmp 0x14005fcda
cmp qword [rbx + 0x60], r10
jne 0x14005fd31
lea rcx, [rbp + 0x40]
call fcn.140056250
xor r10d, r10d
mov rsi, qword [rsp + 0x70]
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x140062e2c
mov r15d, dword [rsp + 0x48]
dec eax
movsxd rcx, eax
mov r14d, 1
lea rax, [rcx + rcx*2]
lea r13, [rsi + rax*8]
jmp 0x14005d71c
mov edx, r10d
mov dword [rbp - 0x60], edx
movzx eax, word [rbx + 0x4a]
mov esi, dword [rbp + 0x88]
cmp eax, esi
ja 0x14005fdb5
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
cmp byte [r13 + 1], 0xf6
jne 0x14005fda5
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.1400568a4
mov r15d, dword [rsp + 0x48]
mov r14d, 1
jmp 0x14005e64c
call fcn.14005665c
jmp 0x14005fd95
mov eax, esi
mov edx, dword [rbx + rax*4 + 0x78]
mov dword [rbp - 0x60], edx
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x58]
test word [rdi + 0x14], ax
je 0x14005fdd8
mov rcx, rdi
call fcn.14005665c
mov edx, dword [rbp - 0x60]
lea eax, [rsi + 1]
mov eax, dword [r15 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14005fea0
mov eax, esi
mov esi, dword [r15 + rax*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x14005fe04
mov rcx, rsi
mov r8, rdi
call fcn.14005a38c
jmp 0x14005fd95
mov al, byte [rsp + 0x40]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x14005fe4c
mov rax, qword [rsp + 0x50]
cmp ebx, dword [rax + 0x88]
jg 0x140062e5a
mov r14d, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], r14w
call fcn.140055c38
test eax, eax
jne 0x140062edd
jmp 0x14005fe5a
mov rax, qword [rdi + 0x28]
mov r14d, 1
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.14011b910
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r15d, dword [rsp + 0x48]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [rdi + 8]
mov byte [rax + rbx + 1], r10b
mov eax, dword [rbp - 0x60]
and rax, r14
movzx eax, word [rcx + rax*2 + 0x13a960]
mov word [rdi + 0x14], ax
jmp 0x14005cdf9
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
mov al, byte [r13 + 2]
mov edx, dword [rbp - 0x60]
and al, 0xc0
je 0x14005fecc
cmp al, 0x80
je 0x14005fee0
mov r14d, 1
cmp edx, 0xc
jb 0x14005fed2
test r14b, dl
je 0x14005fee0
cmp al, 0xc0
je 0x14005fee0
jmp 0x14005fed2
mov r14d, 1
mov ecx, edx
call fcn.14005a2cc
test eax, eax
jne 0x14005feec
mov edx, dword [rbp - 0x60]
lea rcx, [0x140136f50]
jmp 0x14005fdfa
mov r8d, dword [rbp - 0x60]
mov edx, esi
mov eax, esi
mov rcx, rbx
mov qword [rsp + 0x30], rdi
mov r9d, dword [r15 + rax*4]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.14005c8e0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005cdf9
mov r12, qword [rsp + 0x60]
cmp eax, 7
je 0x140062ee2
cmp eax, 0x12
je 0x140062e5f
lea r13d, [r10 + 2]
jmp 0x14005d469
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0xcc]
mov rcx, qword [rbx + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140053fd0
mov rdx, r13
mov rcx, r12
call fcn.14005c840
movsxd rcx, dword [rbp + 0xcc]
jmp 0x14005ecfa
sub r8d, 0x64
je 0x140060023
sub r8d, 1
je 0x14005fff2
sub r8d, 1
je 0x14005ffa6
sub r8d, 1
je 0x14005ffa6
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r11
imul rsi, rax, 0x38
add rcx, r11
add rsi, r11
mov al, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test r14b, al
je 0x1400600c7
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x1400600b8
mov rcx, rsi
call fcn.1400561dc
jmp 0x14005e651
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x1400606fc
mov eax, dword [r13 + 8]
cmp dword [rbx + 0x44], eax
jne 0x1400606fc
mov rcx, qword [rbx + 0x30]
call fcn.14004a1c0
jmp 0x140060815
movsxd rbx, dword [r13 + 4]
mov rdi, qword [rsp + 0x50]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140054060
mov r15d, eax
mov dword [rsp + 0x48], eax
cmp dword [r13 + 8], r14d
jne 0x140060075
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rdi
or dword [rdi + 0x2c], r14d
mov edx, dword [r13 + 4]
call fcn.14008305c
jmp 0x14006008b
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x14006008b
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r14d
jne 0x1400600a4
xor edx, edx
mov rcx, rdi
call fcn.14005b534
and dword [r12 + 0xc0], 0xfffffffc
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov rbx, rdi
jmp 0x14005ce03
mov word [rsi + 0x14], r14w
mov rsi, qword [rsp + 0x70]
jmp 0x14005cf57
call fcn.14005629c
mov rcx, rdi
mov rbx, rax
call fcn.14005629c
mov r8b, byte [r13]
mov rdx, rax
cmp r8b, 0x66
jne 0x1400600e9
and rbx, rax
jmp 0x1400600f2
cmp r8b, 0x67
jne 0x1400600f7
or rbx, rdx
xor r10d, r10d
jmp 0x14006016d
xor r10d, r10d
test rdx, rdx
je 0x14006016d
jns 0x140060121
mov rcx, rdx
mov eax, 0xd1
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [r10 + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x14006013d
test rbx, rbx
jns 0x140060138
cmp r8b, 0x68
je 0x140060138
or rbx, 0xffffffffffffffff
jmp 0x14006016d
mov rbx, r10
jmp 0x14006016d
mov rcx, rdx
cmp r8b, 0x68
jne 0x14006014e
shl rbx, cl
mov r8, rbx
jmp 0x14006016a
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14006016a
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rsi + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [rsi], rbx
mov ecx, 4
or ax, cx
mov word [rsi + 0x14], ax
jmp 0x1400603de
cmp r8d, 0x6f
ja 0x1400605d8
je 0x140060427
sub r8d, 0x6a
je 0x1400601bf
sub r8d, 1
je 0x1400601bf
sub r8d, 1
je 0x1400601bf
sub r8d, 1
je 0x1400601bf
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
mov edx, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
lea r12d, [rdx - 3]
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r11
imul r14, rax, 0x38
add rsi, r11
add r14, r11
movzx ecx, word [rsi + 0x14]
mov al, cl
and al, byte [rdi + 0x14]
test dl, al
jne 0x140060227
or cl, byte [rdi + 0x14]
test r12b, cl
jne 0x1400603fe
mov rcx, rdi
call fcn.14005c800
mov rcx, rsi
movzx ebx, ax
call fcn.14005c800
and al, bl
lea ecx, [r12 + 3]
test cl, al
je 0x1400602fe
xor r10d, r10d
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp + 0xa8], rdx
sub ecx, 0x6a
je 0x1400602c4
sub ecx, 1
je 0x1400602b3
sub ecx, 1
je 0x1400602a2
cmp ecx, 1
je 0x140060273
test r8, r8
je 0x1400603fe
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r12
idiv r8
mov qword [rbp + 0xa8], rdx
jmp 0x1400602da
test r8, r8
je 0x1400603fe
cmp r8, 0xffffffffffffffff
jne 0x140060291
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1400602fe
mov rax, rdx
cqo
idiv r8
mov qword [rbp + 0xa8], rax
jmp 0x1400602da
mov rdx, r8
lea rcx, [rbp + 0xa8]
call fcn.14003ce3c
jmp 0x1400602d3
mov rdx, r8
lea rcx, [rbp + 0xa8]
call fcn.14003ce00
jmp 0x1400602d3
mov rdx, r8
lea rcx, [rbp + 0xa8]
call fcn.14003cdb0
xor r10d, r10d
test eax, eax
jne 0x1400602fe
mov rax, qword [rbp + 0xa8]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
mov ecx, 4
or ax, cx
jmp 0x1400603d3
mov rcx, rdi
call fcn.1400562f8
mov rcx, rsi
movaps xmm6, xmm0
call fcn.1400562f8
movzx ecx, byte [r13]
sub ecx, 0x6a
je 0x140060385
sub ecx, 1
je 0x14006037f
sub ecx, 1
je 0x140060379
cmp ecx, 1
je 0x140060367
mov rcx, rdi
call fcn.14005629c
mov rcx, rsi
mov rbx, rax
call fcn.14005629c
xor r10d, r10d
mov qword [rbp + 0xa8], rax
test rbx, rbx
je 0x1400603fe
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r12
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14006038c
ucomisd xmm6, xmm7
jp 0x140060373
je 0x1400603fb
divsd xmm0, xmm6
jmp 0x140060389
mulsd xmm0, xmm6
jmp 0x140060389
subsd xmm0, xmm6
jmp 0x140060389
addsd xmm0, xmm6
xor r10d, r10d
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x1400603fe
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov ecx, 4
mov word [r14 + 0x14], ax
mov r14d, 1
mov rbx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
jmp 0x14005cf5c
xor r10d, r10d
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140060417
mov rcx, r14
call fcn.1400561dc
jmp 0x14005fd9a
mov word [r14 + 0x14], r12w
mov r14d, 1
jmp 0x14005cdf9
movsxd rax, dword [r13 + 4]
mov r12, qword [rsp + 0x60]
imul r13, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r13, r11
imul rdi, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rbx, r11
mov al, r15b
add rdi, r11
or al, byte [rbx + 0x14]
test r14b, al
je 0x140060496
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14006047f
mov rcx, rdi
call fcn.1400561dc
mov r15d, dword [rsp + 0x48]
mov r13, r12
jmp 0x14005cf41
mov r15d, dword [rsp + 0x48]
mov r13, r12
mov word [rdi + 0x14], r14w
mov rbx, qword [rsp + 0x50]
jmp 0x14005cf5c
test r15b, 0x12
jne 0x1400604ac
xor r8d, r8d
mov dl, r9b
mov rcx, r13
call fcn.140055f58
jmp 0x1400604bf
mov eax, 0x400
test ax, r15w
je 0x1400604da
mov rcx, r13
call fcn.140055ef4
test eax, eax
jne 0x140062ee2
movzx r15d, word [r13 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx esi, word [rbx + 0x14]
test sil, 0x12
jne 0x1400604f5
mov dl, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rbx
call fcn.140055f58
jmp 0x140060502
test ax, si
je 0x140060516
mov rcx, rbx
call fcn.140055ef4
test eax, eax
jne 0x140062ee2
movzx esi, word [rbx + 0x14]
mov eax, 0xfffd
and si, ax
mov rax, qword [rsp + 0x50]
mov edx, dword [r13 + 0x10]
add edx, dword [rbx + 0x10]
movsxd r14, edx
movsxd rax, dword [rax + 0x88]
cmp r14, rax
jg 0x140062e5f
xor eax, eax
mov rcx, rdi
mov r8d, eax
cmp rdi, rbx
sete r8b
add edx, 2
call fcn.140055c38
test eax, eax
jne 0x140062ee2
movzx eax, word [rdi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rdi + 0x14], ax
cmp rdi, rbx
je 0x140060582
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi + 8]
call fcn.14011b910
mov word [rbx + 0x14], si
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rdi + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.14011b910
mov r9b, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x1400605ab
and r14, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
xor r10d, r10d
mov r13, r12
mov byte [r14 + rax], r10b
mov rax, qword [rdi + 8]
mov byte [rax + r14 + 1], r10b
mov eax, 0x200
or word [rdi + 0x14], ax
mov dword [rdi + 0x10], r14d
mov byte [rdi + 0x16], r9b
jmp 0x14005fa2b
sub r8d, 0x70
je 0x140060706
sub r8d, 1
je 0x140060706
sub r8d, 1
je 0x14006069f
cmp r8d, 1
jne 0x14005cf5c
movsxd rcx, dword [r13 + 8]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.14005c4ac
mov r10, rax
test rax, rax
je 0x140062edd
mov edx, dword [rax + 8]
mov r8d, 4
mov byte [rax + 2], r14b
or edx, r14d
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
mov ecx, edx
mov al, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, r8d
xor ecx, edx
mov dword [r10 + 8], ecx
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
lea eax, [r8 + 4]
or ecx, eax
mov dword [r10 + 8], ecx
or dword [rbx + 8], eax
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14004dee0
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14005cf41
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r11
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x1400606d6
mov rcx, rbx
call fcn.1400561dc
mov r11, qword [rsp + 0x58]
xor r10d, r10d
lea ecx, [r10 + 4]
jmp 0x1400606db
mov word [rbx + 0x14], r14w
test byte [rdi + 0x14], r14b
jne 0x14006256e
mov word [rbx + 0x14], cx
mov rcx, rdi
call fcn.14005629c
not rax
mov qword [rbx], rax
jmp 0x14005cf41
mov rbx, qword [rsp + 0x50]
mov ecx, 4
mov eax, dword [r12 + 0xc0]
and al, 3
cmp al, r14b
je 0x140062e36
movsxd r12, dword [r13 + 0xc]
mov esi, r10d
mov rdx, qword [rsp + 0x60]
mov rax, r12
mov r15d, dword [r13 + 8]
mov r14, r10
shl rax, 5
add rax, qword [rbx + 0x20]
cmp byte [rdx], 0x71
mov r13, qword [rax + 8]
jne 0x140060765
mov rax, qword [rax + 0x18]
movzx edi, word [rdx + 2]
and edi, 8
or edi, ecx
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xbd]
jae 0x140060768
mov byte [rax + 0xbd], cl
jmp 0x140060768
mov edi, r10d
mov eax, 0x10
test byte [rdx + 2], al
je 0x140060789
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400563cc
mov rdx, qword [rsp + 0x60]
mov r15d, dword [rbx]
mov al, byte [rdx + 1]
cmp al, 0xf8
jne 0x14006079b
mov r14, qword [rdx + 0x10]
movzx esi, word [r14 + 8]
jmp 0x1400607a2
cmp al, 0xfd
jne 0x1400607a2
mov esi, dword [rdx + 0x10]
mov edx, dword [rdx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, esi
call fcn.14005c4ac
mov rbx, rax
test rax, rax
je 0x140062edd
mov rcx, qword [rbx + 0x30]
mov r9, r14
mov byte [rax + 1], r12b
mov r8d, edi
mov byte [rax + 2], 1
mov edx, r15d
mov qword [rsp + 0x20], rcx
mov eax, 4
or dword [rbx + 8], eax
mov rcx, r13
mov dword [rbx + 0x44], r15d
call fcn.14004dee0
mov r13, qword [rsp + 0x60]
mov r15d, eax
mov rsi, qword [rsp + 0x70]
mov qword [rbx + 0x38], r14
mov r14d, 1
mov dword [rsp + 0x48], eax
cmp byte [r13 + 1], 0xf8
setne al
mov byte [rbx + 4], al
mov cl, byte [r13 + 2]
mov rax, qword [rbx + 0x30]
and cl, 3
mov byte [rax + 3], cl
jmp 0x14005df0d
mov eax, 0x81
cmp r8d, eax
ja 0x140061097
je 0x140061059
cmp r8d, 0x7a
ja 0x140060c26
je 0x140060bf7
sub r8d, 0x75
je 0x140060ae1
sub r8d, 1
je 0x140060911
sub r8d, 1
je 0x1400608d9
sub r8d, 1
je 0x1400608b2
cmp r8d, 1
jne 0x14005cf5c
mov r8d, dword [r13 + 0xc]
mov r9b, 3
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.14005c4ac
mov rbx, rax
test rax, rax
je 0x140062edd
mov byte [rax + 2], r14b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
mov byte [rax + 4], r14b
call fcn.14004a354
mov qword [rbx + 0x30], rax
jmp 0x14005cf41
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140062910
jmp 0x14005cf53
mov r8d, dword [r13 + 8]
mov r9b, r14b
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.14005c4ac
test rax, rax
je 0x140061169
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, rbx
mov edx, dword [r13 + 0xc]
call fcn.140063884
jmp 0x14005d4e7
cmp dword [r13 + 0xc], r10d
jle 0x140060938
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], r10d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x14012ffad]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
je 0x14006098c
mov eax, 8
test byte [rsi + 8], al
jne 0x14006098c
movsx eax, word [rsi + 0x48]
cmp dword [r13 + 8], eax
jg 0x14006098c
mov edx, dword [rsi + 0x44]
xor r8d, r8d
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], r10
mov dword [rsi + 0x20], r10d
call fcn.140053cac
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
jmp 0x140060ad8
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.14005c4ac
mov rsi, rax
test rax, rax
je 0x140061169
or dword [rax + 8], r14d
mov r8, rbx
movzx ecx, word [r13 + 2]
lea r14, [rax + 0x10]
or ecx, edi
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r9, r14
mov rcx, qword [rbx]
xor edx, edx
call fcn.14004b978
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rcx, qword [r14]
lea ebx, [rax + 1]
mov edx, ebx
xor r8d, r8d
call fcn.14004cd1c
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140060aab
mov r12, qword [r13 + 0x10]
lea r15, [rsi + 0x44]
mov qword [rsi + 0x38], r12
test r12, r12
je 0x140060a81
mov rdi, qword [r14]
movzx ebx, word [r13 + 2]
mov rcx, rdi
or ebx, 2
call fcn.140049e04
mov r8d, ebx
mov rdx, r15
mov rcx, rdi
call fcn.140053828
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov ebx, eax
call fcn.140049eb4
xor r10d, r10d
test ebx, ebx
jne 0x140060a70
mov rax, qword [rsi + 0x30]
lea r8d, [rbx + 4]
mov edx, dword [r15]
mov r9, r12
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14004dee0
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
jmp 0x140060a75
mov r15d, dword [rsp + 0x48]
mov byte [rsi + 4], r10b
mov r14d, 1
jmp 0x140060aae
mov rax, qword [rsi + 0x30]
xor r9d, r9d
mov rcx, qword [r14]
mov edx, ebx
mov dword [r15], ebx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14004dee0
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
mov byte [rsi + 4], bl
mov r14, rbx
movzx eax, word [r13 + 2]
sub ax, 8
neg ax
mov eax, dword [rsi + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [rsi + 8], ecx
test r15d, r15d
jne 0x140062e41
mov rbx, qword [rsp + 0x50]
mov byte [rsi + 2], r14b
jmp 0x14005cdfe
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [r13 + 0x10]
mov rbx, rax
call fcn.14003b1d8
movzx edi, byte [rsp + 0x40]
mov dword [r13 + 4], eax
cmp dil, r14b
je 0x140060b78
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov r9b, r14b
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400569c4
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140062e5a
mov edx, edi
mov rcx, rbx
call fcn.140055c1c
xor ecx, ecx
test eax, eax
jne 0x140062edd
mov eax, 0x2000
mov dword [rbx + 0x20], ecx
or word [rbx + 0x14], ax
cmp byte [r13 + 1], 0xfa
jne 0x140060b64
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1400384a4
mov byte [r13 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
mov rbx, qword [rsp + 0x50]
cmp eax, dword [rbx + 0x88]
jg 0x140062e5a
mov byte [r13], 0x49
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov r9b, byte [rsp + 0x40]
xor r10d, r10d
mov r11, qword [rsp + 0x58]
mov r8, rax
mov word [rax + 0x14], 0x2202
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov ecx, dword [r13 + 4]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x16], r9b
cmp dword [r13 + 0xc], r10d
jle 0x140062594
movsxd rcx, dword [r13 + 0xc]
movzx eax, word [r13 + 2]
imul rdx, rcx, 0x38
lea ecx, [r10 + 4]
cmp qword [rdx + r11], rax
mov edx, dword [rsp + 0x44]
jne 0x14005f2b8
mov word [r8 + 0x14], 0x2210
jmp 0x14005cf5c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140060c14
mov rcx, r12
call fcn.140059110
xor r10d, r10d
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x14005ce03
sub r8d, 0x7c
je 0x140060f8f
sub r8d, 1
je 0x140060f4d
sub r8d, 1
je 0x140060f18
sub r8d, 1
je 0x140060d7e
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
mov r9, qword [rsp + 0x50]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r11]
mov qword [rbp - 0x50], r8
jne 0x140060cac
cmp qword [r9 + 0x130], r10
je 0x140060cac
movsx rcx, byte [rbx + 1]
mov rax, qword [r9 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x140060cb2
mov rdi, r10
mov rsi, r10
test byte [r13 + 2], r14b
je 0x140060ccc
add qword [r12 + 0x38], r14
mov eax, 0x20
test byte [r13 + 2], al
je 0x140060ccc
mov qword [r9 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x48], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp - 0x34], eax
mov eax, 0x10
test al, r8b
je 0x140060cef
mov r9d, dword [rbx + 0x24]
jmp 0x140060cf2
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140060d04
mov eax, dword [rdx]
mov dword [rbp - 0x30], eax
jmp 0x140060d08
mov dword [rbp - 0x30], r10d
mov qword [rbp - 0x58], r10
lea rdx, [rbp - 0x58]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.140052b58
add dword [rsp + 0x78], r14d
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14005d45e
test rdi, rdi
je 0x14006254c
mov al, byte [r13 + 2]
mov r8, rsi
mov rbx, qword [rsp + 0x50]
and al, 4
mov r9, qword [rdi]
neg al
mov rax, qword [rbp - 0x50]
sbb edx, edx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x128]
and edx, 5
add edx, 0x12
call qword [rbx + 0x130]
jmp 0x14005e651
mov rdx, r13
mov qword [rbp + 0x78], r10
mov rcx, r12
mov dword [rbp + 0x88], r10d
call fcn.14005c840
movsxd rdx, dword [r13 + 4]
mov rsi, rax
mov rcx, qword [r12 + 0x78]
mov rdi, qword [rcx + rdx*8]
mov edx, 2
test byte [rdi + 8], dl
jne 0x140060e0f
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x88]
call fcn.14004e99c
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [rbp + 0x88], r10d
je 0x140060de2
mov qword [rbp + 0x78], r14
lea edx, [rax + 2]
jmp 0x140060e12
mov rcx, qword [rdi + 0x30]
call fcn.14004e090
movabs rcx, 0x7fffffffffffffff
mov qword [rbp + 0x78], rax
mov edx, 2
cmp rax, rcx
jl 0x140060e08
or dword [rdi + 8], edx
jmp 0x140060e0f
inc rax
mov qword [rbp + 0x78], rax
xor r10d, r10d
cmp dword [r13 + 0xc], r10d
je 0x140060e97
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x140060e45
mov rax, qword [rcx + 8]
jmp 0x140060e32
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140060e2b
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x140060e52
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1400563cc
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x140062e4f
mov edx, 2
test byte [rdi + 8], dl
jne 0x140062e4f
mov rax, qword [rbp + 0x78]
inc rcx
cmp rax, rcx
jge 0x140060e91
mov rax, rcx
mov qword [rbp + 0x78], rcx
mov qword [rbx], rax
xor r10d, r10d
test byte [rdi + 8], dl
je 0x140060f04
mov ebx, r10d
lea rdx, [rbp + 0x78]
mov ecx, 8
call fcn.14003aa04
mov rdx, qword [rbp + 0x78]
lea r9, [rbp + 0x88]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
add rdx, r14
mov qword [rbp + 0x78], rdx
mov rcx, qword [rdi + 0x30]
call fcn.14004e9b4
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [rbp + 0x88], r10d
jne 0x140060f04
add ebx, r14d
cmp ebx, 0x64
jl 0x140060e9f
lea r15d, [rax + 0xd]
jmp 0x14005d45e
mov byte [rdi + 3], r10b
mov dword [rdi + 0x20], r10d
mov rax, qword [rbp + 0x78]
mov qword [rsi], rax
jmp 0x14005cdf9
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [r12 + 0x78]
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r14
jmp 0x14005cf46
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r13 + 8]
jge 0x140060f72
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x14005cf53
mov ecx, 4
cmp eax, dword [r13 + 0xc]
jle 0x140060f86
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
mov edx, dword [rsp + 0x44]
jmp 0x14005cf5c
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0x1c]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
jne 0x14005e749
mov rax, qword [rbx + 0x38]
mov edi, dword [r13 + 4]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x28]
mov word [rbp - 0x3c], ax
movsxd rax, dword [r13 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp - 0x3a], r10b
add rcx, r11
mov dword [rbp + 0xc4], r10d
mov qword [rbp - 0x50], rcx
mov rcx, qword [rsp + 0x50]
lea r9, [rbp + 0xc4]
lea r8, [rbp - 0x58]
mov rdx, rbx
call fcn.14005b478
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov eax, dword [rbp + 0xc4]
test eax, eax
jle 0x140061015
cmp word [r13 + 2], r10w
je 0x140061050
test eax, eax
jns 0x140062910
test edi, edi
jle 0x14006254c
mov rcx, qword [rbx + 0x30]
xor edx, edx
sub edi, r14d
mov dword [rbx + 0x20], r10d
call fcn.14004f1c8
xor r10d, r10d
mov r15d, eax
test eax, eax
je 0x140060fd8
cmp eax, 0x65
jne 0x14005d45e
mov r15d, r10d
mov dword [rsp + 0x48], r10d
add r13, 0x18
jmp 0x140062910
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r13 + 0xc], r10d
je 0x140061082
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
jmp 0x140061085
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.140053030
jmp 0x14005d4e7
mov eax, 0x87
cmp r8d, eax
ja 0x1400613cf
je 0x14006130c
sub r8d, 0x82
je 0x14006121f
sub r8d, 1
je 0x140061205
sub r8d, 1
je 0x1400611b8
sub r8d, 1
je 0x140061173
cmp r8d, 1
jne 0x14005cf5c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [r12 + 0x78]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.14004e048
mov rax, qword [rsp + 0x50]
mov edx, dword [rbx + 0x40]
cmp edx, dword [rax + 0x88]
ja 0x140062e5a
mov r8, rdi
mov rcx, rbx
call fcn.140056dc0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [r13 + 0xc], r10d
jne 0x14006254c
mov eax, 0x4000
test word [rdi + 0x14], ax
je 0x14006254c
mov rcx, rdi
call fcn.140055e9c
mov rbx, qword [rsp + 0x50]
xor r10d, r10d
test eax, eax
je 0x14005ce03
mov r12, qword [rsp + 0x60]
jmp 0x140062ee7
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.140065608
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x14005ce03
mov rax, qword [r12 + 0x78]
lea r9, [rbp + 0xc0]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0xc0], r10d
add rdx, r11
call fcn.1400656c8
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [rbp + 0xc0], r10d
jmp 0x14005d7a9
mov rax, qword [r12 + 0x38]
add qword [rbx + 0x80], rax
mov qword [rbx + 0x78], rax
mov qword [r12 + 0x38], r10
jmp 0x14005cf5c
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r14d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14006127a
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x130], r10
je 0x14006127a
mov rax, qword [rax + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov eax, 2
test byte [r13 + 2], al
je 0x140061280
cmp byte [rbx + 4], r10b
je 0x140061280
mov rcx, qword [rbx + 0x30]
call fcn.14004e090
mov qword [rbx + 0x50], rax
jmp 0x140061280
mov rsi, r10
mov rdi, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.1400533ac
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
mov qword [rbx + 0x20], r10
lea eax, [r10 + 1]
add dword [rsp + 0x78], eax
test r15d, r15d
jne 0x14005d45e
test al, r14b
mov r14d, eax
je 0x14006254c
add qword [r12 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov r10, qword [rax + 0x130]
test r10, r10
je 0x14006257c
test rdi, rdi
je 0x14006257c
test byte [rdi + 0x30], 0x80
jne 0x14006257c
mov rax, qword [rbx + 0x50]
lea edx, [r15 + 9]
mov rbx, qword [rsp + 0x50]
mov r8, rsi
mov r9, qword [rdi]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x128]
call r10
jmp 0x14005e651
mov rdx, r13
mov rcx, r12
call fcn.14005c840
movsxd rdx, dword [r13 + 4]
xor r10d, r10d
mov rcx, qword [r12 + 0x78]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x14006133a
mov word [rax + 0x14], r14w
jmp 0x14005d71c
cmp byte [rbx + 3], r10b
je 0x140061346
mov rax, qword [rbx + 0x50]
jmp 0x1400613c0
mov eax, 2
cmp byte [rbx], al
jne 0x14006138a
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0xd8]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.14005b65c
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov rax, qword [rbp + 0xd8]
jmp 0x1400613c7
mov rcx, rbx
call fcn.14005a2bc
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp byte [rbx + 2], r10b
je 0x1400613b4
mov word [rdi + 0x14], r14w
jmp 0x14005d71c
mov rcx, qword [rbx + 0x30]
call fcn.14004e090
xor r10d, r10d
mov qword [rbp + 0xd8], rax
mov qword [rdi], rax
jmp 0x14005d71c
mov ecx, r8d
sub ecx, 0x88
je 0x1400615a5
sub ecx, 1
je 0x1400614e7
sub ecx, 1
je 0x14006143e
cmp ecx, 1
jne 0x14005cf57
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x14006142e
mov rcx, rbx
call fcn.140055ef4
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rdx, rbx
mov rcx, rdi
call fcn.1400648d4
jmp 0x14005f304
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r13 + 2], r14b
je 0x140061461
add qword [r12 + 0x38], r14
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140061487
mov rcx, rbx
call fcn.140055ef4
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov r11, qword [rsp + 0x58]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x58], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp - 0x38], ax
mov eax, 0x10
mov qword [rbp - 0x40], rcx
test al, r8b
je 0x1400614c4
mov r9d, dword [rdi + 0x24]
jmp 0x1400614c7
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x58]
and r8d, 0x8a
call fcn.140052b58
xor r10d, r10d
mov dword [rdi + 0x20], r10d
jmp 0x14005f307
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0xa0], r10d
cmp r8b, 0x89
jne 0x14006155e
or dword [rbx + 0x24], 0xffffffff
cmp byte [rcx], r10b
je 0x14006255a
lea rdx, [rbp + 0xa0]
call fcn.14004e93c
mov r15d, eax
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0xa0]
xor r10d, r10d
mov byte [rbx + 2], al
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r10d
test r15d, r15d
jne 0x14005d45e
cmp dword [r13 + 8], r10d
jle 0x14006254c
cmp dword [rbp + 0xa0], r10d
je 0x14005d71c
jmp 0x140062910
cmp byte [rcx], r10b
jne 0x140061512
mov eax, 8
test byte [rcx + 1], al
je 0x140061512
mov eax, r10d
mov dword [rsp + 0x48], r10d
mov dword [rbp + 0xa0], eax
mov r15d, r10d
jmp 0x14006152e
mov r15d, dword [rsp + 0x48]
mov r14d, 1
mov rsi, qword [rsp + 0x70]
jmp 0x14005da31
mov r14d, 1
mov rsi, qword [rsp + 0x70]
jmp 0x140062910
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x1400615eb
mov r9b, 3
mov r8d, r14d
mov rcx, r12
call fcn.14005c4ac
xor r10d, r10d
test rax, rax
je 0x140061169
lea ecx, [r10 + 8]
mov dword [rax + 0x24], r10d
or dword [rax + 8], ecx
lea rcx, [0x14015ee9c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r14b
mov byte [rax + 2], r14b
mov dword [rax + 0x20], r10d
cmp byte [rax], r10b
jne 0x14006254c
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140038368
xor r10d, r10d
mov byte [rbx], r14b
mov qword [rbx + 0x18], r10
jmp 0x14005d71c
movsxd rcx, dword [r13 + 4]
lea r8, [rbp + 0xc8]
mov rax, qword [r12 + 0x78]
lea rdx, [rbp - 0x58]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x3c], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp - 0x3a], r10b
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rcx, rbx
call fcn.14004ec10
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp dword [rbp + 0xc8], r10d
jne 0x1400616a7
lea edx, [rax + 4]
mov rcx, rbx
call fcn.1400533ac
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rbx, qword [rsp + 0x50]
and qword [rdi + 0x20], 0
jmp 0x14005ce03
cmp word [r13 + 2], r10w
je 0x140061698
mov rbx, qword [rsp + 0x50]
mov eax, dword [rbx + 0x30]
and eax, 0x10000001
cmp rax, r14
je 0x14006169d
lea rax, [0x1401432b4]
mov r15d, 0x30b
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x18584
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14003a63c
jmp 0x140062a65
cmp r8d, 0xa3
ja 0x14006215f
je 0x140061f48
cmp r8d, 0x98
ja 0x140061c65
je 0x140061c50
cmp r8d, 0x92
ja 0x140061998
je 0x14006195e
sub r8d, 0x8d
je 0x140061897
sub r8d, 1
je 0x140061897
sub r8d, 1
je 0x140061876
sub r8d, 1
je 0x1400617c6
cmp r8d, 1
jne 0x14005cf5c
movsxd rax, dword [r13 + 8]
lea r8, [rbp + 0x98]
mov rcx, qword [rbx + 0x20]
mov edx, dword [r13 + 4]
shl rax, 5
mov qword [rbp + 0x98], r10
mov rcx, qword [rax + rcx + 8]
call fcn.140053cac
mov r11, qword [rsp + 0x58]
xor r10d, r10d
mov r15d, eax
mov dword [rsp + 0x48], eax
cmp dword [r13 + 0xc], r10d
je 0x1400617b8
mov rdx, qword [rbp + 0x98]
add qword [r12 + 0x38], rdx
cmp dword [r13 + 0xc], r10d
jle 0x1400617b8
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test r15d, r15d
jne 0x14005d45e
jmp 0x14005ce08
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rbx, rax
mov word [rax + 0x14], r14w
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0xe8]
add ecx, r14d
cmp dword [rax + 0xdc], ecx
jg 0x140062e85
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp + 0xb0]
mov edx, dword [r13 + 4]
xor ecx, ecx
mov dword [rbp + 0xb0], ecx
mov r9, rdi
mov rcx, qword [rax + 0x20]
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.140053f70
mov r15d, eax
mov dword [rsp + 0x48], eax
mov ecx, 4
xor r10d, r10d
mov word [rbx + 0x14], cx
movsxd rax, dword [rbp + 0xb0]
mov qword [rbx], rax
test r15d, r15d
jne 0x14005d45e
mov r8d, dword [rbp + 0xb0]
test r8d, r8d
je 0x140062569
mov rbx, qword [rsp + 0x50]
mov edx, edi
mov r9d, dword [r13 + 4]
mov rcx, rbx
call fcn.14007a210
lea r10d, [r14 + rdi]
mov byte [rsp + 0x41], r10b
jmp 0x14005cf46
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x14005cf57
call fcn.14005a224
jmp 0x14005d4e7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.14005a2bc
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp byte [rbx + 2], r10b
jne 0x14006194c
mov rcx, qword [rsp + 0x50]
lea r8, [rbp + 0xe0]
mov qword [rbp + 0xe0], r10
mov rdx, qword [rbx + 0x30]
call fcn.14005b344
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14005d45e
cmp byte [r13], 0x8d
jne 0x140061932
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r10b
mov rax, qword [rbp + 0xe0]
mov qword [rdx + 0x50], rax
mov byte [rdx + 3], r14b
mov dword [rdx + 0x20], r10d
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x14005d71c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [rbp + 0xe0]
mov qword [rax], rcx
jmp 0x14005cf41
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
jmp 0x14005da75
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x30]
cmp byte [rdx], r14b
jne 0x140061984
mov rdx, rcx
mov rcx, rbx
call fcn.140063d6c
jmp 0x14005cf46
mov edx, dword [rcx + 0x50]
xor r8d, r8d
mov rcx, qword [rcx + 8]
call fcn.140053cac
jmp 0x14005d4e7
sub r8d, 0x93
je 0x140061be0
sub r8d, 1
je 0x140061b27
sub r8d, 1
je 0x1400619eb
sub r8d, 1
je 0x1400619da
cmp r8d, 1
jne 0x14005cf5c
mov r8, qword [r13 + 0x10]
mov rcx, rbx
mov edx, dword [r13 + 4]
call fcn.140077308
jmp 0x14005cf46
mov edx, dword [r13 + 4]
mov rcx, rbx
call fcn.1400752e4
jmp 0x14005d4e7
mov rdi, qword [rsp + 0x50]
movsxd rbx, dword [r13 + 4]
mov rcx, qword [rdi + 0x20]
cmp qword [r13 + 0x10], r10
jne 0x140061a49
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14007df8c
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, rdi
mov rbx, rdi
call fcn.14008dd5c
or dword [rdi + 0x2c], r14d
mov r15d, eax
and dword [r12 + 0xc0], 0xfffffffc
xor r10d, r10d
mov dword [rsp + 0x48], eax
jmp 0x140061b19
mov dword [rbp - 0x48], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x40], r10d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.14004b7cc
mov r8, qword [rdi + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x38], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r13 + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.14003a3f4
xor r12d, r12d
mov rbx, rax
test rax, rax
je 0x140062e9f
lea r9, [rbp - 0x58]
mov byte [rdi + 0xc5], r14b
lea r8, [fcn.14008dacc]
mov dword [rbp - 0x44], r12d
mov rdx, rax
mov dword [rbp - 0x3c], r12d
mov rcx, rdi
mov qword [rsp + 0x20], r12
call fcn.140088988
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140061b01
mov r15d, dword [rbp - 0x44]
mov dword [rsp + 0x48], r15d
test r15d, r15d
jne 0x140061b01
cmp dword [rbp - 0x3c], r12d
jne 0x140061b01
mov ecx, 0x18776
call fcn.1400b7dd4
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rdx, rbx
mov rcx, rdi
mov rbx, rdi
call fcn.1400383f0
xor r10d, r10d
mov byte [rdi + 0xc5], r10b
test r15d, r15d
jne 0x140062ea8
jmp 0x14005ce03
add byte [rbx + 0x70], r14b
mov rsi, qword [rsp + 0x50]
mov bl, byte [rbx + 0x6e]
mov qword [rbp + 0x78], r10
mov edi, dword [rsi + 0x2b8]
test byte [r13 + 4], r14b
je 0x140061b47
mov byte [rsi + 0x6e], r10b
mov eax, 2
test byte [r13 + 4], al
je 0x140061b5c
mov eax, dword [r13 + 8]
mov dword [rsi + 0x2b8], eax
mov rdx, qword [r13 + 0x10]
lea rax, [rbp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, rsi
call fcn.140088988
mov r8, qword [rbp + 0x78]
xor r10d, r10d
dec byte [rsi + 0x70]
mov r15d, eax
mov byte [rsi + 0x6e], bl
mov rbx, rsi
mov dword [rsp + 0x48], eax
mov dword [rsi + 0x2b8], edi
test r8, r8
jne 0x140061ba1
test eax, eax
je 0x14005cdfe
lea rdx, [0x14013d3d8]
mov rcx, r12
call fcn.1400574ec
mov rcx, qword [rbp + 0x78]
call fcn.140038368
mov r12, qword [rsp + 0x60]
mov dil, byte [rsp + 0x41]
cmp r15d, 7
je 0x140062eec
xor r10d, r10d
mov rbx, qword [rsp + 0x68]
mov r13d, 2
jmp 0x14005d473
mov rdx, r13
mov rcx, r12
call fcn.14005c840
movsxd rdx, dword [r13 + 4]
mov rsi, rax
mov ebx, dword [r13 + 0xc]
xor eax, eax
mov dword [rbp + 0xbc], eax
mov rax, qword [rsp + 0x50]
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.140049e04
mov r8d, ebx
lea rdx, [rbp + 0xbc]
mov rcx, rdi
call fcn.140053828
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140049eb4
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov eax, dword [rbp + 0xbc]
jmp 0x140060f10
mov r8, qword [r13 + 0x10]
mov rcx, rbx
mov edx, dword [r13 + 4]
call fcn.140076c14
jmp 0x14005cf46
cmp r8d, 0x9e
ja 0x140061e87
je 0x140061e51
sub r8d, 0x99
je 0x140061e3b
sub r8d, 1
je 0x140061e26
sub r8d, 1
je 0x140061d25
sub r8d, 1
je 0x140061ce4
cmp r8d, 1
jne 0x14005cf5c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r13 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
jmp 0x14005f0f7
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r11
mov eax, 0x10
add rdi, r11
test byte [rbx + 0x14], al
jne 0x140061d14
mov rcx, rbx
call fcn.14005677c
test eax, eax
jne 0x140062edd
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.14004235c
jmp 0x14005cf41
movsxd rax, dword [r13 + 4]
lea r15, [rbp - 0x20]
mov r8, qword [r13 + 0x10]
mov r10d, dword [r13 + 8]
add r8, 4
imul rdi, rax, 0x38
mov qword [rsp + 0x38], r15
lea r15, [rbp + 0xe8]
add rdi, r11
mov qword [rsp + 0x30], r15
inc rax
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov ecx, dword [rdi]
add rbx, r11
imul r9, rax, 0x38
movzx eax, word [r13 + 2]
add ecx, r14d
mov dword [rsp + 0x28], ecx
add r9, r11
mov r11, qword [rsp + 0x50]
shl rax, 5
mov rcx, r11
mov dword [rsp + 0x20], r10d
mov rdx, qword [r11 + 0x20]
mov rdx, qword [rax + rdx + 8]
call fcn.140054c30
mov r15d, eax
mov dword [rsp + 0x48], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140061daf
mov rcx, rbx
call fcn.1400561dc
jmp 0x140061db4
mov word [rbx + 0x14], r14w
mov eax, dword [rbp + 0xe8]
test eax, eax
je 0x140061dee
test r15d, r15d
jne 0x140062eb5
dec eax
mov r9b, r14b
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.140038368]
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400569c4
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140055c1c
xor r10d, r10d
mov rbx, qword [rsp + 0x50]
mov eax, dword [rbx + 0x188]
test eax, eax
je 0x14005ce03
mov r12, qword [rsp + 0x60]
mov dil, byte [rsp + 0x41]
mov r15d, 9
jmp 0x140061bd0
mov r8, qword [r13 + 0x10]
mov rcx, rbx
mov edx, dword [r13 + 4]
call fcn.14009a528
jmp 0x14005cf46
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov word [rax + 0x14], 8
jmp 0x14005ecdc
mov eax, dword [rbx + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x140061e6b
add qword [rbx + 0x2d0], rax
jmp 0x14005cf5c
cmp dword [r13 + 4], r10d
je 0x140061e7d
add qword [rbx + 0x2c8], rax
jmp 0x14005cf5c
add qword [r12 + 0x50], rax
jmp 0x14005cf5c
sub r8d, 0x9f
je 0x14006202b
sub r8d, 1
je 0x140061fcd
sub r8d, 1
je 0x140061eae
cmp r8d, 1
jne 0x14005cf5c
movzx ebx, word [r13 + 2]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
lea rdx, [rbx*8 + 0x68]
call fcn.1400386fc
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x140062f1c
mov qword [rax + 0x10], r10
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov qword [rcx + 0x18], rsi
mov rsi, qword [rsp + 0x70]
mov word [rcx + 0x14], r14w
mov dword [rcx + 0x20], r10d
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r13
sub rcx, rsi
mov qword [r8 + 0x18], r12
mov byte [r8 + 0x29], r10b
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r10d
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov al, byte [rsp + 0x40]
mov byte [r8 + 0x28], al
mov dword [r8 + 0x20], edx
mov word [r13], 0xf1a3
mov qword [r13 + 0x10], r8
movsxd rax, dword [r13 + 0xc]
xor r11d, r11d
mov rbx, qword [r13 + 0x10]
mov rdi, qword [rsp + 0x58]
imul r8, rax, 0x38
add r8, rdi
cmp qword [rbx + 0x10], r8
je 0x140061fa8
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140061fa8
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea esi, [r11 + 8]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, r14d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
mov qword [r9], rcx
sub r9, rsi
sub rdx, r14
jns 0x140061f85
mov rsi, qword [rsp + 0x70]
add dword [r8 + 0x10], r14d
mov rcx, rbx
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r13 + 4], r11d
je 0x1400620a9
call qword [rax + 0x30]
jmp 0x1400620ac
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
call fcn.14005c840
mov r8, qword [rbx]
xor r10d, r10d
test r8, r8
jle 0x14006201f
mov rdx, qword [rdi]
test rdx, rdx
cmovle rdx, r10
test rdx, rdx
js 0x14006201a
movabs rcx, 0x7fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jl 0x14006201f
add r8, rdx
jmp 0x140062023
or r8, 0xffffffffffffffff
mov qword [rax], r8
jmp 0x14005d71c
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x140062058
mov rax, qword [rcx + 8]
jmp 0x140062045
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14006203e
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140062063
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.1400563cc
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1400563cc
mov rax, qword [rbx]
xor r10d, r10d
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
lea ecx, [r10 + 4]
cmp qword [rdi], rax
jge 0x14005f2b8
mov qword [rdi], rax
jmp 0x14006048c
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x140062564
jle 0x1400620e5
mov rcx, qword [rbx]
mov dl, r14b
call fcn.140056ecc
mov r8, rax
lea rdx, [0x14013d3d8]
mov rcx, r12
call fcn.1400574ec
mov r15d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x48], r15d
cmp byte [rbx + 0x29], r10b
je 0x140062121
cmp dword [r13 - 0x14], r10d
je 0x14006211d
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rdi
test word [rcx + 0x14], ax
je 0x140062114
mov rdx, r14
call fcn.1400566c0
xor r10d, r10d
jmp 0x14006211d
mov qword [rcx], r14
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], r10b
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140062135
cmp dword [rcx + 0x20], r10d
je 0x14006213d
call fcn.140056214
xor r10d, r10d
mov rax, qword [rbx]
mov word [rax + 0x14], r14w
mov dword [rbx + 0x24], r10d
test r15d, r15d
jne 0x14005d45e
mov rbx, qword [rsp + 0x50]
mov r11, rdi
jmp 0x14005ce08
cmp r8d, 0xae
ja 0x14006259a
je 0x14006247a
cmp r8d, 0xa9
ja 0x1400622ea
je 0x140062289
sub r8d, 0xa4
je 0x140062220
sub r8d, 1
je 0x140062220
sub r8d, 1
je 0x1400621e6
sub r8d, 1
je 0x1400621cc
cmp r8d, 1
jne 0x14005cf5c
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x14005cf57
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x14005cf57
cmp dword [r13 + 4], r10d
jne 0x1400621fd
mov edx, dword [r13 + 8]
mov rcx, rbx
call fcn.14005b534
jmp 0x14005cf46
mov eax, dword [r12 + 0xc0]
mov ecx, dword [r13 + 8]
add ecx, r14d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r12 + 0xc0], ecx
jmp 0x14005cf57
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
cmp dword [r13 + 0xc], r10d
je 0x14006225e
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r11
call fcn.14005614c
mov r15d, eax
mov dword [rsp + 0x48], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
jmp 0x14006226e
mov rdx, qword [r13 + 0x10]
call fcn.14005607c
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rcx, rbx
test r15d, r15d
jne 0x140062ec3
movzx edx, byte [rsp + 0x40]
call fcn.140055c1c
jmp 0x14005cf41
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x1400622a6
movabs rax, 0x400000000
test qword [rbx + 0x30], rax
jne 0x14005cf5c
movsxd rax, dword [r13 + 4]
mov rcx, qword [rbx + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400550d8
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14005ce03
cmp al, 6
jne 0x14005d45e
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140062a5d
sub r8d, 0xaa
je 0x140062445
sub r8d, 1
je 0x1400623b7
sub r8d, 1
je 0x140062395
cmp r8d, 1
jne 0x14005cf5c
mov rax, qword [r13 + 0x10]
mov qword [rbp + 0x78], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140062c3f
mov rdi, qword [rbx]
test rdi, rdi
je 0x140062c3f
lea rdx, [rbp + 0x78]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.14005b65c
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
mov rax, qword [rbp + 0x78]
lea r9d, [r15 + 2]
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.14005c4ac
mov rcx, qword [rbp + 0x78]
xor r10d, r10d
test rax, rax
je 0x140062eda
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r14d
jmp 0x14005d71c
add dword [rbx + 0xe8], r14d
mov rcx, rbx
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.14009f564
dec dword [rbx + 0xe8]
jmp 0x14005d4e7
xorps xmm0, xmm0
lea rcx, [rbp - 0x58]
xor eax, eax
mov qword [rbp - 0x28], rax
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x38], xmm0
add rdx, r11
mov qword [rbp - 0x40], rbx
call fcn.1400568e0
mov dl, r14b
mov dword [rsp + 0x48], eax
lea rcx, [rbp - 0x58]
mov r15d, eax
call fcn.140056ecc
xor r10d, r10d
test rax, rax
je 0x140062420
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, rbx
call fcn.14009f184
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
mov eax, 0x9000
test word [rbp - 0x44], ax
jne 0x140062431
cmp dword [rbp - 0x38], r10d
je 0x14006243d
lea rcx, [rbp - 0x58]
call fcn.140056214
xor r10d, r10d
test r15d, r15d
jmp 0x14005d4f3
mov rbx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.14009f6e0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov r15d, eax
test rbx, rbx
je 0x14005df10
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14005b65c
jmp 0x14005df0d
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
mov qword [rbp + 0x78], r10
add rbx, r11
test word [rbx + 0x14], ax
je 0x1400624aa
mov rcx, rbx
call fcn.1400561dc
mov r11, qword [rsp + 0x58]
xor r10d, r10d
lea ecx, [r10 + 4]
jmp 0x1400624af
mov word [rbx + 0x14], r14w
mov rdi, qword [r13 + 0x10]
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x14006256e
mov rcx, qword [rax + 0x10]
lea r8, [rbp + 0x78]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], r8
mov r10, qword [rcx]
add dword [rax + 0x18], r14d
movsxd rax, dword [r13 + 4]
mov rdx, qword [rdx + 0x20]
mov r9d, dword [r13 + 0xc]
mov r8, qword [rdi]
shl rax, 5
mov rdx, qword [rax + rdx]
call qword [r10 + 0xc0]
mov rcx, qword [rdi + 0x50]
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.14009e760
xor r10d, r10d
test r15d, r15d
jne 0x140062f16
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x14006254c
lea rax, [fcn.140038368]
mov r9b, r14b
or r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400569c4
jmp 0x14005cf41
mov r13, qword [rsp + 0x60]
mov r14d, 1
mov r15d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
mov ecx, 4
jmp 0x14005f2b8
mov r11, rdi
jmp 0x140062551
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
jmp 0x14005f2b8
mov r11, qword [rsp + 0x58]
xor r10d, r10d
mov edx, dword [rsp + 0x44]
mov r9b, byte [rsp + 0x40]
jmp 0x14006255a
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
jmp 0x14006255a
cmp r8d, 0xb4
ja 0x14006288b
je 0x140062873
sub r8d, 0xaf
je 0x1400627ee
sub r8d, 1
je 0x1400626d9
sub r8d, 1
je 0x140062654
sub r8d, 1
je 0x14006262c
cmp r8d, 1
jne 0x14005cf5c
mov rdx, r13
mov rcx, r12
call fcn.14005c840
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rax, qword [rsp + 0x50]
mov r8d, dword [r13 + 0xc]
shl rdx, 5
mov rcx, qword [rax + 0x20]
xor eax, eax
mov r9, qword [rdx + rcx + 8]
mov edx, eax
test r8d, r8d
je 0x14006261d
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x40]
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.14004c4ac
mov eax, eax
jmp 0x1400606f4
mov rdx, r13
mov rcx, r12
call fcn.14005c840
mov rcx, qword [rbx + 0x20]
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
jmp 0x14005ece3
mov edi, dword [rbx + 0x30]
mov eax, 0x4000000
or qword [rbx + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov edx, r14d
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140055c1c
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14005d45e
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov rbx, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x48], eax
test edi, edi
jne 0x1400626b4
btr qword [rbx + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.14005b65c
and dword [r12 + 0xc0], 0xfffffffc
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
jmp 0x14005cdfe
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], r10b
je 0x140062719
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14006270f
mov rcx, rbx
call fcn.1400561dc
jmp 0x14005cf41
mov word [rbx + 0x14], r14w
jmp 0x14005e749
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov ecx, 1
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x10]
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x50], rax
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x58], rbx
mov byte [rbp - 0x30], r9b
mov qword [rbp - 8], r10
mov dword [rbp - 0xc], 0x1000000
test byte [r13 + 2], cl
je 0x140062771
mov rcx, rbx
call fcn.14005665c
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140062780
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp - 0x58]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.14005b65c
xor eax, eax
cmp dword [rbp - 0x34], eax
jle 0x1400627d0
mov rcx, rbx
call fcn.14005b8d4
mov r8, rax
lea rdx, [0x14013d3d8]
mov rcx, r12
call fcn.1400574ec
mov r15d, dword [rbp - 0x34]
mov dword [rsp + 0x48], r15d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140055c1c
xor r10d, r10d
test r15d, r15d
jne 0x14005d45e
jmp 0x14006041c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1400b55d8
test eax, eax
jne 0x140062edd
lea ecx, [rax + 0x10]
call fcn.140038264
mov rdi, rax
test rax, rax
je 0x140062edd
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r12
add rdx, qword [rsp + 0x58]
mov qword [rax + 8], rdx
mov rdx, r13
call fcn.14005c840
mov rcx, rax
mov rbx, rax
mov word [rax + 0x14], r14w
call fcn.140056214
lea rax, str.ValueList
mov qword [rbx + 8], rdi
mov qword [rbx], rax
lea rax, [0x14005bf18]
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], 0x70
jmp 0x1400608a9
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
jmp 0x14005cf57
sub r8d, 0xb5
je 0x1400629a6
sub r8d, 1
je 0x140062969
sub r8d, 1
je 0x140062926
cmp r8d, 1
jne 0x14005cf5c
mov eax, dword [r13 + 4]
cmp eax, dword [0x140158118]
jl 0x140062902
cmp byte [r13], 0xb8
je 0x14005cf5c
mov edx, r14d
cmp dword [r12 + 0x90], r14d
jle 0x1400628ff
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x1400628ee
mov dword [rax + rcx + 4], r10d
add edx, r14d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x1400628db
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xe4], r14d
mov eax, dword [r13 + 8]
sub eax, r14d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
jmp 0x14005d71c
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
mov rcx, r11
add rbx, r11
call fcn.14005c868
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x14005cf41
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r11
test byte [rdx + r11 + 0x14], r14b
je 0x140062991
mov eax, 0xf7ff
and word [rcx + 0x14], ax
jmp 0x14005cf53
mov eax, 0x800
or word [rcx + 0x14], ax
mov al, byte [rdx + r11]
mov byte [rcx + 0x17], al
jmp 0x14005cf53
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x800
add rcx, r11
test word [rdx + r11 + 0x14], ax
je 0x1400629e9
movzx eax, byte [rdx + r11 + 0x17]
mov edx, 0x9000
test word [rcx + 0x14], dx
jne 0x14005f0c2
mov qword [rcx], rax
mov word [rcx + 0x14], 4
jmp 0x14005cf53
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14005f393
mov word [rcx + 0x14], r14w
jmp 0x14005cf53
mov r13, r12
mov r14d, 1
jmp 0x14005e749
mov r15d, dword [rsp + 0x48]
mov r14d, 1
jmp 0x14005f2b8
mov r15d, dword [rsp + 0x48]
jmp 0x14005cf57
mov rbx, qword [rsp + 0x50]
xor r10d, r10d
mov r11, qword [rsp + 0x58]
jmp 0x14005cf5c
cmp ebx, edx
lea rax, str.into
lea r8, str.out_of
mov r15d, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r12
call fcn.1400574ec
xor r10d, r10d
jmp 0x14005d45e
and eax, 0x100000
neg rax
sbb r15d, r15d
and r15d, 0xfffffffd
add r15d, 0xb
jmp 0x14005d45e
mov eax, 5
cmp r15b, al
jne 0x14005d45e
sub r13, rsi
mov dword [r12 + 0x34], r15d
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
jmp 0x14006303a
mov rsi, qword [rsp + 0x50]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
movzx eax, byte [rsi + 0x65]
cmp ebx, eax
je 0x140062b92
test ecx, ecx
je 0x140062aef
mov edx, 0x204
mov rcx, rsi
call fcn.1400b658c
mov al, r14b
jmp 0x140062b2e
test ebx, ebx
je 0x140062b16
cmp dword [rsi + 0xe0], r10d
jle 0x140062b16
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.1400574ec
mov r15d, 5
jmp 0x140062a65
mov edx, r14d
mov rcx, r12
call fcn.140059a44
mov r15d, eax
test eax, eax
jne 0x14006303a
mov al, bl
mov rcx, r12
mov byte [rsi + 0x65], al
call fcn.140059ab0
mov ecx, 5
cmp eax, ecx
jne 0x140062b73
sub r13, qword [rsp + 0x70]
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r14b, bl
mov dword [r12 + 0x30], edx
mov byte [rsi + 0x65], r14b
jmp 0x140062c0e
mov rcx, rsi
call fcn.1400b60a0
mov eax, dword [r12 + 0x34]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x14006303a
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r12
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.1400574ec
mov r15d, r14d
jmp 0x140062a65
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x140062b03
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x140062b03
mov r12, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
sub r12, qword [rsp + 0x70]
imul r12
mov r12, qword [rsp + 0x68]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
mov byte [rbx + 0x65], dil
mov r15d, ecx
mov dword [r12 + 0x34], ecx
jmp 0x14006303a
movzx eax, byte [r13 + 2]
mov ecx, 5
cmp word [r13 + 2], cx
lea r13d, [rcx - 3]
cmove eax, r13d
mov byte [r12 + 0xbc], al
jmp 0x14005d464
mov r15d, 6
jmp 0x14005d45e
mov ecx, 0x18651
call fcn.1400b7dd4
mov r15d, eax
jmp 0x140062a65
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r15d, r14d
call fcn.1400574ec
jmp 0x140062a65
lea rbx, [r13 + 4]
mov ecx, dword [rbx]
mov dword [r12 + 0x34], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xbc], al
test ecx, ecx
je 0x140062d39
mov rcx, r12
cmp word [r13 + 2], r10w
je 0x140062ce8
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x136598]
call fcn.1400574ec
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x140062cf8
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x50]
call fcn.14003a3f4
mov qword [r12 + 0xa8], rax
jmp 0x140062cf8
mov r8, qword [r13 + 0x10]
lea rdx, [0x14013d3d8]
call fcn.1400574ec
mov r9, qword [r12 + 0xf0]
sub r13, rsi
mov ecx, dword [rbx]
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov rax, qword [r12 + 0xa8]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.14003a63c
mov rcx, r12
call fcn.140059ab0
mov r15d, eax
cmp eax, edi
jne 0x140062b7b
mov dword [r12 + 0x34], edi
jmp 0x14006303a
mov eax, dword [r12 + 0x2c]
add eax, 2
or eax, r14d
mov dword [r12 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [r12 + 0xa0], rcx
cmp byte [rbx + 0x67], r10b
jne 0x140061169
mov eax, 4
test byte [rbx + 0x6e], al
je 0x140062da2
mov rdx, qword [rbx + 0x100]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [rbx + 0xf8]
sub r13, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov r15d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r14d
mov dword [r12 + 0x30], edx
jmp 0x14006303a
movsxd rax, ebx
mov rcx, rsi
lea rdi, [rax + rax*2]
mov ebx, dword [r14 + rdi*8 + 8]
shr ebx, 4
and ebx, 0xf
sub ebx, edx
call fcn.14005cb60
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r14 + rdi*8]
mov rcx, r12
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x159c50]
call fcn.1400574ec
mov r15d, 0xc13
jmp 0x140062a65
mov ecx, 0x17872
jmp 0x140062c4f
mov r15d, 0x204
jmp 0x14005d45e
mov rcx, qword [rsi + 0x10]
call fcn.14004c068
jmp 0x140062a65
mov r15d, 0xd
jmp 0x140062a65
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, rbx
call fcn.1400574ec
mov r15d, 0x12
xor r10d, r10d
lea r13d, [r15 - 0x10]
jmp 0x14005d46e
mov r15d, 6
xor r10d, r10d
lea r13d, [r15 - 4]
mov byte [r12 + 0xbc], r13b
jmp 0x14005d464
mov r15d, 7
mov rbx, rdi
mov rcx, rbx
call fcn.140076e1c
jmp 0x140061bb9
mov rcx, qword [rbp - 0x20]
call fcn.140038368
jmp 0x140062a65
mov dl, r14b
call fcn.140056ecc
mov r8, rax
lea rdx, [0x14013d3d8]
jmp 0x140062a5d
call qword [rdi + 0x38]
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov dil, byte [rsp + 0x41]
mov rcx, rbx
call fcn.140038a20
mov rbx, qword [rsp + 0x68]
lea rdx, str.out_of_memory
mov rcx, rbx
call fcn.1400574ec
xor r10d, r10d
mov r15d, 7
jmp 0x140061bd5
mov rcx, qword [rbp + 0x78]
jmp 0x140062eb9
mov r12, qword [rsp + 0x60]
mov rbx, rsi
jmp 0x140062ee7
mov r15d, dword [rsp + 0x48]
jmp 0x14005d45e
mov r12, qword [rsp + 0x60]
mov dil, byte [rsp + 0x41]
jmp 0x140061bd0
cmp r15d, 0x210a
jne 0x140062f58
mov ecx, 0x18f66
call fcn.1400b7dd4
mov r15d, eax
xor r10d, r10d
mov esi, 0xc0a
cmp qword [rbx + 0xa8], r10
jne 0x140062f85
cmp r15d, esi
je 0x140062f85
mov ecx, r15d
call fcn.1400b66d8
mov r8, rax
lea rdx, [0x14013d3d8]
mov rcx, rbx
call fcn.1400574ec
mov edx, r15d
mov dword [rbx + 0x34], r15d
mov rcx, r14
call fcn.14003b27c
sub r12, qword [rsp + 0x70]
movabs rax, 0x2aaaaaaaaaaaaaab
imul r12
mov r12, qword [rsp + 0x68]
mov ecx, r15d
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
mov rax, qword [r12 + 0xa8]
add r8, rdx
mov r9, qword [r12 + 0xf0]
lea rdx, str.statement_aborts_at__d:___s___s
mov qword [rsp + 0x20], rax
call fcn.14003a63c
cmp byte [r12 + 0xbf], r13b
jne 0x140062fef
mov rcx, r12
call fcn.140059ab0
cmp r15d, esi
jne 0x140062ffe
mov rcx, r14
call fcn.140038a20
jmp 0x14006301a
cmp r15d, 0xb
jne 0x14006301a
xor ecx, ecx
cmp byte [r14 + 0x65], cl
jne 0x14006301a
movabs rax, 0x200000000
or qword [r14 + 0x30], rax
mov r15d, 1
test dil, dil
je 0x14006303a
movzx edx, dil
mov rcx, r14
dec edx
call fcn.140076d94
jmp 0x14006303a
mov r15d, dword [rsp + 0x48]
mov rax, qword [rbp - 0x78]
add dword [r12 + 0xdc], eax
xor eax, eax
cmp dword [r12 + 0xc8], eax
je 0x14006305a
mov rcx, r12
call fcn.140058730
mov eax, r15d
mov rcx, qword [rbp + 0x108]
xor rcx, rsp
call fcn.1400f16a0
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret