Function at 0x14004af84
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 - 0x1d8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x14013c0e8]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r9, qword [rcx + 0x88]
mov r8, rcx
mov qword [rsp + 0x68], rcx
mov r12, r9
xor ecx, ecx
mov qword [rsp + 0x58], r9
mov r15d, ecx
mov dword [rsp + 0x48], ecx
mov r13b, cl
mov rsi, qword [r8]
mov r10d, ecx
mov r14, qword [r8 + 0x68]
mov edi, ecx
mov qword [rsp + 0x70], rsi
mov byte [rsp + 0x41], cl
mov r11b, byte [rsi + 0x64]
mov byte [rsp + 0x40], r11b
mov dword [rsp + 0x44], ecx
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x78], r14
mov dword [rbp - 0x80], ecx
cmp dword [r8 + 0xd0], ecx
je 0x14004b03c
mov rcx, r8
call fcn.140045ca8
mov r8, qword [rsp + 0x68]
mov r9, r12
mov r11b, byte [rsp + 0x40]
mov r10d, edi
xor ecx, ecx
cmp qword [rsi + 0x210], rcx
je 0x14004b05e
mov ecx, dword [rsi + 0x220]
xor edx, edx
mov eax, dword [r8 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
xor ecx, ecx
jmp 0x14004b062
or rbx, 0xffffffffffffffff
cmp dword [r8 + 0x34], 7
mov edx, 2
mov qword [rsp + 0x60], rbx
je 0x1400512a3
mov dword [r8 + 0x34], ecx
mov qword [r8 + 0x48], rcx
mov eax, dword [rsi + 0x198]
mov dword [rsi + 0x298], ecx
test eax, eax
jne 0x140051284
mov r12, qword [rsp + 0x68]
lea r8d, [rdx - 1]
xorps xmm8, xmm8
movsxd rax, dword [r12 + 0x30]
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
lea ecx, [rdx + 2]
lea eax, [rdx + 3]
movzx ebx, byte [r13]
add rdi, r8
mov qword [rsp + 0x50], r13
mov qword [rbp - 0x70], rdi
cmp ebx, 0x5b
ja 0x14004d7a6
je 0x14004d778
cmp ebx, 0x2d
ja 0x14004c751
je 0x14004c68e
cmp ebx, 0x16
ja 0x14004bf85
je 0x14004bd82
cmp ebx, 0xb
ja 0x14004bb5c
je 0x14004bb2b
cmp ebx, eax
ja 0x14004b8fc
je 0x14004b8bc
xor edi, edi
test ebx, ebx
je 0x14004b52c
sub ebx, 1
je 0x140050dc9
sub ebx, 1
je 0x14004b38c
sub ebx, 1
je 0x14004b2f5
cmp ebx, 1
jne 0x14004b2de
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rcx, dword [r13 + 4]
mov r14, rax
mov rax, qword [rsi + 0x20]
mov ebx, dword [r13 + 0xc]
shl rcx, 5
mov r15, qword [rcx + rax + 8]
mov rcx, r15
call fcn.140041484
mov rcx, rax
mov rsi, rax
call fcn.140034138
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.140034140
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.140033e34
mov edx, 5
cmp ebx, edx
jne 0x14004b1cc
mov rcx, rax
call fcn.140027ec0
test eax, eax
je 0x14004b1b7
mov rcx, rsi
call fcn.140034288
xor ecx, ecx
test eax, eax
jne 0x14004b1d0
mov ebx, edi
mov r15d, dword [rsp + 0x48]
test r15d, r15d
je 0x14004b270
jmp 0x14004b26e
xor ecx, ecx
jmp 0x14004b1d5
mov edx, 5
cmp ebx, edi
je 0x14004b1b9
cmp edi, edx
je 0x14004b1e1
cmp ebx, edx
jne 0x14004b1b9
mov r9, qword [rsp + 0x70]
mov eax, 1
cmp byte [r9 + 0x65], cl
je 0x140050d2e
cmp dword [r9 + 0xdc], eax
jg 0x140050d2e
cmp edi, edx
jne 0x14004b227
mov rdx, r9
mov rcx, rsi
call fcn.1400343ac
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x14004b269
mov edx, ebx
mov rcx, rsi
call fcn.14003403c
xor ecx, ecx
jmp 0x14004b244
mov eax, 4
cmp edi, eax
jne 0x14004b23d
lea edx, [rax - 2]
mov rcx, rsi
call fcn.14003403c
xor ecx, ecx
cmp dword [rsp + 0x48], 0
jne 0x14004b269
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.1400424d4
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14004b1be
mov r15d, dword [rsp + 0x48]
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.14003403c
mov ecx, 0x2202
mov word [r14 + 0x14], cx
mov ecx, eax
call fcn.140075b54
mov rcx, rax
mov qword [r14 + 8], rax
call fcn.140027ec0
mov dword [r14 + 0x10], eax
mov rcx, r14
mov eax, 1
mov byte [r14 + 0x16], al
movzx edx, byte [rsp + 0x40]
call fcn.140043230
mov rsi, qword [rsp + 0x70]
test r15d, r15d
jne 0x140050d71
mov r14, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x44]
mov r11b, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov r8d, 1
mov ecx, 4
mov eax, 5
mov rdi, qword [rbp - 0x70]
add r13, 0x18
mov edx, 2
jmp 0x14004b0b3
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0x168]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0x164]
or dword [rbp + 0x168], 0xffffffff
mov rcx, rsi
or dword [rbp + 0x164], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x160], edi
call fcn.1400a06ac
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14004b354
mov ecx, 5
cmp eax, ecx
jne 0x140050d71
lea eax, [rcx - 4]
mov dword [rsp + 0x48], edi
mov dword [rbp + 0x160], eax
mov r15d, edi
movsxd rax, dword [r13 + 0xc]
mov r12d, 1
imul rbx, rax, 0x38
add rbx, r14
movsxd rdx, dword [rbp + rdi*4 + 0x160]
mov rcx, rbx
call fcn.140043c34
add rdi, r12
add rbx, 0x38
cmp rdi, 3
jl 0x14004b365
mov r12, qword [rsp + 0x68]
jmp 0x14004b2c4
mov edx, dword [r13 + 8]
mov dword [rbp + 0x98], edi
test edx, edx
je 0x14004b3b1
mov rax, qword [rsi + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140050d5e
movsxd rdi, dword [r13 + 4]
shl rdi, 5
add rdi, qword [rsi + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14004b484
lea r8, [rbp + 0x98]
mov rcx, rbx
call fcn.14003a774
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d7b
lea eax, [r15 + 0x20]
test byte [r12 + 0xc8], al
je 0x14004b525
cmp dword [r13 + 8], r11d
je 0x14004b525
lea eax, [r15 + 1]
cmp byte [rsi + 0x65], r11b
je 0x14004b41d
cmp dword [rsi + 0xdc], eax
jle 0x14004b525
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x14004b440
add dword [rsi + 0x2f4], eax
mov r8d, dword [rsi + 0x2f0]
add r8d, dword [rsi + 0x2f4]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.14008a214
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14004b46c
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.14003b494
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsi + 0x2f8]
mov qword [r12 + 0x58], rax
mov rax, qword [rsi + 0x300]
mov qword [r12 + 0x60], rax
xor ebx, ebx
test r15d, r15d
jne 0x140050d71
cmp word [r13 + 2], bx
je 0x14004b2c4
mov eax, dword [r13 + 0xc]
cmp dword [rbp + 0x98], eax
jne 0x14004b4b7
mov rcx, qword [rdi + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x14004b2c4
mov rdx, qword [r12 + 0xa8]
mov rcx, rsi
call fcn.1400250e8
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.140025510
mov qword [r12 + 0xa8], rax
mov rax, qword [rsi + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x98]
cmp dword [rcx], eax
je 0x14004b504
mov rcx, rsi
call fcn.14006495c
mov eax, dword [r12 + 0xc8]
mov r15d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x140050d71
xor ebx, ebx
jmp 0x14004b48f
mov r12d, dword [r13 + 4]
xor r15d, r15d
mov rdi, qword [r13 + 0x10]
test r12d, r12d
jne 0x14004b600
cmp dword [rsi + 0xe0], r15d
jg 0x140050edf
mov rcx, rdi
call fcn.140027ec0
mov rbx, qword [rsp + 0x70]
xor edx, edx
mov rcx, rbx
movsxd rsi, eax
mov r8d, dword [rbx + 0x2f4]
add r8d, dword [rbx + 0x2f0]
call fcn.14008a214
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400512d1
lea rdx, [rsi + 0x21]
mov rcx, rbx
call fcn.140025360
mov rbx, rax
test rax, rax
je 0x14004b889
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400cd040
mov rsi, qword [rsp + 0x70]
xor edi, edi
lea eax, [rdi + 1]
cmp byte [rsi + 0x65], dil
je 0x14004b5cd
mov byte [rsi + 0x65], dil
mov byte [rsi + 0x6d], al
jmp 0x14004b5d3
add dword [rsi + 0x2f0], eax
mov rax, qword [rsi + 0x2e0]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi + 0x2f8]
mov qword [rsi + 0x2e0], rbx
mov qword [rbx + 8], rax
mov rax, qword [rsi + 0x300]
mov qword [rbx + 0x10], rax
jmp 0x14004b88e
mov r9, qword [rsp + 0x70]
mov esi, r15d
mov r14, qword [r9 + 0x2e0]
test r14, r14
je 0x140050f78
mov rcx, qword [r14]
mov rdx, rdi
call fcn.1400282cc
test eax, eax
je 0x14004b62f
mov r14, qword [r14 + 0x18]
inc esi
jmp 0x14004b60f
mov rcx, qword [rsp + 0x70]
mov r8d, 1
cmp dword [rcx + 0xe0], r15d
jle 0x14004b64c
cmp r12d, r8d
je 0x140050f03
lea rbx, [r14 + 0x18]
mov qword [rbp + 0x88], rbx
cmp qword [rbx], r15
jne 0x14004b6cc
cmp byte [rcx + 0x6d], r15b
je 0x14004b6cc
mov r13d, r8d
cmp r12d, r8d
jne 0x14004b6cf
mov rdi, qword [rsp + 0x68]
mov edx, r8d
mov rcx, rdi
call fcn.140046e88
mov r15d, eax
test eax, eax
jne 0x1400513e1
mov r9, qword [rsp + 0x70]
lea eax, [r15 + 1]
mov rcx, rdi
mov byte [r9 + 0x65], al
call fcn.140046ef4
lea r8d, [r15 + 5]
cmp eax, r8d
je 0x140050f2c
mov r15d, dword [rdi + 0x34]
xor eax, eax
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x48], r15d
test r15d, r15d
je 0x14004b6c4
mov byte [rcx + 0x65], al
jmp 0x14004b7b2
mov byte [rcx + 0x6d], al
jmp 0x14004b7b2
mov r13d, r15d
mov eax, dword [rcx + 0x2f0]
mov edx, 2
sub eax, esi
mov esi, eax
mov eax, dword [rcx + 0x28]
sub esi, r8d
mov dword [rbp + 0x98], esi
cmp r12d, edx
jne 0x14004b743
mov r15d, dword [rcx + 0x2c]
xor edx, edx
and r15d, r8d
mov esi, edx
test eax, eax
jle 0x14004b73d
mov edi, r15d
mov ebx, edx
xor edi, r8d
mov rcx, qword [rcx + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14003b2ec
xor r11d, r11d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x1400512c7
mov rcx, qword [rsp + 0x70]
inc esi
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp esi, eax
jl 0x14004b706
mov esi, dword [rbp + 0x98]
xor ebx, ebx
mov edi, ebx
test eax, eax
jle 0x14004b77e
mov rcx, qword [rcx + 0x20]
mov r8d, esi
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.14003b4d8
xor r11d, r11d
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x1400512c7
mov rcx, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14004b74b
test r15d, r15d
je 0x14004b7a1
xor edx, edx
call fcn.140048790
mov rcx, qword [rsp + 0x70]
call fcn.1400649d8
mov rcx, qword [rsp + 0x70]
mov eax, 1
or dword [rcx + 0x2c], eax
mov rdi, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x48]
mov rbx, qword [rbp + 0x88]
xor r11d, r11d
test r15d, r15d
jne 0x14004f37f
jmp 0x14004b7e2
mov rdx, qword [rcx + 0x2e0]
mov rax, qword [rdx + 0x18]
mov qword [rcx + 0x2e0], rax
call fcn.1400250e8
mov rcx, qword [rsp + 0x70]
dec dword [rcx + 0x2f0]
cmp qword [rcx + 0x2e0], r14
jne 0x14004b7c0
mov r8d, 1
cmp r12d, r8d
jne 0x14004b81b
mov rax, qword [rbx]
mov rdx, r14
mov qword [rcx + 0x2e0], rax
call fcn.1400250e8
test r13d, r13d
jne 0x14004b87f
mov r9, qword [rsp + 0x70]
dec dword [r9 + 0x2f0]
jmp 0x14004b840
mov rax, qword [r14 + 8]
mov qword [rcx + 0x2f8], rax
mov rax, qword [r14 + 0x10]
mov qword [rcx + 0x300], rax
test r13d, r13d
je 0x14004b840
mov eax, 2
cmp r12d, eax
jne 0x14004b86e
mov r8d, esi
mov edx, r12d
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.14008a214
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050ef9
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x14004b88e
mov r13, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b894
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov r8d, 1
mov r12, qword [rsp + 0x68]
cmp byte [r12 + 0xc7], 3
je 0x140050f6d
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x44]
mov r11b, byte [rsp + 0x40]
jmp 0x14004b2d9
xor edi, edi
cmp dword [r13 + 8], edi
je 0x14004b8d1
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, r14
jmp 0x14004b8d4
mov r9, rdi
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, rsi
call fcn.140088a80
mov r15d, eax
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140050d71
jmp 0x14004b2c4
sub ebx, 6
je 0x14004ba6c
sub ebx, 1
je 0x14004b95f
sub ebx, 1
je 0x140050b18
sub ebx, 1
je 0x14004cea8
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r14 + 0x14], cx
mov rcx, r13
sub rcx, r9
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x14004cea2
xor edi, edi
mov qword [rbp + 0x88], rdi
cmp byte [rsi + 0x67], dil
jne 0x140051273
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140050fc5
mov r10, qword [rbx]
test r10, r10
je 0x140050fc5
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], rdi
je 0x140050d15
movsxd rax, dword [r13 + 0xc]
xor r11d, r11d
mov dil, byte [rsi + 0x6c]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, r14
test edx, edx
jle 0x14004b9cf
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x14004b9bf
mov al, byte [r13 + 2]
lea r9, [rbp + 0x88]
mov rcx, rbx
mov byte [rsi + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.1400488d4
xor edi, edi
test r15d, r15d
jne 0x14004ba2b
cmp dword [r13 + 4], edi
je 0x14004ba12
mov rax, qword [rbp + 0x88]
mov qword [rsi + 0x38], rax
mov r8d, 1
add qword [r12 + 0x38], r8
test r15d, r15d
jne 0x140050d71
jmp 0x14004b8a8
cmp r15b, 0x13
jne 0x14004ba12
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], dil
je 0x14004ba12
mov ecx, 4
cmp word [r13 + 2], cx
jne 0x140050f97
mov r15d, edi
mov dword [rsp + 0x48], edi
mov r11b, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x58]
mov r8d, 1
jmp 0x14004b2de
movsxd rax, dword [r13 + 0xc]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov r13, qword [rax + rcx*8]
xor eax, eax
lea r11, [rdx + 0x38]
mov r8d, eax
movsxd r9, dword [r11]
mov edx, dword [rdx]
mov rdi, qword [r13 + 0x30]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14004bac6
lea r12d, [rax + 1]
mov r10d, r12d
movsxd rax, r10d
add r10d, r12d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r12
cmp r8, r9
jl 0x14004baad
mov r12, qword [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov r8, qword [r12 + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov dword [rsp + 0x48], eax
call fcn.1400488d4
mov r15d, dword [rsp + 0x48]
xor ebx, ebx
test r15d, r15d
jne 0x14004df0b
mov rcx, rdi
call qword [r14 + 0x50]
mov byte [r13 + 2], bl
lea r8d, [r15 + 1]
mov r13, r12
mov r12, qword [rsp + 0x68]
test eax, eax
jne 0x14004f798
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b8a8
movsxd rax, dword [r13 + 4]
xor ebx, ebx
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r8d
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 0x14], ax
cmp dword [r13 + 8], ebx
jne 0x14004f798
jmp 0x14004b2d9
cmp ebx, 0x11
ja 0x14004bd5c
je 0x14004bd30
sub ebx, 0xc
je 0x14004bced
sub ebx, 1
je 0x14004bc65
sub ebx, 1
je 0x14004bc3c
sub ebx, 1
je 0x14004bbbb
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043848
mov r8d, 1
test eax, eax
jne 0x14004f798
jmp 0x14004b8a8
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x14004bc1f
mov r9, qword [r8 + 0x28]
mov rcx, r13
sub rcx, qword [r12 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14004bca0
bts eax, edx
mov byte [rcx + r9], al
mov rcx, qword [r12 + 0x88]
mov r9, qword [rsp + 0x58]
jmp 0x14004bc30
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x14004bca5
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
jmp 0x14004b2d3
test r10d, r10d
jns 0x14004bc57
mov eax, dword [r13 + 4]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14004b2d9
jne 0x14004bc5f
mov eax, dword [r13 + 8]
jmp 0x14004bc45
mov eax, dword [r13 + 0xc]
jmp 0x14004bc45
movsxd rax, dword [r13 + 4]
mov edi, 4
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 0x14]
test dil, al
jne 0x14004bccc
mov r8b, r11b
mov dl, 0x43
mov rcx, rbx
call fcn.14004ab58
movzx eax, word [rbx + 0x14]
test dil, al
jne 0x14004bcc1
xor ebx, ebx
cmp dword [r13 + 8], ebx
je 0x140050fd0
mov r9, qword [rsp + 0x58]
mov r8d, 1
mov eax, dword [r13 + 8]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14004e1cf
mov r9, qword [rsp + 0x58]
mov r8d, 1
mov r10d, dword [rsp + 0x44]
mov ecx, 0xf244
mov r11b, byte [rsp + 0x40]
and ax, cx
or ax, di
mov rcx, rdi
mov word [rbx + 0x14], ax
jmp 0x14004b2de
movsxd rax, dword [r13 + 4]
sub r13, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
mov word [r8 + r14 + 0x14], cx
movsxd rcx, dword [r8 + r14]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r13, [r9 + rcx*8]
mov qword [r8 + r14], rax
jmp 0x14004b2d3
movsxd rax, dword [r13 + 4]
xor ebx, ebx
cmp dword [r13 + 0xc], ebx
mov edx, ebx
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043848
lea r8d, [rbx + 1]
test eax, eax
je 0x14004f798
jmp 0x14004b8a8
mov ecx, ebx
sub ecx, 0x12
je 0x14004bef3
sub ecx, 1
je 0x14004bead
sub ecx, 1
je 0x14004be76
cmp ecx, 1
jne 0x14004b2d9
mov rax, qword [r12 + 0x78]
xor edi, edi
movsxd rcx, dword [r13 + 4]
mov r12d, edi
mov r14, qword [rax + rcx*8]
mov word [r14 + 2], di
mov dword [r14 + 0x20], edi
cmp byte [r14 + 4], dil
je 0x14004c0c7
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x78]
movzx esi, word [rdi + 0x14]
mov al, sil
and al, 0x2e
cmp al, dl
jne 0x14004bdcb
xor edx, edx
mov rcx, rdi
call fcn.14004aacc
mov rcx, rdi
call fcn.1400437c0
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], si
test cl, 0x24
jne 0x14004c095
mov eax, 8
test al, cl
jne 0x14004c069
lea r8d, [rax - 7]
test r8b, cl
jne 0x14004f7a2
cmp ebx, 0x17
jae 0x14004f7a2
mov rcx, qword [r14 + 0x30]
lea rdx, [rbp + 0x90]
call fcn.14003c0f0
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d54
mov r8d, 1
cmp dword [rbp + 0x90], edi
jne 0x14004f7a7
mov rsi, qword [rsp + 0x70]
mov ecx, 4
mov r10d, dword [rsp + 0x44]
test r12d, r12d
mov r11b, byte [rsp + 0x40]
mov r12, qword [rsp + 0x68]
lea r8d, [rcx - 3]
je 0x1400509fb
add r13, 0x18
mov r14, qword [rsp + 0x78]
mov r9, qword [rsp + 0x58]
jmp 0x14004b2de
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14004b2d9
cmp byte [rdx + 2], dil
je 0x14004b2d9
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043ba4
jmp 0x14004bca0
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 0x14], r8b
jne 0x14004bee6
xor edx, edx
call fcn.140043848
xor edi, edi
mov rcx, rbx
test eax, eax
mov edx, edi
sete dl
call fcn.140043c34
jmp 0x14004b2c4
mov rcx, rbx
call fcn.140043ba4
jmp 0x14004b2c4
xor eax, eax
cmp dword [r13 + 4], eax
jl 0x14004bf4f
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0x4a]
cmp dword [r13 + 0xc], eax
jge 0x14004bf46
movsxd rax, dword [r13 + 0xc]
mov ecx, dword [rdx + rax*4 + 0x78]
cmp ecx, 0xc
jb 0x14004bf32
and cl, r8b
neg cl
sbb dx, dx
and dx, 0xfffc
add dx, 8
jmp 0x14004bf75
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x11cbc8]
jmp 0x14004bf75
mov ecx, dword [r13 + 0x10]
sub ecx, r8d
jmp 0x14004bf6f
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140048cc8
mov r9, qword [rsp + 0x58]
mov r8d, 1
sub eax, r8d
mov cl, al
mov edx, r8d
shl dx, cl
test word [r13 + 2], dx
jne 0x14004bcab
jmp 0x14004b8ad
cmp ebx, 0x22
ja 0x14004c485
je 0x14004c558
cmp ebx, 0x1c
ja 0x14004c1d7
je 0x14004bfca
mov ecx, ebx
sub ecx, 0x17
je 0x14004bd82
sub ecx, 1
je 0x14004bd82
sub ecx, 1
je 0x14004c042
sub ecx, 1
je 0x14004c026
cmp ecx, 1
jne 0x14004b2d9
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r14
mov word [rbp - 0x3c], ax
mov qword [rbp - 0x50], rcx
test ax, ax
je 0x14004c36b
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x3a], dil
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.14003c3a0
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14004c3df
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jl 0x14004bfca
jmp 0x14004b2d9
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14004cea8
cmp byte [rdx + 2], dil
je 0x14004b2d9
jmp 0x14004cea8
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140047b7c
xor edi, edi
test eax, eax
jle 0x14004c086
lea eax, [rdi + 1]
test al, bl
jne 0x14004c097
sub ebx, eax
jmp 0x14004c097
jns 0x14004c097
mov eax, 1
test al, bl
je 0x14004c097
add ebx, eax
jmp 0x14004c097
xor edi, edi
mov rcx, qword [r14 + 0x30]
lea r9, [rbp + 0x90]
xor r8d, r8d
mov rdx, r15
call fcn.14003c108
mov rsi, qword [rsp + 0x70]
mov qword [r14 + 0x50], r15
mov r15d, eax
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140050d71
jmp 0x14004c144
mov rcx, qword [r14 + 0x30]
call fcn.140042584
test eax, eax
lea r8, [rbp + 0x90]
mov rax, qword [r14 + 0x38]
mov edx, 1
cmovne r12d, edx
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x3c], ax
lea eax, [rbx - 1]
and al, dl
mov byte [rbp - 0x36], dil
neg al
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
and cl, 0xfe
add cl, dl
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x3a], cl
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov qword [rbp - 0x50], rcx
mov rcx, qword [r14 + 0x30]
call fcn.14003c3a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
test r12d, r12d
je 0x14004c144
cmp byte [rbp - 0x36], dil
je 0x14004be2b
mov eax, dword [rbp + 0x90]
cmp ebx, 0x17
jl 0x14004c1a5
test eax, eax
js 0x14004c165
jne 0x14004c15a
cmp ebx, 0x18
je 0x14004c165
mov dword [rbp + 0x90], edi
jmp 0x14004be3d
mov dword [rbp + 0x90], edi
xor edx, edx
mov rcx, qword [r14 + 0x30]
call fcn.14003c89c
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14004be2b
cmp eax, 0x65
jne 0x140050d71
lea r8d, [rax - 0x64]
mov dword [rsp + 0x48], edi
mov dword [rbp + 0x90], r8d
mov r15d, edi
jmp 0x14004be31
test eax, eax
jg 0x14004c1c4
jne 0x14004c1b0
cmp ebx, 0x15
je 0x14004c1c4
mov rcx, qword [r14 + 0x30]
call fcn.140037e20
mov dword [rbp + 0x90], eax
jmp 0x14004be2b
mov dword [rbp + 0x90], edi
xor edx, edx
mov rcx, qword [r14 + 0x30]
call fcn.14003c9d0
jmp 0x14004c176
mov ecx, ebx
sub ecx, 0x1d
je 0x14004bfca
sub ecx, 1
je 0x14004c283
sub ecx, 1
je 0x14004c2ec
sub ecx, 1
je 0x14004f714
cmp ecx, 1
jne 0x14004b2d9
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0xb4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.14003c058
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
cmp dword [rbp + 0xb4], edi
jne 0x14004f792
mov rcx, rbx
call fcn.14003c748
test rax, rax
js 0x14004c278
mov rcx, rax
call fcn.140029d98
movsx ecx, ax
lea r8d, [r15 + 1]
mov eax, dword [rbp + 0xb4]
cmp ecx, dword [r13 + 0xc]
cmovl eax, r8d
mov dword [rbp + 0xb4], eax
jmp 0x14004bbae
mov eax, dword [rbp + 0xb4]
jmp 0x14004bba8
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
jne 0x14004c2ec
movups xmm0, xmmword [rcx]
mov r8b, r11b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x128], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x138], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x128]
movups xmmword [rbp + 0x148], xmm0
movsd qword [rbp + 0x158], xmm1
call fcn.14004ab58
mov eax, 4
test byte [rbp + 0x13c], al
je 0x14004f792
mov rdi, qword [rbp + 0x128]
jmp 0x14004c2f8
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r13 + 4]
lea r9, [rbp + 0xc8]
mov rax, qword [r12 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0xc8], eax
call fcn.14003c108
mov qword [rbx + 0x50], rdi
mov r15d, eax
xor edi, edi
mov dword [rsp + 0x48], eax
mov word [rbx + 2], di
mov dword [rbx + 0x20], edi
mov eax, dword [rbp + 0xc8]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0xc8], edi
je 0x14004c363
cmp dword [r13 + 8], edi
jne 0x14004f792
mov ecx, 0x17d2e
call fcn.1400a19c4
mov r15d, eax
mov dword [rsp + 0x48], eax
test r15d, r15d
jmp 0x14004b8f1
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14004c383
call fcn.1400434c4
test eax, eax
jne 0x140051273
mov rcx, qword [rbx + 0x38]
call fcn.140047830
xor r15d, r15d
mov rdi, rax
test rax, rax
je 0x140051273
mov rcx, qword [rbp - 0x50]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.140047878
mov byte [rdi + 0x1e], r15b
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.14003c3a0
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.140025034
xor edi, edi
test r15d, r15d
jne 0x140050d54
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], dil
setne al
mov dword [rbx + 0x20], edi
mov byte [rbx + 2], al
cmp byte [r13], 0x1d
jne 0x14004c416
lea r8d, [r15 + 1]
test ecx, ecx
je 0x14004f798
mov rsi, qword [rsp + 0x70]
jmp 0x14004b8a8
test ecx, ecx
jne 0x14004f792
cmp byte [r13], 0x1b
lea r8d, [rcx + 1]
jne 0x14004c458
movzx edx, word [rbp - 0x3c]
mov rcx, rdi
test rdx, rdx
je 0x140050a05
mov rax, qword [rbp - 0x50]
add rax, 0x14
test byte [rax], r8b
jne 0x14004f798
add rcx, r8
add rax, 0x38
cmp rcx, rdx
jl 0x14004c441
jmp 0x14004c40c
cmp byte [r13], 0x1a
mov ecx, 4
mov rsi, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x44]
mov r11b, byte [rsp + 0x40]
jne 0x1400509fb
movzx eax, word [r13 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x14004be6c
cmp ebx, 0x28
ja 0x14004c5cf
je 0x14004c68e
sub ebx, 0x23
je 0x14004c558
sub ebx, 1
je 0x14004c560
sub ebx, 1
je 0x14004c4f1
sub ebx, 1
je 0x14004c4d5
cmp ebx, 1
jne 0x14004b2de
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14003c89c
jmp 0x14004c509
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14003c9d0
jmp 0x14004c509
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
mov rdx, rbx
call fcn.1400540a0
mov r15d, eax
mov dword [rsp + 0x48], eax
xor edi, edi
mov dword [rbx + 0x20], edi
test eax, eax
jne 0x14004c538
mov r9, qword [rsp + 0x58]
lea r8d, [r15 + 1]
mov byte [rbx + 2], dil
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], r8d
jmp 0x14004cea8
cmp r15d, 0x65
jne 0x140050d71
mov r8d, 1
mov dword [rsp + 0x48], edi
mov byte [rbx + 2], r8b
mov r15d, edi
jmp 0x1400500c3
add dword [r12 + 0xdc], r8d
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0xb0]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0xb0], r8d
cmp byte [rbx], r8b
jne 0x14004c58c
mov rcx, rbx
call fcn.140054030
xor edi, edi
jmp 0x14004c59e
mov rcx, qword [rbx + 0x30]
call fcn.14003c058
xor edi, edi
mov byte [rbx + 3], dil
mov dword [rbx + 0x20], edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
mov al, byte [rbp + 0xb0]
mov byte [rbx + 2], al
cmp dword [r13 + 8], edi
jle 0x1400509e6
cmp dword [rbp + 0xb0], edi
lea r8d, [r15 + 1]
jmp 0x14004bbb0
mov ecx, ebx
sub ecx, 0x29
je 0x14004c68e
sub ecx, 1
je 0x14004c68e
sub ecx, 1
je 0x14004c5f1
cmp ecx, 1
jne 0x14004b2d9
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043848
movsxd rcx, dword [r13 + 8]
mov edi, 2
imul rcx, rcx, 0x38
mov edx, edi
mov ebx, eax
add rcx, r14
call fcn.140043848
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd rcx, eax
lea rax, [0x140000000]
jne 0x14004c63a
mov r8b, byte [rcx + rax + 0x120730]
jmp 0x14004c642
mov r8b, byte [rcx + rax + 0x121990]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r14 + 0x14]
cmp r8b, dil
jne 0x14004c669
mov eax, 0xf241
mov r8d, 1
and cx, ax
or cx, r8w
jmp 0x14004c683
movzx eax, r8b
mov r8d, 1
mov qword [rdx + r14], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r14 + 0x14], cx
jmp 0x14004b8a8
movsxd rcx, dword [r13 + 4]
cmp bl, 0x2a
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x3c], ax
sbb al, al
mov byte [rbp - 0x3a], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp - 0x50], rcx
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.14003b810
mov ebx, eax
test rbx, rbx
je 0x140050fdb
cmp rbx, 0x7fffffff
ja 0x140050fdb
xor r8d, r8d
lea rcx, [rbp - 0x20]
mov rdx, rsi
call fcn.140043b94
lea r8, [rbp - 0x20]
mov edx, ebx
mov rcx, rdi
call fcn.140044150
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
mov rdx, qword [rbp - 0x18]
lea r8, [rbp - 0x58]
mov ecx, dword [rbp - 0x10]
xor r9d, r9d
call fcn.140047e10
lea rcx, [rbp - 0x20]
mov ebx, eax
call fcn.140043780
mov dl, byte [r13]
lea ecx, [rbx + 1]
neg ebx
lea r8d, [r15 + 1]
and dl, r8b
cmovne ebx, ecx
test ebx, ebx
jg 0x14004f798
jmp 0x14004b8a8
cmp ebx, 0x44
ja 0x14004d070
je 0x14004d041
cmp ebx, 0x39
ja 0x14004cd5b
je 0x14004cb35
cmp ebx, 0x33
ja 0x14004cb0a
je 0x14004caf2
sub ebx, 0x2e
je 0x14004caa0
sub ebx, 1
je 0x14004ca35
sub ebx, 1
je 0x14004c7e9
sub ebx, 1
je 0x14004c7bb
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], r8b
jne 0x14004bcab
jmp 0x14004b2d9
xor edi, edi
cmp dword [r13 + 4], edi
je 0x14004c7e2
cmp qword [rsi + 0x2f8], rdi
jne 0x14004b2de
cmp qword [rsi + 0x300], rdi
je 0x14004bcab
jmp 0x14004b2de
cmp qword [r12 + 0x50], rdi
jmp 0x14004c7ca
movsxd rax, dword [r13 + 0xc]
xor ebx, ebx
mov r15, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp word [r13 + 2], bx
je 0x14004c822
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x108]
jmp 0x14004c81d
cmp qword [rax + 0x30], rcx
je 0x140050d0b
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004c80f
mov eax, dword [r12 + 0x118]
cmp eax, dword [rsi + 0xb0]
jge 0x140050fed
mov ecx, 0x10
test byte [rdi + 0x14], cl
jne 0x14004c95a
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x14004c86d
add eax, 7
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, qword [rsp + 0x70]
movsxd rdx, esi
call fcn.1400252e0
mov rbx, rax
test rax, rax
je 0x14005128f
mov rcx, rdi
call fcn.140043760
sub r13, qword [rsp + 0x58]
mov eax, 0x1010
mov word [rdi + 0x14], ax
lea rax, [0x140045e74]
mov qword [rdi + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [rdi + 0x10], esi
mov rsi, qword [rsp + 0x70]
mov qword [rdi + 8], rbx
imul r13
mov qword [rbx], r12
mov dword [rbx + 0x58], r14d
mov ecx, dword [r15 + 0x10]
mov dword [rbx + 0x5c], ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14004c950
xor edx, edx
mov word [rax + 0x14], dx
mov qword [rax + 0x18], rsi
add rax, 0x38
cmp rax, rcx
jne 0x14004c93f
mov eax, dword [r12 + 0x118]
jmp 0x14004c95e
mov rbx, qword [rdi + 8]
inc eax
lea r14, [rbx + 0x70]
mov dword [r12 + 0x118], eax
xor edi, edi
mov rax, qword [r12 + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [r12]
mov qword [rsp + 0x78], r14
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rbx + 0x40], rax
mov qword [r12 + 0x128], rdi
mov qword [r12 + 0x38], rdi
mov qword [r12 + 0x108], rbx
mov qword [r12 + 0x68], r14
movsxd rcx, dword [rbx + 0x58]
mov dword [r12 + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r12 + 0x28], eax
imul rdx, rcx, 0x38
add rdx, r14
mov qword [r12 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400cd940
mov r9, qword [r15]
mov qword [r12 + 0x88], r9
mov eax, dword [r15 + 8]
mov r15d, dword [rsp + 0x48]
lea r13, [r9 - 0x18]
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r13
mov dword [r12 + 0x90], eax
jmp 0x1400500bd
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 0x14], al
jne 0x14004ca66
mov rcx, rbx
call fcn.140043cfc
test eax, eax
jne 0x14005128f
test edi, edi
je 0x14004ca89
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.14002fb20
test eax, eax
jne 0x14004f792
test edi, edi
js 0x1400509e1
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 8]
call fcn.14002f7c8
mov rsi, qword [rsp + 0x70]
jmp 0x14004b2c4
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r14
test byte [rbx + 0x14], al
je 0x14004cae5
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x120]
call fcn.14002fab0
test eax, eax
je 0x14004cae5
movsxd rax, dword [r13 + 0xc]
mov rdx, qword [rbp + 0x120]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043c34
jmp 0x1400500bd
mov rcx, rbx
call fcn.140043ba4
jmp 0x14004ce9d
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], r8b
je 0x14004bcab
jmp 0x14004b2d9
mov ecx, ebx
sub ecx, 0x34
je 0x14004cb30
sub ecx, 1
je 0x14004cb30
sub ecx, 1
je 0x14004cb30
sub ecx, 1
je 0x14004cb30
cmp ecx, 1
mov ecx, 4
jne 0x14004b2de
jmp 0x14004cb35
mov ecx, 4
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 0x14]
add r14, qword [rsp + 0x78]
movzx edi, word [r14 + 0x14]
movzx eax, di
and ax, si
test cl, al
je 0x14004cbd8
mov rcx, qword [r15]
mov rax, rbx
cmp qword [r14], rcx
lea rcx, [0x140000000]
jle 0x14004cb9e
xor ebx, ebx
cmp byte [rax + rcx + 0x11d7b8], bl
mov r15d, dword [rsp + 0x48]
jne 0x14004bcab
mov r10d, r8d
mov dword [rsp + 0x44], r8d
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b2d9
mov r15d, dword [rsp + 0x48]
jge 0x14004cbbf
xor ebx, ebx
cmp byte [rax + rcx + 0x11d7ac], bl
jne 0x14004bcab
or r10d, 0xffffffff
mov dword [rsp + 0x44], r10d
jmp 0x14004cb8f
xor edi, edi
cmp byte [rbx + rcx + 0x11d7b2], dil
jne 0x14004bcab
mov r10d, edi
mov dword [rsp + 0x44], edi
jmp 0x14004cb8f
movzx ecx, di
or cx, si
test r8b, cl
je 0x14004cc30
test byte [r13 + 2], 0x80
je 0x14004cc22
test r8b, al
je 0x14004cc07
mov eax, 0x100
test ax, di
jne 0x14004cc07
xor ebx, ebx
mov r10d, ebx
mov dword [rsp + 0x44], ebx
jmp 0x14004cd04
movzx eax, di
not ax
and eax, r8d
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x44], r10d
jmp 0x14004cd04
mov eax, 0x10
test byte [r13 + 2], al
jmp 0x14004cb7c
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14004cc74
test dl, cl
je 0x14004cce3
mov al, sil
and al, 0x2e
cmp al, dl
jne 0x14004cc5f
xor edx, edx
mov rcx, r15
call fcn.14004aacc
movzx edi, word [r14 + 0x14]
mov edx, 2
mov al, dil
and al, 0x2e
cmp al, dl
jne 0x14004cce3
xor edx, edx
mov rcx, r14
call fcn.14004aacc
jmp 0x14004cce3
cmp al, 0x42
jne 0x14004cce3
test dl, cl
je 0x14004cce3
test dl, sil
jne 0x14004ccba
test sil, 0x2c
je 0x14004ccba
mov dl, r11b
mov rcx, r15
call fcn.14004353c
xor si, word [r15 + 0x14]
mov ebx, 0xdbf
and si, bx
mov edx, 2
xor si, word [r15 + 0x14]
lea r8d, [rdx - 1]
cmp r15, r14
jne 0x14004ccbf
movzx edi, si
or di, dx
jmp 0x14004ccbf
mov ebx, 0xdbf
test dl, dil
jne 0x14004cce3
test dil, 0x2c
je 0x14004cce3
mov dl, byte [rsp + 0x40]
mov rcx, r14
call fcn.14004353c
xor di, word [r14 + 0x14]
and di, bx
xor di, word [r14 + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140047bfc
mov r9, qword [rsp + 0x58]
mov r10d, eax
mov dword [rsp + 0x44], eax
mov r8d, 1
movzx eax, byte [r13]
test r10d, r10d
jns 0x14004cd17
lea rax, [rax + 0x11d7ac]
jmp 0x14004cd29
jne 0x14004cd22
lea rax, [rax + 0x11d7b2]
jmp 0x14004cd29
lea rax, [rax + 0x11d7b8]
lea rcx, [0x140000000]
add rax, rcx
mov al, byte [rax]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov r15d, dword [rsp + 0x48]
test al, al
jne 0x14004f798
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b8b2
cmp ebx, 0x3f
ja 0x14004cec3
je 0x14004ce49
sub ebx, 0x3a
je 0x14004ce41
sub ebx, 1
je 0x14004ce1c
sub ebx, 1
je 0x14004cdf5
sub ebx, 1
je 0x14004cdcb
cmp ebx, 1
jne 0x14004b2de
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14003ae68
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x1400509e6
cmp eax, 0x65
jne 0x140050d71
mov r15d, edi
mov dword [rsp + 0x48], edi
jmp 0x14004bca0
movsxd rax, dword [r13 + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdx
jle 0x14004cded
dec rax
mov qword [rcx + r14], rax
test rax, rax
jmp 0x14004caff
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14004b2d9
jle 0x14004bcab
dec rax
mov qword [rcx + r14], rax
jmp 0x14004bcab
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x14004b2d9
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14004bcab
test r10d, r10d
jmp 0x14004c7d7
movsxd rcx, dword [r13 + 4]
xor ebx, ebx
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], bl
jne 0x14004b2d9
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400488d4
test r15d, r15d
jne 0x140050d54
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x70]
test eax, eax
jne 0x1400500bd
mov r9, qword [rsp + 0x58]
mov r8d, 1
mov eax, dword [r13 + 8]
sub eax, r8d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
mov qword [rsp + 0x50], r13
jmp 0x1400500c3
sub ebx, 0x40
je 0x14004cfdb
sub ebx, 1
je 0x14004cefb
sub ebx, 1
je 0x14004cefb
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 0x14], cl
je 0x14004b2de
mov rax, qword [rax + r14]
jmp 0x14004bc4a
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x14004cf69
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], r12
sub rdx, 1
mov qword [rbx], rdi
mov byte [rbx + 0x28], r11b
lea r9d, [rax - 1]
js 0x14004cf69
mov esi, 1
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
lea r12d, [rsi + 7]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, esi
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r8], rcx
sub r8, r12
sub rdx, rsi
jns 0x14004cf3b
mov r12, qword [rsp + 0x68]
mov r8d, 1
mov rsi, qword [rsp + 0x70]
mov eax, 0xf241
mov rcx, rbx
and word [rdi + 0x14], ax
or word [rdi + 0x14], r8w
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1400509e6
jle 0x14004cfb9
mov rcx, rdi
call fcn.140048cb0
mov r8, rax
lea rdx, [0x140122ff0]
mov rcx, r12
call fcn.1400447f0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r15d
mov r9d, dword [r13 + 4]
lea rdx, [r12 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, rsi
call fcn.140047348
xor edi, edi
mov dword [rbx + 0x24], edi
jmp 0x14004c363
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, r14
imul rbx, rax, 0x38
call fcn.14004ad00
mov ecx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r9, qword [rsp + 0x58]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + r14 + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
mov al, dl
and al, 7
movzx eax, al
bt r8d, eax
mov r8d, 1
jb 0x14004d034
add dword [r12 + 0xf4], r8d
jmp 0x14004bcab
add dword [r12 + 0xf0], r8d
jmp 0x14004b8ad
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r8d
cdqe
xor ebx, ebx
mov word [rdx + r14 + 0x14], bx
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14004b2d9
cmp ebx, 0x4f
ja 0x14004d3c3
je 0x14004d36b
cmp ebx, 0x4a
ja 0x14004d1ed
je 0x14004d2f7
sub ebx, 0x45
je 0x14004d155
sub ebx, 1
je 0x14004d168
sub ebx, 1
je 0x14004d13e
sub ebx, 1
je 0x14004d124
cmp ebx, 1
jne 0x14004b2de
xor edi, edi
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov r11b, byte [rsp + 0x40]
mov r8, rax
mov eax, 0x2202
mov word [r8 + 0x14], ax
mov rcx, qword [r13 + 0x10]
mov qword [r8 + 8], rcx
mov ecx, dword [r13 + 4]
mov dword [r8 + 0x10], ecx
mov byte [r8 + 0x16], r11b
cmp dword [r13 + 0xc], edi
jle 0x140050a19
movsxd rcx, dword [r13 + 0xc]
movzx eax, word [r13 + 2]
mov r10d, dword [rsp + 0x44]
imul rdx, rcx, 0x38
mov ecx, 4
cmp qword [rdx + r14], rax
jne 0x140050a24
mov eax, 0x2210
mov word [r8 + 0x14], ax
jmp 0x14004ba5c
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x14004b2c4
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x14004b2c4
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], r8b
je 0x14004b2d9
mov rbx, qword [r12 + 0x108]
xor edi, edi
test rbx, rbx
je 0x140051004
cmp dword [r13 + 4], edi
jne 0x140051004
mov rax, qword [rbx + 8]
mov rcx, rsi
mov rdx, qword [r12 + 0x38]
dec dword [r12 + 0x118]
mov qword [r12 + 0x108], rax
call fcn.14004877c
mov rcx, rbx
call fcn.14004671c
cmp dword [r13 + 8], 4
lea r8d, [rdi + 1]
mov r9, qword [r12 + 0x88]
mov qword [rsp + 0x58], r9
jne 0x14004d1d4
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r8d
mov r14, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x78], r14
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14004b8ad
sub ebx, 0x4b
je 0x14004d2f7
sub ebx, 1
je 0x14004d2d9
sub ebx, 1
je 0x14004d27e
cmp ebx, 1
jne 0x14004b2de
mov eax, dword [r13 + 4]
sub eax, r8d
cdqe
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x80]
mov rcx, rdi
call fcn.140043d4c
test eax, eax
jne 0x1400511a5
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r14
test word [rbx + 0x14], ax
je 0x14004d250
mov rcx, rbx
call fcn.140043ba4
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call fcn.1400cd040
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x14004b2c4
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rdx, qword [r13 + 0x10]
xor edi, edi
mov rbx, rax
mov rcx, rax
test rdx, rdx
jne 0x14004d2b5
mov edx, dword [r13 + 4]
call fcn.140043bc8
mov rcx, rbx
call fcn.1400434c4
test eax, eax
jne 0x140051273
jmp 0x14004d2c6
movsxd r8, dword [r13 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rdi
call fcn.140043ed8
mov r11b, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x44]
mov byte [rbx + 0x16], r11b
jmp 0x14004b2ce
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, r14
and word [rcx + 0x14], ax
or word [rcx + 0x14], r8w
jmp 0x14004b2d9
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov ecx, dword [r13 + 4]
mov r8d, 1
mov edi, dword [r13 + 0xc]
neg ecx
mov edx, dword [r13 + 8]
mov ecx, 0x100
sbb si, si
lea rbx, [rax + 0x10]
and si, cx
xor r10d, r10d
add si, r8w
mov dword [rbx], r10d
sub edi, edx
mov word [rax + 0x14], si
test edi, edi
jle 0x140050a05
xor r12d, r12d
lea rbx, [rbx + 0x38]
lea rcx, [rbx - 0x10]
call fcn.140043ba4
mov r8d, 1
mov word [rbx + 4], si
sub edi, r8d
mov dword [rbx], r12d
test edi, edi
jg 0x14004d340
mov r12, qword [rsp + 0x68]
jmp 0x14004c40c
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
call fcn.140043e98
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14004d3ab
mov rcx, rbx
call fcn.14004346c
test eax, eax
jne 0x14005128f
add rdi, 0x38
add rbx, 0x38
mov r8d, 1
sub esi, r8d
jne 0x14004d385
jmp 0x14004c40c
cmp ebx, 0x55
ja 0x14004d592
je 0x14004d574
sub ebx, 0x50
je 0x14004d4f0
sub ebx, 1
je 0x14004d4ca
sub ebx, 1
je 0x14004d4ae
sub ebx, 1
je 0x14004d49f
cmp ebx, 1
jne 0x14004b2de
mov eax, dword [r12 + 0x2c]
add eax, edx
or eax, r8d
mov dword [r12 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r14
mov qword [r12 + 0xa0], rcx
cmp byte [rsi + 0x67], al
jne 0x140051273
lea eax, [rbx + 3]
test byte [rsi + 0x6e], al
je 0x14004d451
mov rdx, qword [rsi + 0x100]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [rsi + 0xf8]
mov r9, qword [rsp + 0x58]
mov r8d, ebx
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
mov r15d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r8d
mov dword [r12 + 0x30], edx
mov rdi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov r14d, 2
mov r13b, byte [rsp + 0x41]
jmp 0x140051405
xor edx, edx
mov rcx, r12
call fcn.140046e88
jmp 0x14004b8e8
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov rdx, qword [rdx + r14]
add rcx, r14
jmp 0x14004bedc
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
mov r8d, 0x4000
call fcn.140043db4
jmp 0x14004b2c4
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, r14
imul rbx, rax, 0x38
add rbx, r14
mov r14d, 0x4000
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140043db4
test word [rbx + 0x14], r14w
je 0x14004d535
mov rcx, rbx
call fcn.14004346c
test eax, eax
jne 0x14005128f
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14004d557
mov ecx, 2
test byte [r13 + 2], cl
je 0x14004d557
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r8d, 1
sub esi, r8d
test eax, eax
je 0x140050a05
add rbx, 0x38
add rdi, 0x38
jmp 0x14004d510
xor ebx, ebx
cmp dword [r13 + 4], ebx
je 0x14004b2e3
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
xor edx, edx
jmp 0x14004bedc
sub ebx, 0x56
je 0x14004d759
sub ebx, 1
je 0x14004d73a
sub ebx, 1
je 0x14004d6fb
cmp ebx, edx
jne 0x14004b2de
test byte [r13 + 2], r8b
jne 0x14004d5c1
xor eax, eax
mov edi, eax
jmp 0x14004d5ca
mov rdi, qword [r13 - 8]
add rdi, rcx
xor eax, eax
mov rcx, qword [rsp + 0x50]
mov r15d, eax
mov r13, qword [r13 + 0x10]
mov rbx, rax
movsxd rax, dword [rcx + 0xc]
mov edx, dword [rcx + 4]
mov r8d, dword [rcx + 8]
mov dword [rbp + 0x98], edx
mov dword [rbp - 0x78], r8d
mov qword [rbp + 0xd0], rax
test rax, rax
jle 0x140050cea
lea r14, [r13 + 0x20]
test rdi, rdi
je 0x14004d60c
mov ecx, dword [rdi + rbx*4]
jmp 0x14004d60f
mov ecx, r15d
mov rax, qword [r13 + 0x18]
lea r12d, [rcx + r8]
mov r8, qword [r14]
lea esi, [rcx + rdx]
imul rdx, r12, 0x38
imul rcx, rsi, 0x38
movzx eax, byte [rbx + rax]
add rdx, qword [rsp + 0x78]
and eax, 1
mov dword [rbp + 0x88], eax
add rcx, qword [rsp + 0x78]
call fcn.140047bfc
xor r11d, r11d
mov dword [rsp + 0x44], eax
mov r10d, eax
test eax, eax
jne 0x14004d68e
mov edx, dword [rbp + 0x98]
lea eax, [r10 + 1]
mov r8d, dword [rbp - 0x78]
add r15d, eax
add rbx, rax
add r14, 8
cmp rbx, qword [rbp + 0xd0]
jl 0x14004d602
mov r13, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b2c9
mov rax, qword [r13 + 0x18]
mov ecx, 2
mov r14, qword [rsp + 0x78]
lea r8d, [rcx - 1]
test byte [rbx + rax], cl
je 0x14004d6c3
imul rax, rsi, 0x38
test byte [rax + r14 + 0x14], r8b
jne 0x14004d6bb
imul rax, r12, 0x38
test byte [rax + r14 + 0x14], r8b
je 0x14004d6c3
neg r10d
mov dword [rsp + 0x44], r10d
cmp dword [rbp + 0x88], r11d
mov ecx, 4
mov r11b, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
je 0x1400509fb
mov r13, qword [rsp + 0x50]
neg r10d
mov dword [rsp + 0x44], r10d
jmp 0x14004be6c
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14004d724
mov rcx, rbx
call fcn.1400434c4
mov r15d, eax
test eax, eax
jne 0x140050d71
mov r8b, byte [rsp + 0x40]
mov rcx, rbx
mov dl, byte [r13 + 8]
call fcn.140043aa4
jmp 0x14004b8e8
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
je 0x14004b2d9
call fcn.140043918
jmp 0x14004b2c4
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400438f0
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x14004b2c4
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043848
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
jmp 0x14004bedc
mov eax, 0x8a
cmp ebx, eax
ja 0x14004f9f6
je 0x14004f954
cmp ebx, 0x73
ja 0x14004ed10
je 0x14004ec6d
cmp ebx, 0x68
ja 0x14004e5c0
je 0x14004e480
cmp ebx, 0x62
ja 0x14004e459
je 0x14004e3f0
sub ebx, 0x5c
je 0x14004e3b9
sub ebx, edx
je 0x14004de6d
sub ebx, 1
je 0x14004dd3c
sub ebx, 1
je 0x14004dca2
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
xor edx, edx
mov rdi, qword [r13 + 0x10]
mov r15d, edx
imul rcx, rax, 0x38
mov eax, dword [r13 + 8]
mov r12d, edx
sub eax, r8d
mov dword [rbp + 0x88], edx
add rcx, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
add rsi, rcx
mov qword [rbp - 0x78], rdx
add r13, r14
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xd0], rsi
mov qword [rbp - 0x68], r13
test rdi, rdi
je 0x14004d8c4
mov al, byte [rdi]
lea rbx, [rcx + 0x14]
mov sil, byte [rsp + 0x40]
lea r14d, [rdx + 0x20]
mov r12d, 0xfffb
lea rcx, [rbx - 0x14]
mov r8b, sil
mov dl, al
call fcn.14004ab58
cmp byte [rdi], 0x45
jne 0x14004d89f
movzx eax, word [rbx]
test al, 4
je 0x14004d89f
and ax, r12w
or ax, r14w
mov word [rbx], ax
mov r8d, 1
add rbx, 0x38
add rdi, r8
mov al, byte [rdi]
test al, al
jne 0x14004d87a
mov r12d, dword [rbp + 0x88]
mov r13, qword [rbp - 0x68]
mov rsi, qword [rbp + 0xd0]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test r8b, cl
je 0x14004d8ed
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r12d, r8d
jmp 0x14004da3f
test cl, 0x24
je 0x14004d9d0
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14004d905
not rdx
mov r9d, 1
add r12d, r9d
cmp rdx, 0x7f
ja 0x14004d940
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x14004d935
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xc5], 4
jb 0x14004d935
lea eax, [rdx + 8]
jmp 0x14004d9c8
add r15, r9
mov eax, r9d
jmp 0x14004d9c8
cmp rdx, 0x7fff
ja 0x14004d950
mov eax, 2
jmp 0x14004d972
cmp rdx, 0x7fffff
ja 0x14004d964
add r15, 3
mov eax, 3
jmp 0x14004d9c8
cmp rdx, 0x7fffffff
ja 0x14004d977
mov eax, 4
add r15, rax
jmp 0x14004d9c8
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14004d991
add r15, 6
mov eax, 5
jmp 0x14004d9c8
mov edx, 8
add r15, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14004d9c3
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x10], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x14004d9c8
mov eax, 6
mov dword [r14], eax
mov r8, r9
jmp 0x14004da3f
mov eax, 8
test al, cl
je 0x14004d9e8
add r12d, r8d
mov dword [r14], 7
add r15, rax
jmp 0x14004da3f
mov esi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, r8d
bt cx, 0xa
lea edi, [rsi + 6]
lea edi, [rax + rdi*2]
jae 0x14004da27
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea edi, [rdi + rax*2]
test r15, r15
je 0x14004da23
mov rcx, rbx
call fcn.1400434c4
test eax, eax
jne 0x14005128f
add esi, dword [rbx]
jmp 0x14004da27
add qword [rbp - 0x78], rax
mov eax, esi
mov ecx, edi
add r15, rax
call fcn.140029a24
add r12d, eax
mov dword [r14], edi
mov r8d, 1
lea rax, [r14 - 0x24]
cmp rax, qword [rbp + 0x98]
je 0x14004da55
sub r14, 0x38
jmp 0x14004d8c8
cmp r12d, 0x7e
jg 0x14004da60
add r12d, r8d
jmp 0x14004da7c
movsxd rcx, r12d
call fcn.140029a24
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.140029a24
cmp ebx, eax
jge 0x14004da7c
inc r12d
mov rsi, qword [rbp - 0x78]
movsxd rax, dword [r13 + 0x20]
movsxd r14, r12d
lea rbx, [r15 + r14]
lea rcx, [rbx + rsi]
cmp rcx, rax
jg 0x14004da9e
mov rax, qword [r13 + 0x28]
mov qword [r13 + 8], rax
jmp 0x14004dac5
mov r9, qword [rsp + 0x70]
movsxd rax, dword [r9 + 0x88]
cmp rcx, rax
jg 0x1400511ac
mov edx, ebx
mov rcx, r13
call fcn.14004335c
test eax, eax
jne 0x14005128f
mov dword [r13 + 0x10], ebx
mov eax, 0x10
mov word [r13 + 0x14], ax
test rsi, rsi
je 0x14004dae6
mov eax, 0x410
mov dword [r13], esi
mov word [r13 + 0x14], ax
mov rsi, qword [r13 + 8]
lea rdi, [rsi + r14]
cmp r12d, 0x80
jge 0x14004db04
mov ecx, 1
mov byte [rsi], r12b
add rsi, rcx
jmp 0x14004db1a
mov rdx, r14
mov rcx, rsi
call fcn.1400297c8
movsxd rcx, eax
add rsi, rcx
mov ecx, 1
mov r14, qword [rbp + 0x98]
mov r15, qword [rbp + 0xd0]
add r14, 0x10
mov ebx, dword [r14 + 0x14]
cmp ebx, 7
ja 0x14004dc3f
mov byte [rsi], bl
add rsi, rcx
test ebx, ebx
je 0x14004dc8c
cmp ebx, 7
jne 0x14004db68
lea r8d, [rbx + 1]
lea rdx, [r14 - 0x10]
lea rcx, [rbp + 0xa0]
call fcn.1400cd040
mov rcx, qword [rbp + 0xa0]
jmp 0x14004db73
mov rcx, qword [r14 - 0x10]
mov qword [rbp + 0xa0], rcx
lea rdx, [0x140000000]
movzx edx, byte [rbx + rdx + 0x11cd70]
mov eax, edx
sub eax, 1
je 0x14004dc38
sub eax, 1
je 0x14004dc23
sub eax, 1
je 0x14004dc0e
sub eax, 1
je 0x14004dbf9
cmp eax, 2
je 0x14004dbcf
mov byte [rdi + 7], cl
mov rax, qword [rbp + 0xa0]
shr rax, 8
mov qword [rbp + 0xa0], rax
mov byte [rdi + 6], al
mov rcx, qword [rbp + 0xa0]
shr rcx, 8
mov qword [rbp + 0xa0], rcx
mov byte [rdi + 5], cl
mov rax, qword [rbp + 0xa0]
shr rax, 8
mov qword [rbp + 0xa0], rax
mov byte [rdi + 4], al
mov rcx, qword [rbp + 0xa0]
shr rcx, 8
mov qword [rbp + 0xa0], rcx
mov byte [rdi + 3], cl
mov rcx, qword [rbp + 0xa0]
shr rcx, 8
mov qword [rbp + 0xa0], rcx
mov byte [rdi + 2], cl
mov rcx, qword [rbp + 0xa0]
shr rcx, 8
mov qword [rbp + 0xa0], rcx
mov byte [rdi + 1], cl
mov rcx, qword [rbp + 0xa0]
shr rcx, 8
mov qword [rbp + 0xa0], rcx
mov byte [rdi], cl
add rdi, rdx
jmp 0x14004dc87
cmp ebx, 0x80
jae 0x14004dc5a
mov byte [rsi], bl
add rsi, rcx
cmp ebx, 0xe
jb 0x14004dc8c
xor eax, eax
cmp dword [r14], eax
jle 0x14004dc8c
jmp 0x14004dc72
mov rdx, rbx
mov rcx, rsi
call fcn.1400297c8
movsxd rcx, eax
xor eax, eax
add rsi, rcx
cmp dword [r14], eax
je 0x14004dc87
movsxd r8, dword [r14]
mov rcx, rdi
mov rdx, qword [r14 - 8]
call fcn.1400cd040
movsxd rax, dword [r14]
add rdi, rax
mov ecx, 1
lea rax, [r14 - 0x10]
cmp rax, r15
je 0x1400509d7
add r14, 0x38
jmp 0x14004db2c
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r14
mov r8b, r11b
mov dl, al
mov rcx, rbx
call fcn.14004ab58
cmp byte [rdi], 0x45
jne 0x14004dd1b
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x14004dd1b
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14004dcff
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x14004dd17
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 r11b, byte [rsp + 0x40]
mov r8d, 1
add rdi, r8
mov al, byte [rdi]
test al, al
je 0x140050a2c
add rbx, 0x38
jmp 0x14004dcb3
mov r15, qword [r13 + 0x10]
xor ebx, ebx
movsxd rax, dword [r13 + 4]
mov edi, ebx
imul rsi, rax, 0x38
mov r14, qword [r15 + 8]
add rsi, qword [rsp + 0x78]
cmp bx, word [r15 + 0x36]
jge 0x140050cf7
lea rbx, [r14 + 0xc]
test byte [rbx + 6], 0x60
je 0x14004dd84
mov eax, 0x20
test byte [rbx + 6], al
jne 0x14004de36
xor eax, eax
cmp dword [r13 + 0xc], eax
jne 0x14004de32
mov dl, byte [rbx]
mov r8b, r11b
mov rcx, rsi
call fcn.14004ab58
movzx ecx, word [rsi + 0x14]
mov r8d, 1
test r8b, cl
jne 0x14004de32
mov eax, dword [rbx - 4]
lea edx, [r8 + 1]
shr eax, 4
and eax, 0xf
sub eax, edx
je 0x14004de25
sub eax, r8d
je 0x14004de1e
sub eax, r8d
je 0x14004de1e
sub eax, r8d
je 0x14004ddcd
cmp eax, r8d
jne 0x14004de32
test dl, cl
jmp 0x14004de2c
mov eax, 4
test al, cl
je 0x14004de19
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r9, 0xffffffffffff
cmp rax, r9
ja 0x14004ddfb
or cx, 0x20
jmp 0x14004de0b
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rsi], xmm0
mov eax, 0xfffb
and cx, ax
mov word [rsi + 0x14], cx
jmp 0x14004de32
test cl, 0x28
jmp 0x14004de2c
mov eax, 4
jmp 0x14004de2a
mov eax, 0x10
test al, cl
je 0x140051116
add rsi, 0x38
movsx eax, word [r15 + 0x36]
add edi, r8d
mov r11b, byte [rsp + 0x40]
add rbx, 0x18
cmp edi, eax
jl 0x14004dd64
mov r15d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x44]
jmp 0x14004b2d9
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov r15d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x98], r15d
mov r14, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp + 0x88], r14
cmp dword [rbx + 0x20], eax
je 0x14004dee0
cmp byte [rbx + 2], dil
jne 0x14004df69
mov rsi, qword [rbx + 0x30]
cmp byte [rbx + 3], dil
je 0x14004ded2
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14004df3d
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14004df3d
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x14004de80
mov rcx, rsi
call fcn.140037e20
test eax, eax
je 0x14004df4d
jmp 0x14004def1
mov rcx, qword [rbx + 0x30]
call fcn.140037e20
test eax, eax
je 0x14004e009
mov rcx, rbx
call fcn.140047570
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14004de87
mov r12, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov r14d, 2
xor r11d, r11d
mov rbx, qword [rsp + 0x60]
mov r13b, byte [rsp + 0x41]
cmp byte [rsi + 0x67], r11b
je 0x1400512e8
mov r15d, 7
jmp 0x140051301
mov rcx, rbx
call fcn.140047528
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x14004df01
mov rcx, rsi
call fcn.14003b810
lea rdi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rdi
mov rcx, rsi
call fcn.14003bd34
jmp 0x14004df98
cmp byte [rbx], 3
jne 0x14004e0c0
cmp dword [rbx + 0x24], edi
jle 0x14004e0c0
movsxd rax, dword [rbx + 0x24]
lea rdi, [rbx + 0x6c]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov eax, dword [rcx + 0x10]
mov dword [rdi], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r14], ecx
cmp ecx, 0x80
jae 0x14004dfc1
mov r8d, 1
mov eax, r8d
jmp 0x14004dfd6
mov rcx, qword [rbx + 0x60]
mov rdx, r14
call fcn.1400299bc
movzx eax, al
mov r8d, 1
mov dword [rbx + 0x40], eax
xor ecx, ecx
mov word [rbx + 0x4a], cx
mov eax, dword [r14]
cmp dword [rdi], eax
jae 0x14004e0b7
mov qword [rbx + 0x60], rcx
mov dword [rdi], ecx
mov eax, dword [r14]
cmp eax, 0x18003
ja 0x14004e1ac
cmp eax, dword [rbx + 0x68]
ja 0x14004e1ac
xor edi, edi
movzx edx, word [rbx + 0x4a]
cmp edx, r15d
ja 0x14004e220
mov ecx, dword [rbx + 0x40]
mov eax, dword [r14]
cmp ecx, eax
jae 0x14004e1de
mov r13, qword [rbx + 0x60]
mov qword [rbp - 0x78], r13
test r13, r13
jne 0x14004e071
xor edx, edx
lea r8d, [r13 + 0x38]
lea rcx, [rbp + 0x50]
call fcn.1400cd940
mov edx, dword [r14]
lea r8, [rbp + 0x50]
mov rcx, qword [rbx + 0x30]
call fcn.140044150
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d54
mov r13, qword [rbp + 0x58]
movzx edx, word [rbx + 0x4a]
mov eax, dword [r14]
mov ecx, dword [rbx + 0x40]
mov qword [rbp - 0x78], r13
movzx r12d, dx
mov r8d, 1
mov edi, ecx
mov esi, r12d
add rdi, r13
mov r15d, eax
add r15, r13
mov r13, qword [rbp + 0x88]
mov r14d, dword [r14 + r12*4]
movzx eax, byte [rdi]
mov dword [rbp - 0x60], eax
mov dword [rbx + rsi*4 + 0x78], eax
cmp dword [rbp - 0x60], 0x80
jae 0x14004e0df
mov cl, byte [rbp - 0x60]
add rdi, r8
call fcn.1400475e0
movzx eax, al
jmp 0x14004e102
mov r13, qword [rbx + 0x60]
movzx edx, cx
jmp 0x14004e06a
movsxd rax, dword [r13 + 0xc]
mov r14, qword [rsp + 0x78]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043ba4
mov r15d, dword [rsp + 0x48]
jmp 0x14004ca96
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1400299bc
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x60]
mov dword [rbx + rsi*4 + 0x78], eax
mov ecx, dword [rbp - 0x60]
call fcn.1400475c4
mov eax, eax
add r14, rax
mov r8d, 1
add r12d, r8d
movsxd rsi, r12d
mov dword [r13 + rsi*4], r14d
cmp r12d, dword [rbp + 0x98]
ja 0x14004e128
cmp rdi, r15
jb 0x14004e094
mov r13, qword [rbp - 0x78]
cmp rdi, r15
jb 0x14004e174
ja 0x14004e17c
mov eax, dword [rbx + 0x68]
cmp r14, rax
jne 0x14004e17c
mov r14, qword [rbp + 0x88]
sub edi, r13d
mov word [rbx + 0x4a], r12w
xor eax, eax
mov dword [rbx + 0x40], edi
cmp qword [rbx + 0x60], rax
jne 0x14004e15e
lea rcx, [rbp + 0x50]
call fcn.140043760
mov edx, dword [rbp - 0x60]
mov r15d, dword [rbp + 0x98]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
jmp 0x14004e1e3
mov eax, dword [rbx + 0x68]
cmp r14, rax
jbe 0x14004e13b
mov r14, qword [rbp + 0x88]
xor edi, edi
cmp dword [r14], edi
jne 0x14004e192
mov r12d, edi
mov rdi, r15
jmp 0x14004e142
cmp qword [rbx + 0x60], rdi
jne 0x14004e1a7
lea rcx, [rbp + 0x50]
call fcn.140043760
mov r8d, 1
mov r12, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x140051170
mov r15d, dword [rsp + 0x48]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r9 + rax*8]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b8ad
mov edx, edi
mov dword [rbp - 0x60], edx
movzx eax, word [rbx + 0x4a]
cmp eax, r15d
ja 0x14004e21b
movsxd rax, dword [r13 + 0xc]
mov r14, qword [rsp + 0x78]
imul rcx, rax, 0x38
add rcx, r14
cmp byte [r13 + 1], 0xf6
jne 0x14004e0d0
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.140043db4
jmp 0x14004e0d5
mov esi, r15d
jmp 0x14004e22a
mov esi, r15d
mov edx, dword [rbx + rsi*4 + 0x78]
mov dword [rbp - 0x60], edx
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x78]
test word [rdi + 0x14], ax
je 0x14004e24d
mov rcx, rdi
call fcn.140043ba4
mov edx, dword [rbp - 0x60]
lea eax, [r15 + 1]
mov eax, dword [r14 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14004e31d
mov esi, dword [r14 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x14004e285
mov rcx, rsi
mov r8, rdi
call fcn.1400476dc
mov r15d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
jmp 0x14004b2bf
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 0x14004e2d0
mov r9, qword [rsp + 0x70]
cmp ebx, dword [r9 + 0x88]
jg 0x1400511ac
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14004324c
test eax, eax
jne 0x14005128f
mov rcx, qword [rdi + 8]
jmp 0x14004e2d8
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 8], rcx
mov r8d, ebx
mov rdx, rsi
call fcn.1400cd040
mov rax, qword [rdi + 8]
mov r15d, dword [rsp + 0x48]
mov ecx, ebx
xor ebx, ebx
mov byte [rcx + rax], bl
lea r8d, [rbx + 1]
mov rax, qword [rdi + 8]
mov byte [rcx + rax + 1], bl
lea rcx, [0x140000000]
mov eax, dword [rbp - 0x60]
and rax, r8
movzx eax, word [rcx + rax*2 + 0x11af20]
mov word [rdi + 0x14], ax
jmp 0x14004bb1c
mov al, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
mov al, byte [r13 + 2]
mov edx, dword [rbp - 0x60]
and al, 0xc0
je 0x14004e347
cmp al, 0x80
je 0x14004e355
cmp edx, 0xc
jb 0x14004e347
mov r11d, 1
test r11b, dl
je 0x14004e355
cmp al, 0xc0
je 0x14004e355
mov ecx, edx
call fcn.1400475c4
test eax, eax
jne 0x14004e361
mov edx, dword [rbp - 0x60]
lea rcx, [0x14011c5f0]
jmp 0x14004e26e
mov eax, dword [rbp - 0x80]
mov edx, r15d
mov r9d, dword [r14 + rsi*4]
mov rcx, rbx
mov r8d, dword [rbp - 0x60]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.14004ad78
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14004e27b
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
cmp eax, 7
je 0x140051299
cmp eax, 0x12
je 0x1400511b4
jmp 0x14004df10
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], r8b
jne 0x14004e3e0
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], r8b
jne 0x14004e3e0
movsxd rax, dword [r13 + 8]
jmp 0x14004d584
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
jmp 0x14004bee9
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r13 + 0xc], edi
je 0x14004e41a
mov rcx, rdx
call fcn.14003c748
mov qword [rbp + 0xf8], rax
jmp 0x14004e43f
lea r8, [rbp + 0xf8]
mov qword [rbp + 0xf8], rdi
mov rcx, rsi
call fcn.140041380
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [rbp + 0xf8]
mov qword [rax], rcx
jmp 0x1400500bd
mov ecx, ebx
sub ecx, 0x63
je 0x14004e588
sub ecx, 1
je 0x14004e4f1
sub ecx, 1
je 0x14004e4bd
sub ecx, 1
je 0x14004e480
cmp ecx, 1
jne 0x14004b2d9
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rbx, r14
imul rsi, rax, 0x38
add rcx, r14
add rsi, r14
mov al, byte [rcx + 0x14]
or al, byte [rbx + 0x14]
test r8b, al
je 0x14004e6ad
mov rcx, rsi
call fcn.140043ba4
jmp 0x14004ca96
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14004e99e
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x44], eax
jne 0x14004e99e
add rdi, 0x30
mov rcx, qword [rdi]
call fcn.140037c94
jmp 0x14004eac2
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1400412fc
mov r8d, 1
mov dword [rsp + 0x48], eax
mov r15d, eax
cmp dword [r13 + 8], r8d
jne 0x14004e54a
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rsi
or dword [rsi + 0x2c], r8d
mov edx, dword [r13 + 4]
call fcn.140070218
mov r8d, 1
jmp 0x14004e560
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x14004e560
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r8d
jne 0x14004ba1d
xor edx, edx
mov rcx, rsi
call fcn.140048790
and dword [r12 + 0xc8], 0xfffffffc
mov r8d, 1
jmp 0x14004ba1d
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0xf0]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14004128c
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rcx, dword [rbp + 0xf0]
jmp 0x14004d14d
cmp ebx, 0x6e
ja 0x14004e937
je 0x14004e5ec
sub ebx, 0x69
je 0x14004e480
sub ebx, 1
je 0x14004e5ec
sub ebx, 1
je 0x14004e5ec
sub ebx, 1
je 0x14004e5ec
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r14
imul rcx, rax, 0x38
add rsi, r14
add r14, rcx
mov ecx, 4
movzx edx, word [rsi + 0x14]
mov al, dl
and al, byte [rdi + 0x14]
test cl, al
jne 0x14004e64d
or dl, byte [rdi + 0x14]
test r8b, dl
jne 0x14004e8fb
mov rcx, rdi
call fcn.14004ac9c
mov rcx, rsi
movzx ebx, ax
call fcn.14004ac9c
and al, bl
mov ecx, 4
test cl, al
je 0x14004e865
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp + 0xb8], rdx
sub ecx, 0x6a
je 0x14004e82e
sub ecx, 1
je 0x14004e81d
sub ecx, 1
je 0x14004e80c
cmp ecx, 1
je 0x14004e7dd
test r8, r8
je 0x14004e8fb
cmp r8, 0xffffffffffffffff
mov eax, 1
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp + 0xb8], rdx
jmp 0x14004e841
call fcn.1400437c0
mov rcx, rbx
mov qword [rbp + 0xa8], rax
call fcn.1400437c0
mov dil, byte [r13]
mov rbx, rax
cmp dil, 0x66
jne 0x14004e6da
and qword [rbp + 0xa8], rax
jmp 0x14004e7b7
cmp dil, 0x67
jne 0x14004e6ec
or qword [rbp + 0xa8], rbx
jmp 0x14004e7b7
test rbx, rbx
je 0x14004e7b7
jns 0x14004e718
mov rcx, rbx
mov eax, 0xd1
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
mov ebx, 0x40
cmovg rbx, rcx
cmp rbx, 0x40
jl 0x14004e741
xor ebx, ebx
cmp qword [rbp + 0xa8], rbx
jge 0x14004e735
cmp dil, 0x68
je 0x14004e735
or rax, 0xffffffffffffffff
jmp 0x14004e738
mov rax, rbx
mov qword [rbp + 0xa8], rax
jmp 0x14004e7b7
mov r8d, 8
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0xd8]
call fcn.1400cd040
mov rcx, rbx
cmp dil, 0x68
jne 0x14004e76c
shl qword [rbp + 0xd8], cl
jmp 0x14004e79e
mov r8, qword [rbp + 0xd8]
xor eax, eax
shr r8, cl
mov qword [rbp + 0xd8], r8
cmp qword [rbp + 0xa8], rax
jge 0x14004e79e
or rdx, 0xffffffffffffffff
lea ecx, [rax + 0x40]
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp + 0xd8], rdx
mov r8d, 8
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0xa8]
call fcn.1400cd040
mov rax, qword [rbp + 0xa8]
mov ecx, 4
mov qword [rsi], rax
mov eax, 0xf244
and word [rsi + 0x14], ax
or word [rsi + 0x14], cx
mov rsi, qword [rsp + 0x70]
jmp 0x14004ba52
test r8, r8
je 0x14004e8fb
cmp r8, 0xffffffffffffffff
jne 0x14004e7fb
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14004e865
mov rax, rdx
cqo
idiv r8
mov qword [rbp + 0xb8], rax
jmp 0x14004e841
mov rdx, r8
lea rcx, [rbp + 0xb8]
call fcn.140029c74
jmp 0x14004e83d
mov rdx, r8
lea rcx, [rbp + 0xb8]
call fcn.140029c38
jmp 0x14004e83d
mov rdx, r8
lea rcx, [rbp + 0xb8]
call fcn.140029be8
test eax, eax
jne 0x14004e865
mov rax, qword [rbp + 0xb8]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
mov ecx, 4
or ax, cx
jmp 0x14004e923
mov rcx, rdi
call fcn.14004381c
mov rcx, rsi
movaps xmm7, xmm0
call fcn.14004381c
movzx ecx, byte [r13]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x14004e8eb
sub ecx, 1
je 0x14004e8e5
sub ecx, 1
je 0x14004e8df
cmp ecx, 1
je 0x14004e8d0
mov rcx, rdi
call fcn.1400437c0
mov rcx, rsi
mov rbx, rax
call fcn.1400437c0
mov qword [rbp + 0xb8], rax
test rbx, rbx
je 0x14004e8fb
cmp rbx, 0xffffffffffffffff
mov r11d, 1
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x14004e8ef
ucomisd xmm7, xmm8
jp 0x14004e8d9
je 0x14004e8fb
divsd xmm6, xmm7
jmp 0x14004e8ef
mulsd xmm6, xmm7
jmp 0x14004e8ef
subsd xmm6, xmm7
jmp 0x14004e8ef
addsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140027e4c
test eax, eax
je 0x14004e908
mov rcx, r14
call fcn.140043ba4
jmp 0x14004e27b
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm6
or ax, 8
mov ecx, 4
mov rsi, qword [rsp + 0x70]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x78]
jmp 0x14004ba52
mov ecx, ebx
sub ecx, 0x6f
je 0x14004ead7
sub ecx, 1
je 0x14004e99e
sub ecx, 1
je 0x14004e99e
cmp ecx, 1
jne 0x14004b2d9
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rcx, rbx
call fcn.140043ba4
mov r8d, 1
test byte [rdi + 0x14], r8b
jne 0x1400509ec
lea eax, [r8 + 3]
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.1400437c0
not rax
mov qword [rbx], rax
jmp 0x14004b2c4
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r8b
je 0x140051182
movsxd r12, dword [r13 + 0xc]
xor eax, eax
mov r15d, dword [r13 + 8]
mov edi, eax
mov r14d, eax
mov rax, r12
shl rax, 5
add rax, qword [rsi + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x14004e9ff
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
mov cl, byte [rax + 0x70]
and esi, 8
mov rax, qword [rsp + 0x68]
or esi, 4
cmp cl, byte [rax + 0xc5]
jae 0x14004ea03
mov byte [rax + 0xc5], cl
jmp 0x14004ea03
xor eax, eax
mov esi, eax
mov rcx, qword [rsp + 0x50]
mov eax, 0x10
test byte [rcx + 2], al
je 0x14004ea2b
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.1400438f0
mov rcx, qword [rsp + 0x50]
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf8
jne 0x14004ea3d
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14004ea44
cmp al, 0xfd
jne 0x14004ea44
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
call fcn.14004a954
mov rbx, rax
test rax, rax
je 0x14005128f
mov byte [rax + 1], r12b
lea rdi, [rbx + 0x30]
mov rcx, qword [rdi]
mov eax, 1
mov byte [rbx + 2], al
mov r9, r14
mov eax, 4
mov qword [rsp + 0x20], rcx
or dword [rbx + 8], eax
mov rcx, r13
mov r8d, esi
mov dword [rbx + 0x44], r15d
mov edx, r15d
call fcn.14003b698
mov r13, qword [rsp + 0x50]
mov r15d, eax
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov qword [rbx + 0x38], r14
cmp byte [r13 + 1], 0xf8
mov r14, qword [rsp + 0x78]
mov dword [rsp + 0x48], eax
setne al
mov byte [rbx + 4], al
movzx edx, word [r13 + 2]
mov rcx, qword [rdi]
and edx, 3
call fcn.140037e78
jmp 0x14004c363
movsxd rax, dword [r13 + 4]
mov r12, qword [rsp + 0x50]
imul r13, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r13, r14
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
movzx r14d, word [r13 + 0x14]
mov al, r14b
or al, byte [rbx + 0x14]
test r8b, al
je 0x14004eb24
mov rcx, rdi
call fcn.140043ba4
mov r13, r12
mov r12, qword [rsp + 0x68]
jmp 0x14004b2bf
test r14b, 0x12
jne 0x14004eb3a
xor r8d, r8d
mov dl, r11b
mov rcx, r13
call fcn.14004353c
jmp 0x14004eb4d
mov eax, 0x400
test ax, r14w
je 0x14004eb68
mov rcx, r13
call fcn.1400434c4
test eax, eax
jne 0x140051299
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
movzx esi, word [rbx + 0x14]
test sil, 0x12
jne 0x14004eb83
mov dl, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rbx
call fcn.14004353c
jmp 0x14004eb90
test ax, si
je 0x14004eba4
mov rcx, rbx
call fcn.1400434c4
test eax, eax
jne 0x140051294
movzx esi, word [rbx + 0x14]
mov eax, 0xfffd
and si, ax
mov r9, qword [rsp + 0x70]
mov edx, dword [r13 + 0x10]
add edx, dword [rbx + 0x10]
movsxd r15, edx
movsxd rax, dword [r9 + 0x88]
cmp r15, rax
jg 0x1400511b1
xor eax, eax
mov rcx, rdi
mov r8d, eax
cmp rdi, rbx
sete r8b
add edx, 2
call fcn.14004324c
test eax, eax
jne 0x140051294
mov eax, 0xf242
and word [rdi + 0x14], ax
mov eax, 2
or word [rdi + 0x14], ax
cmp rdi, rbx
je 0x14004ec0e
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi + 8]
call fcn.1400cd040
mov word [rbx + 0x14], si
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rdi + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.1400cd040
mov r11b, byte [rsp + 0x40]
mov r8d, 1
mov word [r13 + 0x14], r14w
cmp r11b, r8b
jbe 0x14004ec3c
and r15, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
xor ebx, ebx
mov r13, r12
mov r12, qword [rsp + 0x68]
mov byte [r15 + rax], bl
mov rax, qword [rdi + 8]
mov byte [r15 + rax + 1], bl
mov eax, 0x200
or word [rdi + 0x14], ax
mov dword [rdi + 0x10], r15d
mov byte [rdi + 0x16], r11b
jmp 0x14004de4f
movsxd rcx, dword [r13 + 8]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.14004a954
mov r10, rax
test rax, rax
je 0x140051273
mov eax, 1
or dword [r10 + 8], eax
mov byte [r10 + 2], al
mov rcx, qword [rbx + 0x38]
mov qword [r10 + 0x38], rcx
lea edi, [rax + 3]
mov cl, byte [rbx + 4]
mov r8d, edi
mov byte [r10 + 4], cl
mov ecx, dword [rbx + 0x44]
mov dword [r10 + 0x44], ecx
mov ecx, dword [r10 + 8]
xor ecx, dword [rbx + 8]
and ecx, edi
xor ecx, dword [r10 + 8]
mov dword [r10 + 8], ecx
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
lea eax, [rdi + 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.14003b698
mov r15d, eax
mov dword [rsp + 0x48], eax
mov ecx, edi
jmp 0x14004ba52
cmp ebx, 0x7f
ja 0x14004f3ab
je 0x14004f1f2
cmp ebx, 0x79
ja 0x14004f05d
je 0x14004f01e
sub ebx, 0x74
je 0x14004ee6a
sub ebx, 1
je 0x14004edb2
sub ebx, 1
je 0x14004ee6a
sub ebx, 1
je 0x14004ed7a
cmp ebx, 1
jne 0x14004b2de
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14004f798
jmp 0x14004b2d9
mov edx, dword [r13 + 4]
mov r9b, r8b
mov r8d, dword [r13 + 8]
mov rcx, r12
call fcn.14004a954
test rax, rax
je 0x140051273
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, rsi
mov edx, dword [r13 + 0xc]
call fcn.1400524f0
jmp 0x14004b8e8
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [r13 + 0x10]
mov rbx, rax
call fcn.140027ec0
movzx edi, byte [rsp + 0x40]
mov ecx, 1
mov dword [r13 + 4], eax
cmp dil, cl
je 0x14004ee4e
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov r9b, cl
mov qword [rsp + 0x20], rax
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.140043ed8
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400511a5
mov edx, edi
mov rcx, rbx
call fcn.140043230
xor edi, edi
test eax, eax
jne 0x140051273
mov eax, 0x2000
mov dword [rbx + 0x20], edi
or word [rbx + 0x14], ax
cmp byte [r13 + 1], 0xfa
jne 0x14004ee38
mov rdx, qword [r13 + 0x10]
mov rcx, rsi
call fcn.1400250e8
mov byte [r13 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
jmp 0x14004ee50
xor edi, edi
mov eax, dword [rsi + 0x88]
cmp dword [r13 + 4], eax
jg 0x1400511a5
mov byte [r13], 0x49
jmp 0x14004d0b9
xor edi, edi
cmp dword [r13 + 0xc], edi
jle 0x14004ee93
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0x10], edi
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1401187d3]
mov qword [rcx + r14 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14004eee3
mov eax, 8
test byte [rbx + 8], al
jne 0x14004eee3
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x14004eee3
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], rdi
mov dword [rbx + 0x20], edi
call fcn.140040fe8
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
jmp 0x14004f00f
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.14004a954
mov rbx, rax
test rax, rax
je 0x140051273
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea rdi, [rbx + 0x10]
movzx ecx, word [r13 + 2]
mov r9, rdi
or ecx, 5
mov r8, rsi
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [rsi]
call fcn.1400395f0
xor r11d, r11d
mov r15d, eax
test eax, eax
jne 0x1400511d3
mov rcx, qword [rdi]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.14003a774
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14004efea
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x14004efb4
movzx r8d, word [r13 + 2]
mov rdx, rsi
or r8d, 2
call fcn.140040da4
mov r15d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
test r15d, r15d
jne 0x14004efaf
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 4]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.14003b698
mov r15d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
mov byte [rbx + 4], al
jmp 0x14004efe0
mov rax, qword [rbx + 0x30]
mov r14d, 1
xor r9d, r9d
mov dword [rsi], r14d
mov edx, r14d
mov qword [rsp + 0x20], rax
lea r8d, [r14 + 3]
call fcn.14003b698
mov r15d, eax
mov dword [rsp + 0x48], eax
mov byte [rbx + 4], r14b
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
movzx eax, word [r13 + 2]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [rbx + 8], ecx
test r15d, r15d
jne 0x14005118d
mov r8d, 1
mov byte [rbx + 2], r8b
jmp 0x14004b8a8
mov r8d, dword [r13 + 0xc]
mov r9b, 3
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.14004a954
mov rbx, rax
test rax, rax
je 0x140051273
mov eax, 1
mov byte [rbx + 2], al
mov ecx, dword [r13 + 8]
mov dword [rbx + 0x24], ecx
mov byte [rbx + 4], al
call fcn.140037e28
mov qword [rbx + 0x30], rax
jmp 0x14004b2c4
sub ebx, 0x7a
je 0x14004f1c8
sub ebx, edx
je 0x14004f0f6
sub ebx, 1
je 0x14004f0b4
cmp ebx, 1
jne 0x14004b2de
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [r12 + 0x78]
mov r8d, ebx
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r8
jmp 0x14004b8a8
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r13 + 8]
jge 0x14004f0d9
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x14004b2d9
mov ecx, 4
cmp eax, dword [r13 + 0xc]
jle 0x14004b2de
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x14004b2de
movsxd rcx, dword [r13 + 0x1c]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14003b7a8
xor r10d, r10d
test eax, eax
je 0x1400509e6
mov rax, qword [rbx + 0x38]
mov edi, dword [r13 + 4]
mov qword [rbp - 0x58], rax
movzx eax, word [r13 + 0x28]
mov word [rbp - 0x3c], ax
movsxd rax, dword [r13 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp - 0x3a], r10b
add rcx, r14
mov dword [rbp + 0xe8], r10d
mov qword [rbp - 0x50], rcx
lea r9, [rbp + 0xe8]
mov rdx, rbx
lea r8, [rbp - 0x58]
mov rcx, rsi
call fcn.1400486c8
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400511d3
mov eax, dword [rbp + 0xe8]
test eax, eax
jle 0x14004f181
cmp word [r13 + 2], r11w
je 0x14004f1bf
test eax, eax
jns 0x14004f792
test edi, edi
jle 0x1400509e6
mov rcx, qword [rbx + 0x30]
xor r15d, r15d
xor edx, edx
mov dword [rbx + 0x20], r15d
dec edi
call fcn.14003c89c
xor r11d, r11d
mov r15d, eax
test eax, eax
je 0x14004f146
cmp eax, 0x65
jne 0x1400511d3
xor ebx, ebx
mov r15d, ebx
mov dword [rsp + 0x48], ebx
add r13, 0x18
jmp 0x14004bca0
movsxd rax, dword [r13 + 4]
mov rcx, r12
mov rdx, qword [r12 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.140046604
movsxd rcx, dword [r13 + 4]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r9
jmp 0x14004b2c4
xor ebx, ebx
mov rdx, r13
mov rcx, r12
mov qword [rbp + 0x88], rbx
mov dword [rbp + 0x98], ebx
call fcn.14004acd4
movsxd rdx, dword [r13 + 4]
lea r8d, [rbx + 2]
mov rcx, qword [r12 + 0x78]
mov rsi, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r8b
jne 0x14004f28d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x98]
call fcn.14003c0f0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d54
cmp dword [rbp + 0x98], ebx
je 0x14004f252
lea eax, [rbx + 1]
jmp 0x14004f280
mov rcx, qword [rdi + 0x30]
call fcn.14003b7b0
movabs rcx, 0x7fffffffffffffff
mov qword [rbp + 0x88], rax
cmp rax, rcx
jl 0x14004f27d
mov r8d, 2
or dword [rdi + 8], r8d
jmp 0x14004f28d
inc rax
mov r8d, 2
mov qword [rbp + 0x88], rax
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x14004f310
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x14004f2be
mov rax, qword [rcx + 8]
jmp 0x14004f2af
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004f2a8
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x14004f2c5
imul rbx, rdx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400438f0
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14005119a
mov r8d, 2
test byte [rdi + 8], r8b
jne 0x14005119a
mov rcx, qword [rbp + 0x88]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp + 0x88], rcx
mov qword [rbx], rcx
xor ebx, ebx
test byte [rdi + 8], r8b
je 0x14004f394
lea rdx, [rbp + 0x88]
mov ecx, 8
call fcn.140027478
mov rdx, qword [rbp + 0x88]
lea r9, [rbp + 0x98]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp + 0x88], rdx
mov rcx, qword [rdi + 0x30]
call fcn.14003c108
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14004f37a
cmp dword [rbp + 0x98], r11d
jne 0x14004f394
inc ebx
cmp ebx, 0x64
jl 0x14004f316
lea r15d, [rax + 0xd]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x50]
mov r14d, 2
jmp 0x14004df1e
xor ebx, ebx
mov byte [rdi + 3], bl
mov dword [rdi + 0x20], ebx
mov rax, qword [rbp + 0x88]
mov qword [rsi], rax
jmp 0x14004ca96
mov eax, 0x85
cmp ebx, eax
ja 0x14004f6eb
je 0x14004f6a8
sub ebx, 0x80
je 0x14004f570
sub ebx, 1
je 0x14004f530
sub ebx, 1
je 0x14004f44d
sub ebx, 1
je 0x14004f433
cmp ebx, 1
jne 0x14004b2de
mov rax, qword [r12 + 0x78]
lea r9, [rbp + 0xe4]
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0xe4], edi
add rdx, r14
call fcn.1400541e4
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
cmp dword [rbp + 0xe4], edi
mov r8d, ebx
jmp 0x14004bbb0
mov rdx, qword [r12 + 0x38]
mov rcx, rsi
call fcn.14004877c
xor r9d, r9d
mov qword [r12 + 0x38], r9
jmp 0x14004b2c4
movsxd rcx, dword [r13 + 4]
xor edx, edx
cmp byte [r13 + 1], 0xfb
mov rax, qword [r12 + 0x78]
mov r14d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14004f4a2
cmp qword [rsi + 0x140], rdx
je 0x14004f4a2
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
lea eax, [rdx + 2]
test byte [r13 + 2], al
je 0x14004f4a8
cmp byte [rbx + 4], dl
je 0x14004f4a8
mov rcx, qword [rbx + 0x30]
call fcn.14003b7b0
mov qword [rbx + 0x50], rax
jmp 0x14004f4a8
mov rsi, rdx
mov rdi, rdx
mov dl, byte [r13 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.140040728
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
mov qword [rbx + 0x20], r11
lea r8d, [r11 + 1]
add dword [rbp - 0x80], r8d
test eax, eax
jne 0x14004f37a
test r8b, r14b
je 0x140050a05
add qword [r12 + 0x38], r8
mov r9, qword [rsp + 0x70]
mov r10, qword [r9 + 0x140]
test r10, r10
je 0x140050a0c
test rdi, rdi
je 0x140050a0c
test byte [rdi + 0x30], 0x80
jne 0x140050a0c
mov rax, qword [rbx + 0x50]
lea edx, [r15 + 9]
mov r9, qword [rdi]
mov r8, rsi
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x138]
call r10
jmp 0x14004b2bf
mov rcx, qword [r12 + 0x78]
xor edi, edi
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r13 + 0xc], edi
je 0x14004f55b
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
jmp 0x14004f55e
mov r8, rdi
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1400403dc
jmp 0x14004b8e8
movsxd rax, dword [r13 + 8]
xor r10d, r10d
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r14]
mov qword [rbp - 0x50], r8
jne 0x14004f5c2
cmp qword [rsi + 0x140], r10
je 0x14004f5c2
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14004f5c8
mov rdi, r10
mov rsi, r10
movzx ecx, word [r13 + 2]
mov eax, 1
test al, cl
je 0x14004f5f7
add qword [r12 + 0x38], rax
mov eax, 0x20
movzx ecx, word [r13 + 2]
test al, cl
je 0x14004f5f7
mov r9, qword [rsp + 0x70]
mov qword [r9 + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + 8]
mov qword [rbp - 0x48], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp - 0x34], eax
mov eax, 0x10
test al, cl
je 0x14004f614
mov r9d, dword [rbx + 0x24]
jmp 0x14004f617
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14004f629
mov eax, dword [rdx]
mov dword [rbp - 0x30], eax
jmp 0x14004f62d
mov dword [rbp - 0x30], r10d
movzx r8d, cx
lea rdx, [rbp - 0x58]
mov qword [rbp - 0x58], r10
and r8d, 0x8a
mov rcx, qword [rbx + 0x30]
call fcn.14003ff24
mov r15d, eax
mov dword [rsp + 0x48], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x20], eax
lea r8d, [rax + 1]
add dword [rbp - 0x80], r8d
test r15d, r15d
jne 0x140050d54
test rdi, rdi
je 0x140050a05
mov al, byte [r13 + 2]
mov r8, rsi
mov rsi, qword [rsp + 0x70]
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 [rsi + 0x138]
and edx, 5
add edx, 0x12
call qword [rsi + 0x140]
jmp 0x14004b2c4
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.140054174
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edi
jmp 0x14004b2c4
mov ecx, ebx
sub ecx, 0x86
je 0x14004f8d5
sub ecx, 1
je 0x14004f813
sub ecx, 1
je 0x14004f7ae
cmp ecx, 1
jne 0x14004b2d9
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
xor eax, eax
mov rsi, qword [rdi + 0x30]
mov dword [rbp + 0xc4], eax
cmp bl, 0x89
jne 0x14004f74a
or dword [rdi + 0x24], 0xffffffff
mov rcx, rsi
call fcn.14003b7a8
xor ebx, ebx
test eax, eax
jne 0x1400509e1
jmp 0x14004f74c
xor ebx, ebx
lea rdx, [rbp + 0xc4]
mov rcx, rsi
call fcn.14003c0f0
mov r15d, eax
mov dword [rsp + 0x48], eax
mov al, byte [rbp + 0xc4]
mov byte [rdi + 2], al
mov byte [rdi + 3], bl
mov dword [rdi + 0x20], ebx
xor edi, edi
test r15d, r15d
jne 0x140050d54
cmp dword [r13 + 8], edi
jle 0x1400509e1
cmp dword [rbp + 0xc4], edi
je 0x14004ca96
mov r8d, 1
mov r9, qword [rsp + 0x58]
jmp 0x14004bcab
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x14004f798
movsxd rdx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
jne 0x14004f7f5
mov r9b, 3
mov rcx, r12
call fcn.14004a954
mov rbx, rax
test rax, rax
je 0x140051273
mov dword [rax + 0x24], edi
lea eax, [rdi + 1]
mov byte [rbx + 4], al
lea eax, [rdi + 8]
or dword [rbx + 8], eax
call fcn.140037e28
mov qword [rbx + 0x30], rax
lea r8d, [rdi + 1]
mov byte [rbx + 2], r8b
mov dword [rbx + 0x20], edi
cmp byte [rbx], dil
jne 0x1400509ec
mov rcx, qword [rbx + 0x30]
call fcn.140037c94
jmp 0x14004b2c4
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rdx, dword [r13 + 4]
mov rdi, rax
mov rcx, qword [r12 + 0x78]
mov rbx, qword [rcx + rdx*8]
xor edx, edx
cmp byte [rbx + 2], dl
je 0x14004f843
lea r8d, [rdx + 1]
mov word [rax + 0x14], r8w
jmp 0x14004b8a8
cmp byte [rbx + 3], dl
je 0x14004f84e
mov rax, qword [rbx + 0x50]
jmp 0x14004f8c6
mov eax, 2
cmp byte [rbx], al
jne 0x14004f88f
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x100]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400488d4
test r15d, r15d
jne 0x140050d71
mov rax, qword [rbp + 0x100]
jmp 0x14004f8cd
mov rcx, rbx
call fcn.14004759c
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400511d3
cmp byte [rbx + 2], r11b
je 0x14004f8bd
lea r8d, [rax + 1]
mov word [rdi + 0x14], r8w
jmp 0x14004b8a8
mov rcx, qword [rbx + 0x30]
call fcn.14003b7b0
mov qword [rbp + 0x100], rax
mov qword [rdi], rax
jmp 0x14004b2c4
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [r12 + 0x78]
mov rbx, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.14003b810
cmp eax, dword [rsi + 0x88]
ja 0x1400511a5
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140044150
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
cmp dword [r13 + 0xc], edi
jne 0x1400509e6
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1400509e6
mov rcx, rbx
call fcn.14004346c
test eax, eax
jne 0x140051273
jmp 0x14004b2c4
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r13 + 2], r8b
je 0x14004f977
add qword [r12 + 0x38], r8
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14004f998
mov rcx, rbx
call fcn.1400434c4
xor r11d, r11d
mov r15d, eax
test eax, eax
jne 0x1400511d3
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 8]
xor ebx, ebx
mov qword [rbp - 0x58], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r14
mov word [rbp - 0x38], ax
mov eax, 0x10
mov qword [rbp - 0x40], rcx
test al, r8b
je 0x14004f9d7
mov r9d, dword [rdi + 0x24]
jmp 0x14004f9da
mov r9d, ebx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x58]
and r8d, 0x8a
call fcn.14003ff24
mov dword [rdi + 0x20], ebx
jmp 0x14004b8e8
mov eax, 0xa1
cmp ebx, eax
ja 0x14005032a
je 0x140050419
mov eax, 0x96
cmp ebx, eax
ja 0x14004ffca
je 0x14004ffb9
mov eax, 0x90
cmp ebx, eax
ja 0x14004fcbe
je 0x14004fc15
sub ebx, 0x8b
je 0x14004fbcc
sub ebx, 1
je 0x14004fb29
sub ebx, 1
je 0x14004fa7a
sub ebx, 1
je 0x14004fa7a
cmp ebx, 1
jne 0x14004b2de
movsxd rcx, dword [r13 + 4]
xor edi, edi
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], dil
je 0x14004b2d9
call fcn.140047528
jmp 0x14004b8e8
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.14004759c
xor edi, edi
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
cmp byte [rbx + 2], dil
jne 0x14004e3e0
mov qword [rbp + 0x108], rdi
lea r8, [rbp + 0x108]
mov rdx, qword [rbx + 0x30]
mov rcx, rsi
call fcn.14004859c
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
cmp byte [r13], 0x8d
jne 0x14004fb12
mov rax, qword [r12 + 0x78]
lea r8d, [rdi + 1]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], dil
mov rax, qword [rbp + 0x108]
mov qword [rdx + 0x50], rax
mov byte [rdx + 3], r8b
mov dword [rdx + 0x20], edi
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x14004b8a8
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [rbp + 0x108]
jmp 0x14004d14d
movsxd rcx, dword [r13 + 4]
lea r8, [rbp + 0xec]
mov rax, qword [r12 + 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 [r13 + 0xc]
mov word [rbp - 0x3c], ax
xor eax, eax
mov byte [rbp - 0x3a], al
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp - 0x50], rcx
mov rcx, rdi
call fcn.14003c3a0
xor r11d, r11d
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400511d3
cmp dword [rbp + 0xec], r11d
jne 0x14004fba9
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140040728
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
jmp 0x14004fbc2
xor edi, edi
cmp word [r13 + 2], di
je 0x14004fbc2
mov rcx, rsi
call fcn.140064fa8
test eax, eax
je 0x1400511dd
and qword [rbx + 0x20], 0
jmp 0x14004b2c4
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14004fc05
mov rcx, rbx
call fcn.1400434c4
xor r11d, r11d
mov r15d, eax
test eax, eax
jne 0x1400511d3
mov rdx, rbx
mov rcx, rdi
call fcn.1400533d0
jmp 0x14004b8e8
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rbx, rax
mov eax, 1
mov word [rbx + 0x14], ax
mov ecx, dword [rsi + 0xe8]
add ecx, eax
cmp dword [rsi + 0xdc], ecx
jg 0x1400511f8
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp + 0xc0]
mov rcx, qword [rsi + 0x20]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp + 0xc0], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.140041244
mov r15d, eax
mov dword [rsp + 0x48], eax
mov ecx, 4
mov word [rbx + 0x14], cx
movsxd rax, dword [rbp + 0xc0]
mov qword [rbx], rax
test r15d, r15d
jne 0x140050d71
mov r8d, dword [rbp + 0xc0]
test r8d, r8d
je 0x140050a11
mov r9d, dword [r13 + 4]
mov edx, edi
mov rcx, rsi
call fcn.140067b40
lea r8d, [r15 + 1]
lea eax, [r8 + rdi]
mov byte [rsp + 0x41], al
jmp 0x14004b8a8
sub ebx, 0x91
je 0x14004ff57
sub ebx, 1
je 0x14004ff26
sub ebx, 1
je 0x14004fed6
sub ebx, 1
je 0x14004fe22
cmp ebx, 1
jne 0x14004b2de
movsxd rbx, dword [r13 + 4]
xor edi, edi
mov rcx, qword [rsi + 0x20]
cmp qword [r13 + 0x10], rdi
jne 0x14004fd47
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14006b5bc
and dword [rsi + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, rsi
call fcn.140079820
lea r8d, [rdi + 1]
mov dword [rsp + 0x48], eax
or dword [rsi + 0x2c], r8d
mov r15d, eax
and dword [r12 + 0xc8], 0xfffffffc
jmp 0x14004fe14
mov dword [rbp - 0x48], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x40], edi
shl rbx, 5
mov rcx, qword [rbx + rcx + 8]
call fcn.140039480
mov r8, qword [rsi + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x38], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r13 + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov r8, qword [rbx + r8]
call fcn.140026ebc
mov rbx, rax
test rax, rax
je 0x14005120f
mov eax, 1
mov dword [rbp - 0x44], edi
lea r9, [rbp - 0x58]
mov byte [rsi + 0xc5], al
lea r8, [fcn.140079610]
mov dword [rbp - 0x3c], edi
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, rsi
call fcn.140074cd4
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14004fdfc
mov r15d, dword [rbp - 0x44]
mov dword [rsp + 0x48], r15d
test r15d, r15d
jne 0x14004fdfc
cmp dword [rbp - 0x3c], edi
jne 0x14004fdfc
mov ecx, 0x1834d
call fcn.1400a19c4
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rdx, rbx
mov rcx, rsi
call fcn.140025034
mov r8d, 1
mov byte [rsi + 0xc5], dil
test r15d, r15d
jne 0x140051215
jmp 0x14004b8a8
add byte [rsi + 0x70], r8b
xor eax, eax
mov rbx, qword [rsi + 0x200]
mov dil, byte [rsi + 0x6e]
mov qword [rbp + 0x88], rax
cmp dword [r13 + 4], eax
je 0x14004fe4a
mov qword [rsi + 0x200], rax
mov byte [rsi + 0x6e], al
mov rdx, qword [r13 + 0x10]
lea rax, [rbp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, rsi
call fcn.140074cd4
mov r8, qword [rbp + 0x88]
mov r15d, eax
dec byte [rsi + 0x70]
mov dword [rsp + 0x48], eax
mov qword [rsi + 0x200], rbx
mov byte [rsi + 0x6e], dil
test r8, r8
jne 0x14004fe91
test eax, eax
je 0x14004b2c4
lea rdx, [0x140122ff0]
mov rcx, r12
call fcn.1400447f0
mov rcx, qword [rbp + 0x88]
call fcn.140024fb4
mov r12, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov r13b, byte [rsp + 0x41]
cmp r15d, 7
je 0x1400512a3
mov rdi, qword [rsp + 0x68]
xor r11d, r11d
lea r14d, [r11 + 2]
jmp 0x14004df28
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0xe0]
mov r8d, dword [r13 + 0xc]
xor edi, edi
shl rcx, 5
mov rbx, rax
add rcx, qword [rsi + 0x20]
mov dword [rbp + 0xe0], edi
mov rcx, qword [rcx + 8]
call fcn.140040da4
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140050d71
mov eax, dword [rbp + 0xe0]
jmp 0x14004e996
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r8b
jne 0x14004ff49
mov rdx, qword [rcx + 0x30]
mov rcx, rsi
call fcn.1400528d4
jmp 0x14004b2c4
mov rcx, qword [rcx + 0x30]
call fcn.140041074
jmp 0x14004b8e8
movsxd rax, dword [r13 + 8]
lea r8, [rbp + 0xd0]
mov rcx, qword [rsi + 0x20]
xor edi, edi
mov edx, dword [r13 + 4]
shl rax, 5
mov qword [rbp + 0xd0], rdi
mov rcx, qword [rax + rcx + 8]
call fcn.140040fe8
mov r15d, eax
mov dword [rsp + 0x48], eax
cmp dword [r13 + 0xc], edi
je 0x14004c363
mov rdx, qword [rbp + 0xd0]
add qword [r12 + 0x38], rdx
cmp dword [r13 + 0xc], edi
jle 0x14004c363
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
jmp 0x14004c363
mov edx, dword [r13 + 4]
mov rcx, rsi
call fcn.140062d0c
jmp 0x14004b8e8
mov eax, 0x9c
cmp ebx, eax
ja 0x1400501b6
je 0x140050177
sub ebx, 0x97
je 0x140050162
sub ebx, 1
je 0x14005014d
sub ebx, 1
je 0x140050134
sub ebx, 1
je 0x14005011f
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 0xc]
lea r9, [rbp - 0x28]
mov rdx, qword [rsi + 0x20]
mov r8, qword [r13 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
add r8, 4
mov qword [rsp + 0x30], r9
lea r9, [rbp + 0x110]
imul rbx, rax, 0x38
mov ecx, dword [rdi + r14]
movzx eax, word [r13 + 2]
inc ecx
mov qword [rsp + 0x28], r9
add rbx, r14
mov r9d, dword [r13 + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.140041eec
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140043ba4
mov eax, dword [rbp + 0x110]
test eax, eax
je 0x1400500b0
test r15d, r15d
jne 0x140051222
dec eax
lea r9d, [r15 + 1]
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.140024fb4]
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140043ed8
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140043230
mov r8d, 1
mov eax, dword [rsi + 0x198]
mov rbx, qword [rsp + 0x60]
test eax, eax
jne 0x14005127a
mov rdi, qword [rbp - 0x70]
cmp rdi, rbx
jb 0x1400509ec
mov rdx, qword [rsi + 0x210]
test rdx, rdx
je 0x1400509e6
mov eax, dword [rsi + 0x220]
mov rcx, qword [rsi + 0x218]
add rbx, rax
mov qword [rsp + 0x60], rbx
call rdx
xor r11d, r11d
test eax, eax
jne 0x140051230
cmp rdi, rbx
jae 0x1400500e3
jmp 0x14004b2c4
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.1400851d8
jmp 0x14004b2c4
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov ecx, 8
mov word [rax + 0x14], cx
jmp 0x14004d12f
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.1400647f8
jmp 0x14004b2c4
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.140064d9c
jmp 0x14004b2c4
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 0x14], al
jne 0x1400501a4
mov rcx, rbx
call fcn.140043cfc
test eax, eax
jne 0x140051273
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 8]
call fcn.14002f7c8
jmp 0x14004b2c4
sub ebx, 0x9d
je 0x1400502ef
sub ebx, 1
je 0x1400502b3
sub ebx, 1
je 0x140050239
cmp ebx, 1
jne 0x14004b2de
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
call fcn.14004acd4
mov rcx, qword [rbx + r14]
mov rsi, rax
xor ebx, ebx
mov qword [rbp + 0x118], rcx
test rcx, rcx
jle 0x140050230
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0x118]
test rdx, rdx
cmovle rdx, rbx
call fcn.140029be8
test eax, eax
jne 0x140050230
mov rax, qword [rbp + 0x118]
jmp 0x14004f3a3
or qword [rsi], 0xffffffffffffffff
jmp 0x14004ca96
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x140050266
mov rax, qword [rcx + 8]
jmp 0x140050253
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14005024c
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140050271
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1400438f0
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400438f0
mov rax, qword [rbx]
mov ecx, 4
mov r10d, dword [rsp + 0x44]
mov r11b, byte [rsp + 0x40]
lea r8d, [rcx - 3]
cmp qword [rdi], rax
jge 0x1400509fb
mov qword [rdi], rax
jmp 0x14004be6c
mov eax, dword [rsi + 0x30]
bt rax, 0x13
jae 0x1400502cd
movsxd rax, dword [r13 + 8]
add qword [rsi + 0x300], rax
jmp 0x14004b2de
xor eax, eax
cmp dword [r13 + 4], eax
movsxd rax, dword [r13 + 8]
je 0x1400502e5
add qword [rsi + 0x2f8], rax
jmp 0x14004b2de
add qword [r12 + 0x50], rax
jmp 0x14004b2de
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov r9, qword [r12 + 0x108]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r13 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
jmp 0x14004d4e0
mov eax, 0xac
cmp ebx, eax
ja 0x14005071c
je 0x1400506fa
mov eax, 0xa7
cmp ebx, eax
ja 0x1400505c6
je 0x1400505ab
sub ebx, 0xa2
je 0x140050419
sub ebx, 1
je 0x1400504b0
sub ebx, 1
je 0x1400503b0
sub ebx, 1
je 0x1400503b0
cmp ebx, 1
jne 0x14004b2de
xor eax, eax
cmp dword [r13 + 4], eax
jne 0x140050391
mov edx, dword [r13 + 8]
mov rcx, rsi
call fcn.140048790
jmp 0x14004b2c4
mov eax, dword [r13 + 8]
add eax, r8d
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
jmp 0x14004b2de
movsxd rax, dword [r13 + 4]
xor edi, edi
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
cmp dword [r13 + 0xc], edi
je 0x1400503ee
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140043674
mov r15d, eax
mov dword [rsp + 0x48], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x1400503fe
mov rdx, qword [r13 + 0x10]
call fcn.1400435b8
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rcx, rbx
test r15d, r15d
jne 0x14005124b
movzx edx, byte [rsp + 0x40]
call fcn.140043230
jmp 0x14004b2c4
movzx edi, word [r13 + 2]
mov rcx, qword [rsp + 0x70]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.140025360
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14005128f
add rsi, 6
mov qword [rbx + 0x10], rax
lea r8d, [rax + 1]
lea rcx, [rbx + rsi*8]
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
mov qword [rbx], rcx
call fcn.140043b94
mov rcx, qword [r13 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rbx + 8], rcx
mov rcx, r13
sub rcx, qword [rsp + 0x58]
imul rcx
mov qword [rbx + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [rbx + 0x2a], dil
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x29], al
mov dword [rbx + 0x24], eax
mov al, byte [rsp + 0x40]
mov byte [rbx + 0x28], al
mov word [r13], 0xf1a3
mov qword [r13 + 0x10], rbx
movsxd rax, dword [r13 + 0xc]
xor edi, edi
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, r14
cmp qword [rbx + 0x10], r8
je 0x140050512
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140050512
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea esi, [rdi + 1]
lea r12d, [rdi + 8]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, esi
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r9], rcx
sub r9, r12
sub rdx, rsi
jns 0x1400504ea
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov eax, 1
mov rcx, rbx
add dword [r8 + 0x10], eax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r13 + 4], edi
je 0x140050535
call qword [rax + 0x30]
jmp 0x140050538
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1400509e6
jle 0x140050568
mov rcx, qword [rbx]
call fcn.140048cb0
mov r8, rax
lea rdx, [0x140122ff0]
mov rcx, r12
call fcn.1400447f0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r15d
cmp byte [rbx + 0x29], dil
je 0x14005058d
cmp dword [r13 - 0x14], edi
je 0x140050589
movsxd rax, dword [r13 - 0x14]
mov edx, 1
imul rcx, rax, 0x38
add rcx, r14
call fcn.140043c34
mov byte [rbx + 0x29], dil
mov rcx, qword [rbx]
call fcn.140043760
mov rax, qword [rbx]
mov r8d, 1
mov word [rax + 0x14], r8w
mov dword [rbx + 0x24], edi
jmp 0x14004ba1d
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.14003b7c8
jmp 0x14004b2c4
sub ebx, 0xa8
je 0x1400506df
sub ebx, 1
je 0x140050681
sub ebx, 1
je 0x140050651
cmp ebx, 1
jne 0x14004b2de
xor edx, edx
lea r8d, [rbx + 0x37]
lea rcx, [rbp - 0x20]
call fcn.1400cd940
movsxd rax, dword [r13 + 8]
lea rcx, [rbp - 0x20]
imul rdx, rax, 0x38
mov qword [rbp - 8], rsi
add rdx, r14
call fcn.140043e14
lea rcx, [rbp - 0x20]
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140048cb0
test rax, rax
je 0x140050643
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, rsi
call fcn.140089bf8
mov r15d, eax
mov dword [rsp + 0x48], eax
lea rcx, [rbp - 0x20]
call fcn.140043760
jmp 0x14004c363
mov rbx, qword [r13 + 0x10]
mov rcx, rsi
mov rdx, rbx
call fcn.14008a134
mov dword [rsp + 0x48], eax
mov r15d, eax
test rbx, rbx
je 0x14004c363
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1400488d4
jmp 0x14004c363
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x14005069e
movabs rax, 0x400000000
test qword [rsi + 0x30], rax
jne 0x14004ba61
movsxd rax, dword [r13 + 4]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400423d8
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14004b2c4
cmp al, 6
jne 0x140050d71
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x14005125a
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.14003b7d0
jmp 0x14004b2c4
add dword [rsi + 0xe8], r8d
mov rcx, rsi
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.140089efc
dec dword [rsi + 0xe8]
jmp 0x14004b8e8
mov eax, 0xb2
cmp ebx, eax
ja 0x140050af1
je 0x140050ac3
sub ebx, 0xad
je 0x140050a33
sub ebx, 1
je 0x140050916
sub ebx, 1
je 0x1400508a9
sub ebx, 1
je 0x1400507dd
cmp ebx, 1
jne 0x14004b2de
mov edi, dword [rsi + 0x30]
mov eax, 0x4000000
or qword [rsi + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov edx, r8d
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140043230
xor r11d, r11d
mov r15d, eax
test eax, eax
jne 0x14004f37a
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x48], eax
mov r15d, eax
test edi, edi
jne 0x1400507bf
mov r9, qword [rsp + 0x70]
btr qword [r9 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.1400488d4
and dword [r12 + 0xc8], 0xfffffffc
mov rsi, qword [rsp + 0x70]
jmp 0x14004c363
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r14
cmp byte [rdi + 2], al
jne 0x14004bee6
mov rax, qword [rdi + 0x30]
lea rcx, [rbp + 0x18]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call fcn.1400cd940
mov al, byte [rsp + 0x40]
mov ecx, 1
mov qword [rbp + 0x18], rbx
mov byte [rbp + 0x40], al
test byte [r13 + 2], cl
je 0x140050842
mov rcx, rbx
call fcn.140043ba4
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140050851
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x18]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400488d4
xor edi, edi
cmp dword [rbp + 0x3c], edi
jle 0x1400508a1
mov rcx, rbx
call fcn.140048cb0
mov r8, rax
lea rdx, [0x140122ff0]
mov rcx, r12
call fcn.1400447f0
mov r15d, dword [rbp + 0x3c]
mov dword [rsp + 0x48], r15d
mov rcx, rbx
jmp 0x14004b2a7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x10
call fcn.140024f00
mov rbx, rax
test rax, rax
je 0x140051273
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r12
add rdx, r14
mov qword [rax + 8], rdx
mov rdx, r13
call fcn.14004acd4
mov r11d, 1
lea r9, [fcn.14003572c]
lea r8, str.ValueList
mov rdx, rbx
mov rcx, rax
mov word [rax + 0x14], r11w
call fcn.140043c50
jmp 0x14004b2c4
xor eax, eax
mov qword [rbp + 0x88], rax
movsxd rax, dword [r13 + 8]
imul r14, rax, 0x38
add r14, qword [rsp + 0x78]
mov rcx, r14
call fcn.140043ba4
mov rsi, qword [r13 + 0x10]
mov eax, 1
mov rcx, qword [rsi + 0x50]
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rbx]
add dword [rsi + 0x2c], eax
call fcn.1400891a0
mov r9, qword [rsp + 0x70]
lea rcx, [rbp + 0x88]
movsxd rax, dword [r13 + 4]
mov r8, qword [rsi]
shl rax, 5
mov rdx, qword [r9 + 0x20]
mov r9d, dword [r13 + 0xc]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, qword [rax + rdx]
call qword [rdi + 0xc0]
mov rcx, qword [rsi + 0x50]
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400891bc
mov rdx, rsi
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.140064d78
test r15d, r15d
jne 0x140051267
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x1400509e6
lea rax, [fcn.140024fb4]
or r8, 0xffffffffffffffff
lea r9d, [r15 + 1]
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.140043ed8
jmp 0x14004b2bf
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r8d, 1
mov ecx, 4
mov r11b, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x50]
jmp 0x14004be67
mov rsi, qword [rsp + 0x70]
jmp 0x1400509ec
mov rsi, r9
jmp 0x1400509ec
mov r8d, 1
jmp 0x1400509f1
mov ecx, 4
lea r8d, [rcx - 3]
jmp 0x1400509f6
mov r8d, 1
jmp 0x1400509fb
mov ecx, 4
jmp 0x1400509f6
mov rax, qword [r13 + 0x10]
xor r15d, r15d
mov qword [rbp + 0x88], r15
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140050fc5
mov rdi, qword [rbx]
test rdi, rdi
je 0x140050fc5
lea rdx, [rbp + 0x88]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.1400488d4
xor r11d, r11d
test r15d, r15d
jne 0x1400511d3
mov rax, qword [rbp + 0x88]
lea r9d, [r15 + 2]
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.14004a954
mov rcx, qword [rbp + 0x88]
test rax, rax
je 0x140051270
lea r8d, [r15 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r8d
jmp 0x14004b8a8
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rcx, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.140039480
mov ecx, eax
mov qword [rbx], rcx
jmp 0x14004b2c4
sub ebx, 0xb3
je 0x140050c9f
sub ebx, 1
je 0x140050c87
sub ebx, 1
je 0x140050c44
cmp ebx, 1
jne 0x14004b2de
mov al, byte [rsi + 0x6e]
xor edi, edi
test al, 0x41
je 0x140050bc9
cmp byte [r12 + 0xc5], 0xfe
je 0x140050bc9
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x140050b4a
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x140050bc4
test al, 0x40
je 0x140050b76
mov rdx, r9
mov rcx, r12
call fcn.14004a66c
mov rcx, qword [rsi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xf8]
mov rcx, rbx
call fcn.140024fb4
jmp 0x140050bbb
cmp dword [rsi + 0xe4], r8d
jle 0x140050c2a
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.140026ebc
mov rdx, qword [rsi + 0x100]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xf8]
mov rdx, rbx
mov rcx, rsi
call fcn.1400250e8
mov ecx, 4
lea r8d, [rcx - 3]
mov r9, qword [rsp + 0x58]
mov eax, dword [r13 + 4]
cmp eax, dword [0x14013d0e8]
jl 0x140050c17
cmp byte [r13], 0xb6
je 0x140050d1f
mov edx, r8d
cmp dword [r12 + 0x90], r8d
jle 0x140050c15
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x140050c04
mov dword [rax + rcx + 4], edi
add edx, r8d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x140050bf2
mov eax, edi
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], r8d
jmp 0x14004bcab
mov rdx, qword [rsi + 0x100]
mov r8, r12
mov ecx, 1
call qword [rsi + 0xf8]
jmp 0x140050bbb
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, r14
imul rbx, rax, 0x38
call fcn.14004ad00
mov ecx, dword [rbx + r14 + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + r14 + 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 0x14004b2c4
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r14 + 0x14], ax
jmp 0x14004b2d9
mov rdx, r13
mov rcx, r12
call fcn.14004acd4
mov rcx, qword [rsi + 0x20]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [r13 + 0xc], ecx
je 0x140050cd9
mov rcx, rbx
call fcn.140039480
cmp eax, dword [r13 + 0xc]
cmovb eax, dword [r13 + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.140039fbc
mov eax, eax
jmp 0x14004f8cd
mov r15d, dword [rsp + 0x48]
mov r13, rcx
jmp 0x14004b2d3
mov r15d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14004b2de
mov r15d, dword [rsp + 0x48]
jmp 0x14004b2d9
mov r10d, dword [rsp + 0x44]
jmp 0x14004b2de
mov r10d, dword [rsp + 0x44]
mov r11b, byte [rsp + 0x40]
jmp 0x14004b2de
cmp ebx, edx
lea r8, str.out_of
mov r15d, eax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
lea rax, str.into
mov rcx, r12
cmove r8, rax
call fcn.1400447f0
mov r12, qword [rsp + 0x50]
jmp 0x14004df0b
and eax, 0x100000
neg rax
sbb r15d, r15d
and r15d, 0xfffffffd
add r15d, 0xb
mov r12, qword [rsp + 0x50]
jmp 0x14004df10
mov rdi, qword [rsp + 0x68]
mov eax, 5
mov rbx, qword [rsp + 0x60]
lea r14d, [rax - 3]
cmp r15b, al
jne 0x1400512de
mov rcx, r13
mov dword [r12 + 0x34], r15d
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
jmp 0x1400513fb
movzx eax, byte [rsi + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x140050eab
test ecx, ecx
je 0x140050df8
mov edx, 0x204
mov rcx, rsi
call fcn.14009f7cc
mov edi, 1
mov al, dil
jmp 0x140050e3a
test ebx, ebx
je 0x140050e1e
cmp dword [rsi + 0xe0], edi
jle 0x140050e1e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.1400447f0
mov r15d, 5
jmp 0x140050d71
mov edx, r8d
mov rcx, r12
call fcn.140046e88
mov r15d, eax
test eax, eax
jne 0x1400513eb
mov al, bl
lea edi, [r15 + 1]
mov rcx, r12
mov byte [rsi + 0x65], al
call fcn.140046ef4
mov r8d, 5
cmp eax, r8d
jne 0x140050e8c
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r15d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, edi
sub al, bl
mov dword [r12 + 0x30], edx
mov byte [rsi + 0x65], al
mov dword [r12 + 0x34], r8d
jmp 0x14004d480
mov rcx, rsi
call fcn.14009f2ac
mov eax, dword [r12 + 0x34]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x14004d480
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r12
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.1400447f0
mov r15d, 1
jmp 0x140050d71
mov rdi, qword [rsp + 0x68]
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, rdi
call fcn.1400447f0
mov r15d, 5
mov r12, qword [rsp + 0x50]
jmp 0x14004df15
mov rdi, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, rdi
call fcn.1400447f0
mov r15d, 5
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp 0x14004df15
mov r12, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x70]
mov rcx, r12
sub rcx, qword [rsp + 0x58]
mov r15d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor ebx, ebx
mov dword [rdi + 0x30], edx
mov byte [rsi + 0x65], bl
mov dword [rdi + 0x34], r8d
jmp 0x14004d48a
mov r15d, 0x65
jmp 0x14004d480
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1400447f0
mov r15d, 1
jmp 0x140050f1d
movzx eax, byte [r13 + 2]
mov ecx, 5
cmp word [r13 + 2], cx
lea r14d, [rcx - 3]
cmove eax, r14d
mov byte [r12 + 0xc4], al
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
jmp 0x14004df1b
mov r15d, 6
jmp 0x140050d71
mov r15d, 0x14
jmp 0x140050d71
mov ecx, 0x18235
call fcn.1400a19c4
mov r15d, eax
jmp 0x140050d71
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r15d, r8d
call fcn.1400447f0
jmp 0x140050d71
mov ecx, dword [r13 + 4]
mov dword [r12 + 0x34], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc4], al
test ecx, ecx
je 0x1400510cd
mov rcx, r12
cmp word [r13 + 2], di
je 0x140051075
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x11b540]
call fcn.1400447f0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x140051085
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.140026ebc
mov qword [r12 + 0xa8], rax
jmp 0x140051085
mov r8, qword [r13 + 0x10]
lea rdx, [0x140122ff0]
call fcn.1400447f0
mov r9, qword [r12 + 0xf8]
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.140027104
mov rcx, r12
call fcn.140046ef4
mov rdi, qword [rsp + 0x68]
mov r15d, eax
mov rbx, qword [rsp + 0x60]
mov eax, 5
mov r13b, byte [rsp + 0x41]
lea r14d, [rax - 3]
cmp r15d, eax
jne 0x1400510ff
mov dword [r12 + 0x34], eax
jmp 0x140051400
mov eax, dword [r12 + 0x34]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x140051400
movsxd rax, edi
mov rcx, rsi
lea rdi, [rax + rax*2]
mov ebx, dword [r14 + rdi*8 + 8]
shr ebx, 4
and ebx, 0xf
sub ebx, r8d
call fcn.14004af68
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r14 + rdi*8]
mov rcx, r12
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x13ecb0]
call fcn.1400447f0
mov r15d, 0xc13
jmp 0x140050d54
mov ecx, 0x17466
call fcn.1400a19c4
mov r15d, eax
jmp 0x140050d54
mov r15d, 0x204
jmp 0x140050d71
mov rcx, qword [rdi]
call fcn.140039cd4
jmp 0x140050d71
mov r15d, 0xd
jmp 0x140050d54
mov r12, qword [rsp + 0x50]
jmp 0x1400511b4
mov r12, qword [rsp + 0x50]
mov rsi, r9
mov rdi, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, rdi
call fcn.1400447f0
mov r15d, 0x12
jmp 0x14004df15
mov rdi, qword [rsp + 0x68]
jmp 0x14004f384
lea r8, str.index_corruption
mov edx, 0x18168
mov ecx, 0x30b
call fcn.1400a1978
jmp 0x140050fe5
mov r15d, 6
lea r14d, [r15 - 4]
mov byte [r12 + 0xc4], r14b
jmp 0x140050fb6
mov r15d, 7
mov rcx, rsi
call fcn.1400649d8
jmp 0x14004feac
mov rcx, qword [rbp - 0x28]
call fcn.140024fb4
jmp 0x140050d71
mov r12, qword [rsp + 0x50]
or rbx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x68]
lea r15d, [rbx + 0xa]
lea r14d, [rbx + 3]
jmp 0x14004df23
call fcn.140048cb0
mov r8, rax
lea rdx, [0x140122ff0]
mov rcx, r12
call fcn.1400447f0
jmp 0x140050d71
mov rcx, qword [rbp + 0x88]
jmp 0x140051226
call qword [rdi + 0x38]
mov r12, qword [rsp + 0x50]
jmp 0x140051299
mov r12, qword [rsp + 0x50]
mov r13b, byte [rsp + 0x41]
mov r15d, 9
jmp 0x14004fec5
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
mov r13b, byte [rsp + 0x41]
mov rbx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14002564c
mov rcx, qword [rsp + 0x68]
lea rdx, str.out_of_memory
call fcn.1400447f0
mov r15d, 7
jmp 0x14004fec5
mov r15d, dword [rsp + 0x48]
jmp 0x14004f37a
mov r12, qword [rsp + 0x50]
mov rsi, rbx
jmp 0x14004df10
mov r12, qword [rsp + 0x50]
jmp 0x14004df23
cmp r15d, 0x210a
jne 0x140051301
mov ecx, 0x18b12
call fcn.1400a19c4
mov r15d, eax
xor r11d, r11d
cmp qword [rdi + 0xa8], r11
jne 0x14005132d
cmp r15d, 0xc0a
je 0x14005132d
mov ecx, r15d
call fcn.14009f8e0
mov r8, rax
lea rdx, [0x140122ff0]
mov rcx, rdi
call fcn.1400447f0
mov edx, r15d
mov dword [rdi + 0x34], r15d
mov rcx, rsi
call fcn.140027f98
mov r9, qword [rdi + 0xf8]
mov rcx, r12
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rdi + 0xa8]
mov ecx, r15d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140027104
cmp byte [rdi + 0xc7], r14b
jne 0x140051392
mov rcx, rdi
call fcn.140046ef4
cmp r15d, 0xc0a
jne 0x1400513a5
mov rcx, rsi
call fcn.14002564c
jmp 0x1400513c2
cmp r15d, 0xb
jne 0x1400513c2
xor r15d, r15d
cmp byte [rsi + 0x65], r15b
jne 0x1400513c2
movabs rax, 0x200000000
or qword [rsi + 0x30], rax
mov r8d, 1
mov r15d, r8d
test r13b, r13b
je 0x140051405
movzx edx, r13b
mov rcx, rsi
sub edx, r8d
call fcn.14006495c
jmp 0x140051405
mov rsi, qword [rsp + 0x70]
jmp 0x14004d485
mov rdi, qword [rsp + 0x68]
mov r14d, 2
mov rbx, qword [rsp + 0x60]
mov r13b, byte [rsp + 0x41]
mov r12, qword [rsp + 0x50]
mov rax, qword [rbp - 0x70]
cmp rax, rbx
jb 0x140051440
mov rdx, qword [rsi + 0x210]
test rdx, rdx
je 0x140051440
mov eax, dword [rsi + 0x220]
mov rcx, qword [rsi + 0x218]
add rbx, rax
call rdx
xor r11d, r11d
test eax, eax
je 0x140051405
or rbx, 0xffffffffffffffff
lea r15d, [r11 + 9]
jmp 0x14004df28
add dword [rdi + 0xe4], eax
xor eax, eax
cmp dword [rdi + 0xd0], eax
je 0x140051458
mov rcx, rdi
call fcn.140045d8c
mov eax, r15d
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.1400cb0f0
lea r11, [rsp + 0x2b0]
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]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret