Function at 0x140101140
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 [0x140297028]
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 0x140101f46
mov rax, qword [r15 + 8]
mov ecx, dword [rax + 0x24]
test cl, 1
jne 0x140101f46
mov r14, r9
mov ebx, r8d
movzx ecx, byte [r9 + 0x17]
test cl, cl
js 0x1401011a9
and ecx, 0x7f
jmp 0x1401011ad
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 0x14010217a
lea rcx, [r12 + 0x17]
and rcx, 0xfffffffffffffff8
cmp rcx, 0x11
jb 0x140102181
mov edx, dword [r15 + 0x18]
cmp rcx, rdx
ja 0x140102181
mov r13d, dword [rax + 0x28]
mov al, byte [r15 + 0x29]
test al, 1
jne 0x140102188
mov r9, qword [r15 + 8]
mov eax, dword [r9 + 0x24]
test al, 1
jne 0x140102188
mov r10d, r13d
lea rax, [rcx + r10]
mov r11d, dword [r15 + 0x14]
cmp rax, r11
ja 0x140102167
cmp r13d, 0x40
jb 0x140102188
mov eax, r10d
and eax, 7
jne 0x140102188
cmp r13d, 0xffffffef
ja 0x140102188
lea eax, [r13 + 0x10]
cmp r11d, eax
jb 0x140102188
mov r8, r9
add r8, r10
je 0x140102188
mov esi, dword [r15 + 0x18]
mov eax, r13d
xor edx, edx
div esi
sub esi, edx
cmp rcx, rsi
ja 0x14010212b
mov rax, rsi
sub rax, rcx
cmp rax, 0x17
jbe 0x140102156
lea edx, [rcx + r13]
mov eax, r13d
lock cmpxchg dword [r9 + 0x28], edx
mov r13d, eax
jne 0x1401011f5
cmp dword [r8], 0
jne 0x140102188
cmp dword [r8 + 4], 0
jne 0x140102188
mov eax, dword [r8 + 8]
test eax, eax
jne 0x140102188
mov eax, dword [r8 + 0xc]
test eax, eax
jne 0x140102188
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 0x1401020f9
mov dword [r8], ecx
mov dword [r8 + 4], 0xc8799269
mov dword [r8 + 8], 0xf1645913
test r13d, r13d
je 0x140102190
mov rcx, qword [r15 + 0x30]
test rcx, rcx
jne 0x1401022a0
xor esi, esi
cmp r13d, 0x40
jb 0x140101385
mov eax, r13d
mov ecx, eax
and ecx, 7
jne 0x140101385
add r12, 0x10
xor esi, esi
mov rcx, rax
add rcx, r12
jb 0x140101385
mov rdx, rcx
shr rdx, 0x20
jne 0x140101385
mov edx, dword [r15 + 0x14]
cmp edx, ecx
jb 0x1401021af
mov rcx, qword [r15 + 8]
mov r8d, dword [rcx + rax + 4]
cmp r8d, 0xc8799269
jne 0x1401021af
add rcx, rax
mov eax, dword [rcx]
cmp r12, rax
ja 0x1401021af
xor esi, esi
mov eax, dword [rcx]
add eax, r13d
jb 0x140101385
cmp eax, edx
ja 0x140101385
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 0x140101f53
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 eax, byte [r14 + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
mov rdx, qword [r14]
cmovns rdx, r14
cmovs r8, qword [r14 + 8]
inc r8
call fcn.140184b40
mov dword [rdi], ebx
or esi, 0x40
mov dword [rdi + 4], esi
mov dword [rdi + 0x1c], 0
cmp ebx, 4
mov r13, qword [rsp + 0x40]
je 0x1401020b7
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 0x140101e5c
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x140101e69
test rdi, rdi
je 0x140101e5c
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 0x1401020b7
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 r8d, [rax + 0x14]
xor edx, edx
cmp r8d, 0x54
jb 0x140101504
mov r9d, eax
and r9d, 7
jne 0x140101504
mov r9d, dword [rcx + 0x14]
cmp r9d, r8d
jb 0x140102118
mov r8, qword [rcx + 8]
mov edx, dword [r8 + rax + 4]
cmp edx, 0xc8799269
jne 0x140102118
add r8, rax
mov edx, dword [r8]
cmp edx, 0x14
jb 0x140102118
xor edx, edx
mov r10d, dword [r8]
add r10d, eax
jb 0x140101504
cmp r10d, r9d
ja 0x140101504
mov r9d, dword [r8 + 8]
xor edx, edx
cmp r9d, 0xbcea225b
cmove rdx, r8
lea r12, [rdx + 0x10]
test rdx, rdx
cmove r12, rdx
lea r9d, [rax + 0x10]
xor edx, edx
cmp r9d, 0x50
jb 0x140101592
mov r8d, eax
and r8d, 7
jne 0x140101592
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x140102124
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x140102124
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x140102124
mov r10d, dword [r9]
add r10d, eax
setb r11b
xor edx, edx
test r9, r9
je 0x140101592
test r11b, r11b
jne 0x140101592
cmp r10d, r8d
ja 0x140101592
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x14010211f
add eax, edx
jb 0x14010211f
cmp eax, r8d
ja 0x14010211f
add rdx, 0xfffffffffffffff0
test r12, r12
je 0x14010201a
cmp r14d, 2
jb 0x14010201a
cmp r14d, 0x3ffffffe
ja 0x14010201a
lea r13d, [r14 + 1]
lea rsi, [r13*4]
cmp rdx, rsi
jb 0x14010201a
mov ecx, 0x20
call fcn.1401803a4
mov rbx, rax
mov rcx, rsi
call fcn.1401803a4
mov qword [rbx], rax
mov qword [rbx + 8], rax
lea rcx, [rax + r13*4]
mov qword [rbx + 0x10], rcx
xor edx, edx
nop dword [rax]
mov r8, rax
add r8, rdx
je 0x1401021e2
mov dword [r8], 0
add rdx, 4
cmp rsi, rdx
jne 0x1401015f0
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], 0
test r13, r13
je 0x1401021b6
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 0x140102015
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x1401021b6
mov dword [rdx + rax*4], ecx
inc rax
cmp r13, rax
jne 0x140101630
mov rcx, qword [rbx]
mov r8, qword [rbx + 8]
mov rdx, r8
sub rdx, rcx
je 0x14010220e
mov rax, rdx
shr rax, 2
mov r9, rcx
not r9
add r9, r8
je 0x1401016d2
mov r9, rdx
and r9, 0xfffffffffffffffe
xor r8d, r8d
lea r10, [0x140277fa0]
nop word [rax + 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 0x1401016a0
jmp 0x1401016d5
xor r8d, r8d
test dl, 1
je 0x1401016f1
movzx edx, al
movzx ecx, byte [rcx + r8]
xor ecx, edx
lea rdx, [0x140277fa0]
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov dword [rbx + 0x18], eax
cmp eax, r15d
jne 0x140102015
test rbx, rbx
je 0x14010201a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x14010210b
mov rcx, rbx
call fcn.140102300
mov rbx, rax
lea r13, [r14*8]
mov edx, dword [rdi + 0x1c]
test edx, edx
movabs rcx, 0xaaaaaaaaaaaaaaaa
jne 0x140101f8f
movabs r12, 0xfffffffc00000000
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 8]
mov rax, rsi
and rax, r12
mov qword [rsp + 0x70], rax
cmp rax, qword [0x1402a6e88]
je 0x140101f66
lea rdx, [rdi + 0x1c]
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0xa0], 0x53215531
cmp r14d, 0x1fffffff
ja 0x140102231
mov eax, r13d
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xa8], 0
mov r15, rdx
and r15, r12
cmp r15, qword [0x1402a6e88]
mov qword [rsp + 0x50], rdx
je 0x1401022b5
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 8]
mov rax, rsi
and rax, r12
cmp rax, qword [0x1402a6e88]
je 0x140101f7d
lea eax, [r14*4]
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x80], 0x53215531
cmp r14d, 0x1fffffff
ja 0x140102239
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0x88], eax
cmp r15, qword [0x1402a6e88]
je 0x140102258
mov qword [rsp + 0x90], rdx
cmp ebp, 3
ja case.default.0x14010185b
lea r13, [rdi + 0x50]
mov eax, ebp
lea rcx, [0x14027e064]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 0x28
call fcn.1401803a4
mov r14, rax
mov qword [rax + 8], r13
mov dword [rax + 0x10], 0
lea rax, [0x14026d930]
mov qword [r14], rax
xorps xmm6, xmm6
movups xmmword [r14 + 0x18], xmm6
test r13, r13
je 0x14010224f
mov rcx, r13
call fcn.1401a7230
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 [0x140276f10]
movups xmmword [rbp - 0x18], xmm0
test rax, rax
je 0x140101902
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 0x140102087
mov dword [rsp + 0x110], esi
mov rcx, rbp
mov rdx, r13
call fcn.140184b40
mov qword [rsp + 0x68], rbx
lea rsi, [rdi + 0x20]
mov eax, dword [rsp + 0x110]
lea rcx, [rax + 1]
mov ebx, dword [rsp + 0xc8]
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0x58], edx
mov byte [rsp + rax + 0xd0], 0x80
cmp rax, 0x38
jae 0x140102052
cmp rcx, 0x38
je 0x140101953
mov r8d, 0x38
sub r8, rcx
add rcx, rbp
xor edx, edx
call fcn.1401851f0
lea r13, [rsp + 0xb8]
mov dword [r13 + 0x50], ebx
mov eax, dword [rsp + 0x58]
mov dword [r13 + 0x54], eax
mov r8d, 1
mov rcx, r13
mov rdx, rbp
call fcn.140080440
mov rbx, qword [r13]
mov ecx, 0x48
call fcn.1401803a4
mov r13, rax
mov qword [rax + 8], 0
mov rax, rsi
and rax, r12
cmp rax, qword [0x1402a6e88]
je 0x14010226a
mov qword [r13 + 0x10], rsi
cmp qword [rsi], 0
mov rcx, qword [rsp + 0x50]
jne 0x1401019b9
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 [0x1402a6e88]
jne 0x1401019e2
mov rcx, rsi
call fcn.1400d8270
mov rcx, qword [rsp + 0x50]
mov qword [r13 + 0x20], rsi
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
cmp rax, 4
je 0x140102252
lea rsi, [rsp + 0xa0]
lea rax, [0x14026d118]
mov qword [r13], rax
mov rax, qword [rsp + 0x70]
cmp rax, qword [0x1402a6e88]
je 0x140101da4
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 [0x1402a6e88]
je 0x140102277
lea rsi, [r14 + 0x18]
mov qword [r13 + 0x40], rcx
mov eax, dword [rdi + 0x34]
cmp eax, 0xffffffff
je 0x140101e2d
lea r15, [rdi + 0x38]
mov rcx, qword [rsi]
mov qword [rsi], r13
test rcx, rcx
jne 0x1401022e7
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax]
mov ecx, 0x48
call fcn.1401803a4
mov rsi, rax
mov qword [rax + 8], 0
mov rax, r15
and rax, r12
cmp rax, qword [0x1402a6e88]
je 0x140102286
mov qword [rsi + 0x10], r15
cmp qword [r15], 0
mov r13, qword [rsp + 0x40]
jne 0x140101aa8
mov qword [r15], rbx
mov qword [rsi + 0x18], 0
cmp rbp, qword [0x1402a6e88]
mov rbx, qword [rsp + 0x68]
jne 0x140101ac6
mov rcx, rbx
call fcn.1400d8270
mov qword [rsi + 0x20], rbx
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
cmp rax, 4
je 0x140102255
lea r15, [rsp + 0x80]
lea rax, [0x14026d118]
mov qword [rsi], rax
mov rbx, qword [r15 - 8]
mov rax, rbx
and rax, r12
cmp rax, qword [0x1402a6e88]
je 0x140101cd3
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 [0x1402a6e88]
je 0x140102293
mov qword [rsi + 0x40], rbx
mov eax, dword [rdi + 0x4c]
cmp eax, 0xffffffff
je 0x140101db8
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x20], rsi
test rcx, rcx
jne 0x1401022d1
test r14, r14
je 0x140102215
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 [0x1402a6e88]
je 0x14010221d
mov qword [rsp + 0x90], 0
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402a6e88]
jne 0x140101ba8
call fcn.1400db1b0
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402a6e88]
je 0x140102227
mov qword [rsp + 0xb0], 0
mov rcx, qword [rsp + 0x98]
and r12, rcx
cmp r12, qword [0x1402a6e88]
jne 0x140101be8
call fcn.1400db1b0
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 8]
mov r8, qword [rdx + 8]
xor ecx, ecx
cmp r8, rdi
ja 0x140101c95
sub rdi, r8
cmp rdi, 0x10
jb 0x140101c95
mov r9d, dword [rdx + 0x14]
cmp rdi, r9
jae 0x140101c95
lea ecx, [rdi - 0x10]
xor edx, edx
cmp ecx, 0x40
jb 0x140101e54
mov r10d, ecx
and r10d, 7
jne 0x140101e54
mov r10d, 0
cmp r9d, edi
jbe 0x140101c88
mov r10d, dword [r8 + rcx + 4]
cmp r10d, 0xc8799269
jne 0x140101e54
add r8, rcx
mov r10d, dword [r8]
cmp r10d, 0x11
jb 0x140101e54
xor r10d, r10d
mov r11d, dword [r8]
add r11d, ecx
jb 0x140101c88
cmp r11d, r9d
ja 0x140101c88
mov r9d, dword [r8 + 8]
xor r10d, r10d
cmp r9d, 0xf1645913
cmove r10, r8
cmp r10, 0xfffffffffffffff0
cmove ecx, edx
test r10, r10
cmove ecx, edx
test rax, rax
je 0x140101c9c
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x50], ecx
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401830b0
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, rbx
call fcn.1400d8270
jmp 0x140101b04
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x40
call fcn.1401803a4
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.140102980
lea rax, [0x14026d9f0]
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]
jmp 0x140101b52
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x40
call fcn.1401803a4
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.140102980
lea rax, [r14 + 0x30]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x28], rax
lea rax, [0x14026dab0]
mov qword [r14], rax
jmp 0x140101d3c
mov rcx, qword [rsp + 0x60]
call fcn.1400d8270
mov rcx, qword [rsp + 0x50]
jmp 0x140101a1c
mov rax, qword [rsi + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x140101b41
mov rcx, rsi
add rcx, 0x28
call fcn.1400d9330
mov qword [rsi + 0x18], rax
mov rax, qword [rsi + 0x18]
jmp 0x140101b41
lea rsi, [rdi + 0x38]
mov r15, rbx
lea rbx, [rdi + 0x20]
mov ecx, 0x28
call fcn.1401803a4
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.140102980
lea rax, str.P_b_a_
jmp 0x140101d9f
mov rax, qword [r13 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x140101a54
mov rcx, r13
add rcx, 0x28
call fcn.1400d9330
mov qword [r13 + 0x18], rax
mov rax, qword [r13 + 0x18]
jmp 0x140101a54
xor r10d, r10d
jmp 0x140101c88
mov qword [r13], 0
jmp 0x140101ca4
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rdx, rsi
mov r8d, 0xbcea225b
call fcn.1400d9940
test eax, eax
je 0x140101e5c
cmp eax, 0x40
jb 0x140101e5c
mov ecx, eax
mov edx, ecx
and edx, 7
jne 0x140101e5c
add rsi, 0x10
mov rdx, rcx
add rdx, rsi
jb 0x140101e5c
mov r8, rdx
shr r8, 0x20
jne 0x140101e5c
mov r8, qword [rsp + 0x48]
mov r9, qword [r8 + 8]
mov r8d, dword [r9 + 0x14]
cmp r8d, edx
jb 0x140101e5c
mov rdx, qword [r9 + 8]
mov r9d, dword [rdx + rcx + 4]
cmp r9d, 0xc8799269
jne 0x140101e5c
add rdx, rcx
mov ecx, dword [rdx]
cmp rsi, rcx
ja 0x140101e5c
mov ecx, dword [rdx]
add ecx, eax
jb 0x140101e5c
cmp ecx, r8d
ja 0x140101e5c
mov r8d, dword [rdx + 8]
xor ecx, ecx
cmp r8d, 0xbcea225b
cmove rcx, rdx
test rcx, rcx
je 0x140101e5c
add rcx, 0x10
je 0x140101e5c
mov rdx, qword [rbx]
cmp qword [rbx + 8], rdx
je 0x140101f3e
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 0x140101f20
mov dword [rbx + 0x1c], eax
jmp 0x14010143d
mov rcx, r15
call fcn.1401bf020
jmp 0x140101e5c
cmp ebx, 4
mov r13, qword [rsp + 0x40]
jne 0x140101401
jmp 0x140101e5c
mov rcx, rsi
call fcn.1400d8270
movabs rcx, 0xaaaaaaaaaaaaaaaa
jmp 0x140101773
mov rcx, rsi
call fcn.1400d8270
mov rdx, qword [rsp + 0x50]
jmp 0x1401017f5
lea r9d, [rdx + 0x10]
xor eax, eax
cmp r9d, 0x50
jb 0x140102000
mov ecx, edx
and ecx, 7
jne 0x140102000
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x14010202c
mov r9, qword [rcx + 8]
mov eax, dword [r9 + rdx + 4]
cmp eax, 0xc8799269
jne 0x14010202c
add r9, rdx
mov eax, dword [r9]
cmp eax, 0x10
jb 0x14010202c
mov r10d, dword [r9]
add r10d, edx
setb r11b
xor eax, eax
test r9, r9
je 0x140102000
test r11b, r11b
jne 0x140102000
cmp r10d, r8d
ja 0x140102000
mov eax, dword [r9]
cmp rax, 0x11
jb 0x140102030
add edx, eax
jb 0x140102030
cmp edx, r8d
ja 0x140102030
add rax, 0xfffffffffffffff0
cmp rax, r13
movabs rcx, 0xaaaaaaaaaaaaaaaa
jae 0x140101740
jmp 0x14010201a
test rbx, rbx
jne 0x140102037
mov r13, qword [rsp + 0x40]
mov qword [r13], 0
jmp 0x140101be8
xor eax, eax
jmp 0x140102000
call fcn.1401bf020
jmp 0x14010202c
mov rcx, qword [rbx]
test rcx, rcx
je 0x140102048
mov qword [rbx + 8], rcx
call fcn.14018039c
mov rcx, rbx
call fcn.14018039c
jmp 0x14010201a
cmp eax, 0x3f
je 0x14010206a
mov r8d, 0x3f
sub r8, rax
add rcx, rbp
xor edx, edx
call fcn.1401851f0
lea rcx, [rsp + 0xb8]
mov r8d, 1
mov rdx, rbp
call fcn.140080440
xor ecx, ecx
jmp 0x140101940
shr r8, 6
lea rcx, [rsp + 0xb8]
mov rdx, r13
call fcn.140080440
mov r8, rsi
and r8, 0x3f
je 0x140101902
and rsi, 0xffffffffffffffc0
add r13, rsi
mov esi, r8d
jmp 0x1401018f0
lea r15, [rdi + 0x38]
lea rsi, [rdi + 0x20]
lea rbx, [rdi + 0x50]
mov ecx, 0x38
call fcn.1401803a4
mov r14, rax
mov qword [rsp + 0x20], r15
mov rcx, rax
mov rdx, qword [rsp + 0x48]
mov r8, rbx
mov r9, rsi
call fcn.14001f230
mov qword [r13], r14
mov eax, dword [rdi + 4]
lock or dword [r14 + 0x10], eax
jmp 0x140101be8
mov byte [rdx], 0
add rdx, qword [r15 + 0x20]
cmp rdx, rax
jae 0x1401012e8
jmp 0x1401020f9
mov rdx, rbx
call fcn.140103240
jmp 0x140101720
xor edx, edx
jmp 0x140101504
call fcn.1401bf020
xor edx, edx
jmp 0x140101592
cmp esi, 0x10
jbe 0x140102188
lea edx, [rsi + r13]
mov eax, r13d
lock cmpxchg dword [r9 + 0x28], edx
mov r13d, eax
jne 0x1401011f5
mov dword [r8], esi
mov dword [r8 + 4], 0xffffffff
jmp 0x1401011f5
add r10, rsi
mov rcx, rsi
cmp r10, r11
jbe 0x140101284
jmp 0x140102188
mov eax, dword [r9 + 0x24]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [r9 + 0x24], ecx
jne 0x14010216b
jmp 0x140102190
call fcn.1401c0570
jmp 0x140102190
call fcn.1401c0570
jmp 0x140102190
mov rcx, r15
call fcn.1401bf020
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x1401021af
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
xor esi, esi
xor edx, edx
call qword [case.0x1401e9be0.0]
jmp 0x140101385
xor esi, esi
jmp 0x140101385
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, 0x5b7
call fcn.1401bda10
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.1401bda10
xor eax, eax
jmp 0x1401016f1
xor r14d, r14d
jmp 0x140101b64
call fcn.1400db1b0
jmp 0x140101b83
call fcn.1400db1b0
jmp 0x140101bc3
int3
int3
xor r14d, r14d
mov r13, qword [rsp + 0x40]
jmp 0x140101b64
int3
int3
int3
mov rcx, rdx
call fcn.1400d8270
mov rdx, qword [rsp + 0x50]
jmp 0x140101836
mov rcx, rsi
call fcn.1400d8270
jmp 0x1401019a4
call fcn.1400d8270
mov rcx, qword [rsp + 0x50]
jmp 0x140101a40
mov rcx, r15
call fcn.1400d8270
jmp 0x140101a96
mov rcx, rbx
call fcn.1400d8270
jmp 0x140101b31
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov edx, r12d
call qword [case.0x1401e9be0.0]
jmp 0x140101311
mov rcx, rdx
call fcn.1400d8270
mov rdx, qword [rsp + 0x50]
movabs rcx, 0xaaaaaaaaaaaaaaaa
jmp 0x1401017c9
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401e9be0.0]
jmp 0x140101b52
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401e9be0.0]
jmp 0x140101a67