Function at 0x1400fc270
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov r13, rdx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x48], rcx
mov r15, qword [rcx + 8]
mov al, byte [r15 + 0x29]
test al, 1
jne 0x1400fd24e
mov rax, qword [r15 + 8]
mov ecx, dword [rax + 0x24]
test cl, 1
jne 0x1400fd24e
mov r14, r9
mov ebx, r8d
movzx ecx, byte [r9 + 0x17]
test cl, cl
jns 0x1400fc2d8
mov rcx, qword [r14 + 8]
add rcx, 0x51
cmp rcx, 0x59
mov r12d, 0x58
cmovae r12, rcx
cmp r12, 0x3ffffff1
mov qword [rsp + 0x40], r13
jae 0x1400fd2d2
lea rcx, [r12 + 0x17]
and rcx, 0xfffffffffffffff8
cmp rcx, 0x11
jb 0x1400fd263
mov edx, dword [r15 + 0x18]
cmp rcx, rdx
ja 0x1400fd263
mov r13d, dword [rax + 0x28]
mov al, byte [r15 + 0x29]
test al, 1
jne 0x1400fd2a4
mov r9, qword [r15 + 8]
mov eax, dword [r9 + 0x24]
test al, 1
jne 0x1400fd2a4
mov r10d, r13d
lea rax, [rcx + r10]
mov r11d, dword [r15 + 0x14]
cmp rax, r11
ja 0x1400fd2d9
cmp r13d, 0x40
jb 0x1400fd2a4
mov eax, r10d
and eax, 7
jne 0x1400fd2a4
cmp r13d, 0xffffffef
ja 0x1400fd2a4
lea eax, [r13 + 0x10]
cmp r11d, eax
jb 0x1400fd2a4
mov r8, r9
add r8, r10
je 0x1400fd2a4
mov esi, dword [r15 + 0x18]
mov eax, r13d
xor edx, edx
div esi
sub esi, edx
cmp rcx, rsi
ja 0x1400fd26a
mov rax, rsi
sub rax, rcx
cmp rax, 0x17
jbe 0x1400fd295
lea edx, [rcx + r13]
mov eax, r13d
lock cmpxchg dword [r9 + 0x28], edx
mov r13d, eax
jne 0x1400fc320
cmp dword [r8], 0
jne 0x1400fd2a4
cmp dword [r8 + 4], 0
jne 0x1400fd2a4
mov eax, dword [r8 + 8]
test eax, eax
jne 0x1400fd2a4
mov eax, dword [r8 + 0xc]
test eax, eax
jne 0x1400fd2a4
mov rax, rcx
add rax, r8
mov rdx, qword [r15 + 0x20]
lea r9, [r8 + rdx]
add r9, 0xf
neg rdx
and rdx, r9
cmp rax, rdx
ja 0x1400fd1a9
mov dword [r8], ecx
mov dword [r8 + 4], 0xc8799269
mov dword [r8 + 8], 0xf1645913
test r13d, r13d
je 0x1400fd2ac
mov rcx, qword [r15 + 0x30]
test rcx, rcx
jne 0x1400fd2ec
xor esi, esi
cmp r13d, 0x40
jb 0x1400fc4af
mov eax, r13d
mov ecx, eax
and ecx, 7
jne 0x1400fc4af
add r12, 0x10
xor esi, esi
mov rcx, rax
add rcx, r12
jb 0x1400fc4af
mov rdx, rcx
shr rdx, 0x20
jne 0x1400fc4af
mov edx, dword [r15 + 0x14]
cmp edx, ecx
jb 0x1400fd2cb
mov rcx, qword [r15 + 8]
mov r8d, dword [rcx + rax + 4]
cmp r8d, 0xc8799269
jne 0x1400fd2cb
add rcx, rax
mov eax, dword [rcx]
cmp r12, rax
ja 0x1400fd2cb
xor esi, esi
add r13d, dword [rcx]
jb 0x1400fc4af
cmp r13d, edx
ja 0x1400fc4af
mov eax, dword [rcx + 8]
xor esi, esi
cmp eax, 0xf1645913
cmove rsi, rcx
lea rdi, [rsi + 0x10]
test rsi, rsi
cmove rdi, rsi
test rdi, rdi
je 0x1400fd301
mov esi, dword [rsp + 0x1b8]
xorps xmm0, xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x50], 0
lea rcx, [rdi + 0x50]
movzx r8d, byte [r14 + 0x17]
test r8b, r8b
mov r13, qword [rsp + 0x40]
jns 0x1400fc502
mov r8, qword [r14 + 8]
mov r14, qword [r14]
inc r8
mov rdx, r14
call fcn.140188f50
mov dword [rdi], ebx
or esi, 0x40
mov dword [rdi + 4], esi
cmp ebx, 4
je 0x1400fd0cb
mov rbx, qword [rsp + 0x1b0]
mov rsi, qword [rbx + 8]
sub rsi, qword [rbx]
mov r14, rsi
sar r14, 2
movabs rax, 0xdfffffffffffffff
lea rcx, [r14 + rax]
add rax, 2
cmp rcx, rax
jb 0x1400fd256
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x1400fced6
test rdi, rdi
je 0x1400fd256
mov ecx, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1a0]
movabs r8, 0xaaaaaaaaaaaaaaaa
mov dword [rdi + 8], edx
mov dword [rdi + 0xc], ecx
dec r14d
mov dword [rdi + 0x10], r14d
mov dword [rdi + 0x14], eax
mov eax, dword [rbx + 0x18]
mov dword [rdi + 0x18], eax
mov ebp, dword [rdi]
mov qword [r13], r8
cmp ebp, 4
je 0x1400fd0cb
mov eax, dword [rdi + 4]
mov dword [rsp + 0x5c], eax
mov r14d, dword [rdi + 0x10]
mov eax, dword [rdi + 0x14]
mov r15d, dword [rdi + 0x18]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 8]
lea edx, [rax + 0x14]
xor esi, esi
cmp edx, 0x54
jb 0x1400fc621
mov r8d, eax
and r8d, 7
jne 0x1400fc621
mov r8d, dword [rcx + 0x14]
cmp r8d, edx
jb 0x1400fd1e3
mov rdx, qword [rcx + 8]
mov r9d, dword [rdx + rax + 4]
cmp r9d, 0xc8799269
jne 0x1400fd1e3
add rdx, rax
mov r9d, dword [rdx]
cmp r9d, 0x14
jb 0x1400fd1e3
xor esi, esi
mov r9d, dword [rdx]
add r9d, eax
jb 0x1400fc621
cmp r9d, r8d
ja 0x1400fc621
mov r8d, dword [rdx + 8]
xor esi, esi
cmp r8d, 0xbcea225b
cmove rsi, rdx
lea r12, [rsi + 0x10]
test rsi, rsi
cmove r12, rsi
lea r9d, [rax + 0x10]
xor edx, edx
cmp r9d, 0x50
jb 0x1400fc6ac
mov r8d, eax
and r8d, 7
jne 0x1400fc6ac
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x1400fd247
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400fd247
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x1400fd247
xor edx, edx
mov r10d, dword [r9]
add r10d, eax
jb 0x1400fc6ac
cmp r10d, r8d
ja 0x1400fc6ac
test r9, r9
je 0x1400fc6ac
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x1400fd242
mov r9d, edx
add r9d, eax
jb 0x1400fd242
cmp r9d, r8d
ja 0x1400fd242
add rdx, 0xfffffffffffffff0
test rsi, rsi
je 0x1400fd1c4
cmp r14d, 2
jb 0x1400fd1c4
cmp r14d, 0x3ffffffe
ja 0x1400fd1c4
lea r13d, [r14 + 1]
lea rsi, [r13*4]
cmp rdx, rsi
jb 0x1400fd1c4
mov ecx, 0x20
call fcn.140184834
mov rbx, rax
mov rcx, rsi
call fcn.140184834
mov qword [rbx], rax
mov qword [rbx + 8], rax
lea rcx, [rax + r13*4]
mov qword [rbx + 0x10], rcx
xor edx, edx
nop word [rax + rax]
mov r8, rax
add r8, rdx
je 0x1400fd216
mov dword [r8], 0
add rdx, 4
cmp rsi, rdx
jne 0x1400fc710
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], 0
test r13, r13
je 0x1400fd1ea
mov ecx, dword [r12]
mov dword [rax], ecx
mov eax, 1
nop dword [rax]
mov ecx, dword [r12 + rax*4]
cmp ecx, dword [r12 + rax*4 - 4]
jle 0x1400fd1bb
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x1400fd1ea
mov dword [rdx + rax*4], ecx
inc rax
cmp r13, rax
jne 0x1400fc750
mov rcx, qword [rbx]
mov r8, qword [rbx + 8]
mov rdx, r8
sub rdx, rcx
je 0x1400fd314
mov rax, rdx
shr rax, 2
mov r9, rcx
not r9
add r9, r8
jne 0x1400fc7ab
xor r8d, r8d
jmp 0x1400fc7f0
mov r9, rdx
and r9, 0xfffffffffffffffe
xor r8d, r8d
lea r10, [0x14027c090]
nop dword [rax]
movzx r11d, al
movzx esi, byte [rcx + r8]
xor esi, r11d
shr eax, 8
xor eax, dword [r10 + rsi*4]
movzx r11d, al
movzx esi, byte [rcx + r8 + 1]
xor esi, r11d
shr eax, 8
xor eax, dword [r10 + rsi*4]
add r8, 2
cmp r9, r8
jne 0x1400fc7c0
test dl, 1
je 0x1400fc80c
movzx edx, al
movzx ecx, byte [rcx + r8]
xor ecx, edx
lea rdx, [0x14027c090]
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov dword [rbx + 0x18], eax
cmp eax, r15d
jne 0x1400fd1bb
test rbx, rbx
je 0x1400fd1c4
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x1400fd1d6
mov rcx, rbx
call fcn.1400fd3f0
mov rbx, rax
lea r13, [r14*8]
mov edx, dword [rdi + 0x1c]
test edx, edx
jne 0x1400fcfd6
movabs r12, 0xfffffffc00000000
movabs rax, 0xaaaaaaaa00000000
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 8]
mov rax, rsi
and rax, r12
mov qword [rsp + 0x70], rax
cmp rax, qword [0x1402aaec8]
je 0x1400fcc79
lea rcx, [rdi + 0x1c]
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0xa0], 0x53215531
cmp r14d, 0x1fffffff
ja 0x1400fd31b
mov eax, r13d
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0xa4], eax
mov r15, rcx
and r15, r12
cmp r15, qword [0x1402aaec8]
mov qword [rsp + 0x50], rcx
je 0x1400fd323
mov qword [rsp + 0xb0], rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 8]
mov rax, rsi
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fcc86
lea eax, [r14*4]
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x80], 0x53215531
cmp r14d, 0x1fffffff
ja 0x1400fd332
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0x88], eax
cmp r15, qword [0x1402aaec8]
je 0x1400fd33b
mov qword [rsp + 0x90], rcx
cmp ebp, 3
ja case.default.0x1400fc975
lea r13, [rdi + 0x50]
mov eax, ebp
lea rcx, [0x1402821a4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 0x28
call fcn.140184834
mov r14, rax
mov qword [rax + 8], r13
mov dword [rax + 0x10], 0
lea rax, [0x140271420]
mov qword [r14], rax
xorps xmm6, xmm6
movups xmmword [r14 + 0x18], xmm6
mov rcx, r13
call fcn.1401ab6c0
lea rbp, [rsp + 0xd0]
movups xmmword [rbp + 0x34], xmm6
movups xmmword [rbp + 0x28], xmm6
movups xmmword [rbp + 0x18], xmm6
movups xmmword [rbp + 8], xmm6
movups xmmword [rbp - 8], xmm6
movaps xmm0, xmmword [0x14027a710]
movups xmmword [rbp - 0x18], xmm0
test rax, rax
je 0x1400fca13
mov rsi, rax
lea eax, [rax*8]
mov rcx, rsi
shr rcx, 0x1d
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xc8], eax
mov r8, rsi
cmp rsi, 0x40
jae 0x1400fd066
mov dword [rsp + 0x110], esi
mov rcx, rbp
mov rdx, r13
call fcn.140188f50
mov qword [rsp + 0x68], rbx
lea rsi, [rdi + 0x20]
mov eax, dword [rsp + 0x110]
lea rcx, [rax + 1]
mov edx, dword [rsp + 0xc8]
mov ebx, dword [rsp + 0xcc]
mov byte [rsp + rax + 0xd0], 0x80
cmp rax, 0x38
mov dword [rsp + 0x58], edx
jae 0x1400fd096
cmp rcx, 0x38
je 0x1400fca64
mov r8d, 0x38
sub r8, rcx
add rcx, rbp
xor edx, edx
call fcn.140189600
lea r13, [rsp + 0xb8]
mov eax, dword [rsp + 0x58]
mov dword [r13 + 0x50], eax
mov dword [r13 + 0x54], ebx
mov r8d, 1
mov rcx, r13
mov rdx, rbp
call fcn.140080f40
mov rbx, qword [r13]
mov ecx, 0x48
call fcn.140184834
mov r13, rax
mov qword [rax + 8], 0
mov rax, rsi
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fd373
mov qword [r13 + 0x10], rsi
cmp qword [rsi], 0
mov rcx, qword [rsp + 0x50]
jne 0x1400fcaca
bswap rbx
mov qword [rsi], rbx
mov qword [r13 + 0x18], 0
mov rsi, qword [rsp + 0x68]
mov rbp, rsi
and rbp, r12
cmp rbp, qword [0x1402aaec8]
jne 0x1400fcaf3
mov rcx, rsi
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
mov qword [r13 + 0x20], rsi
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
cmp rax, 4
je 0x1400fd380
lea rsi, [rsp + 0xa0]
lea rax, [0x140270a20]
mov qword [r13], rax
mov rax, qword [rsp + 0x70]
cmp rax, qword [0x1402aaec8]
je 0x1400fce54
mov rax, qword [rsp + 0x60]
mov qword [r13 + 0x28], rax
mov eax, dword [rsi + 8]
mov dword [r13 + 0x38], eax
mov rax, qword [rsi]
mov qword [r13 + 0x30], rax
cmp r15, qword [0x1402aaec8]
je 0x1400fd383
lea rsi, [r14 + 0x18]
mov qword [r13 + 0x40], rcx
mov eax, dword [rdi + 0x34]
cmp eax, 0xffffffff
je 0x1400fd10d
lea r15, [rdi + 0x38]
mov rcx, qword [rsi]
mov qword [rsi], r13
test rcx, rcx
jne 0x1400fd392
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax]
mov ecx, 0x48
call fcn.140184834
mov rsi, rax
mov qword [rax + 8], 0
mov rax, r15
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fd3a8
mov qword [rsi + 0x10], r15
cmp qword [r15], 0
mov r13, qword [rsp + 0x40]
jne 0x1400fcbb9
mov qword [r15], rbx
mov qword [rsi + 0x18], 0
cmp rbp, qword [0x1402aaec8]
mov rbx, qword [rsp + 0x68]
jne 0x1400fcbd7
mov rcx, rbx
call fcn.1400da330
mov qword [rsi + 0x20], rbx
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
cmp rax, 4
je 0x1400fd3b5
lea r15, [rsp + 0x80]
lea rax, [0x140270a20]
mov qword [rsi], rax
mov rbx, qword [r15 - 8]
mov rax, rbx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fce68
mov qword [rsi + 0x28], rbx
mov eax, dword [r15 + 8]
mov dword [rsi + 0x38], eax
mov rax, qword [r15]
mov qword [rsi + 0x30], rax
mov rbx, qword [rsp + 0x90]
mov rax, rbx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fd3b8
mov qword [rsi + 0x40], rbx
mov eax, dword [rdi + 0x4c]
cmp eax, 0xffffffff
je 0x1400fd134
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x20], rsi
test rcx, rcx
je 0x1400fccf9
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401eda70.0]
jmp 0x1400fccf9
mov rcx, rsi
call fcn.1400da330
jmp 0x1400fc88e
mov rcx, rsi
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
jmp 0x1400fc90f
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x40
call fcn.140184834
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, r14
mov rdx, r13
mov r8, r15
call fcn.1400fd970
lea rax, [0x1402714e0]
mov qword [r14], rax
lea rax, [r14 + 0x30]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x28], rax
mov r13, qword [rsp + 0x40]
test r14, r14
je 0x1400fd357
mov eax, dword [rsp + 0x5c]
lock or dword [r14 + 0x10], eax
mov qword [r13], r14
mov rcx, qword [rsp + 0x90]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fd35f
mov qword [rsp + 0x90], 0
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402aaec8]
jne 0x1400fcd4f
call fcn.1400da480
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x1400fd369
mov qword [rsp + 0xb0], 0
mov rcx, qword [rsp + 0x98]
and r12, rcx
cmp r12, qword [0x1402aaec8]
jne 0x1400fcd8f
call fcn.1400da480
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rcx + 8]
mov rdx, qword [r8 + 8]
xor ecx, ecx
cmp rdx, rdi
ja 0x1400fce16
sub rdi, rdx
cmp rdi, 0x10
jb 0x1400fce16
mov r9d, dword [r8 + 0x14]
cmp rdi, r9
jae 0x1400fce16
lea r8d, [rdi - 0x10]
cmp r8d, 0x40
jb 0x1400fce16
mov r10d, r8d
and r10d, 7
jne 0x1400fce16
cmp r9d, edi
jbe 0x1400fce16
mov r10d, dword [rdx + r8 + 4]
cmp r10d, 0xc8799269
jne 0x1400fce16
add rdx, r8
mov r10d, dword [rdx]
cmp r10d, 0x11
jb 0x1400fce16
mov r10d, dword [rdx]
add r10d, r8d
jb 0x1400fce16
cmp r10d, r9d
ja 0x1400fce16
mov ecx, dword [rdx + 8]
xor r9d, r9d
test rdx, rdx
cmove r8d, r9d
cmp ecx, 0xf1645913
cmovne r8d, r9d
mov ecx, r8d
test rax, rax
je 0x1400fce1d
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x50], ecx
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401874c0
mov rax, r13
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x60]
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
jmp 0x1400fcb2d
mov rcx, rbx
call fcn.1400da330
jmp 0x1400fcc15
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x40
call fcn.140184834
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, r14
mov rdx, r13
mov r8, r15
call fcn.1400fd970
lea rax, [r14 + 0x30]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x28], rax
lea rax, [0x1402715a0]
mov qword [r14], rax
jmp 0x1400fccf4
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rdx, rsi
mov r8d, 0xbcea225b
call fcn.1400dc510
test eax, eax
je 0x1400fd256
cmp eax, 0x40
jb 0x1400fd256
mov ecx, eax
mov edx, ecx
and edx, 7
jne 0x1400fd256
add rsi, 0x10
mov rdx, rcx
add rdx, rsi
jb 0x1400fd256
mov r8, rdx
shr r8, 0x20
jne 0x1400fd256
mov r8, qword [rsp + 0x48]
mov r9, qword [r8 + 8]
mov r8d, dword [r9 + 0x14]
cmp r8d, edx
jb 0x1400fd256
mov rdx, qword [r9 + 8]
mov r9d, dword [rdx + rcx + 4]
cmp r9d, 0xc8799269
jne 0x1400fd256
add rdx, rcx
mov ecx, dword [rdx]
cmp rsi, rcx
ja 0x1400fd256
mov ecx, dword [rdx]
add ecx, eax
jb 0x1400fd256
cmp ecx, r8d
ja 0x1400fd256
mov r8d, dword [rdx + 8]
xor ecx, ecx
cmp r8d, 0xbcea225b
cmove rcx, rdx
test rcx, rcx
je 0x1400fd256
add rcx, 0x10
je 0x1400fd256
mov rdx, qword [rbx]
cmp qword [rbx + 8], rdx
je 0x1400fcfce
xor r8d, r8d
nop word cs:[rax + rax]
mov edx, dword [rdx + r8*4]
mov dword [rcx + r8*4], edx
inc r8
mov rdx, qword [rbx]
mov r9, qword [rbx + 8]
sub r9, rdx
sar r9, 2
cmp r8, r9
jb 0x1400fcfb0
mov dword [rbx + 0x1c], eax
jmp 0x1400fc55a
lea r9d, [rdx + 0x10]
xor eax, eax
cmp r9d, 0x50
jb 0x1400fd058
mov ecx, edx
and ecx, 7
jne 0x1400fd058
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x1400fd3ca
mov r9, qword [rcx + 8]
mov eax, dword [r9 + rdx + 4]
cmp eax, 0xc8799269
jne 0x1400fd3ca
add r9, rdx
mov eax, dword [r9]
cmp eax, 0x10
jb 0x1400fd3ca
xor eax, eax
mov r10d, dword [r9]
add r10d, edx
jb 0x1400fd058
cmp r10d, r8d
ja 0x1400fd058
test r9, r9
je 0x1400fd058
mov eax, dword [r9]
cmp rax, 0x11
jb 0x1400fd3c5
add edx, eax
jb 0x1400fd3c5
cmp edx, r8d
ja 0x1400fd3c5
add rax, 0xfffffffffffffff0
cmp rax, r13
jae 0x1400fc851
jmp 0x1400fd1c4
shr r8, 6
lea rcx, [rsp + 0xb8]
mov rdx, r13
call fcn.140080f40
mov r8, rsi
and r8, 0x3f
je 0x1400fca13
and rsi, 0xffffffffffffffc0
add r13, rsi
mov esi, r8d
jmp 0x1400fca01
cmp eax, 0x3f
je 0x1400fd0ae
mov r8d, 0x3f
sub r8, rax
add rcx, rbp
xor edx, edx
call fcn.140189600
lea rcx, [rsp + 0xb8]
mov r8d, 1
mov rdx, rbp
call fcn.140080f40
xor ecx, ecx
jmp 0x1400fca51
lea r15, [rdi + 0x38]
lea rsi, [rdi + 0x20]
lea rbx, [rdi + 0x50]
mov ecx, 0x38
call fcn.140184834
mov r14, rax
mov qword [rsp + 0x20], r15
mov rcx, rax
mov rdx, qword [rsp + 0x48]
mov r8, rbx
mov r9, rsi
call fcn.140027f80
mov qword [r13], r14
mov eax, dword [rdi + 4]
lock or dword [r14 + 0x10], eax
jmp 0x1400fcd8f
mov rax, qword [r13 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x1400fcb65
mov rcx, r13
add rcx, 0x28
call fcn.1400015b0
mov qword [r13 + 0x18], rax
mov rax, qword [r13 + 0x18]
jmp 0x1400fcb65
mov rax, qword [rsi + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x1400fcc52
mov rcx, rsi
add rcx, 0x28
call fcn.1400015b0
mov qword [rsi + 0x18], rax
mov rax, qword [rsi + 0x18]
jmp 0x1400fcc52
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x28
call fcn.140184834
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, r14
mov rdx, r13
mov r8, r15
call fcn.1400fd970
lea rax, [0x140271660]
jmp 0x1400fcece
mov byte [rdx], 0
add rdx, qword [r15 + 0x20]
cmp rdx, rax
jae 0x1400fc413
jmp 0x1400fd1a9
test rbx, rbx
jne 0x1400fd3d1
mov r13, qword [rsp + 0x40]
mov qword [r13], 0
jmp 0x1400fcd8f
mov rdx, rbx
call fcn.1400fe240
jmp 0x1400fc83b
xor esi, esi
jmp 0x1400fc621
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5b5
call fcn.1401c1b10
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.1401c1b10
call fcn.1401c44e0
xor edx, edx
jmp 0x1400fc6ac
mov rcx, r15
call fcn.1401c44e0
mov qword [r13], 0
jmp 0x1400fce25
call fcn.1401c5160
jmp 0x1400fd2ac
cmp esi, 0x10
jbe 0x1400fd2a4
lea edx, [rsi + r13]
mov eax, r13d
lock cmpxchg dword [r9 + 0x28], edx
mov r13d, eax
jne 0x1400fc320
mov dword [r8], esi
mov dword [r8 + 4], 0xffffffff
jmp 0x1400fc320
add r10, rsi
mov rcx, rsi
cmp r10, r11
jbe 0x1400fc3af
mov rcx, r15
call fcn.1401c44e0
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x1400fd2cb
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
xor esi, esi
xor edx, edx
call qword [case.0x1401eda70.0]
jmp 0x1400fc4af
xor esi, esi
jmp 0x1400fc4af
call fcn.1401c5160
jmp 0x1400fd2ac
mov eax, dword [r9 + 0x24]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [r9 + 0x24], ecx
jne 0x1400fd2dd
jmp 0x1400fd2ac
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov edx, r12d
call qword [case.0x1401eda70.0]
jmp 0x1400fc43c
cmp ebx, 4
mov r13, qword [rsp + 0x40]
jne 0x1400fc51e
jmp 0x1400fd256
xor eax, eax
jmp 0x1400fc80c
int3
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
jmp 0x1400fc8d9
int3
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
jmp 0x1400fc950
xor r14d, r14d
mov r13, qword [rsp + 0x40]
jmp 0x1400fcd0b
xor r14d, r14d
jmp 0x1400fcd0b
call fcn.1400da480
jmp 0x1400fcd2a
call fcn.1400da480
jmp 0x1400fcd6a
mov rcx, rsi
call fcn.1400da330
jmp 0x1400fcab5
int3
call fcn.1400da330
mov rcx, qword [rsp + 0x50]
jmp 0x1400fcb51
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401eda70.0]
jmp 0x1400fcb78
mov rcx, r15
call fcn.1400da330
jmp 0x1400fcba7
int3
mov rcx, rbx
call fcn.1400da330
jmp 0x1400fcc42
call fcn.1401c44e0
xor eax, eax
jmp 0x1400fd058
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400fd3e2
mov qword [rbx + 8], rcx
call fcn.14018482c
mov rcx, rbx
call fcn.14018482c
jmp 0x1400fd1c4