Function at 0x14004f710
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 - 0x148]
sub rsp, 0x220
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140144080]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov r14, qword [rcx]
xor edi, edi
mov bl, dil
mov r9, qword [rcx + 0x88]
mov edx, edi
mov r11, qword [rcx + 0x68]
mov r15, rcx
mov qword [rsp + 0x68], rcx
mov rsi, r9
mov r10b, byte [r14 + 0x64]
mov r12d, edi
mov byte [rsp + 0x40], r10b
mov r8d, edi
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x41], bl
mov dword [rsp + 0x44], edx
mov qword [rbp - 0x78], rdi
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x70], edi
cmp dword [rcx + 0xc8], edi
je 0x14004f7c0
call fcn.14004b230
mov r11, qword [rsp + 0x50]
mov r9, rsi
mov r10b, byte [rsp + 0x40]
mov edx, edi
mov r8d, edi
cmp dword [r15 + 0x34], 7
mov r13d, 1
je 0x14005289f
mov dword [r15 + 0x34], edi
mov qword [r15 + 0x48], rdi
mov eax, dword [r14 + 0x188]
mov dword [r14 + 0x268], edi
test eax, eax
jne 0x14005471e
movsxd rax, dword [r15 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
lea ecx, [r13 + 3]
movzx ebx, byte [rsi]
add r8, r13
mov qword [rbp + 0x80], rsi
mov eax, 5
mov qword [rbp - 0x78], r8
cmp ebx, 0x5c
ja 0x140051d9b
je 0x140051d28
cmp ebx, 0x2d
ja 0x140050da6
je 0x140050cf4
cmp ebx, 0x16
ja 0x140050601
je 0x14005044d
cmp ebx, 0xb
ja 0x140050266
je 0x140050227
cmp ebx, eax
ja 0x14005001c
je 0x14004ffe6
test ebx, ebx
je 0x14004fc44
sub ebx, 1
je 0x140055334
sub ebx, 1
je 0x14004fac3
sub ebx, 1
je 0x14004fa16
cmp ebx, 1
jne 0x14004fab6
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rcx, dword [rsi + 4]
mov r15, rax
mov rax, qword [r14 + 0x20]
mov ebx, dword [rsi + 0xc]
shl rcx, 5
mov r13, qword [rcx + rax + 8]
mov rcx, r13
call fcn.140046e44
mov rcx, rax
mov r14, rax
call fcn.1400396c8
cmp ebx, 0xffffffff
mov rcx, r14
mov edi, eax
cmove ebx, eax
call fcn.1400396d0
test eax, eax
mov edx, 1
mov rcx, r14
cmove ebx, edi
call fcn.14003957c
mov edx, 5
cmp ebx, edx
jne 0x14004f90f
mov rcx, rax
call fcn.14002df64
test eax, eax
je 0x14004f908
mov rcx, r14
call fcn.1400397c4
xor ecx, ecx
test eax, eax
jne 0x14004f913
mov ebx, edi
jmp 0x14004f9a3
xor ecx, ecx
jmp 0x14004f918
mov edx, 5
cmp ebx, edi
je 0x14004f9a3
cmp edi, edx
je 0x14004f928
cmp ebx, edx
jne 0x14004f9a3
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x65], cl
je 0x1400552a7
cmp dword [rax + 0xdc], 1
jg 0x1400552a7
cmp edi, edx
jne 0x14004f96b
mov rdx, rax
mov rcx, r14
call fcn.1400398ec
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14004f9a8
mov edx, ebx
mov rcx, r14
call fcn.1400395a4
xor ecx, ecx
jmp 0x14004f986
mov eax, 4
cmp edi, eax
jne 0x14004f981
lea edx, [rax - 2]
mov rcx, r14
call fcn.1400395a4
xor ecx, ecx
test r12d, r12d
jne 0x14004f9a8
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
mov rcx, r13
sete dl
inc edx
call fcn.140047dc4
mov r12d, eax
mov dword [rsp + 0x48], eax
test r12d, r12d
je 0x14004f9aa
mov ebx, edi
mov edx, ebx
mov rcx, r14
call fcn.1400395a4
mov ecx, eax
mov word [r15 + 0x14], 0x2202
call fcn.14007ba20
mov rcx, rax
mov qword [r15 + 8], rax
call fcn.14002df64
movzx edx, byte [rsp + 0x40]
mov r13d, 1
mov rcx, r15
mov byte [r15 + 0x16], r13b
mov dword [r15 + 0x10], eax
call fcn.14004883c
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
xor edi, edi
test r12d, r12d
jne 0x14005584a
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
jmp 0x14004fab1
mov r8d, dword [rsi + 8]
lea rax, [rbp + 0xf0]
mov edx, dword [rsi + 4]
lea r9, [rbp + 0xec]
or dword [rbp + 0xf0], 0xffffffff
mov rcx, r14
or dword [rbp + 0xec], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xe8], edi
call fcn.1400a9654
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
je 0x14004fa72
mov ecx, 5
cmp eax, ecx
jne 0x14005584a
mov r12d, edi
mov dword [rsp + 0x48], edi
mov dword [rbp + 0xe8], r13d
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
movsxd rdx, dword [rbp + rdi*4 + 0xe8]
mov rcx, rbx
call fcn.1400492fc
add rdi, r13
add rbx, 0x38
cmp rdi, 3
jl 0x14004fa7f
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
xor edi, edi
mov ecx, 4
mov r8, qword [rbp - 0x78]
add rsi, 0x18
jmp 0x14004f802
mov edx, dword [rsi + 8]
mov dword [rbp + 0x88], edi
test edx, edx
je 0x14004fae7
mov rax, qword [r14 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x1400552df
movsxd rdi, dword [rsi + 4]
xor eax, eax
shl rdi, 5
add rdi, qword [r14 + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14004fbac
lea r8, [rbp + 0x88]
mov rcx, rbx
call fcn.14003fa98
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
test r12d, r12d
jne 0x1400552f7
lea ecx, [rax + 0x20]
test byte [r15 + 0xc0], cl
je 0x14004fbb5
cmp dword [rsi + 8], eax
je 0x14004fbb5
cmp byte [r14 + 0x65], al
je 0x14004fb47
cmp dword [r14 + 0xdc], r13d
jle 0x14004fbb5
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x14004fb69
add dword [r14 + 0x2c4], r13d
mov r8d, dword [r14 + 0x2c4]
add r8d, dword [r14 + 0x2c0]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r14
call fcn.140091fc0
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14004fb94
mov edx, dword [r15 + 0x40]
mov rcx, rbx
call fcn.140040a3c
mov r12d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [r14 + 0x2c8]
mov qword [r15 + 0x58], rax
mov rax, qword [r14 + 0x2d0]
mov qword [r15 + 0x60], rax
xor eax, eax
test r12d, r12d
jne 0x140055848
cmp word [rsi + 2], ax
je 0x14004fa9c
mov eax, dword [rsi + 0xc]
cmp dword [rbp + 0x88], eax
jne 0x14004fbda
mov rcx, qword [rdi + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
je 0x14004fa9c
mov rdx, qword [r15 + 0xa8]
mov rcx, r14
call fcn.14002b250
lea rdx, str.database_schema_has_changed
mov rcx, r14
call fcn.14002b684
mov qword [r15 + 0xa8], rax
mov rax, qword [r14 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x88]
cmp dword [rcx], eax
je 0x14004fc25
mov rcx, r14
call fcn.140069698
mov eax, dword [r15 + 0xc0]
mov r12d, 0x11
and eax, 0xffffffed
or eax, r13d
mov dword [r15 + 0xc0], eax
jmp 0x140055848
mov ebx, dword [rsi + 4]
xor eax, eax
mov rdi, qword [rsi + 0x10]
mov dword [rbp - 0x68], ebx
test ebx, ebx
jne 0x14004fd18
cmp dword [r14 + 0xe0], eax
jg 0x140055437
mov rcx, rdi
call fcn.14002df64
mov rbx, qword [rsp + 0x60]
xor edx, edx
mov rcx, rbx
movsxd r14, eax
mov r8d, dword [rbx + 0x2c4]
add r8d, dword [rbx + 0x2c0]
call fcn.140091fc0
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055845
lea rdx, [r14 + 0x21]
mov rcx, rbx
call fcn.14002b4ac
mov rbx, rax
test rax, rax
je 0x14004ffc6
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [r14 + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400e6d00
mov r14, qword [rsp + 0x60]
xor edi, edi
cmp byte [r14 + 0x65], dil
je 0x14004fce4
mov byte [r14 + 0x65], dil
mov byte [r14 + 0x6d], r13b
jmp 0x14004fceb
add dword [r14 + 0x2c0], r13d
mov rax, qword [r14 + 0x2b0]
mov qword [rbx + 0x18], rax
mov rax, qword [r14 + 0x2c8]
mov qword [r14 + 0x2b0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r14 + 0x2d0]
mov qword [rbx + 0x10], rax
jmp 0x14004ffcd
mov r13, qword [r14 + 0x2b0]
mov r15d, eax
test r13, r13
je 0x1400554eb
mov rcx, qword [r13]
mov rdx, rdi
call fcn.14002e3dc
test eax, eax
je 0x14004fd44
mov r13, qword [r13 + 0x18]
inc r15d
jmp 0x14004fd22
xor edi, edi
cmp dword [r14 + 0xe0], edi
jle 0x14004fd58
cmp ebx, 1
je 0x140055451
lea rax, [r13 + 0x18]
mov qword [rsp + 0x78], rax
cmp qword [rax], rdi
jne 0x14004fddd
cmp byte [r14 + 0x6d], dil
je 0x14004fddd
mov dword [rbp + 0x88], 1
cmp ebx, 1
jne 0x14004fde3
mov edx, ebx
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14004c5cc
mov r12d, eax
test eax, eax
jne 0x14005548f
mov rcx, rbx
mov byte [r14 + 0x65], 1
call fcn.14004c638
lea ecx, [r12 + 5]
cmp eax, ecx
je 0x140055462
mov r12d, dword [rbx + 0x34]
mov dword [rsp + 0x48], r12d
test r12d, r12d
je 0x14004fdc3
mov byte [r14 + 0x65], dil
jmp 0x14004fdc7
mov byte [r14 + 0x6d], dil
mov r8, qword [rsp + 0x60]
add r14, 0x2c0
mov ebx, 1
jmp 0x14004fef8
mov dword [rbp + 0x88], edi
mov r8, qword [rsp + 0x60]
add r14, 0x2c0
mov edx, 1
mov qword [rbp + 0x80], r14
mov eax, dword [r14]
sub eax, r15d
lea ecx, [rdx + 1]
sub eax, edx
mov dword [rbp + 0x78], eax
cmp ebx, ecx
jne 0x14004fe6e
mov r15d, dword [r8 + 0x2c]
mov r14d, edi
and r15d, edx
cmp dword [r8 + 0x28], edi
jle 0x14004fe65
mov edi, r15d
xor edi, edx
xor eax, eax
mov ebx, eax
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, edi
mov rcx, qword [rbx + rcx + 8]
call fcn.14004086c
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140050732
mov r8, qword [rsp + 0x60]
lea edx, [rax + 1]
add r14d, edx
add rbx, 0x20
cmp r14d, dword [r8 + 0x28]
jl 0x14004fe26
mov eax, dword [rbp + 0x78]
xor edi, edi
mov r14, qword [rbp + 0x80]
jmp 0x14004fe71
mov r15d, edi
xor ecx, ecx
cmp dword [r8 + 0x28], ecx
jle 0x14004feb5
mov ebx, ecx
mov rcx, qword [r8 + 0x20]
mov r8d, eax
mov edx, dword [rbp - 0x68]
mov rcx, qword [rcx + rbx + 8]
call fcn.140040aac
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140050732
mov r8, qword [rsp + 0x60]
lea edx, [rax + 1]
mov eax, dword [rbp + 0x78]
add edi, edx
add rbx, 0x20
cmp edi, dword [r8 + 0x28]
jl 0x14004fe7b
xor edi, edi
test r15d, r15d
je 0x14004feee
mov rcx, qword [r8 + 8]
jmp 0x14004fed7
mov eax, dword [rcx + 0xc0]
and eax, 0xfffffffd
or eax, edx
mov dword [rcx + 0xc0], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14004fec2
mov rcx, r8
call fcn.140069720
mov r8, qword [rsp + 0x60]
or dword [r8 + 0x2c], 1
mov r15d, dword [rbp + 0x78]
mov ebx, dword [rbp + 0x88]
test r12d, r12d
jne 0x140055747
jmp 0x14004ff21
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x2b0], rax
call fcn.14002b19c
dec dword [r14]
mov r8, qword [rsp + 0x60]
mov rcx, qword [r8 + 0x2b0]
cmp rcx, r13
jne 0x14004ff03
mov edi, dword [rbp - 0x68]
cmp edi, 1
jne 0x14004ff5d
mov rax, qword [rsp + 0x78]
mov rdx, r13
mov rcx, r8
mov rax, qword [rax]
mov qword [r8 + 0x2b0], rax
call fcn.14002b250
test ebx, ebx
jne 0x14004ffbb
dec dword [r14]
mov r14, qword [rsp + 0x60]
jmp 0x14004ff85
mov rax, qword [r13 + 8]
mov r14, qword [rsp + 0x60]
mov qword [r14 + 0x2c8], rax
mov rax, qword [r13 + 0x10]
mov qword [r14 + 0x2d0], rax
test ebx, ebx
je 0x14004ff85
mov eax, 2
cmp edi, eax
jne 0x14004ffae
mov r8d, r15d
mov edx, edi
mov rcx, r14
call fcn.140091fc0
mov r15, qword [rsp + 0x68]
xor edi, edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
lea r13d, [rax + 1]
jmp 0x14004ffcd
mov r15, qword [rsp + 0x68]
mov r13d, 1
jmp 0x14004ffcb
mov r15, qword [rsp + 0x68]
mov r13d, 1
mov r14, qword [rsp + 0x60]
xor edi, edi
cmp byte [r15 + 0xbf], 3
jne 0x14004f9fe
mov r12d, 0x65
jmp 0x140055492
cmp dword [rsi + 8], edi
je 0x14004fff8
movsxd rax, dword [rsi + 8]
imul r9, rax, 0x38
add r9, r11
jmp 0x14004fffb
mov r9, rdi
mov r8d, dword [rsi + 4]
lea rcx, [r15 + 0xa8]
mov rdx, r14
call fcn.1400908b4
mov r12d, eax
mov dword [rsp + 0x48], eax
test eax, eax
jmp 0x14004f9f8
mov ecx, ebx
sub ecx, 6
je 0x140050168
sub ecx, 1
je 0x140050083
sub ecx, 1
je 0x140055142
sub ecx, 1
je 0x14005150e
cmp ecx, 1
jne 0x14004fab1
movsxd rax, dword [rsi + 4]
mov rcx, rsi
imul r8, rax, 0x38
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r11 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x14005150e
mov qword [rbp + 0x80], rdi
cmp byte [r14 + 0x67], dil
jne 0x14005289b
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14005581b
mov r10, qword [rbx]
test r10, r10
je 0x14005581b
movsxd r11, dword [rsi + 8]
cmp qword [r10 + 0x68], rdi
je 0x14005529d
movsxd rax, dword [rsi + 0xc]
xor r9d, r9d
mov dil, byte [r14 + 0x6c]
mov r8, qword [r15 + 0x70]
imul rcx, rax, 0x38
mov eax, r9d
add rcx, qword [rsp + 0x50]
test r11d, r11d
jle 0x1400500ef
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, r11
jl 0x1400500df
mov al, byte [rsi + 2]
lea r9, [rbp + 0x80]
mov edx, r11d
mov byte [r14 + 0x6c], al
mov rcx, rbx
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r14 + 0x6c], dil
mov rcx, r15
mov dword [rsp + 0x48], eax
mov r12d, eax
call fcn.14004e1ec
xor edi, edi
test r12d, r12d
jne 0x14005013d
cmp dword [rsi + 4], edi
je 0x140050134
mov rax, qword [rbp + 0x80]
mov qword [r14 + 0x38], rax
add qword [r15 + 0x38], r13
jmp 0x14004f9f5
cmp r12b, 0x13
jne 0x140050134
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], dil
je 0x140050134
mov ecx, 4
cmp word [rsi + 2], cx
jne 0x14005550d
mov r12d, edi
mov dword [rsp + 0x48], edi
jmp 0x140052e19
movsxd rax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rsp + 0x68]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
mov rdi, qword [rdi + 0x70]
mov r13, qword [rax + rcx*8]
lea r10, [rdx + 0x38]
mov r12d, dword [rdx + r11]
add r10, r11
xor eax, eax
mov qword [rbp + 0x80], r13
mov edx, eax
mov rbx, qword [r13 + 0x30]
movsxd r9, dword [r10]
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x1400501d4
lea r13d, [rax + 1]
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rdi + rdx*8], rcx
add rdx, r13
cmp rdx, r9
jl 0x1400501b4
mov r13, qword [rbp + 0x80]
mov r8, qword [rsi + 0x10]
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rsp + 0x68]
mov rcx, r15
mov dword [rsp + 0x48], eax
mov r12d, eax
call fcn.14004e1ec
xor edi, edi
test r12d, r12d
jne 0x14005574c
mov rcx, rbx
call qword [r14 + 0x50]
mov byte [r13 + 2], dil
lea r13d, [r12 + 1]
test eax, eax
jne 0x14005024c
mov r14, qword [rsp + 0x60]
jmp 0x14004f9fe
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, dword [rsi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 0x14], 4
cmp dword [rsi + 8], edi
je 0x14004fab1
mov r9, qword [rsp + 0x58]
mov eax, dword [rsi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x140052788
cmp ebx, 0x11
ja 0x140050427
je 0x140050402
sub ebx, 0xc
je 0x1400503bf
sub ebx, 1
je 0x140050362
sub ebx, 1
je 0x14005033d
sub ebx, 1
je 0x1400502ba
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140048f2c
test eax, eax
jne 0x14005024c
jmp 0x14004f9fe
mov r8, qword [r15 + 0x100]
test r8, r8
je 0x140050314
mov r9, qword [r8 + 0x28]
mov rcx, rsi
sub rcx, qword [r15 + 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 0x14005024c
bts eax, edx
mov byte [rcx + r9], al
mov r9, qword [rsp + 0x58]
jmp 0x140050327
mov rcx, qword [r15 + 0x88]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x140050251
mov rax, qword [r15 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
mov edx, dword [rsp + 0x44]
jmp 0x14004fab1
test edx, edx
jns 0x140050356
mov eax, dword [rsi + 4]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x14004fab1
jne 0x14005035d
mov eax, dword [rsi + 8]
jmp 0x140050344
mov eax, dword [rsi + 0xc]
jmp 0x140050344
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 0x14]
test cl, al
jne 0x1400503ab
mov r8b, r10b
mov dl, 0x43
mov rcx, rbx
call fcn.14004f240
movzx eax, word [rbx + 0x14]
mov ecx, 4
test cl, al
jne 0x1400503a1
cmp dword [rsi + 8], edi
jne 0x14005024c
lea r12d, [rcx + 0x10]
jmp 0x14005584a
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov edx, 0xf244
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x140052e23
movsxd rax, dword [rsi + 4]
sub rsi, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
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 rsi, [r9 + rcx*8]
jmp 0x140050334
cmp dword [rsi + 0xc], edi
mov edx, edi
movsxd rax, dword [rsi + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.140048f2c
test eax, eax
je 0x14005024c
jmp 0x14004f9fe
mov ecx, ebx
sub ecx, 0x12
je 0x140050577
sub ecx, 1
je 0x140050532
sub ecx, 1
je 0x1400504fe
cmp ecx, 1
jne 0x14004fab1
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov dword [rbp + 0x88], edi
mov r14, qword [rax + rcx*8]
and word [r14 + 2], 0
mov dword [r14 + 0x20], edi
cmp byte [r14 + 4], dil
je 0x14005073c
movsxd rax, dword [rsi + 0xc]
mov ecx, 2
imul rdi, rax, 0x38
add rdi, r11
movzx r15d, word [rdi + 0x14]
mov al, r15b
and al, 0x2e
cmp al, cl
jne 0x14005049b
xor edx, edx
mov rcx, rdi
call fcn.14004f16c
mov rcx, rdi
call fcn.140048ea4
movzx ecx, word [rdi + 0x14]
mov r13, rax
mov word [rdi + 0x14], r15w
test cl, 0x24
jne 0x140050706
mov eax, 8
test al, cl
jne 0x1400506dc
lea r13d, [rax - 7]
test r13b, cl
jne 0x140053f36
cmp ebx, 0x17
jae 0x140053f36
mov rcx, qword [r14 + 0x30]
lea rdx, [rbp + 0x7c]
call fcn.1400416f4
xor edi, edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055747
jmp 0x140050844
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140050334
cmp byte [rdx + 2], dil
je 0x140050334
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140049264
jmp 0x14005024c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
test byte [rcx + 0x14], r13b
jne 0x14005056a
xor edx, edx
call fcn.140048f2c
test eax, eax
mov rdx, rdi
mov rcx, rbx
sete dl
call fcn.1400492fc
jmp 0x14004f9fe
mov rcx, rbx
call fcn.140049264
jmp 0x14004f9fe
cmp dword [rsi + 4], edi
jl 0x1400505cd
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0x4a]
cmp dword [rsi + 0xc], eax
jge 0x1400505c5
movsxd rax, dword [rsi + 0xc]
mov ecx, dword [rcx + rax*4 + 0x78]
cmp ecx, 0xc
jb 0x1400505b1
and cl, r13b
neg cl
sbb dx, dx
and dx, 0xfffc
add dx, 8
jmp 0x1400505ed
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x1318a8]
jmp 0x1400505ed
mov ecx, dword [rsi + 0x10]
sub ecx, r13d
jmp 0x1400505e7
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14004e46c
mov r9, qword [rsp + 0x58]
sub eax, r13d
mov cl, al
mov edx, r13d
shl dx, cl
test word [rsi + 2], dx
jne 0x140050251
mov r11, qword [rsp + 0x50]
jmp 0x14004fa08
cmp ebx, 0x22
ja 0x140050b0c
je 0x140050bc8
cmp ebx, 0x1c
ja 0x140050884
je 0x140050646
mov ecx, ebx
sub ecx, 0x17
je 0x14005044d
sub ecx, 1
je 0x14005044d
sub ecx, 1
je 0x1400506b8
sub ecx, 1
je 0x14005069e
cmp ecx, 1
jne 0x14004fab1
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 0x10]
add rcx, r11
mov word [rbp - 0x3c], ax
mov qword [rbp - 0x50], rcx
test ax, ax
je 0x1400509fe
mov rax, qword [rbx + 0x38]
lea r14, [rbx + 0x24]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x3a], dil
mov r8, r14
mov rcx, qword [rbx + 0x30]
call fcn.140041968
mov r12d, eax
mov dword [rsp + 0x48], eax
jmp 0x140050a72
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [rsi + 0x10]
jl 0x140050646
jmp 0x14004fab1
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14005150e
cmp byte [rdx + 2], dil
je 0x140050334
jmp 0x14005150e
movsd xmm1, qword [rdi]
mov rcx, r13
call fcn.14004d4b8
test eax, eax
jle 0x1400506f9
mov eax, 1
test al, bl
jne 0x140050706
sub ebx, eax
jmp 0x140050706
jns 0x140050706
mov eax, 1
test al, bl
je 0x140050706
add ebx, eax
lea rdi, [r14 + 0x30]
xor r8d, r8d
mov rcx, qword [rdi]
lea r9, [rbp + 0x7c]
mov rdx, r13
call fcn.14004170c
mov qword [r14 + 0x50], r13
mov r12d, eax
xor r14d, r14d
mov dword [rsp + 0x48], eax
test eax, eax
je 0x1400507c0
mov r15, qword [rsp + 0x68]
jmp 0x1400552d5
lea rdi, [r14 + 0x30]
mov r13d, 0
mov rax, qword [rdi]
lea r8, [rbp + 0x7c]
lea rdx, [rbp - 0x58]
mov r15b, byte [rax + 3]
mov rax, qword [r14 + 0x38]
and r15b, 2
mov qword [rbp - 0x58], rax
movzx eax, word [rsi + 0x10]
setne r13b
mov word [rbp - 0x3c], ax
lea eax, [rbx - 1]
and al, 1
mov dword [rbp + 0x88], r13d
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r14d, r14d
and cl, 0xfe
mov byte [rbp - 0x36], r14b
inc cl
mov byte [rbp - 0x3a], cl
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rcx, qword [rdi]
call fcn.140041968
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140050732
test r15b, r15b
je 0x1400507c0
mov dword [rbp + 0x88], r13d
cmp byte [rbp - 0x36], r14b
je 0x14005083c
mov eax, dword [rbp + 0x7c]
cmp ebx, 0x17
jl 0x14005080f
test eax, eax
js 0x1400507da
jne 0x1400507d3
cmp ebx, 0x18
je 0x1400507da
xor edi, edi
mov dword [rbp + 0x7c], edi
jmp 0x14005084d
mov dword [rbp + 0x7c], r14d
xor edx, edx
mov rcx, qword [rdi]
call fcn.140041f24
xor edi, edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
je 0x14005083e
cmp eax, 0x65
jne 0x140055747
lea r13d, [rdi + 1]
mov dword [rsp + 0x48], edi
mov dword [rbp + 0x7c], r13d
mov r12d, edi
jmp 0x140050844
test eax, eax
jg 0x14005082c
jne 0x14005081a
cmp ebx, 0x15
je 0x14005082c
mov rax, qword [rdi]
xor edi, edi
mov ecx, edi
cmp byte [rax], dil
setne cl
mov dword [rbp + 0x7c], ecx
jmp 0x14005083e
mov dword [rbp + 0x7c], r14d
xor edx, edx
mov rcx, qword [rdi]
call fcn.14004207c
jmp 0x1400507e8
xor edi, edi
mov r13d, 1
cmp dword [rbp + 0x7c], edi
jne 0x14005024c
mov r13d, 1
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
lea ecx, [r13 + 3]
mov r10b, byte [rsp + 0x40]
cmp dword [rbp + 0x88], edi
je 0x1400535f5
add rsi, 0x18
jmp 0x1400535f5
mov ecx, ebx
sub ecx, 0x1d
je 0x140050646
sub ecx, 1
je 0x14005092c
sub ecx, 1
je 0x140050980
sub ecx, 1
je 0x140053e97
cmp ecx, 1
jne 0x14004fab1
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0xa8]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140041654
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
cmp dword [rbp + 0xa8], edi
je 0x1400508ef
or rcx, 0xffffffffffffffff
jmp 0x140050903
mov rcx, rbx
call fcn.140041dd4
mov rcx, rax
call fcn.14002fcc8
movsx rcx, ax
movsxd rax, dword [rsi + 0xc]
cmp rcx, rax
jl 0x140050921
movsxd rax, dword [rsi + 0x10]
cmp rcx, rax
jg 0x140050921
mov dword [rbp + 0xa8], r13d
jmp 0x14005024c
mov dword [rbp + 0xa8], edi
jmp 0x14004f9fe
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne 0x140050980
movups xmm0, xmmword [rcx]
mov r8b, r10b
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.14004f240
mov eax, 4
test byte [rbp + 4], al
je 0x14005024c
mov rdi, qword [rbp - 0x10]
jmp 0x14005098c
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
movsxd rcx, dword [rsi + 4]
lea r9, [rbp + 0xa4]
mov rax, qword [r15 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0xa4], eax
call fcn.14004170c
mov qword [rbx + 0x50], rdi
mov r12d, eax
xor edi, edi
mov dword [rsp + 0x48], eax
mov word [rbx + 2], di
mov dword [rbx + 0x20], edi
mov eax, dword [rbp + 0xa4]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0xa4], edi
je 0x14004f9f5
cmp dword [rsi + 8], edi
jne 0x14005024c
mov ecx, 0x18140
call fcn.1400aa894
mov r12d, eax
mov dword [rsp + 0x48], eax
jmp 0x14004f9f5
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x140050a16
call fcn.140048afc
test eax, eax
jne 0x14005289b
mov rcx, qword [rbx + 0x38]
call fcn.14004d108
xor r12d, r12d
mov rdi, rax
test rax, rax
je 0x140052899
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.14004d160
mov byte [rdi + 0x1e], r12b
lea r14, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, r14
mov rdx, rdi
call fcn.140041968
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
mov r12d, eax
mov dword [rsp + 0x48], eax
call fcn.14002b19c
xor edi, edi
test r12d, r12d
jne 0x14005574c
mov ecx, dword [r14]
test ecx, ecx
mov byte [rbx + 3], dil
setne al
mov dword [rbx + 0x20], edi
mov byte [rbx + 2], al
cmp byte [rsi], 0x1d
jne 0x140050a9f
test ecx, ecx
je 0x14005024c
jmp 0x14005021d
test ecx, ecx
jne 0x14005024c
cmp byte [rsi], 0x1b
jne 0x140050ade
movzx edx, word [rbp - 0x3c]
mov rcx, rdi
test rdx, rdx
je 0x140054e09
mov rax, qword [rbp - 0x50]
add rax, 0x14
test byte [rax], r13b
jne 0x14005024c
add rcx, r13
add rax, 0x38
cmp rcx, rdx
jl 0x140050ac4
jmp 0x14005021d
cmp byte [rsi], 0x1a
mov ecx, 4
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
jne 0x1400535f5
movzx eax, word [rsi + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1400535f5
cmp ebx, 0x28
ja 0x140050c34
je 0x140050cf4
sub ebx, 0x23
je 0x140050bc8
sub ebx, 1
je 0x140050bcf
sub ebx, 1
je 0x140050b74
sub ebx, 1
je 0x140050b5a
cmp ebx, 1
jne 0x14004fab6
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140041f24
jmp 0x140050b8b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14004207c
jmp 0x140050b8b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
mov rdx, rbx
call fcn.140057e28
mov r12d, eax
mov dword [rsp + 0x48], eax
mov dword [rbx + 0x20], edi
test eax, eax
jne 0x140050bae
mov byte [rbx + 2], dil
movzx eax, word [rsi + 2]
add dword [r15 + rax*4 + 0xcc], r13d
jmp 0x140051509
cmp r12d, 0x65
jne 0x14005584a
mov r12d, edi
mov dword [rsp + 0x48], edi
mov byte [rbx + 2], r13b
jmp 0x140054706
add dword [r15 + 0xd4], r13d
movsxd rcx, dword [rsi + 4]
lea rdx, [rbp + 0x94]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x94], r13d
cmp byte [rbx], r13b
jne 0x140050bf8
mov rcx, rbx
call fcn.140057db8
jmp 0x140050c08
mov rcx, qword [rbx + 0x30]
call fcn.140041654
mov byte [rbx + 3], dil
mov dword [rbx + 0x20], edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
mov al, byte [rbp + 0x94]
mov byte [rbx + 2], al
cmp dword [rsi + 8], edi
jle 0x140054e0e
cmp dword [rbp + 0x94], edi
jmp 0x1400502b3
mov ecx, ebx
sub ecx, 0x29
je 0x140050cf4
sub ecx, 1
je 0x140050cf4
sub ecx, 1
je 0x140050c56
cmp ecx, 1
jne 0x14004fab1
movsxd rax, dword [rsi + 4]
mov edx, 2
imul rcx, rax, 0x38
add rcx, r11
call fcn.140048f2c
movsxd rcx, dword [rsi + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x50]
call fcn.140048f2c
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rsi], 0x2c
movsxd r8, eax
lea rax, [0x140000000]
jne 0x140050ca2
mov r8b, byte [r8 + rax + 0x12ce58]
jmp 0x140050caa
mov r8b, byte [r8 + rax + 0x12d7b8]
movsxd rax, dword [rsi + 0xc]
mov r11, qword [rsp + 0x50]
imul rdx, rax, 0x38
mov eax, 2
movzx ecx, word [rdx + r11 + 0x14]
cmp r8b, al
jne 0x140050cd5
mov eax, 0xf241
and cx, ax
or cx, r13w
jmp 0x140050ce9
movzx eax, r8b
mov qword [rdx + r11], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r11 + 0x14], cx
jmp 0x14004fa03
movsxd rcx, dword [rsi + 4]
cmp bl, 0x2a
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp - 0x58], rax
movzx eax, word [rsi + 0x10]
mov word [rbp - 0x3c], ax
sbb al, al
mov byte [rbp - 0x3a], al
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.140040d94
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x14005552e
lea r8, [rbp - 0x10]
mov word [rbp + 4], di
mov rcx, rbx
mov qword [rbp + 8], r14
mov dword [rbp + 0x10], edi
call fcn.140049984
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
mov rdx, qword [rbp - 8]
lea r8, [rbp - 0x58]
mov ecx, dword [rbp]
xor r9d, r9d
call fcn.14004d620
mov ebx, eax
cmp dword [rbp + 0x10], edi
je 0x140050d8d
lea rcx, [rbp - 0x10]
call fcn.140048e1c
test byte [rsi], r13b
jne 0x140050d96
neg ebx
jmp 0x140050d99
add ebx, r13d
test ebx, ebx
jg 0x14005024c
jmp 0x14004f9fe
cmp ebx, 0x44
ja 0x1400516e2
je 0x140051694
cmp ebx, 0x39
ja 0x1400513c1
je 0x14005115f
cmp ebx, 0x33
ja 0x140051134
je 0x14005111c
sub ebx, 0x2e
je 0x1400510c8
sub ebx, 1
je 0x140051061
sub ebx, 1
je 0x140050e34
sub ebx, 1
je 0x140050e10
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r13b
jne 0x140050251
jmp 0x14004fab1
cmp dword [rsi + 4], edi
je 0x140050e1e
cmp qword [r14 + 0x2c8], rdi
jmp 0x140050e22
cmp qword [r15 + 0x50], rdi
jne 0x14004fab6
cmp qword [r14 + 0x2d0], rdi
jmp 0x1400514a7
movsxd rax, dword [rsi + 0xc]
xor r8d, r8d
mov r13, qword [rsi + 0x10]
imul rdi, rax, 0x38
add rdi, r11
cmp word [rsi + 2], r8w
je 0x140050e6d
mov rcx, qword [r13 + 0x20]
mov rax, qword [r15 + 0x100]
jmp 0x140050e68
cmp qword [rax + 0x30], rcx
je 0x140055292
mov rax, qword [rax + 8]
test rax, rax
jne 0x140050e5a
mov eax, dword [r14 + 0xb0]
cmp dword [r15 + 0x110], eax
jge 0x140055563
mov eax, 0x10
test byte [rdi + 0x14], al
jne 0x140050f9b
mov edx, dword [r13 + 0x10]
mov ecx, dword [r13 + 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 [r13 + 8]
add ecx, edx
add eax, 7
jns 0x140050eb8
add eax, 7
sar eax, 3
lea r15d, [rax + rcx*8]
mov rcx, qword [rsp + 0x60]
movsxd rdx, r15d
call fcn.14002b434
mov rbx, rax
test rax, rax
je 0x14005288f
mov rcx, rdi
call fcn.140048e58
sub rsi, qword [rsp + 0x58]
lea rax, [0x14004b3e4]
mov qword [rdi + 0x30], rax
mov dword [rdi + 0x10], r15d
mov r15, qword [rsp + 0x68]
mov word [rdi + 0x14], 0x1010
mov qword [rdi + 8], rbx
mov dword [rbx + 0x58], r14d
mov qword [rbx], r15
mov eax, dword [r13 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r15 + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [r15 + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [r15 + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [r15 + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [r15 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r15 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, r14d
mov r14, qword [rsp + 0x60]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x140050f9f
xor edx, edx
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r14
add rax, 0x38
cmp rax, rcx
jne 0x140050f88
jmp 0x140050f9f
mov rbx, qword [rdi + 8]
inc dword [r15 + 0x110]
lea rdx, [rbx + 0x70]
mov rax, qword [r15 + 0x100]
xor edi, edi
mov qword [rbx + 8], rax
mov rax, qword [r14 + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [r15]
mov qword [rsp + 0x50], rdx
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [r15 + 0x120]
mov qword [rbx + 0x40], rax
mov qword [r15 + 0x68], rdx
mov qword [r15 + 0x120], rdi
mov qword [r15 + 0x38], rdi
mov qword [r15 + 0x100], rbx
movsxd rcx, dword [rbx + 0x58]
mov dword [r15 + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r15 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r15 + 0x78], rcx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x28], rcx
mov eax, dword [r13 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400e73c0
mov r9, qword [r13]
mov qword [r15 + 0x88], r9
mov eax, dword [r13 + 8]
lea r13d, [rdi + 1]
mov qword [rsp + 0x58], r9
lea rsi, [r9 - 0x18]
mov dword [r15 + 0x90], eax
jmp 0x14005470b
movsxd rax, dword [rsi + 4]
mov edi, dword [rsi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
imul r14, rax, 0x38
add rbx, r11
mov eax, 0x10
add r14, r11
test byte [rbx + 0x14], al
jne 0x140051094
mov rcx, rbx
call fcn.140049384
test eax, eax
jne 0x140052894
test edi, edi
je 0x1400510b0
mov r8, qword [r14]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140035458
test eax, eax
jne 0x140053f36
test edi, edi
js 0x1400510be
mov rdx, qword [r14]
mov rcx, qword [rbx + 8]
call fcn.140035108
mov r14, qword [rsp + 0x60]
jmp 0x14004fa9c
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r11
test byte [rbx + 0x14], al
je 0x14005110f
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xe0]
call fcn.1400353f0
test eax, eax
je 0x14005110f
movsxd rax, dword [rsi + 0xc]
mov rdx, qword [rbp + 0xe0]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.1400492fc
jmp 0x140054706
mov rcx, rbx
call fcn.140049264
jmp 0x140051509
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r13b
je 0x140050251
jmp 0x14004fab1
mov ecx, ebx
sub ecx, 0x34
je 0x14005115a
sub ecx, 1
je 0x14005115a
sub ecx, 1
je 0x14005115a
sub ecx, 1
je 0x14005115a
cmp ecx, 1
mov ecx, 4
jne 0x14004fab6
jmp 0x14005115f
mov ecx, 4
movsxd rax, dword [rsi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rsi + 0xc]
imul r15, rax, 0x38
add r13, r11
add r15, r11
movzx r14d, word [r13 + 0x14]
movzx edi, word [r15 + 0x14]
movzx eax, di
and ax, r14w
test cl, al
je 0x1400511f1
mov rcx, qword [r13]
mov r13d, 1
cmp qword [r15], rcx
lea rcx, [0x140000000]
jle 0x1400511c6
xor edi, edi
cmp byte [rbx + rcx + 0x12dbf8], dil
jne 0x140050251
mov edx, r13d
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x44], edx
jmp 0x14004fab1
jge 0x1400511dd
xor edi, edi
cmp byte [rbx + rcx + 0x12dbec], dil
jne 0x140050251
or edx, 0xffffffff
jmp 0x1400511b3
xor edi, edi
cmp byte [rbx + rcx + 0x12dbf2], dil
jne 0x140050251
mov edx, edi
jmp 0x1400511b3
movzx ecx, di
mov edx, 1
or cx, r14w
test dl, cl
je 0x14005126b
test byte [rsi + 2], 0x80
je 0x140051253
test dl, al
je 0x14005123b
mov eax, 0x100
test ax, di
jne 0x14005123b
xor eax, eax
mov edx, eax
mov dword [rsp + 0x44], eax
movzx ecx, byte [rsi]
lea rax, [0x140000000]
test edx, edx
jne 0x140051393
mov cl, byte [rcx + rax + 0x12dbf2]
jmp 0x14005139a
movzx eax, di
not ax
and eax, edx
lea edx, [rax*2 - 1]
mov dword [rsp + 0x44], edx
jmp 0x140051378
mov eax, 0x10
xor edi, edi
mov r13, rdx
test byte [rsi + 2], al
jne 0x140050251
jmp 0x1400511b3
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jb 0x1400512b5
mov ebx, 2
test bl, cl
je 0x140051359
mov al, r14b
and al, 0x2e
cmp al, bl
jne 0x140051299
xor edx, edx
mov rcx, r13
call fcn.14004f16c
movzx edi, word [r15 + 0x14]
mov al, dil
and al, 0x2e
cmp al, bl
jne 0x140051359
xor edx, edx
mov rcx, r15
call fcn.14004f16c
jmp 0x140051359
cmp al, 0x42
jne 0x140051359
mov ebx, 2
test bl, cl
je 0x140051359
test bl, r14b
je 0x1400512e2
movzx eax, r14w
mov ecx, 0xffd3
and ax, cx
mov word [r13 + 0x14], ax
jmp 0x140051326
test r14b, 0x2c
je 0x140051321
mov r8b, dl
mov rcx, r13
mov dl, r10b
call fcn.140048b60
xor r14w, word [r13 + 0x14]
mov eax, 0xdbf
and r14w, ax
mov edx, 1
xor r14w, word [r13 + 0x14]
mov ecx, 0xffd3
cmp r13, r15
jne 0x140051326
movzx edi, r14w
or di, bx
jmp 0x140051326
mov ecx, 0xffd3
test bl, dil
je 0x140051332
and word [r15 + 0x14], cx
jmp 0x140051359
test dil, 0x2c
je 0x140051359
mov r8b, dl
mov rcx, r15
mov dl, byte [rsp + 0x40]
call fcn.140048b60
xor di, word [r15 + 0x14]
mov eax, 0xdbf
and di, ax
xor di, word [r15 + 0x14]
mov r8, qword [rsi + 0x10]
mov rdx, r13
mov rcx, r15
call fcn.14004d538
mov r11, qword [rsp + 0x50]
mov edx, eax
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x44], eax
test edx, edx
jns 0x14005121d
movzx eax, byte [rsi]
lea rcx, [0x140000000]
mov cl, byte [rax + rcx + 0x12dbec]
jmp 0x14005139a
mov cl, byte [rcx + rax + 0x12dbf8]
mov word [r15 + 0x14], di
xor edi, edi
mov word [r13 + 0x14], r14w
lea r13d, [rdi + 1]
test cl, cl
jne 0x14005024c
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x14004fa0c
cmp ebx, 0x3f
ja 0x140051523
je 0x1400514b2
sub ebx, 0x3a
je 0x1400514a5
sub ebx, 1
je 0x140051480
sub ebx, 1
je 0x140051459
sub ebx, 1
je 0x14005142f
cmp ebx, 1
jne 0x14004fab6
movsxd rcx, dword [rsi + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14004025c
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
je 0x140054e0e
cmp eax, 0x65
jne 0x14005584a
mov r12d, edi
mov dword [rsp + 0x48], edi
jmp 0x14005024c
movsxd rax, dword [rsi + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r8
jle 0x140051451
dec rax
mov qword [rcx + r11], rax
test rax, rax
jmp 0x140051129
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x14004fab1
jle 0x140050251
dec rax
mov qword [rcx + r11], rax
jmp 0x140050251
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x140050334
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x140050251
test edx, edx
je 0x140050251
jmp 0x14004fab6
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
xor eax, eax
cmp byte [rdi + 2], al
jne 0x14004faaf
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov r14, qword [rbx]
call qword [r14 + 0x48]
mov rdx, rbx
mov rcx, r15
mov r12d, eax
mov dword [rsp + 0x48], eax
call fcn.14004e1ec
test r12d, r12d
jne 0x1400552d5
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x50]
mov r14, qword [rsp + 0x60]
xor edi, edi
test eax, eax
jne 0x140054706
mov r9, qword [rsp + 0x58]
mov eax, dword [rsi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x14005470b
sub ebx, 0x40
je 0x140051634
sub ebx, 1
je 0x14005155b
sub ebx, 1
je 0x14005155b
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], cl
je 0x14004fab6
mov rax, qword [rax + r11]
jmp 0x140050349
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdi, rax, 0x38
add rdi, r11
cmp qword [rbx], rdi
je 0x1400515ba
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], r15
sub rdx, 1
mov qword [rbx], rdi
mov byte [rbx + 0x28], r10b
lea r9d, [rax - 1]
js 0x1400515ba
lea r8, [rdx + 6]
mov r14d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rsi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r11
mov qword [r8], rcx
sub r8, r14
sub rdx, r13
jns 0x140051598
mov r14, qword [rsp + 0x60]
movzx eax, word [rdi + 0x14]
lea r8, [rbx + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rbx
or ax, r13w
mov word [rdi + 0x14], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140054dec
jle 0x140051613
mov dl, r13b
mov rcx, rdi
call fcn.140049a90
mov r8, rax
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r12d
mov r9d, dword [rsi + 4]
lea rdx, [r15 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r14
call fcn.14004cc0c
xor edi, edi
mov dword [rbx + 0x24], edi
jmp 0x14004f9f5
movsxd rax, dword [rsi + 4]
mov rdx, rsi
imul rbx, rax, 0x38
mov rcx, r11
add rbx, r11
call fcn.14004f3ec
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r9, qword [rsp + 0x58]
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 0x140051688
add dword [r15 + 0xec], r13d
jmp 0x140050251
add dword [r15 + 0xe8], r13d
jmp 0x1400505f7
movsxd rax, dword [rsi + 4]
sub rsi, qword [r15 + 0x88]
imul r8, rax, 0x38
mov rax, qword [r8 + r11]
lea rcx, [rax + rax*2]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
sub eax, r13d
cdqe
mov qword [r8 + r11], rax
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
jmp 0x1400503f9
cmp ebx, 0x50
ja 0x140051a4f
je 0x1400519d0
cmp ebx, 0x4a
ja 0x1400517ec
je 0x140051961
sub ebx, 0x45
je 0x140051753
sub ebx, 1
je 0x140051766
sub ebx, 1
je 0x14005173c
sub ebx, 1
je 0x140051722
cmp ebx, 1
je 0x14005359a
jmp 0x14004fab6
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x14004f9fe
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rcx, dword [rsi + 4]
mov qword [rax], rcx
jmp 0x14004f9fe
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r13b
je 0x14004fab1
mov rdi, qword [r15 + 0x100]
lea rbx, [rsi + 4]
xor eax, eax
test rdi, rdi
je 0x14005557d
cmp dword [rbx], eax
jne 0x14005557d
mov rax, qword [rdi + 8]
mov rcx, r14
mov rdx, qword [r15 + 0x38]
dec dword [r15 + 0x110]
mov qword [r15 + 0x100], rax
call fcn.14004e0b8
mov rcx, rdi
call fcn.14004bd74
mov edx, 4
cmp dword [rsi + 8], edx
jne 0x1400517c8
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r13d
mov r9, qword [r15 + 0x88]
mov r11, qword [r15 + 0x68]
cdqe
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r11
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
jmp 0x14004faa6
sub ebx, 0x4b
je 0x140051961
sub ebx, 1
je 0x14005193a
sub ebx, 1
je 0x1400518dd
sub ebx, 1
je 0x140051867
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
mov r14d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov rdx, rdi
mov rcx, rbx
call fcn.140049570
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140051855
mov rcx, rbx
call fcn.140048aa4
test eax, eax
jne 0x140052894
add rdi, 0x38
add rbx, 0x38
sub r14d, r13d
jne 0x14005182f
jmp 0x1400510be
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.140049444
test eax, eax
jne 0x14005577a
movsxd rax, dword [rsi + 8]
mov r11, qword [rsp + 0x50]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x1400518af
mov rcx, rbx
call fcn.140049264
mov r11, qword [rsp + 0x50]
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
jmp 0x14004faa1
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rdx, qword [rsi + 0x10]
mov rbx, rax
mov rcx, rax
test rdx, rdx
jne 0x140051911
mov edx, dword [rsi + 4]
call fcn.14004927c
mov rcx, rbx
call fcn.140048afc
test eax, eax
jne 0x14005289b
jmp 0x140051922
movsxd r8, dword [rsi + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rdi
call fcn.1400495cc
mov r10b, byte [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [rbx + 0x16], r10b
jmp 0x140050334
movsxd rax, dword [rsi + 4]
mov r8d, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, r8w
or ax, r13w
mov word [rcx + r11 + 0x14], ax
jmp 0x14004fab1
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov ecx, dword [rsi + 4]
mov edi, dword [rsi + 0xc]
neg ecx
mov edx, dword [rsi + 8]
mov ecx, 0x100
sbb r14w, r14w
lea rbx, [rax + 0x14]
and r14w, cx
sub edi, edx
add r14w, r13w
xor ecx, ecx
mov word [rbx], r14w
mov dword [rax + 0x10], ecx
test edi, edi
jle 0x140054de7
mov eax, 0x9000
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x1400519bd
lea rcx, [rbx - 0x14]
call fcn.140048de4
xor ecx, ecx
mov eax, 0x9000
sub edi, r13d
mov word [rbx], r14w
mov dword [rbx - 4], ecx
test edi, edi
jg 0x1400519a4
jmp 0x1400510be
movsxd rax, dword [rsi + 4]
mov r14d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.1400494ac
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140051a16
mov rcx, rbx
call fcn.140048aa4
test eax, eax
jne 0x140052894
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x140051a37
mov edx, 2
test byte [rsi + 2], dl
je 0x140051a37
mov edx, 0xf7ff
and ax, dx
mov word [rbx + 0x14], ax
mov eax, r14d
sub r14d, r13d
test eax, eax
je 0x140054de7
add rbx, 0x38
add rdi, 0x38
jmp 0x1400519ea
cmp ebx, 0x56
ja 0x140051b37
je 0x140051b18
sub ebx, 0x51
je 0x140051af2
sub ebx, 1
je 0x140051aad
sub ebx, 1
je 0x140051a9e
sub ebx, 1
je 0x14005565b
cmp ebx, 1
jne 0x14004fab6
cmp dword [rsi + 4], edi
je 0x14004fab6
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r11
xor edx, edx
jmp 0x140050560
xor edx, edx
mov rcx, r15
call fcn.14004c5cc
jmp 0x14005000e
movsxd rax, dword [rsi + 8]
imul r8, rax, 0x38
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x140051ae0
mov rcx, r8
mov rdx, rax
call fcn.1400492c8
jmp 0x14004f9fe
mov ecx, 4
mov qword [r8], rax
mov word [r8 + 0x14], cx
jmp 0x14004fab6
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
mov r8d, 0x4000
call fcn.1400494ac
jmp 0x14004f9fe
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140048fd4
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x14004f9fe
sub ebx, 0x57
je 0x140051d09
sub ebx, 1
je 0x140051ccb
sub ebx, 2
je 0x140051ba1
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140048f2c
movsxd rdx, dword [rsi + 0x10]
mov r11, qword [rsp + 0x50]
movsxd rcx, eax
movsxd rax, dword [rsi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
jne 0x140051ad6
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
jmp 0x14004fa03
test byte [rsi + 2], r13b
je 0x140051bae
mov rdi, qword [rsi - 8]
add rdi, rcx
mov r8d, dword [rsi + 4]
xor eax, eax
mov ecx, dword [rsi + 8]
mov r14d, eax
mov r13, qword [rsi + 0x10]
mov ebx, eax
movsxd rax, dword [rsi + 0xc]
mov dword [rbp - 0x68], r8d
mov dword [rbp + 0x88], ecx
mov qword [rbp + 0x80], rax
test rax, rax
jle 0x140055287
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x140051bec
mov edx, dword [rdi + rbx*4]
jmp 0x140051bef
mov edx, r14d
mov rax, qword [r13 + 0x18]
add ecx, edx
imul r9, rcx, 0x38
movzx eax, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r15]
add r9, r11
imul r12, rcx, 0x38
and eax, 1
mov qword [rsp + 0x78], r9
add r12, r11
mov dword [rbp + 0x78], eax
mov rcx, r12
mov rdx, r9
call fcn.14004d538
mov dword [rsp + 0x44], eax
mov edx, eax
test eax, eax
jne 0x140051c6f
mov r8d, dword [rbp - 0x68]
lea eax, [rdx + 1]
mov ecx, dword [rbp + 0x88]
add r14d, eax
mov r11, qword [rsp + 0x50]
add rbx, rax
add r15, 8
cmp rbx, qword [rbp + 0x80]
jl 0x140051be2
mov r12d, dword [rsp + 0x48]
mov r13d, eax
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
jmp 0x14004faaa
mov rax, qword [r13 + 0x18]
mov ecx, 2
lea r13d, [rcx - 1]
test byte [rbx + rax], cl
je 0x140051c99
test byte [r12 + 0x14], r13b
jne 0x140051c93
mov rax, qword [rsp + 0x78]
test byte [rax + 0x14], r13b
je 0x140051c99
neg edx
mov dword [rsp + 0x44], edx
mov r12d, dword [rsp + 0x48]
xor edi, edi
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
lea ecx, [rdi + 4]
mov r10b, byte [rsp + 0x40]
cmp dword [rbp + 0x78], edi
je 0x1400535f5
neg edx
mov dword [rsp + 0x44], edx
jmp 0x1400535f5
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140051cf4
mov rcx, rbx
call fcn.140048afc
mov r12d, eax
test eax, eax
jne 0x14005584a
mov r8b, byte [rsp + 0x40]
mov rcx, rbx
mov dl, byte [rsi + 8]
call fcn.140049140
jmp 0x14005000e
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
je 0x14004fab1
call fcn.140049004
jmp 0x14004f9fe
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r13b
jne 0x140051d71
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], r13b
jne 0x140051d71
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140051d63
xor edx, edx
jmp 0x140051ad6
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x14004fab1
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x140051d91
call fcn.140048de4
jmp 0x14004f9fe
mov word [rcx + 0x14], r13w
jmp 0x14004fab1
mov eax, 0x8c
cmp ebx, eax
ja 0x14005404b
je 0x140053fa8
cmp ebx, 0x74
ja 0x14005324e
je 0x14005332b
cmp ebx, 0x69
ja 0x140052bd5
je 0x140052a08
cmp ebx, 0x63
ja 0x1400529e5
je 0x1400529ae
sub ebx, 0x5e
je 0x14005245e
sub ebx, 1
je 0x14005232e
sub ebx, 1
je 0x14005229d
sub ebx, 1
je 0x140051e69
cmp ebx, 1
jne 0x14004fab6
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [rsi + 0xc], edi
je 0x140051e2a
mov rcx, rdx
call fcn.140041dd4
mov qword [rbp + 0xc0], rax
jmp 0x140051e4f
lea r8, [rbp + 0xc0]
mov qword [rbp + 0xc0], rdi
mov rcx, r14
call fcn.140046d3c
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [rbp + 0xc0]
mov qword [rax], rcx
jmp 0x140054706
movsxd rax, dword [rsi + 4]
mov rdx, rdi
imul r8, rax, 0x38
mov eax, dword [rsi + 8]
mov r9d, 1
sub eax, r9d
mov qword [rbp - 0x80], rdi
add r8, r11
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rsi + 0xc]
mov r13, rdi
imul rcx, rax, 0x38
add r15, r8
mov dword [rbp + 0x78], edi
add rcx, r11
mov qword [rbp - 0x68], rdx
mov r14d, edi
mov qword [rbp + 0x88], r8
mov rdi, qword [rsi + 0x10]
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x70], rcx
test rdi, rdi
je 0x140051f35
mov al, byte [rdi]
lea rbx, [r8 + 0x14]
mov r15b, byte [rsp + 0x40]
lea esi, [r9 + 3]
lea r13d, [r9 + 0x1f]
lea rcx, [rbx - 0x14]
mov r8b, r15b
mov dl, al
call fcn.14004f240
cmp byte [rdi], 0x45
jne 0x140051efe
movzx eax, word [rbx]
test sil, al
je 0x140051efe
mov ecx, 0xfffb
and ax, cx
or ax, r13w
mov word [rbx], ax
inc rdi
add rbx, 0x38
mov al, byte [rdi]
test al, al
jne 0x140051ed4
mov rsi, qword [rbp + 0x80]
mov r9d, 1
mov r12d, dword [rsp + 0x48]
mov r13, qword [rbp - 0x80]
mov r14d, dword [rbp + 0x78]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp + 0x88]
mov r15, qword [rsp + 0x78]
add r15, 0x24
movzx ecx, word [r15 - 0x10]
test r9b, cl
je 0x140051f62
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r14d, r9d
mov dword [r15], eax
mov dword [rbp + 0x78], r14d
jmp 0x1400520d0
test cl, 0x24
je 0x140052047
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140051f7a
not rdx
add r14d, r9d
mov dword [rbp + 0x78], r14d
cmp rdx, 0x7f
ja 0x140051fb7
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x140051fac
mov rax, qword [rsp + 0x68]
mov ecx, 4
cmp byte [rax + 0xbd], cl
jb 0x140051fac
lea eax, [rdx + 8]
jmp 0x14005203f
add r13, r9
mov eax, r9d
jmp 0x14005203f
cmp rdx, 0x7fff
ja 0x140051fc7
mov eax, 2
jmp 0x140051fe9
cmp rdx, 0x7fffff
ja 0x140051fdb
add r13, 3
mov eax, 3
jmp 0x14005203f
cmp rdx, 0x7fffffff
ja 0x140051fee
mov eax, 4
add r13, rax
jmp 0x14005203f
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140052008
add r13, 6
mov eax, 5
jmp 0x14005203f
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14005203a
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r15 - 0x10], cx
movsd qword [r15 - 0x24], xmm0
jmp 0x14005203f
mov eax, 6
mov dword [r15], eax
jmp 0x1400520c9
mov eax, 8
test al, cl
je 0x140052063
add r14d, r9d
mov dword [r15], 7
mov dword [rbp + 0x78], r14d
add r13, rax
jmp 0x1400520d0
mov edi, dword [r15 - 0x14]
mov eax, ecx
shr eax, 1
and eax, r9d
bt cx, 0xa
lea r14d, [rdi + 6]
lea r14d, [rax + r14*2]
jae 0x1400520a8
lea rbx, [r15 - 0x24]
movsxd rax, dword [rbx]
lea r14d, [r14 + rax*2]
test r13, r13
je 0x1400520a1
mov rcx, rbx
call fcn.140048afc
test eax, eax
jne 0x14005288f
add edi, dword [rbx]
jmp 0x1400520a8
add rdx, rax
mov qword [rbp - 0x68], rdx
mov eax, edi
mov ecx, r14d
add r13, rax
call fcn.14002fa2c
mov ecx, dword [rbp + 0x78]
mov r9d, 1
add ecx, eax
mov dword [r15], r14d
mov dword [rbp + 0x78], ecx
mov r14d, ecx
mov r8, qword [rbp + 0x88]
lea rax, [r15 - 0x24]
cmp rax, r8
je 0x1400520e6
mov rdx, qword [rbp - 0x68]
sub r15, 0x38
jmp 0x140051f39
cmp r14d, 0x7e
jg 0x1400520f1
add r14d, r9d
jmp 0x140052111
movsxd rcx, r14d
call fcn.14002fa2c
add r14d, eax
mov ebx, eax
movsxd rcx, r14d
mov dword [rbp + 0x78], r14d
call fcn.14002fa2c
cmp ebx, eax
jge 0x140052115
inc r14d
mov dword [rbp + 0x78], r14d
mov r15, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x70]
movsxd r14, r14d
movsxd rax, dword [rdi + 0x20]
lea rbx, [r14 + r13]
lea rcx, [r15 + rbx]
cmp rcx, rax
jg 0x14005213d
mov rax, qword [rdi + 0x28]
xor edx, edx
mov qword [rdi + 8], rax
jmp 0x140052166
mov rax, qword [rsp + 0x60]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x140055770
mov edx, ebx
mov rcx, rdi
call fcn.140048990
xor edx, edx
test eax, eax
jne 0x14005288f
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], 0x10
test r15, r15
je 0x14005217d
mov dword [rdi], r15d
mov word [rdi + 0x14], 0x410
mov rdi, qword [rdi + 8]
mov ecx, dword [rbp + 0x78]
lea rbx, [r14 + rdi]
cmp ecx, 0x80
jge 0x14005219d
mov r13d, 1
mov byte [rdi], cl
add rdi, r13
jmp 0x1400521b4
mov rdx, r14
mov rcx, rdi
call fcn.14002f7d4
movsxd rcx, eax
add rdi, rcx
xor edx, edx
lea r13d, [rdx + 1]
mov r14, qword [rbp + 0x88]
mov r15, qword [rsp + 0x78]
add r14, 0x10
mov eax, dword [r14 + 0x14]
cmp eax, 7
ja 0x140052240
mov byte [rdi], al
add rdi, r13
test eax, eax
je 0x140052287
mov rcx, qword [r14 - 0x10]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x12d9d0]
mov eax, edx
sub eax, 1
je 0x140052239
sub eax, 1
je 0x140052232
sub eax, 1
je 0x14005222b
sub eax, 1
je 0x140052224
cmp eax, 2
je 0x140052216
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 0x140052285
cmp eax, 0x80
jae 0x140052258
mov byte [rdi], al
add rdi, r13
cmp eax, 0xe
jb 0x140052287
cmp dword [r14], edx
jle 0x140052287
jmp 0x140052270
mov rdx, rax
mov rcx, rdi
call fcn.14002f7d4
movsxd rcx, eax
xor edx, edx
add rdi, rcx
cmp dword [r14], edx
je 0x140052287
movsxd r8, dword [r14]
mov rcx, rbx
mov rdx, qword [r14 - 8]
call fcn.1400e6d00
movsxd rax, dword [r14]
add rbx, rax
xor edx, edx
lea rax, [r14 - 0x10]
cmp rax, r15
je 0x140054de2
add r14, 0x38
jmp 0x1400521c4
movsxd rax, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r11
mov r8b, r10b
mov dl, al
mov rcx, rbx
call fcn.14004f240
cmp byte [rdi], 0x45
jne 0x140052316
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x140052316
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1400522fa
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x140052312
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 r10b, byte [rsp + 0x40]
add rdi, r13
mov al, byte [rdi]
test al, al
je 0x140054e3e
add rbx, 0x38
jmp 0x1400522ae
movsxd rax, dword [rsi + 4]
mov r13, qword [rsi + 0x10]
imul r14, rax, 0x38
mov r15, qword [r13 + 8]
xor eax, eax
add r14, r11
cmp ax, word [r13 + 0x36]
jge 0x140055277
lea rbx, [r15 + 0xc]
test byte [rbx + 6], 0x60
je 0x14005236f
mov ecx, 0x20
test byte [rbx + 6], cl
jne 0x140052420
cmp dword [rsi + 0xc], eax
jne 0x14005241c
mov dl, byte [rbx]
mov r8b, r10b
mov rcx, r14
call fcn.14004f240
movzx ecx, word [r14 + 0x14]
mov edx, 1
test dl, cl
jne 0x14005241c
mov eax, dword [rbx - 4]
lea r8d, [rdx + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x14005240f
sub eax, edx
je 0x140052408
sub eax, edx
je 0x140052408
sub eax, edx
je 0x1400523b5
cmp eax, edx
jne 0x14005241c
test r8b, cl
jmp 0x140052416
mov eax, 4
test al, cl
je 0x140052403
mov rdx, qword [r14]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1400523e3
or cx, 0x20
jmp 0x1400523f4
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [r14], xmm0
mov eax, 0xfffb
and cx, ax
mov word [r14 + 0x14], cx
jmp 0x14005241c
test cl, 0x28
jmp 0x140052416
mov eax, 4
jmp 0x140052414
mov eax, 0x10
test al, cl
je 0x1400556db
add r14, 0x38
movsx eax, word [r13 + 0x36]
inc edi
mov r10b, byte [rsp + 0x40]
add rbx, 0x18
cmp edi, eax
mov eax, 0
jl 0x140052352
mov r15, qword [rsp + 0x68]
lea r13d, [rax + 1]
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
jmp 0x14004faaf
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov r13d, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x78], r13d
mov rax, qword [rsp + 0x68]
mov r15, qword [rbx + 0x58]
mov qword [rbp - 0x68], r15
mov eax, dword [rax + 0x2c]
cmp dword [rbx + 0x20], eax
je 0x1400524c0
cmp byte [rbx + 2], dil
jne 0x14005251c
mov r14, qword [rbx + 0x30]
cmp byte [rbx + 3], dil
je 0x1400524b9
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1400524e6
lea eax, [r13 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1400524e6
mov rbx, qword [rbx + 0x28]
lea r13d, [rax - 1]
jmp 0x14005246e
cmp byte [r14], dil
je 0x1400524fd
jmp 0x1400524cd
mov rax, qword [rbx + 0x30]
cmp byte [rax], dil
je 0x1400525f6
mov rcx, rbx
call fcn.14004ce0c
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055747
jmp 0x140052472
mov rcx, rbx
call fcn.14004cdc4
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055747
mov rcx, r14
call fcn.140040df4
lea rdi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rdi
mov rcx, r14
call fcn.140041300
mov rcx, rax
jmp 0x14005254b
cmp byte [rbx], 3
jne 0x1400525d4
cmp dword [rbx + 0x24], edi
jle 0x1400525d4
movsxd rax, dword [rbx + 0x24]
lea rdi, [rbx + 0x6c]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
mov eax, dword [rcx + 0x10]
mov dword [rdi], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x68]
lea r13, [rbx + 0x40]
mov qword [rbx + 0x60], rcx
mov qword [rsp + 0x78], r13
mov eax, dword [rax + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r15], eax
cmp eax, 0x80
jae 0x140052577
mov eax, 1
jmp 0x140052586
mov rcx, qword [rbx + 0x60]
mov rdx, r15
call fcn.14002f9c4
movzx eax, al
mov dword [r13], eax
lea r14, [rbx + 0x4a]
xor ecx, ecx
mov qword [rbp + 0x88], r14
mov word [r14], cx
mov eax, dword [r15]
cmp dword [rdi], eax
jae 0x1400525c7
mov dword [rdi], ecx
xor edi, edi
mov qword [rbx + 0x60], rcx
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x14005275f
cmp eax, dword [rbx + 0x68]
ja 0x14005275f
mov r13d, dword [rbp + 0x78]
jmp 0x1400525fa
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x80], rax
jmp 0x140052672
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.140049264
mov r15, qword [rsp + 0x68]
mov r13d, 1
jmp 0x14005021d
lea r14, [rbx + 0x4a]
movzx eax, word [r14]
cmp eax, r13d
ja 0x1400527e1
mov eax, dword [r15]
lea r13, [rbx + 0x40]
mov qword [rsp + 0x78], r13
cmp dword [r13], eax
jae 0x140052797
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140052666
xorps xmm0, xmm0
mov qword [rbp + 0x70], rax
movups xmmword [rbp + 0x40], xmm0
lea r8, [rbp + 0x40]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov edx, dword [r15]
mov rcx, qword [rbx + 0x30]
call fcn.140049984
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055747
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x80], rax
jmp 0x14005266b
mov qword [rsp + 0x78], r13
mov qword [rbp + 0x88], r14
mov rcx, qword [rbp - 0x68]
mov edi, dword [r13]
mov rsi, rcx
movzx r12d, word [r14]
add rdi, rax
mov r15d, r12d
mov r13d, dword [rcx]
add r13, rax
mov r14d, dword [rcx + r12*4]
movzx eax, byte [rdi]
mov dword [rbp - 0x60], eax
mov dword [rbx + r15*4 + 0x78], eax
mov ecx, dword [rbp - 0x60]
cmp ecx, 0x80
jae 0x1400526b4
inc rdi
call fcn.14004ce78
movzx eax, al
jmp 0x1400526d8
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.14002f9c4
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x60]
mov dword [rbx + r15*4 + 0x78], eax
mov ecx, dword [rbp - 0x60]
call fcn.14004ce5c
mov eax, eax
inc r12d
add r14, rax
movsxd r15, r12d
mov dword [rsi + r15*4], r14d
cmp r12d, dword [rbp + 0x78]
ja 0x1400526f0
cmp rdi, r13
jb 0x140052691
mov rsi, qword [rbp + 0x80]
cmp rdi, r13
jb 0x140052735
ja 0x14005273d
mov eax, dword [rbx + 0x68]
cmp r14, rax
jne 0x14005273d
mov r15, qword [rbp - 0x68]
sub edi, dword [rbp - 0x80]
mov rax, qword [rsp + 0x78]
mov r14, qword [rbp + 0x88]
mov dword [rax], edi
xor edi, edi
mov word [r14], r12w
cmp qword [rbx + 0x60], rdi
jne 0x140052730
lea rcx, [rbp + 0x40]
call fcn.140048e58
mov edx, dword [rbp - 0x60]
jmp 0x14005279c
mov eax, dword [rbx + 0x68]
cmp r14, rax
jbe 0x140052706
mov r15, qword [rbp - 0x68]
xor edi, edi
cmp dword [r15], edi
jne 0x140052750
mov r12d, edi
mov rdi, r13
jmp 0x14005270a
cmp qword [rbx + 0x60], rdi
jne 0x14005275f
lea rcx, [rbp + 0x40]
call fcn.140048e58
mov r9, qword [rsp + 0x58]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x14005573a
mov r12d, dword [rsp + 0x48]
dec eax
movsxd rcx, eax
mov r13d, 1
lea rax, [rcx + rcx*2]
lea rsi, [r9 + rax*8]
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x1400505f7
mov edx, edi
mov dword [rbp - 0x60], edx
movzx eax, word [r14]
mov r13d, dword [rbp + 0x78]
cmp eax, r13d
ja 0x1400527dc
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
cmp byte [rsi + 1], 0xf6
jne 0x1400527d5
mov rdx, qword [rsi + 0x10]
mov r8d, 0x2000
call fcn.1400494ac
mov r12d, dword [rsp + 0x48]
jmp 0x1400525e6
call fcn.140049264
jmp 0x1400527cb
mov r14, r13
jmp 0x1400527ec
mov r14d, r13d
mov edx, dword [rbx + r14*4 + 0x78]
mov dword [rbp - 0x60], edx
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x50]
test word [rdi + 0x14], ax
je 0x14005280f
mov rcx, rdi
call fcn.140049264
mov edx, dword [rbp - 0x60]
lea eax, [r13 + 1]
mov eax, dword [r15 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140052917
mov r14d, dword [r15 + r14*4]
add r14, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x14005284d
mov rcx, r14
mov r8, rdi
call fcn.14004cf1c
mov r12d, dword [rsp + 0x48]
mov r13d, 1
mov r15, qword [rsp + 0x68]
jmp 0x1400510be
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 0x1400528c1
mov rax, qword [rsp + 0x60]
cmp ebx, dword [rax + 0x88]
jg 0x14005576b
mov r13d, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], r13w
call fcn.140048858
test eax, eax
je 0x1400528cf
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
xor edi, edi
mov bl, byte [rsp + 0x41]
mov rcx, r14
call fcn.14002b7d0
lea rdx, [0x140124d58]
mov rcx, r15
call fcn.14004a090
mov r12d, 7
jmp 0x1400544eb
mov rax, qword [rdi + 0x28]
mov r13d, 1
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
call fcn.1400e6d00
mov rax, qword [rdi + 8]
xor ecx, ecx
mov r12d, dword [rsp + 0x48]
mov r15, qword [rsp + 0x68]
mov byte [rbx + rax], cl
mov rax, qword [rdi + 8]
mov byte [rax + rbx + 1], cl
lea rcx, [0x140000000]
mov eax, dword [rbp - 0x60]
and rax, r13
movzx eax, word [rcx + rax*2 + 0x130c70]
mov word [rdi + 0x14], ax
jmp 0x1400510be
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
mov al, byte [rsi + 2]
mov edx, dword [rbp - 0x60]
and al, 0xc0
je 0x14005293a
cmp al, 0x80
je 0x140052948
cmp edx, 0xc
jb 0x14005293a
test dl, 1
je 0x140052948
cmp al, 0xc0
je 0x140052948
mov ecx, edx
call fcn.14004ce5c
test eax, eax
jne 0x140052954
mov edx, dword [rbp - 0x60]
lea rcx, [0x14012d250]
jmp 0x140052830
mov eax, dword [rsp + 0x70]
mov edx, r13d
mov r9d, dword [r15 + r14*4]
mov rcx, rbx
mov r15, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x60]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.14004f464
xor edi, edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
je 0x1400525eb
mov r14, qword [rsp + 0x60]
cmp eax, 7
je 0x14005289b
cmp eax, 0x12
je 0x14005577c
jmp 0x14005584a
movsxd rax, dword [rsi + 4]
lea r8, [rbp + 0xbc]
mov rcx, qword [r14 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140046c0c
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rcx, dword [rbp + 0xbc]
jmp 0x14005174b
mov ecx, ebx
sub ecx, 0x64
je 0x140052a84
sub ecx, 1
je 0x140052a55
sub ecx, 1
je 0x140052a08
sub ecx, 1
je 0x140052a08
cmp ecx, 1
jne 0x14004fab1
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r11
imul r14, rax, 0x38
add rcx, r11
add r14, r11
mov al, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test r13b, al
je 0x140052b11
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140052b02
mov rcx, r14
call fcn.140048de4
jmp 0x1400510be
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x140053130
mov eax, dword [rsi + 8]
cmp dword [rdi + 0x44], eax
jne 0x140053130
mov rcx, qword [rdi + 0x30]
call fcn.14003cf50
jmp 0x14005323c
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r14 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140046c9c
mov r12d, eax
mov dword [rsp + 0x48], eax
cmp dword [rsi + 8], r13d
jne 0x140052acd
movzx eax, word [rsi + 2]
mov ecx, dword [rsi + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r14
or dword [r14 + 0x2c], r13d
mov edx, dword [rsi + 4]
call fcn.140075960
jmp 0x140052ae1
mov eax, 2
cmp dword [rsi + 8], eax
jne 0x140052ae1
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rsi + 4], r13d
jne 0x14004f9f5
xor edx, edx
mov rcx, r14
call fcn.14004e0c4
and dword [r15 + 0xc0], 0xfffffffc
jmp 0x14004f9f5
mov word [r14 + 0x14], r13w
mov r14, qword [rsp + 0x60]
jmp 0x14004faaf
call fcn.140048ea4
mov rcx, rdi
mov rbx, rax
call fcn.140048ea4
mov r8b, byte [rsi]
mov rdx, rax
cmp r8b, 0x66
jne 0x140052b32
and rbx, rax
jmp 0x140052b3b
cmp r8b, 0x67
jne 0x140052b3f
or rbx, rdx
xor edi, edi
jmp 0x140052bb3
xor edi, edi
test rdx, rdx
je 0x140052bb3
jns 0x140052b67
mov rcx, rdx
mov eax, 0xd1
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [rdi + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x140052b83
test rbx, rbx
jns 0x140052b7e
cmp r8b, 0x68
je 0x140052b7e
or rbx, 0xffffffffffffffff
jmp 0x140052bb3
mov rbx, rdi
jmp 0x140052bb3
mov rcx, rdx
cmp r8b, 0x68
jne 0x140052b94
shl rbx, cl
mov r8, rbx
jmp 0x140052bb0
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140052bb0
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], rbx
mov ecx, 4
or ax, cx
mov word [r14 + 0x14], ax
jmp 0x140052e14
cmp ebx, 0x6f
ja 0x140053015
je 0x140052e58
sub ebx, 0x6a
je 0x140052c01
sub ebx, 1
je 0x140052c01
sub ebx, 1
je 0x140052c01
sub ebx, 1
je 0x140052c01
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
mov edx, 4
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r11
imul r15, rax, 0x38
add r14, r11
add r15, r11
movzx ecx, word [r14 + 0x14]
mov al, cl
and al, byte [rdi + 0x14]
test dl, al
jne 0x140052c63
or cl, byte [rdi + 0x14]
test r13b, cl
jne 0x140052e31
mov rcx, rdi
call fcn.14004f384
mov rcx, r14
movzx ebx, ax
call fcn.14004f384
and al, bl
mov ecx, 4
test cl, al
je 0x140052d39
movzx edx, byte [rsi]
mov r8, qword [r14]
mov rcx, qword [rdi]
mov qword [rbp + 0x98], r8
sub edx, 0x6a
je 0x140052d00
sub edx, 1
je 0x140052cef
sub edx, 1
je 0x140052cde
cmp edx, 1
je 0x140052caf
xor edi, edi
test rcx, rcx
je 0x140052e33
cmp rcx, 0xffffffffffffffff
mov rax, r8
cqo
cmove rcx, r13
idiv rcx
mov qword [rbp + 0x98], rdx
jmp 0x140052d15
test rcx, rcx
je 0x140052e31
cmp rcx, 0xffffffffffffffff
jne 0x140052ccd
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140052d39
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x98], rax
jmp 0x140052d13
mov rdx, rcx
lea rcx, [rbp + 0x98]
call fcn.14002fbbc
jmp 0x140052d0f
mov rdx, rcx
lea rcx, [rbp + 0x98]
call fcn.14002fb80
jmp 0x140052d0f
mov rdx, rcx
lea rcx, [rbp + 0x98]
call fcn.14002fb30
test eax, eax
jne 0x140052d39
xor edi, edi
mov rax, qword [rbp + 0x98]
mov ecx, 0xf244
mov qword [r15], rax
movzx eax, word [r15 + 0x14]
and ax, cx
mov ecx, 4
or ax, cx
jmp 0x140052e0a
mov rcx, rdi
call fcn.140048f00
mov rcx, r14
movaps xmm6, xmm0
call fcn.140048f00
movzx ecx, byte [rsi]
sub ecx, 0x6a
je 0x140052dbd
sub ecx, 1
je 0x140052db7
sub ecx, 1
je 0x140052db1
cmp ecx, 1
je 0x140052d9f
mov rcx, rdi
call fcn.140048ea4
mov rcx, r14
mov rbx, rax
call fcn.140048ea4
xor edi, edi
mov qword [rbp + 0x98], rax
test rbx, rbx
je 0x140052e33
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140052dc3
ucomisd xmm6, xmm7
jp 0x140052dab
je 0x140052e31
divsd xmm0, xmm6
jmp 0x140052dc1
mulsd xmm0, xmm6
jmp 0x140052dc1
subsd xmm0, xmm6
jmp 0x140052dc1
addsd xmm0, xmm6
xor edi, edi
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 0x140052e33
movzx eax, word [r15 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r15], xmm0
or ax, 8
mov ecx, 4
mov word [r15 + 0x14], ax
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
jmp 0x14004fab6
xor edi, edi
mov eax, 0x9000
test word [r15 + 0x14], ax
je 0x140052e51
mov rcx, r15
call fcn.140048de4
mov r15, qword [rsp + 0x68]
jmp 0x14005021d
mov word [r15 + 0x14], r13w
jmp 0x140052e47
movsxd rax, dword [rsi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r13, r11
imul rbx, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rdi, r11
mov al, r15b
add rbx, r11
or al, byte [rdi + 0x14]
test al, 1
je 0x140052ec2
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140052eab
mov rcx, rbx
call fcn.140048de4
mov r15, qword [rsp + 0x68]
mov r13d, 1
jmp 0x14004fa9c
mov r13d, 1
mov word [rbx + 0x14], r13w
mov r15, qword [rsp + 0x68]
xor edi, edi
jmp 0x14004fab6
test r15b, 0x12
jne 0x140052ed8
xor r8d, r8d
mov dl, r10b
mov rcx, r13
call fcn.140048b60
jmp 0x140052eeb
mov eax, 0x400
test ax, r15w
je 0x140052f06
mov rcx, r13
call fcn.140048afc
test eax, eax
jne 0x140055831
movzx r15d, word [r13 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx r14d, word [rdi + 0x14]
test r14b, 0x12
jne 0x140052f22
mov dl, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.140048b60
jmp 0x140052f30
test ax, r14w
je 0x140052f46
mov rcx, rdi
call fcn.140048afc
test eax, eax
jne 0x14005288f
movzx r14d, word [rdi + 0x14]
mov eax, 0xfffd
and r14w, ax
mov rax, qword [rsp + 0x60]
mov edx, dword [r13 + 0x10]
add edx, dword [rdi + 0x10]
movsxd r12, edx
movsxd rax, dword [rax + 0x88]
cmp r12, rax
jg 0x140055770
xor eax, eax
mov rcx, rbx
mov r8d, eax
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.140048858
test eax, eax
jne 0x14005288f
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140052fb3
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.1400e6d00
mov word [rdi + 0x14], r14w
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.1400e6d00
mov r10b, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
mov r13d, 1
cmp r10b, r13b
jbe 0x140052fe1
and r12, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
xor edi, edi
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov byte [r12 + rax], dil
mov rax, qword [rbx + 8]
mov byte [rax + r12 + 1], dil
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r12d
mov r12d, dword [rsp + 0x48]
jmp 0x140051927
mov ecx, ebx
sub ecx, 0x70
je 0x140053132
sub ecx, 1
je 0x140053132
sub ecx, 1
je 0x1400530d8
cmp ecx, 1
jne 0x14004fab1
movsxd rcx, dword [rsi + 8]
xor r9d, r9d
mov rax, qword [r15 + 0x78]
mov edx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rbx + 0x48]
call fcn.14004f044
mov r10, rax
test rax, rax
je 0x14005289b
mov edx, dword [rax + 8]
mov r8d, 4
mov byte [rax + 2], r13b
or edx, r13d
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.140040c2c
mov r12d, eax
mov dword [rsp + 0x48], eax
jmp 0x14004f9fe
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r11
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x140053108
mov rcx, rbx
call fcn.140048de4
mov r11, qword [rsp + 0x50]
jmp 0x14005310d
mov word [rbx + 0x14], r13w
test byte [rdi + 0x14], r13b
jne 0x140054df1
mov rcx, rdi
mov word [rbx + 0x14], 4
call fcn.140048ea4
not rax
mov qword [rbx], rax
jmp 0x14004fa9c
xor edi, edi
mov eax, dword [r15 + 0xc0]
and al, 3
cmp al, r13b
je 0x140055756
movsxd r13, dword [rsi + 0xc]
xor edx, edx
mov r12d, dword [rsi + 8]
mov rax, r13
shl rax, 5
mov r15d, edx
add rax, qword [r14 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x70], rcx
cmp bl, 0x71
jne 0x140053192
mov rax, qword [rax + 0x18]
movzx r14d, word [rsi + 2]
and r14d, 8
or r14d, 4
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xbd]
jae 0x140053195
mov byte [rax + 0xbd], cl
jmp 0x140053195
mov r14d, edx
mov eax, 0x10
test byte [rsi + 2], al
je 0x1400531b1
imul rbx, r12, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140048fd4
mov r12d, dword [rbx]
mov al, byte [rsi + 1]
cmp al, 0xf8
jne 0x1400531c3
mov r15, qword [rsi + 0x10]
movzx edi, word [r15 + 8]
jmp 0x1400531ca
cmp al, 0xfd
jne 0x1400531ca
mov edi, dword [rsi + 0x10]
mov edx, dword [rsi + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
call fcn.14004f044
mov rdi, rax
test rax, rax
je 0x14005288f
mov rcx, qword [rdi + 0x30]
mov r9, r15
mov byte [rax + 1], r13b
mov r8d, r14d
mov r13d, 1
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x70]
mov edx, r12d
mov byte [rax + 2], r13b
mov dword [rdi + 0x44], r12d
lea eax, [r13 + 3]
or dword [rdi + 8], eax
call fcn.140040c2c
mov r14, qword [rsp + 0x60]
mov r12d, eax
mov qword [rdi + 0x38], r15
cmp byte [rsi + 1], 0xf8
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x48], eax
setne al
mov byte [rdi + 4], al
mov cl, byte [rsi + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
jmp 0x14004f9f3
mov eax, 0x81
cmp ebx, eax
ja 0x140053a73
je 0x140053a37
cmp ebx, 0x7a
ja 0x14005362e
je 0x1400535ff
sub ebx, 0x75
je 0x1400534f5
sub ebx, 1
je 0x14005332b
sub ebx, 1
je 0x1400532f5
sub ebx, 1
je 0x1400532cf
cmp ebx, 1
jne 0x14004fab6
mov r8d, dword [rsi + 0xc]
mov r9b, 3
mov edx, dword [rsi + 4]
mov rcx, r15
call fcn.14004f044
mov rbx, rax
test rax, rax
je 0x14005289b
mov byte [rax + 2], r13b
mov ecx, dword [rsi + 8]
mov dword [rax + 0x24], ecx
mov byte [rax + 4], r13b
call fcn.14003d0e4
mov qword [rbx + 0x30], rax
jmp 0x14004f9fe
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 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 0x14005024c
jmp 0x140050334
mov r8d, dword [rsi + 8]
mov r9b, r13b
mov edx, dword [rsi + 4]
mov rcx, r15
call fcn.14004f044
test rax, rax
je 0x14005289b
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r14
mov edx, dword [rsi + 0xc]
call fcn.140056154
jmp 0x14005000e
cmp dword [rsi + 0xc], edi
jle 0x140053351
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edi
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140120e5d]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov r14, qword [rax + rdx*8]
test r14, r14
je 0x1400533a3
mov eax, 8
test byte [r14 + 8], al
jne 0x1400533a3
movsx eax, word [r14 + 0x48]
cmp dword [rsi + 8], eax
jg 0x1400533a3
mov edx, dword [r14 + 0x44]
xor r8d, r8d
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x18], rdi
mov dword [r14 + 0x20], edi
call fcn.1400468e8
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005574c
jmp 0x1400534ec
mov r8d, dword [rsi + 8]
xor r9d, r9d
mov rcx, r15
call fcn.14004f044
mov r14, rax
test rax, rax
je 0x14005583b
or dword [rax + 8], r13d
lea r15, [rax + 0x10]
movzx ecx, word [rsi + 2]
mov r9, r15
mov rax, qword [rsp + 0x60]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [rax]
call fcn.14003e724
mov r12d, eax
test eax, eax
jne 0x140055747
mov rcx, qword [r15]
xor r8d, r8d
mov edx, r13d
call fcn.14003fa98
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x1400534c1
mov r13, qword [rsi + 0x10]
lea r12, [r14 + 0x44]
mov qword [r14 + 0x38], r13
test r13, r13
je 0x140053491
mov rdi, qword [r15]
movzx ebx, word [rsi + 2]
mov rcx, rdi
or ebx, 2
call fcn.14003cb94
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call fcn.14004646c
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov ebx, eax
call fcn.14003cc44
xor edi, edi
test ebx, ebx
jne 0x140053480
mov rax, qword [r14 + 0x30]
lea r8d, [rbx + 4]
mov edx, dword [r12]
mov r9, r13
mov rcx, qword [r15]
mov qword [rsp + 0x20], rax
call fcn.140040c2c
mov r12d, eax
mov dword [rsp + 0x48], eax
jmp 0x140053485
mov r12d, dword [rsp + 0x48]
mov byte [r14 + 4], dil
mov r13d, 1
jmp 0x1400534c1
mov rax, qword [r14 + 0x30]
mov r13d, 1
mov rcx, qword [r15]
xor r9d, r9d
mov edx, r13d
mov dword [r12], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r13 + 3]
call fcn.140040c2c
mov r12d, eax
mov dword [rsp + 0x48], eax
mov byte [r14 + 4], r13b
movzx eax, word [rsi + 2]
sub ax, 8
neg ax
mov eax, dword [r14 + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [r14 + 8], ecx
test r12d, r12d
jne 0x140055761
mov r15, qword [rsp + 0x68]
mov byte [r14 + 2], r13b
jmp 0x14005021d
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [rsi + 0x10]
mov rbx, rax
call fcn.14002df64
movzx edi, byte [rsp + 0x40]
mov dword [rsi + 4], eax
cmp dil, r13b
je 0x140053588
mov rdx, qword [rsi + 0x10]
xor eax, eax
mov r9b, r13b
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400495cc
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005577a
mov edx, edi
mov rcx, rbx
call fcn.14004883c
xor edi, edi
test eax, eax
jne 0x14005289b
mov eax, 0x2000
mov dword [rbx + 0x20], edi
or word [rbx + 0x14], ax
cmp byte [rsi + 1], 0xfa
jne 0x140053574
mov rdx, qword [rsi + 0x10]
mov rcx, r14
call fcn.14002b250
mov byte [rsi + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rsi + 4], eax
jmp 0x14005358a
xor edi, edi
cmp eax, dword [r14 + 0x88]
jg 0x14005577c
mov byte [rsi], 0x49
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov r10b, byte [rsp + 0x40]
mov r8, rax
mov r11, qword [rsp + 0x50]
mov word [rax + 0x14], 0x2202
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov ecx, dword [rsi + 4]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x16], r10b
cmp dword [rsi + 0xc], edi
jle 0x140054e38
movsxd rcx, dword [rsi + 0xc]
movzx eax, word [rsi + 2]
imul rdx, rcx, 0x38
mov ecx, 4
cmp qword [rdx + r11], rax
mov edx, dword [rsp + 0x44]
jne 0x1400535f5
mov word [r8 + 0x14], 0x2210
mov r9, qword [rsp + 0x58]
jmp 0x14004fab6
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14005361d
mov rcx, r15
call fcn.14004bc90
mov r9, qword [rsp + 0x58]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov qword [rax + rcx*8], rdi
jmp 0x1400505f7
sub ebx, 0x7c
je 0x140053973
sub ebx, 1
je 0x140053936
sub ebx, 1
je 0x140053903
sub ebx, 1
je 0x14005377b
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
cmp byte [rsi + 1], 0xfb
mov r8, qword [rcx + r11]
mov qword [rbp - 0x50], r8
jne 0x1400536aa
cmp qword [r14 + 0x130], rdi
je 0x1400536aa
movsx rcx, byte [rbx + 1]
mov rax, qword [r14 + 0x20]
mov rdi, qword [rsi + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
xor ecx, ecx
jmp 0x1400536af
xor ecx, ecx
mov r14d, ecx
test byte [rsi + 2], r13b
je 0x1400536cc
add qword [r15 + 0x38], r13
mov eax, 0x20
test byte [rsi + 2], al
je 0x1400536cc
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [rsi + 2]
mov qword [rbp - 0x48], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp - 0x34], eax
mov eax, 0x10
test al, r8b
je 0x1400536ef
mov r9d, dword [rbx + 0x24]
jmp 0x1400536f2
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140053704
mov eax, dword [rdx]
mov dword [rbp - 0x30], eax
jmp 0x140053707
mov dword [rbp - 0x30], ecx
mov qword [rbp - 0x58], rcx
lea rdx, [rbp - 0x58]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1400457b0
add dword [rsp + 0x70], r13d
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x20], eax
test r12d, r12d
jne 0x1400552d5
test rdi, rdi
je 0x140054de7
mov al, byte [rsi + 2]
mov r8, r14
mov r14, qword [rsp + 0x60]
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 [r14 + 0x128]
and edx, 5
add edx, 0x12
call qword [r14 + 0x130]
jmp 0x14004fa9c
mov rdx, rsi
mov qword [rbp - 0x68], rdi
mov rcx, r15
mov dword [rbp + 0x78], edi
call fcn.14004f3c4
movsxd rdx, dword [rsi + 4]
mov r9d, 2
mov rcx, qword [r15 + 0x78]
mov r14, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r9b
jne 0x140053806
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x78]
call fcn.1400416f4
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x1400552d5
cmp dword [rbp + 0x78], r8d
je 0x1400537d7
mov qword [rbp - 0x68], r13
lea r9d, [rax + 2]
jmp 0x140053809
mov rcx, qword [rdi + 0x30]
call fcn.140040ddc
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x68], rax
mov r9d, 2
cmp rax, rcx
jl 0x1400537ff
or dword [rdi + 8], r9d
jmp 0x140053806
inc rax
mov qword [rbp - 0x68], rax
xor r8d, r8d
movsxd rdx, dword [rsi + 0xc]
test edx, edx
je 0x140053885
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x140053839
mov rax, qword [rcx + 8]
jmp 0x14005382a
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140053823
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x140053842
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140048fd4
mov rcx, qword [rbx]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1400538e4
mov r9d, 2
test byte [rdi + 8], r9b
jne 0x1400538e4
mov rax, qword [rbp - 0x68]
inc rcx
cmp rax, rcx
jge 0x14005387f
mov rax, rcx
mov qword [rbp - 0x68], rcx
mov qword [rbx], rax
xor r8d, r8d
test byte [rdi + 8], r9b
je 0x1400538ef
mov ebx, r8d
lea rdx, [rbp - 0x68]
mov ecx, 8
call fcn.14002d790
mov rdx, qword [rbp - 0x68]
lea r9, [rbp + 0x78]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
add rdx, r13
mov qword [rbp - 0x68], rdx
mov rcx, qword [rdi + 0x30]
call fcn.14004170c
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x1400552d5
cmp dword [rbp + 0x78], r8d
jne 0x1400538ef
add ebx, r13d
cmp ebx, 0x64
jl 0x14005388e
mov r12d, 0xd
jmp 0x1400552d5
mov byte [rdi + 3], r8b
mov dword [rdi + 0x20], r8d
mov rax, qword [rbp - 0x68]
mov qword [r14], rax
jmp 0x1400510be
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [r15 + 0x78]
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x14004f9fe
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [rsi + 8]
jge 0x140053958
movzx eax, word [rsi + 8]
mov word [rdx + 0xc], ax
jmp 0x140050334
mov ecx, 4
cmp eax, dword [rsi + 0xc]
jle 0x14005396a
movzx eax, word [rsi + 0xc]
mov word [rdx + 0xc], ax
mov edx, dword [rsp + 0x44]
jmp 0x14004fab6
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 0x1c]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], dil
jne 0x14004fab1
mov rax, qword [rbx + 0x38]
xor edx, edx
mov edi, dword [rsi + 4]
mov qword [rbp - 0x58], rax
movzx eax, word [rsi + 0x28]
mov word [rbp - 0x3c], ax
movsxd rax, dword [rsi + 0x24]
imul rcx, rax, 0x38
mov byte [rbp - 0x3a], dl
add rcx, r11
mov dword [rbp + 0xb4], edx
mov qword [rbp - 0x50], rcx
lea r9, [rbp + 0xb4]
mov rdx, rbx
lea r8, [rbp - 0x58]
mov rcx, r14
call fcn.14004e008
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140055848
mov eax, dword [rbp + 0xb4]
test eax, eax
jle 0x1400539f2
cmp word [rsi + 2], cx
je 0x140053a2c
test eax, eax
jns 0x140053f36
test edi, edi
jle 0x140054dec
mov dword [rbx + 0x20], ecx
xor edx, edx
mov rcx, qword [rbx + 0x30]
sub edi, r13d
call fcn.140041f24
mov r12d, eax
test eax, eax
je 0x1400539b9
xor edi, edi
cmp eax, 0x65
jne 0x14005584a
mov r12d, edi
mov dword [rsp + 0x48], edi
jmp 0x140053a2e
xor edi, edi
add rsi, 0x18
jmp 0x14005024c
mov rcx, qword [r15 + 0x78]
movsxd rax, dword [rsi + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rsi + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [rsi + 0xc], edi
je 0x140053a5e
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
jmp 0x140053a61
mov r8, rdi
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.140045c88
jmp 0x14005000e
mov eax, 0x87
cmp ebx, eax
ja 0x140053d7d
je 0x140053cbe
sub ebx, 0x82
je 0x140053bd6
sub ebx, 1
je 0x140053bbe
sub ebx, 1
je 0x140053b77
sub ebx, 1
je 0x140053b38
cmp ebx, 1
jne 0x14004fab6
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [r15 + 0x78]
mov rdi, rax
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.140040d94
mov edx, dword [rbx + 0x40]
cmp edx, dword [r14 + 0x88]
ja 0x14005577a
mov r8, rdi
mov rcx, rbx
call fcn.140049984
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
test r12d, r12d
jne 0x140055848
cmp dword [rsi + 0xc], eax
jne 0x140054dec
mov eax, 0x4000
test word [rdi + 0x14], ax
je 0x140054dec
mov rcx, rdi
call fcn.140048aa4
xor edi, edi
test eax, eax
jne 0x14005289b
jmp 0x14004f9fe
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.140057ed8
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
movsxd rcx, dword [rsi + 0xc]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edi
jmp 0x14004f9fe
mov rax, qword [r15 + 0x78]
lea r9, [rbp + 0xb0]
movsxd rcx, dword [rsi + 4]
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0xb0], edi
add rdx, r11
call fcn.140057f98
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
cmp dword [rbp + 0xb0], edi
jmp 0x1400502b3
mov rax, qword [r15 + 0x38]
add qword [r14 + 0x80], rax
mov qword [r14 + 0x78], rax
mov qword [r15 + 0x38], rdi
jmp 0x14004fab6
movsxd rcx, dword [rsi + 4]
lea rdi, [r14 + 0x130]
mov rax, qword [r15 + 0x78]
xor edx, edx
cmp byte [rsi + 1], 0xfb
mov r13d, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
jne 0x140053c2b
cmp qword [rdi], rdx
je 0x140053c2b
mov rax, qword [r14 + 0x20]
movsx rcx, byte [rbx + 1]
mov r14, qword [rsi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
lea eax, [rdx + 2]
test byte [rsi + 2], al
je 0x140053c31
cmp byte [rbx + 4], dl
je 0x140053c31
mov rcx, qword [rbx + 0x30]
call fcn.140040ddc
mov qword [rbx + 0x50], rax
jmp 0x140053c31
mov r15, rdx
mov r14, rdx
mov dl, byte [rsi + 2]
mov rcx, qword [rbx + 0x30]
call fcn.140045ffc
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov r12d, eax
mov qword [rbx + 0x20], rcx
lea eax, [rcx + 1]
add dword [rsp + 0x70], eax
test r12d, r12d
jne 0x140050732
test al, r13b
je 0x140054ddf
mov rax, qword [rsp + 0x68]
lea r13d, [r12 + 1]
add qword [rax + 0x38], r13
mov r10, qword [rdi]
xor edi, edi
test r10, r10
je 0x140054e06
test r14, r14
je 0x140054e06
test byte [r14 + 0x30], 0x80
jne 0x140054e06
mov r9, qword [r14]
lea edx, [rcx + 9]
mov rax, qword [rbx + 0x50]
mov r8, r15
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, qword [r14 + 0x128]
call r10
mov r15, qword [rsp + 0x68]
jmp 0x14004f9fe
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rdx, dword [rsi + 4]
mov rdi, rax
mov rcx, qword [r15 + 0x78]
xor eax, eax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], al
je 0x140053ce9
mov word [rdi + 0x14], r13w
jmp 0x14004fa9c
cmp byte [rbx + 3], al
je 0x140053cf4
mov rax, qword [rbx + 0x50]
jmp 0x140053d6e
mov rcx, qword [rbx + 0x30]
mov edx, 2
cmp byte [rbx], dl
jne 0x140053d35
mov rbx, qword [rcx]
lea rdx, [rbp + 0xc8]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r15
mov r12d, eax
mov dword [rsp + 0x48], eax
call fcn.14004e1ec
test r12d, r12d
jne 0x140055848
mov rax, qword [rbp + 0xc8]
jmp 0x140053d75
cmp byte [rcx], al
je 0x140053d55
mov rcx, rbx
call fcn.14004ce0c
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
test r12d, r12d
jne 0x140055848
jmp 0x140053d5c
mov r12d, eax
mov dword [rsp + 0x48], eax
cmp byte [rbx + 2], al
jne 0x140053cdf
mov rcx, qword [rbx + 0x30]
call fcn.140040ddc
mov qword [rbp + 0xc8], rax
mov qword [rdi], rax
jmp 0x14004fa9c
mov ecx, ebx
sub ecx, 0x88
je 0x140053f3d
sub ecx, 1
je 0x140053e97
sub ecx, 1
je 0x140053de9
cmp ecx, 1
jne 0x14004fab1
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140053dd7
mov rcx, rbx
call fcn.140048afc
mov r12d, eax
test eax, eax
jne 0x140055848
mov rdx, rbx
mov rcx, rdi
call fcn.1400571a4
xor edi, edi
jmp 0x14005000e
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [rsi + 2], r13b
je 0x140053e0a
add qword [r15 + 0x38], r13
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140053e31
mov rcx, rbx
call fcn.140048afc
xor edx, edx
mov r12d, eax
test eax, eax
jne 0x140055848
mov r11, qword [rsp + 0x50]
jmp 0x140053e33
xor edx, edx
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [rsi + 2]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x58], rax
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 0x10]
add rcx, r11
mov word [rbp - 0x38], ax
mov eax, 0x10
mov qword [rbp - 0x40], rcx
test al, r8b
je 0x140053e6f
mov r9d, dword [rdi + 0x24]
jmp 0x140053e72
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x58]
and r8d, 0x8a
call fcn.1400457b0
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
mov dword [rdi + 0x20], eax
jmp 0x14004f9f3
movsxd rcx, dword [rsi + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
mov dword [rbp + 0x90], r8d
cmp bl, 0x89
jne 0x140053f14
or dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], r8b
je 0x140054dfa
lea rdx, [rbp + 0x90]
call fcn.140041694
mov r9, qword [rsp + 0x58]
mov r12d, eax
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov eax, dword [rbp + 0x90]
mov byte [rdi + 2], al
mov byte [rdi + 3], r8b
mov dword [rdi + 0x20], r8d
xor edi, edi
test r12d, r12d
jne 0x14005584a
cmp dword [rsi + 8], edi
jle 0x140054e0e
cmp dword [rbp + 0x90], edi
je 0x1400505f7
jmp 0x14005024c
cmp byte [rcx], r8b
jne 0x140053ec3
mov eax, 8
test byte [rcx + 1], al
je 0x140053ec3
mov eax, r8d
mov dword [rsp + 0x48], r8d
mov dword [rbp + 0x90], eax
mov r12d, r8d
jmp 0x140053ee4
xor edi, edi
jmp 0x14005024c
movsxd rdx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140053f7f
mov r9b, 3
mov r8d, r13d
mov rcx, r15
call fcn.14004f044
test rax, rax
je 0x14005289b
mov ecx, 8
mov dword [rax + 0x24], edi
or dword [rax + 8], ecx
lea rcx, [0x14014c11c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r13b
mov byte [rax + 2], r13b
mov dword [rax + 0x20], edi
cmp byte [rax], dil
jne 0x140054e0e
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.14002b114
mov qword [rbx + 0x18], rdi
mov byte [rbx], r13b
jmp 0x14004f9fe
movsxd rcx, dword [rsi + 4]
lea r8, [rbp + 0xb8]
mov rax, qword [r15 + 0x78]
lea rdx, [rbp - 0x58]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp - 0x58], rax
movzx eax, word [rsi + 0xc]
mov word [rbp - 0x3c], ax
xor eax, eax
mov byte [rbp - 0x3a], al
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x50], rcx
mov rcx, rdi
call fcn.140041968
mov r12d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
test r12d, r12d
jne 0x140055848
cmp dword [rbp + 0xb8], eax
jne 0x140054027
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140045ffc
xor edi, edi
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
jmp 0x140054041
xor edi, edi
cmp word [rsi + 2], di
je 0x140054041
mov eax, dword [r14 + 0x30]
and eax, 0x10000001
cmp rax, r13
jne 0x140055796
and qword [rbx + 0x20], 0
jmp 0x14004f9fe
mov eax, 0xa3
cmp ebx, eax
ja 0x140054a39
je 0x14005491e
mov eax, 0x98
cmp ebx, eax
ja 0x14005457a
je 0x140054566
mov eax, 0x92
cmp ebx, eax
ja 0x1400542d4
je 0x14005429b
sub ebx, 0x8d
je 0x1400541d6
sub ebx, 1
je 0x1400541d6
sub ebx, 1
je 0x1400541b6
sub ebx, 1
je 0x140054112
cmp ebx, 1
jne 0x14004fab6
movsxd rax, dword [rsi + 8]
lea r8, [rbp + 0x80]
mov rcx, qword [r14 + 0x20]
mov edx, dword [rsi + 4]
shl rax, 5
mov qword [rbp + 0x80], rdi
mov rcx, qword [rax + rcx + 8]
call fcn.1400468e8
mov r12d, eax
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x48], eax
cmp dword [rsi + 0xc], edi
je 0x140054104
mov rdx, qword [rbp + 0x80]
add qword [r15 + 0x38], rdx
cmp dword [rsi + 0xc], edi
jle 0x140054104
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test r12d, r12d
jne 0x14005584a
jmp 0x14004fa03
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rbx, rax
mov word [rax + 0x14], r13w
mov ecx, dword [r14 + 0xe8]
add ecx, r13d
cmp dword [r14 + 0xdc], ecx
jg 0x1400557c9
movsxd rdi, dword [rsi + 0xc]
lea r8, [rbp + 0xa0]
mov rcx, qword [r14 + 0x20]
xor eax, eax
mov edx, dword [rsi + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp + 0xa0], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.140046bac
mov r12d, eax
mov dword [rsp + 0x48], eax
mov ecx, 4
mov word [rbx + 0x14], cx
movsxd rax, dword [rbp + 0xa0]
mov qword [rbx], rax
test r12d, r12d
jne 0x140055848
mov r8d, dword [rbp + 0xa0]
test r8d, r8d
je 0x140054e23
mov r9d, dword [rsi + 4]
mov edx, edi
mov rcx, r14
call fcn.14006cb30
lea r8d, [rdi + r13]
mov byte [rsp + 0x41], r8b
jmp 0x14004fa9c
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], dil
je 0x14004fab1
call fcn.14004cdc4
jmp 0x14005000e
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], dil
je 0x140054204
mov rcx, rbx
call fcn.14004ce0c
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
jmp 0x14005420b
mov r12d, edi
mov dword [rsp + 0x48], edi
cmp byte [rbx + 2], dil
jne 0x140054289
mov qword [rbp + 0xd0], rdi
lea r8, [rbp + 0xd0]
mov rdx, qword [rbx + 0x30]
mov rcx, r14
call fcn.14004ded4
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x14005584a
cmp byte [rsi], 0x8d
jne 0x140054272
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], dil
mov rax, qword [rbp + 0xd0]
mov qword [rdx + 0x50], rax
mov byte [rdx + 3], r13b
mov dword [rdx + 0x20], edi
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x14004f9fe
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [rbp + 0xd0]
jmp 0x14005174b
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
jmp 0x14005056d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x30]
cmp byte [rdx], r13b
jne 0x1400542c0
mov rdx, rcx
mov rcx, r14
call fcn.14005663c
jmp 0x14004f9fe
mov edx, dword [rcx + 0x50]
xor r8d, r8d
mov rcx, qword [rcx + 8]
call fcn.1400468e8
jmp 0x14005000e
sub ebx, 0x93
je 0x1400544f7
sub ebx, 1
je 0x140054442
sub ebx, 1
je 0x140054320
sub ebx, 1
je 0x140054310
cmp ebx, 1
jne 0x14004fab6
mov r8, qword [rsi + 0x10]
mov rcx, r14
mov edx, dword [rsi + 4]
call fcn.140069c0c
jmp 0x14004f9fe
mov edx, dword [rsi + 4]
mov rcx, r14
call fcn.140067bec
jmp 0x14005000e
movsxd rbx, dword [rsi + 4]
mov rcx, qword [r14 + 0x20]
cmp qword [rsi + 0x10], rdi
jne 0x140054372
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14007087c
and dword [r14 + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
movzx r9d, word [rsi + 2]
mov edx, ebx
mov rcx, r14
call fcn.14008062c
or dword [r14 + 0x2c], r13d
mov r12d, eax
and dword [r15 + 0xc0], 0xfffffffc
mov dword [rsp + 0x48], eax
jmp 0x140054434
mov dword [rbp - 0x48], ebx
lea rax, [r15 + 0xa8]
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x40], edi
shl rbx, 5
mov rcx, qword [rbx + rcx + 8]
call fcn.14003e578
mov r8, qword [r14 + 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 [rsi + 0x10]
mov rcx, r14
mov qword [rsp + 0x20], rax
mov r8, qword [rbx + r8]
call fcn.14002d154
mov rbx, rax
test rax, rax
je 0x1400557d9
lea r9, [rbp - 0x58]
mov byte [r14 + 0xc5], r13b
lea r8, [fcn.14008039c]
mov dword [rbp - 0x44], edi
mov rdx, rax
mov dword [rbp - 0x3c], edi
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.14007b224
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
jne 0x140054422
mov r12d, dword [rbp - 0x44]
mov dword [rsp + 0x48], r12d
test r12d, r12d
jne 0x140054422
cmp dword [rbp - 0x3c], edi
jne 0x140054422
mov ecx, 0x18776
call fcn.1400aa894
mov r12d, eax
mov dword [rsp + 0x48], eax
mov rdx, rbx
mov rcx, r14
call fcn.14002b19c
mov byte [r14 + 0xc5], dil
test r12d, r12d
jne 0x1400557df
jmp 0x14004f9fe
add byte [r14 + 0x70], r13b
mov bl, byte [r14 + 0x6e]
mov qword [rbp + 0x80], rdi
mov edi, dword [r14 + 0x2b8]
test byte [rsi + 4], r13b
je 0x140054464
xor eax, eax
mov byte [r14 + 0x6e], al
mov eax, 2
test byte [rsi + 4], al
je 0x140054478
mov eax, dword [rsi + 8]
mov dword [r14 + 0x2b8], eax
mov rdx, qword [rsi + 0x10]
lea rax, [rbp + 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, r14
call fcn.14007b224
mov r8, qword [rbp + 0x80]
mov r12d, eax
dec byte [r14 + 0x70]
mov dword [r14 + 0x2b8], edi
xor edi, edi
mov dword [rsp + 0x48], eax
mov byte [r14 + 0x6e], bl
test r8, r8
jne 0x1400544c2
test eax, eax
je 0x14004f9fe
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
mov rcx, qword [rbp + 0x80]
call fcn.14002b114
mov bl, byte [rsp + 0x41]
cmp r12d, 7
je 0x14005289f
lea r13, [0x14012bbd4]
jmp 0x140055855
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rdx, dword [rsi + 4]
mov r14, rax
mov rax, qword [rsp + 0x60]
mov ebx, dword [rsi + 0xc]
shl rdx, 5
mov dword [rbp + 0xac], edi
mov rcx, qword [rax + 0x20]
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.14003cb94
mov r8d, ebx
lea rdx, [rbp + 0xac]
mov rcx, rdi
call fcn.14004646c
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov r12d, eax
call fcn.14003cc44
xor edi, edi
test r12d, r12d
jne 0x14005574c
mov eax, dword [rbp + 0xac]
mov qword [r14], rax
jmp 0x14005021d
mov r8, qword [rsi + 0x10]
mov rcx, r14
mov edx, dword [rsi + 4]
call fcn.140069518
jmp 0x14004f9fe
mov eax, 0x9e
cmp ebx, eax
ja 0x140054788
je 0x140054753
sub ebx, 0x99
je 0x14005473d
sub ebx, 1
je 0x140054729
sub ebx, 1
je 0x140054634
sub ebx, 1
je 0x1400545f3
cmp ebx, 1
jne 0x14004fab6
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov r9, qword [r15 + 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 [rsi + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
jmp 0x140051b08
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
add rbx, r11
mov eax, 0x10
add rdi, r11
test byte [rbx + 0x14], al
jne 0x140054623
mov rcx, rbx
call fcn.140049384
test eax, eax
jne 0x140052899
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.140035108
jmp 0x14004fa9c
movsxd rax, dword [rsi + 4]
mov rdx, qword [r14 + 0x20]
mov r8, qword [rsi + 0x10]
mov r10d, dword [rsi + 8]
add r8, 4
imul rdi, rax, 0x38
add rdi, r11
inc rax
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
mov ecx, dword [rdi]
add rbx, r11
imul r9, rax, 0x38
movzx eax, word [rsi + 2]
add ecx, r13d
add r9, r11
shl rax, 5
lea r11, [rbp - 0x20]
mov qword [rsp + 0x38], r11
lea r11, [rbp + 0xd8]
mov qword [rsp + 0x30], r11
mov rdx, qword [rax + rdx + 8]
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov dword [rsp + 0x20], r10d
call fcn.140047864
mov r12d, eax
mov dword [rsp + 0x48], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1400546b8
mov rcx, rbx
call fcn.140048de4
jmp 0x1400546bd
mov word [rbx + 0x14], r13w
mov eax, dword [rbp + 0xd8]
test eax, eax
je 0x1400546f7
test r12d, r12d
jne 0x1400557ec
dec eax
mov r9b, r13b
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.14002b114]
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400495cc
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.14004883c
xor edi, edi
mov r9, qword [rsp + 0x58]
mov eax, dword [r14 + 0x188]
test eax, eax
je 0x1400505f7
mov bl, byte [rsp + 0x41]
mov r12d, 9
jmp 0x1400544eb
mov r8, qword [rsi + 0x10]
mov rcx, r14
mov edx, dword [rsi + 4]
call fcn.14008cd04
jmp 0x14004f9fe
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov word [rax + 0x14], 8
jmp 0x14005172d
mov eax, dword [r14 + 0x30]
bt rax, 0x13
movsxd rax, dword [rsi + 8]
jae 0x14005476e
add qword [r14 + 0x2d0], rax
jmp 0x14004fab6
cmp dword [rsi + 4], edi
je 0x14005477f
add qword [r14 + 0x2c8], rax
jmp 0x14004fab6
add qword [r15 + 0x50], rax
jmp 0x14004fab6
sub ebx, 0x9f
je 0x14005489e
sub ebx, 1
je 0x14005483f
sub ebx, 1
je 0x1400547ab
cmp ebx, 1
jne 0x14004fab6
movzx ebx, word [rsi + 2]
mov rcx, r14
lea rdx, [rbx*8 + 0x68]
call fcn.14002b4ac
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x140052899
mov qword [rax + 0x10], r11
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov word [rcx + 0x14], r13w
mov qword [rcx + 0x18], r14
mov dword [rcx + 0x20], r11d
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rsi
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], r11b
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x24], r11d
mov al, byte [rsp + 0x40]
mov byte [r8 + 0x28], al
mov dword [r8 + 0x20], edx
mov byte [r8 + 0x2a], bl
mov word [rsi], 0xf1a3
mov qword [rsi + 0x10], r8
jmp 0x140054921
movsxd rax, dword [rsi + 4]
mov rdx, rsi
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
mov rcx, r15
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
call fcn.14004f3c4
mov r8, qword [rbx]
test r8, r8
jle 0x140054890
mov rdx, qword [rdi]
xor edi, edi
test rdx, rdx
cmovle rdx, rdi
test rdx, rdx
js 0x14005488b
movabs rcx, 0x7fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jl 0x140054892
add r8, rdx
jmp 0x140054896
xor edi, edi
or r8, 0xffffffffffffffff
mov qword [rax], r8
jmp 0x14004f9fe
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x1400548ca
mov rax, qword [rcx + 8]
jmp 0x1400548b7
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400548b0
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x1400548d5
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.140048fd4
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140048fd4
mov rax, qword [rbx]
mov ecx, 4
mov r11, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
cmp qword [rdi], rax
jge 0x140054e31
mov r9, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x140052ebb
xor r11d, r11d
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x50]
imul r8, rax, 0x38
add r8, rdi
cmp qword [rbx + 0x10], r8
je 0x14005497f
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x14005497f
lea r9, [rdx + 6]
mov r14d, 8
lea r9, [rbx + r9*8]
mov eax, dword [rsi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
mov qword [r9], rcx
sub r9, r14
sub rdx, r13
jns 0x14005495d
mov r14, qword [rsp + 0x60]
add dword [r8 + 0x10], r13d
mov rcx, rbx
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [rsi + 4], r11d
je 0x14005499d
call qword [rax + 0x30]
jmp 0x1400549a0
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor ecx, ecx
test eax, eax
je 0x140054e1e
jle 0x1400549d7
mov rcx, qword [rbx]
mov dl, r13b
call fcn.140049a90
mov r8, rax
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
mov r12d, dword [rbx + 0x24]
xor ecx, ecx
mov dword [rsp + 0x48], r12d
cmp byte [rbx + 0x29], cl
je 0x140054a12
cmp dword [rsi - 0x14], ecx
je 0x140054a0a
movsxd rax, dword [rsi - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rdi
test word [rcx + 0x14], ax
je 0x140054a01
mov rdx, r13
call fcn.1400492c8
jmp 0x140054a0a
mov qword [rcx], r13
mov word [rcx + 0x14], 4
xor edi, edi
mov byte [rbx + 0x29], dil
jmp 0x140054a14
xor edi, edi
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140054a27
cmp dword [rcx + 0x20], edi
je 0x140054a2c
call fcn.140048e1c
mov rax, qword [rbx]
mov word [rax + 0x14], r13w
jmp 0x14005162c
mov eax, 0xae
cmp ebx, eax
ja 0x140054e45
je 0x140054d21
mov eax, 0xa9
cmp ebx, eax
ja 0x140054bab
je 0x140054b4e
sub ebx, 0xa4
je 0x140054ae6
sub ebx, 1
je 0x140054ae6
sub ebx, 1
je 0x140054ab1
sub ebx, 1
je 0x140054a98
cmp ebx, 1
jne 0x14004fab6
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x14004fab1
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x14004fab1
cmp dword [rsi + 4], edi
jne 0x140054ac6
mov edx, dword [rsi + 8]
mov rcx, r14
call fcn.14004e0c4
jmp 0x14004f9fe
mov eax, dword [r15 + 0xc0]
mov ecx, dword [rsi + 8]
add ecx, r13d
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r15 + 0xc0], ecx
jmp 0x14004fab1
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
cmp dword [rsi + 0xc], edi
je 0x140054b23
movsxd rax, dword [rsi + 0xc]
mov r8, qword [rsi + 0x10]
imul rdx, rax, 0x38
add rdx, r11
call fcn.140048d54
mov r12d, eax
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
jmp 0x140054b33
mov rdx, qword [rsi + 0x10]
call fcn.140048c84
mov r12d, eax
mov dword [rsp + 0x48], eax
mov rcx, rbx
test r12d, r12d
jne 0x1400557f7
movzx edx, byte [rsp + 0x40]
call fcn.14004883c
jmp 0x14004f9fe
mov r8b, byte [rsi + 0xc]
test r8b, r8b
jne 0x140054b6b
movabs rax, 0x400000000
test qword [r14 + 0x30], rax
jne 0x14004fab6
movsxd rax, dword [rsi + 4]
mov rcx, qword [r14 + 0x20]
mov edx, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140047cf8
mov dword [rsp + 0x48], eax
mov r12d, eax
test eax, eax
je 0x14004f9fe
cmp al, 6
jne 0x14005584a
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140055809
sub ebx, 0xaa
je 0x140054cf1
sub ebx, 1
je 0x140054c6e
sub ebx, 1
je 0x140054c4c
cmp ebx, 1
jne 0x14004fab6
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x68], rdi
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14005581b
mov rdi, qword [rbx]
test rdi, rdi
je 0x14005581b
lea rdx, [rbp - 0x68]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov r12d, eax
mov dword [rsp + 0x48], eax
call fcn.14004e1ec
test r12d, r12d
jne 0x140055848
mov rax, qword [rbp - 0x68]
lea r9d, [r12 + 2]
xor r8d, r8d
mov rcx, r15
mov qword [rax], rbx
mov edx, dword [rsi + 4]
call fcn.14004f044
mov rcx, qword [rbp - 0x68]
test rax, rax
je 0x140055813
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r13d
jmp 0x14004fa9c
add dword [r14 + 0xe8], r13d
mov rcx, r14
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
call fcn.140091d58
dec dword [r14 + 0xe8]
jmp 0x14005000e
xorps xmm0, xmm0
lea rcx, [rbp - 0x58]
xor eax, eax
mov qword [rbp - 0x28], rax
movsxd rax, dword [rsi + 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], r14
call fcn.1400494e8
mov dl, r13b
mov dword [rsp + 0x48], eax
lea rcx, [rbp - 0x58]
mov r12d, eax
call fcn.140049a90
test rax, rax
je 0x140054ccf
mov edx, dword [rsi + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r14
call fcn.140091978
mov r12d, eax
mov dword [rsp + 0x48], eax
mov eax, 0x9000
test word [rbp - 0x44], ax
jne 0x140054ce3
cmp dword [rbp - 0x38], edi
je 0x14004f9f5
lea rcx, [rbp - 0x58]
call fcn.140048e1c
jmp 0x14004f9f5
mov rbx, qword [rsi + 0x10]
mov rcx, r14
mov rdx, rbx
call fcn.140091ed4
mov dword [rsp + 0x48], eax
mov r12d, eax
test rbx, rbx
je 0x14004f9f5
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.14004e1ec
jmp 0x14004f9f5
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
mov qword [rbp + 0x80], rdi
add rbx, r11
test word [rbx + 0x14], ax
je 0x140054d4d
mov rcx, rbx
call fcn.140048de4
mov r11, qword [rsp + 0x50]
jmp 0x140054d52
mov word [rbx + 0x14], r13w
mov rdi, qword [rsi + 0x10]
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x140054df1
mov rcx, qword [rax + 0x10]
lea r8, [rbp + 0x80]
mov qword [rsp + 0x20], r8
mov r10, qword [rcx]
add dword [rax + 0x18], r13d
movsxd rax, dword [rsi + 4]
mov rdx, qword [r14 + 0x20]
mov r9d, dword [rsi + 0xc]
mov r8, qword [rdi]
shl rax, 5
mov rdx, qword [rax + rdx]
call qword [r10 + 0xc0]
mov rcx, qword [rdi + 0x50]
mov r12d, eax
mov dword [rsp + 0x48], eax
call fcn.140090f44
xor edi, edi
test r12d, r12d
jne 0x140055823
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x140054e0e
lea rax, [fcn.14002b114]
mov r9b, r13b
or r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400495cc
jmp 0x14004f9fe
mov r13, rax
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r10b, byte [rsp + 0x40]
mov edx, dword [rsp + 0x44]
xor edi, edi
mov ecx, 4
jmp 0x1400535f5
mov r15, rax
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
jmp 0x140054dfc
mov r11, rdi
jmp 0x140054df1
mov r11, qword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov r10b, byte [rsp + 0x40]
xor edi, edi
jmp 0x1400535f5
mov edx, dword [rsp + 0x44]
jmp 0x140054dfc
mov r11, qword [rsp + 0x50]
jmp 0x140054df6
mov eax, 0xb4
cmp ebx, eax
ja 0x14005511d
je 0x140055105
sub ebx, 0xaf
je 0x14005507d
sub ebx, 1
je 0x140054f73
sub ebx, 1
je 0x140054ef6
sub ebx, 1
je 0x140054ece
cmp ebx, 1
jne 0x14004fab6
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
movsxd rdx, dword [rsi + 4]
mov rbx, rax
mov rcx, qword [r14 + 0x20]
mov r8d, dword [rsi + 0xc]
shl rdx, 5
mov r9, qword [rdx + rcx + 8]
mov edx, edi
test r8d, r8d
je 0x140054ebc
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x40]
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.14003f22c
mov eax, eax
mov qword [rbx], rax
jmp 0x14004f9fe
mov rdx, rsi
mov rcx, r15
call fcn.14004f3c4
mov rcx, qword [r14 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
jmp 0x140051734
mov edi, dword [r14 + 0x30]
mov eax, 0x4000000
or qword [r14 + 0x30], rax
and edi, eax
mov rax, qword [rsi + 0x10]
mov edx, r13d
mov r14, qword [rax + 0x10]
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14004883c
mov r12d, eax
test eax, eax
jne 0x1400552d5
mov rax, qword [r14]
mov rcx, r14
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x48], eax
mov r12d, eax
test edi, edi
jne 0x140054f54
mov rax, qword [rsp + 0x60]
btr qword [rax + 0x30], 0x1a
mov rdx, r14
mov rcx, r15
call fcn.14004e1ec
and dword [r15 + 0xc0], 0xfffffffc
xor edi, edi
mov r14, qword [rsp + 0x60]
jmp 0x14004f9f5
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
xor ecx, ecx
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], cl
je 0x140054fb3
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140054fa9
mov rcx, rbx
call fcn.140048de4
jmp 0x14004fa9c
mov word [rbx + 0x14], r13w
jmp 0x14004faaf
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov r14, qword [rax]
xor eax, eax
mov r15, qword [r14]
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], r10b
mov qword [rbp - 8], rcx
mov dword [rbp - 0xc], 0x1000000
test byte [rsi + 2], r13b
je 0x140055006
mov rcx, rbx
call fcn.140049264
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140055016
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, r13w
mov word [rbx + 0x14], ax
lea rdx, [rbp - 0x58]
mov r8d, dword [rsi + 8]
mov rcx, qword [rdi + 0x30]
call qword [r15 + 0x58]
mov r15, qword [rsp + 0x68]
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x48], eax
mov r12d, eax
call fcn.14004e1ec
xor edi, edi
cmp dword [rbp - 0x34], edi
jle 0x14005506b
mov rcx, rbx
call fcn.14004e464
mov r8, rax
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
mov r12d, dword [rbp - 0x34]
mov dword [rsp + 0x48], r12d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.14004883c
jmp 0x140054f69
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1400a7ef4
test eax, eax
jne 0x14005289b
lea ecx, [rax + 0x10]
call fcn.14002b010
mov rdi, rax
test rax, rax
je 0x140052899
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 0xc]
imul rdx, rcx, 0x38
mov rcx, r15
add rdx, qword [rsp + 0x50]
mov qword [rax + 8], rdx
mov rdx, rsi
call fcn.14004f3c4
mov rcx, rax
mov rbx, rax
mov word [rax + 0x14], r13w
call fcn.140048e1c
lea rax, str.ValueList
mov qword [rbx + 8], rdi
mov qword [rbx], rax
lea rax, [0x14004eabc]
mov qword [rbx + 0x30], rax
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], 0x70
jmp 0x14004fa9c
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
jmp 0x14004fab1
mov ecx, ebx
sub ecx, 0xb5
je 0x14005521b
sub ecx, 1
je 0x1400551de
sub ecx, 1
je 0x14005519b
cmp ecx, 1
jne 0x14004fab1
mov eax, dword [rsi + 4]
cmp eax, dword [0x140145058]
jl 0x14005518a
cmp bl, 0xb8
je 0x14004fab1
mov edx, r13d
cmp dword [r15 + 0x90], r13d
jle 0x140055188
mov eax, 0x18
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x140055178
mov dword [rax + rcx + 4], edi
add edx, r13d
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x140055167
mov eax, edi
inc eax
mov dword [rsi + 4], eax
add dword [r15 + 0xe4], r13d
jmp 0x140050251
movsxd rax, dword [rsi + 4]
mov rdx, rsi
imul rbx, rax, 0x38
mov rcx, r11
add rbx, r11
call fcn.14004f3ec
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 0x14004f9fe
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r11
test byte [rdx + r11 + 0x14], r13b
je 0x140055206
mov eax, 0xf7ff
and word [rcx + 0x14], ax
jmp 0x140050334
mov eax, 0x800
or word [rcx + 0x14], ax
mov al, byte [rdx + r11]
mov byte [rcx + 0x17], al
jmp 0x140050334
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
mov eax, 0x800
add rcx, r11
test word [rdx + r11 + 0x14], ax
je 0x14005525e
movzx eax, byte [rdx + r11 + 0x17]
mov edx, 0x9000
test word [rcx + 0x14], dx
jne 0x140051ad3
mov qword [rcx], rax
mov word [rcx + 0x14], 4
jmp 0x140050334
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140051d87
mov word [rcx + 0x14], r13w
jmp 0x140050334
mov r14, qword [rsp + 0x60]
mov r13d, 1
jmp 0x140052eb6
mov r13d, 1
jmp 0x140052b07
mov r13d, 1
jmp 0x14004faaf
mov r11, qword [rsp + 0x50]
jmp 0x14004fa0c
mov r15, qword [rsp + 0x68]
lea rax, str.into
cmp ebx, edx
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r15
cmove r8, rax
mov r12d, 1
call fcn.14004a090
mov r14, qword [rsp + 0x60]
jmp 0x140055848
and eax, 0x100000
neg rax
sbb r12d, r12d
and r12d, 0xfffffffd
add r12d, 0xb
jmp 0x14005584a
mov eax, 5
cmp r12b, al
jne 0x140055848
sub rsi, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov dword [r15 + 0x34], r12d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
xor edi, edi
jmp 0x140055492
movzx eax, byte [r14 + 0x65]
mov ebx, dword [rsi + 4]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x140055406
test ecx, ecx
je 0x14005535d
mov edx, 0x204
mov rcx, r14
call fcn.1400a8e8c
mov al, r13b
jmp 0x14005539c
test ebx, ebx
je 0x140055384
cmp dword [r14 + 0xe0], edi
jle 0x140055384
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.14004a090
mov r12d, 5
jmp 0x14005584a
mov edx, r13d
mov rcx, r15
call fcn.14004c5cc
mov r12d, eax
test eax, eax
jne 0x140055492
mov al, bl
mov rcx, r15
mov byte [r14 + 0x65], al
call fcn.14004c638
mov ecx, 5
cmp eax, ecx
jne 0x1400553e8
sub rsi, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r12d, ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [r15 + 0x30], edx
mov byte [r14 + 0x65], r13b
mov dword [r15 + 0x34], ecx
jmp 0x140055492
mov rcx, r14
call fcn.1400a89bc
mov eax, dword [r15 + 0x34]
neg eax
sbb r12d, r12d
and r12d, 0xffffff9c
add r12d, 0x65
jmp 0x140055492
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r15
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.14004a090
mov r12d, r13d
jmp 0x14005584a
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.14004a090
mov r12d, 5
jmp 0x140055848
mov r15, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x140055371
sub rsi, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r12d, ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [r14 + 0x65], dil
mov dword [rbx + 0x34], ecx
mov r15, rbx
mov rax, qword [rbp - 0x78]
add dword [r15 + 0xdc], eax
cmp dword [r15 + 0xc8], edi
je 0x1400554ae
mov rcx, r15
call fcn.14004b2b4
mov eax, r12d
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.1400e4680
lea r11, [rsp + 0x220]
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
mov r15, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
mov r8, rdi
call fcn.14004a090
mov r12d, 1
jmp 0x140055848
movzx eax, byte [rsi + 2]
mov ecx, 5
cmp word [rsi + 2], cx
mov ecx, 2
cmove eax, ecx
mov byte [r15 + 0xbc], al
jmp 0x14005584a
lea r13, [0x14012bbd4]
mov r9d, 0x18651
lea r8, str.database_corruption
mov qword [rsp + 0x20], r13
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.14002d39c
mov r12d, 0xb
jmp 0x140055851
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r15
mov r12d, 1
call fcn.14004a090
jmp 0x140055848
mov ecx, dword [rbx]
xor edi, edi
mov dword [r15 + 0x34], ecx
mov al, byte [rsi + 8]
mov byte [r15 + 0xbc], al
test ecx, ecx
je 0x140055639
mov rcx, r15
cmp word [rsi + 2], di
je 0x1400555e8
movzx r8d, word [rsi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x12c8c8]
call fcn.14004a090
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x1400555f8
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, r14
call fcn.14002d154
mov qword [r15 + 0xa8], rax
jmp 0x1400555f8
mov r8, qword [rsi + 0x10]
lea rdx, [0x140125d00]
call fcn.14004a090
sub rsi, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, qword [r15 + 0xf0]
mov ecx, dword [rbx]
imul rsi
mov rax, qword [r15 + 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.14002d39c
mov rcx, r15
call fcn.14004c638
mov r12d, eax
mov eax, 5
cmp r12d, eax
jne 0x1400553f0
mov dword [r15 + 0x34], eax
jmp 0x140055492
mov eax, dword [r15 + 0x2c]
add eax, 2
or eax, r13d
mov dword [r15 + 0x2c], eax
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [r15 + 0xa0], rcx
cmp byte [r14 + 0x67], dil
jne 0x14005289b
mov eax, 4
test byte [r14 + 0x6e], al
je 0x1400556ab
mov rdx, qword [r14 + 0x100]
xor r9d, r9d
mov r8, r15
mov ecx, eax
call qword [r14 + 0xf8]
mov r9, qword [rsp + 0x58]
sub rsi, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov r12d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r13d
mov dword [r15 + 0x30], edx
jmp 0x140055492
movsxd rax, edi
mov rcx, r14
lea rdi, [rax + rax*2]
mov ebx, dword [r15 + rdi*8 + 8]
shr ebx, 4
and ebx, 0xf
sub ebx, edx
call fcn.14004f6f0
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rdi*8]
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov rcx, r15
mov rax, qword [r13]
mov qword [rsp + 0x20], rax
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x146b90]
call fcn.14004a090
mov r12d, 0xc13
jmp 0x1400552d5
mov ecx, 0x17872
call fcn.1400aa894
mov r12d, eax
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x14005584a
mov r12d, 0x204
jmp 0x14005584a
mov rcx, qword [r15]
call fcn.14003edfc
jmp 0x140055747
mov r14, rax
jmp 0x140055775
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
xor edi, edi
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.14004a090
mov r12d, 0x12
jmp 0x14005584a
mov r12d, 0x30b
lea r13, [0x14012bbd4]
mov ecx, r12d
mov qword [rsp + 0x20], r13
mov r9d, 0x18584
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14002d39c
jmp 0x140055851
mov r12d, 6
mov byte [r15 + 0xbc], 2
jmp 0x14005584a
mov r12d, 7
mov rcx, r14
call fcn.140069720
jmp 0x1400544dd
mov rcx, qword [rbp - 0x20]
call fcn.14002b114
jmp 0x140055848
mov dl, r13b
call fcn.140049a90
mov r8, rax
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
jmp 0x14005584a
call qword [rdi + 0x38]
jmp 0x140052899
mov r12d, 6
jmp 0x14005584a
mov rcx, qword [rbp + 0x80]
call fcn.14002b114
jmp 0x14005584a
mov r15, qword [rsp + 0x68]
jmp 0x140052899
mov r14, qword [rsp + 0x60]
jmp 0x14005289b
mov r14, rbx
xor edi, edi
lea r13, [0x14012bbd4]
mov bl, byte [rsp + 0x41]
cmp byte [r14 + 0x67], dil
je 0x140055863
mov r12d, 7
jmp 0x140055895
cmp r12d, 0x210a
jne 0x140055895
mov r9d, 0x18f66
mov qword [rsp + 0x20], r13
lea r8, str.database_corruption
mov ecx, 0xb
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14002d39c
mov r12d, 0xb
mov r13d, 0xc0a
cmp qword [r15 + 0xa8], rdi
jne 0x1400558c3
cmp r12d, r13d
je 0x1400558c3
mov ecx, r12d
call fcn.1400a8fd8
mov r8, rax
lea rdx, [0x140125d00]
mov rcx, r15
call fcn.14004a090
mov edx, r12d
mov dword [r15 + 0x34], r12d
mov rcx, r14
call fcn.14002e008
sub rsi, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, qword [r15 + 0xf0]
mov ecx, r12d
imul rsi
mov rax, qword [r15 + 0xa8]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.14002d39c
mov eax, 2
cmp byte [r15 + 0xbf], al
jne 0x14005592a
mov rcx, r15
call fcn.14004c638
cmp r12d, r13d
jne 0x140055939
mov rcx, r14
call fcn.14002b7d0
jmp 0x140055953
cmp r12d, 0xb
jne 0x140055953
cmp byte [r14 + 0x65], dil
jne 0x140055953
movabs rax, 0x200000000
or qword [r14 + 0x30], rax
mov r12d, 1
test bl, bl
je 0x140055492
movzx edx, bl
mov rcx, r14
dec edx
call fcn.140069698
jmp 0x140055492