Function at 0x140013b30
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push r13
push r14
push r15
sub rsp, 0x100
xor r14d, r14d
mov r10, rdx
mov rdx, qword [rcx + 0x118]
mov r15d, r8d
mov r13, rcx
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0xa0], rdx
mov rax, qword [rdx]
cmp qword [rdx + 8], rax
jae 0x140013bb5
mov rcx, qword [rdx + 0xd0]
call qword [rdx + 0x18]
mov dword [rsp + 0x40], eax
test eax, eax
je 0x140013bad
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x140013b9a
mov dword [rcx], eax
mov eax, 0xfffffdfd
add rsp, 0x100
pop r15
pop r14
pop r13
ret
mov r10, qword [rsp + 0x128]
mov eax, dword [r13 + 0x1c]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], rdi
mov rdi, qword [r13 + 0x28]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0xd8], r12
mov dword [rsp + 0x50], eax
test eax, eax
je 0x1400142a3
mov esi, r14d
nop dword [rax]
mov ebx, dword [rdi]
mov r13d, esi
shr r13d, 3
add rbx, rdi
sub r15d, r13d
mov eax, r13d
add r10, rax
shl r15d, 3
and esi, 7
mov qword [rsp + 0x68], r10
mov r11d, dword [rbx]
mov ebp, r14d
mov r9d, r11d
mov r8d, r14d
xor r9d, 0xc0000000
mov rdx, r10
btr r9d, 0x1e
mov r12, r14
cmp r9d, r15d
jae 0x140013d99
nop dword [rax + rax]
mov r10d, r9d
mov ecx, r9d
sub r10d, ebp
mov eax, r10d
and eax, 0xfffffff8
sub ecx, esi
je 0x140013d1c
test eax, eax
je 0x140013cfb
movzx eax, byte [rdx]
inc rdx
shl r8d, 8
or r8d, eax
cmp r10d, 0xf
jbe 0x140013ced
movzx eax, byte [rdx]
inc rdx
shl r8d, 8
or r8d, eax
cmp r10d, 0x17
jbe 0x140013ce6
movzx eax, byte [rdx]
inc rdx
shl r8d, 8
or r8d, eax
cmp r10d, 0x1f
jbe 0x140013cdf
cmp ecx, 0x20
ja 0x140013d83
movzx eax, byte [rdx]
inc rdx
shl r8d, 8
or r8d, eax
cmp r10d, 0x27
jbe 0x140013cd8
movzx eax, byte [rdx]
shl r8d, 8
or r8d, eax
mov eax, 0x28
inc rdx
jmp 0x140013cf2
mov eax, 0x20
jmp 0x140013cf2
mov eax, 0x18
jmp 0x140013cf2
mov eax, 0x10
jmp 0x140013cf2
mov eax, 8
mov r10d, r9d
and r10d, 7
add ebp, eax
movzx esi, byte [rdx]
mov ecx, 8
sub cl, r10b
mov eax, r8d
shr esi, cl
mov ecx, r10d
shl eax, cl
or esi, eax
cmp dword [rbx + 8], esi
jne 0x140013d8d
mov esi, r9d
jmp 0x140013d33
test eax, eax
je 0x140013d33
movzx eax, byte [rdx]
add ebp, 8
shl r8d, 8
mov r10d, r14d
or r8d, eax
inc rdx
bt r11d, 0x1e
jae 0x140013d45
mov r12, rbx
mov ebx, dword [rbx + 0xc]
add rbx, rdi
jmp 0x140013d61
movzx eax, byte [rdx]
mov ecx, r10d
shl eax, cl
test al, al
jns 0x140013d59
mov r12, rbx
mov ebx, dword [rbx + 0xc]
jmp 0x140013d5c
mov ebx, dword [rbx + 4]
add rbx, rdi
inc esi
mov r11d, dword [rbx]
mov r9d, r11d
xor r9d, 0xc0000000
btr r9d, 0x1e
cmp r9d, r15d
jb 0x140013c50
mov r10, qword [rsp + 0x68]
jmp 0x140013da3
mov r10, qword [rsp + 0x68]
add ebp, 0x18
jmp 0x140013da3
mov r9d, r14d
seta r9b
jmp 0x140014047
xor eax, eax
mov ebp, eax
mov r8d, eax
mov r12d, eax
mov r14, rbx
test r11d, r11d
jns 0x140013e1c
lea eax, [rsi + 0x20]
cmp eax, r9d
jae 0x140013f23
cmp r9d, r15d
jae 0x140013e11
nop dword [rax]
bt r11d, 0x1e
jae 0x140013dcc
mov ebx, dword [rbx + 0xc]
jmp 0x140013df2
movzx eax, r9b
mov ecx, 7
and al, 7
sub cl, al
mov eax, r9d
shr rax, 3
movzx edx, byte [rax + r10]
shr edx, cl
and edx, 1
add edx, edx
or edx, 1
mov ebx, dword [rbx + rdx*4]
add rbx, rdi
mov r11d, dword [rbx]
mov r9d, r11d
xor r9d, 0xc0000000
btr r9d, 0x1e
cmp r9d, r15d
jb 0x140013dc0
test r11d, r11d
jns 0x140013e1c
mov ebx, dword [rbx + 0xc]
add rbx, rdi
cmp dword [rbx], 0
jl 0x140013e11
mov ebp, dword [rbx]
lea rcx, [rbx + 4]
shr r15d, 3
cmp ebp, 0x1ff
jbe 0x140013e6a
mov rax, qword [rsp + 0x120]
lea r9, [rsp + 0x80]
mov r8, rcx
mov edx, ebp
mov rcx, qword [rax + 0xf8]
call qword [rax + 0xf0]
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140014939
sub ebp, r13d
mov ecx, r13d
add rcx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x68]
mov r10d, ebp
shr esi, 3
cmp r15d, ebp
mov qword [rsp + 0x80], rcx
cmovb r10d, r15d
lea r9, [rsi + rcx]
lea rcx, [rsi + r13]
sub r10d, esi
je 0x140013ebb
mov r13d, 0xffffffff
nop word [rax + rax]
movzx esi, byte [rcx]
movzx eax, byte [r9]
xor esi, eax
jne 0x140013eb6
inc r9
inc rcx
add r10d, r13d
jne 0x140013ea0
mov r13, qword [rsp + 0x68]
test r10d, r10d
je 0x140014082
movzx r9d, byte [r9]
mov eax, esi
and eax, 0xf0
mov edx, 0xffffff00
sub edx, eax
mov r8d, 0x55ac
shr edx, 6
mov eax, r15d
and edx, 4
sub eax, r10d
mov ecx, edx
shl esi, cl
shr esi, 3
and esi, 0x1e
movzx ecx, sil
sar r8d, cl
and r8d, 3
or r8d, edx
mov edx, ebp
sub edx, r10d
cmp r15d, ebp
cmovae eax, edx
lea r10d, [r8 + rax*8]
xor r8d, 7
movzx ecx, r8b
shr r9d, cl
and r9d, 1
jmp 0x1400140b6
mov ecx, r9d
sub ecx, r15d
cmp ecx, 0x20
jne 0x140013f39
mov r9d, 1
jmp 0x140014058
cmp ebp, r15d
jae 0x140013f64
mov r10d, r15d
sub r10d, ebp
dec r10d
shr r10d, 3
inc r10d
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
shl r8d, 8
or r8d, eax
sub r10, 1
jne 0x140013f50
shl r8d, cl
mov edx, 0xffffffff
shl edx, cl
mov eax, r8d
mov ecx, dword [rbx + 8]
xor eax, ecx
test edx, eax
je 0x140013f8c
xor r14d, r14d
cmp r8d, ecx
mov r9d, r14d
setb r9b
jmp 0x140014047
bt r11d, 0x1e
jae 0x140013f2e
cmp r15d, r9d
jne 0x14001403e
mov eax, dword [rbx + 4]
mov r9d, 2
mov esi, dword [rsp + 0x40]
add rax, rdi
and r9d, 1
mov dword [rsp + 0x40], esi
xor r14d, r14d
mov r13, qword [rsp + 0x120]
mov ebp, dword [rsp + 0x50]
lea rbx, [rax - 8]
mov rdx, qword [rbx]
dec ebp
mov dword [rsp + 0x50], ebp
test dl, 1
je 0x1400141a0
test r9d, r9d
mov dword [rsp + 0xa8], 1
mov rax, r14
mov qword [rsp + 0xc0], rdi
cmovne rax, r12
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov r8, rbx
mov edx, ebp
mov rcx, qword [rax + 0xd0]
call qword [rax + 0x58]
test eax, eax
jne 0x140014258
mov rdi, qword [rbx]
mov qword [rsp + 0x70], rdi
lea rdx, [rdi - 0x58]
jmp 0x14001423c
mov r9d, 1
xor r14d, r14d
mov edx, dword [rsp + 0x40]
mov r10d, r9d
and r9d, 1
je 0x140014165
test r12, r12
je 0x14001414a
mov eax, dword [r12 + 4]
add rax, rdi
cmp dword [rax], 0
jge 0x140013fb4
mov eax, dword [rax + 0xc]
add rax, rdi
cmp dword [rax], 0
jl 0x140014072
jmp 0x140013fb4
cmp ebp, r15d
je 0x1400140a5
lea r10d, [r15*8]
ja 0x140014099
lea r10d, [rbp*8]
xor r9d, r9d
cmp r15d, ebp
setb r9b
jmp 0x1400140b6
lea r10d, [rbp*8]
mov r9d, 2
mov r14, rbx
mov r11d, dword [r14]
mov rbx, r14
mov edx, r11d
xor edx, 0xc0000000
btr edx, 0x1e
cmp edx, r10d
jae 0x140014120
nop
bt r11d, 0x1e
jae 0x1400140df
mov r12, rbx
mov ebx, dword [rbx + 0xc]
jmp 0x140014108
movzx eax, dl
mov ecx, 7
and al, 7
sub cl, al
mov eax, edx
shr rax, 3
movzx edx, byte [rax + r13]
shr dl, cl
test dl, 1
je 0x140014105
mov r12, rbx
mov ebx, dword [rbx + 0xc]
jmp 0x140014108
mov ebx, dword [rbx + 4]
add rbx, rdi
mov r11d, dword [rbx]
mov edx, r11d
xor edx, 0xc0000000
btr edx, 0x1e
cmp edx, r10d
jb 0x1400140d0
xor r10d, r11d
mov eax, r9d
xor r10d, 0xc0000000
xor eax, 1
or r10d, eax
jne 0x140014044
mov eax, dword [rbx + 4]
add rax, rdi
xor r14d, r14d
mov r9d, r14d
jmp 0x140013fb7
mov r13, qword [rsp + 0x120]
mov eax, dword [r13 + 4]
add rax, 8
add rax, rdi
xor r14d, r14d
jmp 0x140013fbf
mov dword [rsp + 0x40], edx
mov rax, rbx
cmp r10d, 2
je 0x140013fb7
mov dword [rsp + 0x40], edx
test r11d, r11d
jns 0x140013fb7
mov dword [rsp + 0x40], edx
nop word [rax + rax]
mov eax, dword [rax + 0xc]
add rax, rdi
cmp dword [rax], 0
jl 0x140014190
jmp 0x140013fb7
mov rax, qword [rdx - 0x58]
mov rdi, rdx
mov rcx, qword [rdx - 0x50]
mov qword [rsp + 0x70], rdx
add rdx, 0xffffffffffffffa8
test dword [rdx + 0x20], 0x2000000
mov qword [rax + 8], rcx
mov qword [rcx], rax
je 0x14001421d
mov rcx, qword [r13 + 0x118]
add rcx, 0x90
mov rax, qword [rcx]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
mov qword [rcx], rdx
mov qword [rax + 8], rdx
test dword [rdx + 0x20], 0x1fff
mov r8d, dword [rdx + 0x24]
mov rcx, qword [r13 + 0x118]
je 0x14001420a
mov eax, dword [r13 + 4]
add eax, r8d
add qword [rcx], rax
and dword [rdx + 0x20], 0xfdffffff
jmp 0x14001423c
mov eax, dword [r13 + 0x10]
add eax, r8d
add qword [rcx], rax
and dword [rdx + 0x20], 0xfdffffff
jmp 0x14001423c
mov rax, qword [rsp + 0xa0]
add rax, 0x90
mov rcx, qword [rax]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov qword [rax], rdx
mov qword [rcx + 8], rdx
mov esi, dword [rdx + 0x44]
test ebp, ebp
je 0x140014270
mov r15d, dword [rsp + 0x130]
mov r10, qword [rsp + 0x128]
jmp 0x140013c00
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x140014266
mov dword [rcx], eax
mov eax, 0xfffffdf4
jmp 0x140014939
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x140014939
mov r15d, dword [rsp + 0x130]
cmp dword [rdi + 4], eax
jne 0x1400142d6
mov rdx, qword [rsp + 0x128]
lea r9, [rsp + 0x70]
mov r8d, r15d
mov rcx, r13
call fcn.140016ce0
jmp 0x1400142c5
test rdi, rdi
je 0x140014d57
cmp dword [rdi + 4], r14d
jne 0x1400142d6
lea r9, [rsp + 0x70]
mov r8d, r15d
mov rdx, r10
mov rcx, r13
call fcn.1400174f0
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140014939
mov rdi, qword [rsp + 0x70]
mov ebp, dword [rdi - 0x14]
mov ebx, r14d
mov r8, qword [rsp + 0x128]
mov ecx, ebp
shr ecx, 3
mov r10d, r14d
mov eax, ecx
mov edx, r14d
add r8, rax
mov dword [rsp + 0x78], ecx
mov qword [rsp + 0x98], rax
mov r12, r14
mov eax, r15d
mov dword [rsp + 0x54], r14d
sub eax, ecx
mov dword [rsp + 0x50], r14d
cmp r15d, 0x200
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x48], r14d
mov ecx, r15d
cmovb ecx, eax
mov dword [rsp + 0x58], r14d
mov r14d, dword [rdi]
lea esi, [rax*8]
add r14, rdi
mov dword [rsp + 0x90], ecx
and ebp, 7
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x60], rdi
mov r15, r14
mov dword [rsp + 0x44], ebp
mov ecx, dword [r14]
mov r11d, ecx
xor r11d, 0xc0000000
mov dword [rsp + 0x4c], ecx
btr r11d, 0x1e
cmp r11d, esi
jae 0x140014625
nop dword [rax + rax]
mov r9d, r11d
mov r13d, r11d
sub r9d, r10d
mov eax, r9d
and eax, 0xfffffff8
sub r13d, ebp
je 0x14001444f
test eax, eax
je 0x140014421
movzx eax, byte [r8]
inc r8
shl edx, 8
or edx, eax
cmp r9d, 0xf
jbe 0x140014416
movzx eax, byte [r8]
inc r8
shl edx, 8
or edx, eax
cmp r9d, 0x17
jbe 0x140014410
movzx eax, byte [r8]
inc r8
shl edx, 8
or edx, eax
cmp r9d, 0x1f
jbe 0x14001440a
cmp r13d, 0x20
ja 0x1400144dd
movzx eax, byte [r8]
inc r8
shl edx, 8
or edx, eax
cmp r9d, 0x27
jbe 0x140014404
movzx eax, byte [r8]
inc r8
shl edx, 8
or edx, eax
add r10d, 0x28
jmp 0x14001441a
add r10d, 0x20
jmp 0x14001441a
add r10d, 0x18
jmp 0x14001441a
add r10d, 0x10
jmp 0x14001441a
add r10d, 8
mov r9d, r11d
and r9d, 7
movzx ebp, byte [r8]
mov ecx, 8
sub cl, r9b
mov eax, edx
shr ebp, cl
mov ecx, r9d
shl eax, cl
mov ecx, dword [r14 + 8]
or ebp, eax
mov eax, ecx
xor eax, ebp
jne 0x140014573
mov ecx, dword [rsp + 0x4c]
mov ebp, r11d
jmp 0x140014466
test eax, eax
je 0x140014466
movzx eax, byte [r8]
add r10d, 8
shl edx, 8
inc r8
or edx, eax
xor r9d, r9d
shr ecx, 0x1e
mov r15, r14
mov dword [rsp + 0x4c], ecx
mov eax, ecx
movzx ecx, r9b
mov r12, r14
movzx r9d, byte [r8]
xor ecx, 7
shr r9d, cl
not eax
or r9d, dword [rsp + 0x4c]
and eax, 1
and r9d, 1
mov qword [rsp + 0x68], r14
add ebp, eax
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x44], ebp
lea ecx, [r9 + r9]
or rcx, 1
lea r13, [r14 + rcx*4]
mov r14d, dword [r14 + rcx*4]
add r14, rdi
mov qword [rsp + 0x60], r13
mov ecx, dword [r14]
mov r11d, ecx
xor r11d, 0xc0000000
mov dword [rsp + 0x4c], ecx
btr r11d, 0x1e
cmp r11d, esi
jb 0x140014380
jmp 0x14001462f
add r10d, 0x18
cmp r11d, esi
jae 0x140014625
mov rbp, qword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
movzx eax, r11b
mov qword [rsp + 0x68], r14
and al, 7
mov ecx, 7
sub cl, al
mov r12, r14
mov eax, r11d
shr rax, 3
movzx r9d, byte [rax + rbp]
mov eax, dword [rsp + 0x4c]
shr r9d, cl
shr eax, 0x1e
or r9d, eax
and r9d, 1
mov dword [rsp + 0x50], r9d
lea ecx, [r9 + r9]
or rcx, 1
lea r13, [r14 + rcx*4]
mov r14d, dword [r14 + rcx*4]
add r14, rdi
mov qword [rsp + 0x60], r13
mov ecx, dword [r14]
mov r11d, ecx
xor r11d, 0xc0000000
mov dword [rsp + 0x4c], ecx
btr r11d, 0x1e
cmp r11d, esi
jb 0x140014500
mov ebp, dword [rsp + 0x44]
jmp 0x14001462f
mov ebx, dword [rsp + 0x44]
xor r8d, r8d
cmp ebp, ecx
mov ecx, 0x20
setb r8b
sub ecx, r13d
shl eax, cl
mov dword [rsp + 0x48], r8d
test eax, 0xf0000000
jne 0x1400145ad
nop word [rax + rax]
shl eax, 4
add ebx, 4
test eax, 0xf0000000
je 0x1400145a0
test eax, eax
js 0x1400145b7
inc ebx
add eax, eax
jns 0x1400145b1
mov dword [rsp + 0x58], 1
shr esi, 3
cmp dword [rsp + 0x40], 0
je 0x14001499a
mov ecx, dword [rsp + 0x138]
test cl, 2
je 0x1400148fe
mov rax, qword [rsp + 0x148]
mov r9, r14
mov r8, qword [rsp + 0x60]
mov rdx, rdi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x120]
call fcn.140015bd0
test eax, eax
jne 0x140014939
mov eax, 1
jmp 0x140014939
mov r13, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x50]
mov eax, ebx
test ecx, ecx
jns 0x14001475b
lea eax, [rbp + 0x20]
cmp eax, r11d
jae 0x14001466e
nop dword [rax]
nop word [rax + rax]
lea r13, [r14 + 4]
mov r14d, dword [r14 + 4]
add r14, rdi
mov qword [rsp + 0x60], r13
cmp dword [r14], 0
jl 0x140014650
shr esi, 3
jmp 0x140014793
mov ecx, r11d
mov dword [rsp + 0x58], 1
sub ecx, esi
cmp ecx, 0x20
jne 0x140014697
mov dword [rsp + 0x54], 1
mov ebx, esi
mov dword [rsp + 0x48], 1
jmp 0x1400145bf
cmp r10d, esi
jae 0x1400146c3
mov r9d, esi
sub r9d, r10d
dec r9d
shr r9d, 3
inc r9d
nop dword [rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
shl edx, 8
or edx, eax
sub r9, 1
jne 0x1400146b0
shl edx, cl
mov r8d, 0xffffffff
shl r8d, cl
mov eax, edx
mov ecx, dword [r14 + 8]
xor eax, ecx
test r8d, eax
je 0x140014720
xor r8d, r8d
mov ebx, ebp
cmp edx, ecx
mov ecx, ebp
setb r8b
sub ecx, r11d
add ecx, 0x20
mov dword [rsp + 0x48], r8d
shl eax, cl
test eax, 0xf0000000
jne 0x14001470d
nop dword [rax]
shl eax, 4
add ebx, 4
test eax, 0xf0000000
je 0x140014700
test eax, eax
js 0x1400145bf
inc ebx
add eax, eax
jns 0x140014715
jmp 0x1400145bf
test dword [rsp + 0x4c], 0x40000000
mov dword [rsp + 0x54], 1
je 0x140014688
cmp esi, r11d
jne 0x140014688
lea rax, [r14 + 4]
mov dword [rsp + 0x40], 1
mov r14d, dword [rax]
add r14, rdi
mov qword [rsp + 0x60], rax
jmp 0x1400145bf
mov ecx, dword [rsp + 0x40]
mov edx, eax
shr esi, 3
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x44], ebp
test eax, eax
jne 0x1400145c2
mov ebp, dword [r14]
lea rcx, [r14 + 4]
cmp ebp, 0x1ff
jbe 0x1400147e4
mov rax, qword [rsp + 0x120]
lea r9, [rsp + 0x88]
mov r8, rcx
mov edx, ebp
mov rcx, qword [rax + 0xc0]
call qword [rax + 0xb8]
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140014939
sub ebp, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x98]
add rcx, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x44]
mov r8, qword [rsp + 0x80]
shr r9d, 3
mov qword [rsp + 0x88], rcx
mov eax, r9d
add r8, rax
lea rdx, [r9 + rcx]
cmp esi, ebp
mov ecx, ebp
cmovb ecx, esi
sub ecx, r9d
je 0x14001483b
nop dword [rax]
nop word [rax + rax]
movzx r10d, byte [rdx]
movzx eax, byte [r8]
mov r9d, r10d
xor r9d, eax
jne 0x14001486b
inc rdx
inc r8
add ecx, 0xffffffff
jne 0x140014820
cmp ebp, esi
je 0x1400148f1
mov dword [rsp + 0x54], 0x40000000
lea ebx, [rsi*8]
ja 0x14001485b
lea ebx, [rbp*8]
xor eax, eax
cmp esi, ebp
setb al
mov dword [rsp + 0x48], eax
jmp 0x1400145c2
mov eax, esi
mov qword [rsp + 0x68], r12
sub eax, ecx
mov qword [rsp + 0x60], r13
mov edx, ebp
mov r8d, 0xffffff00
sub edx, ecx
cmp esi, ebp
cmovb edx, eax
mov eax, r9d
and eax, 0xf0
sub r8d, eax
mov eax, 0x55ac
shr r8d, 6
and r8d, 4
mov ecx, r8d
shl r9d, cl
shr r9d, 3
and r9d, 0x1e
movzx ecx, r9b
mov r9d, dword [rsp + 0x58]
sar eax, cl
and eax, 3
mov dword [rsp + 0x58], r9d
or eax, r8d
mov r8d, r10d
lea ebx, [rax + rdx*8]
xor eax, 7
movzx ecx, al
mov eax, dword [rsp + 0x50]
shr r8d, cl
mov ecx, dword [rsp + 0x54]
and r8d, 1
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], eax
jmp 0x1400145c2
mov dword [rsp + 0x40], 1
jmp 0x1400145cd
cmp esi, 0x1ff
mov eax, 8
cmova esi, eax
mov ecx, dword [r14 + rsi + 4]
lea rdx, [rsi + 8]
add rdx, r14
cmp ecx, 0x200
jae 0x14001496f
mov rax, qword [rsp + 0x140]
mov dword [rax], ecx
mov rax, qword [rsp + 0x148]
mov qword [rax], rdx
mov eax, dword [rsp + 0x40]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov r12, qword [rsp + 0xd8]
add rsp, 0x100
pop r15
pop r14
pop r13
ret
mov rax, qword [rsp + 0x120]
mov r9, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
mov rcx, qword [rax + 0xd8]
call qword [rax + 0xd0]
test eax, eax
je 0x140014935
jmp 0x140014939
mov r11, qword [rsp + 0x120]
mov edx, dword [r11 + 0x18]
mov eax, edx
not eax
mov dword [rsp + 0x44], edx
test eax, eax
jne 0x1400149c0
mov rax, qword [rsp + 0x140]
mov edx, dword [rax]
mov dword [rsp + 0x44], edx
mov r10d, dword [rsp + 0x90]
mov ebp, 8
mov r14d, dword [rdi - 0x18]
mov ecx, ebp
mov r9d, dword [r11 + 0x10]
cmp r10d, 0x200
mov dword [rsp + 0x78], r9d
cmovb ecx, r10d
add ecx, r14d
cmp edx, 0x200
cmovb ebp, edx
add ebp, 8
add ebp, ecx
mov dword [rsp + 0x4c], ebp
cmp dword [rdi - 0x34], ebp
jae 0x140014a6f
mov r8d, ebp
lea rdx, [rsp + 0x70]
mov rcx, r11
mov r13, rdi
call fcn.140017c30
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140014939
mov rdi, qword [rsp + 0x70]
mov rax, rdi
sub rax, r13
add r15, rax
mov rax, rdi
sub rax, r13
add qword [rsp + 0x60], rax
test r12, r12
je 0x140014a4c
mov rax, rdi
sub rax, r13
add r12, rax
mov qword [rsp + 0x68], r12
mov r9d, dword [rsp + 0x78]
sub ebp, r14d
mov r14d, dword [rdi - 0x18]
add ebp, r14d
mov r10d, dword [rsp + 0x90]
mov r11, qword [rsp + 0x120]
mov dword [rsp + 0x4c], ebp
mov ebp, dword [rdi + 4]
mov eax, r14d
add rax, rdi
mov r13d, r9d
add r13, rax
test ebp, ebp
jns 0x140014a9c
mov ecx, ebp
xor edx, edx
sub ecx, 0x10
neg ebp
mov r12d, ebp
add r12, rdi
lea eax, [rcx + r9]
test eax, eax
cmovne edx, ecx
jmp 0x140014aa3
mov edx, dword [rdi + rbp]
lea r12, [rdi + rbp]
mov dword [rdi + 4], edx
lea rax, [r13 + 4]
mov ecx, dword [rsp + 0x130]
mov dword [r13], r10d
inc dword [rdi + 8]
mov qword [rsp + 0x98], rax
cmp ecx, 0x1ff
jbe 0x140014afa
mov r9, qword [rsp + 0x128]
mov r8d, ecx
mov rcx, qword [r11 + 0xc0]
mov rdx, rax
call qword [r11 + 0xb0]
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140014939
or dword [rdi + 0xc], 4
lea rsi, [r13 + 0xc]
jmp 0x140014b10
mov rdx, qword [rsp + 0x80]
mov rcx, rax
mov r8d, esi
add rsi, rax
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [rsp + 0x44]
mov dword [rsi], r8d
add rsi, 4
cmp r8d, 0x1ff
jbe 0x140014b8c
mov rax, qword [rsp + 0x120]
mov rdx, rsi
mov rcx, qword [rax + 0xd8]
call qword [rax + 0xc8]
mov dword [rsp + 0x40], eax
test eax, eax
je 0x140014b78
cmp dword [rsp + 0x130], 0x1ff
jbe 0x140014939
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rax + 0xc0]
call qword [rax + 0xa8]
jmp 0x140014935
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x148]
mov qword [rax], rcx
or dword [rdi + 0xc], 1
jmp 0x140014b97
mov rax, qword [rsp + 0x148]
mov qword [rax], rsi
mov eax, dword [rsp + 0x4c]
mov r9d, ebx
mov rsi, qword [rsp + 0x80]
bts r9d, 0x1f
mov dword [rdi - 0x18], eax
mov eax, ebx
shr eax, 3
mov ecx, eax
add rcx, rsi
test eax, eax
je 0x140014c1c
sub eax, 1
je 0x140014c12
sub eax, 1
je 0x140014bfd
cmp eax, 1
je 0x140014bdd
movzx r8d, byte [rcx - 4]
movzx eax, byte [rcx - 3]
shl r8d, 8
or r8d, eax
jmp 0x140014be2
movzx r8d, byte [rcx - 3]
movzx eax, byte [rcx - 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx - 1]
shl r8d, 8
or r8d, eax
xor r14d, r14d
jmp 0x140014c22
movzx r8d, byte [rcx - 2]
movzx eax, byte [rcx - 1]
shl r8d, 8
or r8d, eax
xor r14d, r14d
jmp 0x140014c22
movzx r8d, byte [rcx - 1]
xor r14d, r14d
jmp 0x140014c22
xor r14d, r14d
mov r8d, r14d
mov eax, ebx
and eax, 7
je 0x140014c48
movzx edx, byte [rcx]
mov r11d, 8
sub r11b, al
movzx ecx, r11b
shr edx, cl
mov ecx, eax
mov eax, r8d
mov r8d, edx
shl eax, cl
or r8d, eax
cmp dword [rsp + 0x54], 0
mov dword [r12 + 8], r8d
je 0x140014c59
bts r9d, 0x1e
cmp dword [rsp + 0x58], 0
mov dword [r12], r9d
je 0x140014c86
mov r11, qword [rsp + 0x68]
test r11, r11
je 0x140014c7c
mov rax, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov eax, dword [rax]
jmp 0x140014cf8
mov rax, rdi
mov r11, rdi
mov eax, dword [rax]
jmp 0x140014cf8
mov r8d, dword [r15]
mov r11, rdi
mov eax, dword [rdi]
test r8d, r8d
jns 0x140014cf8
mov edx, r8d
and edx, 0x3fffffff
cmp edx, ebx
jae 0x140014ce2
movzx eax, dl
shr r8d, 0x1e
and al, 7
mov ecx, 7
sub cl, al
mov r11, r15
mov eax, edx
shr rax, 3
movzx edx, byte [rax + rsi]
shr edx, cl
or edx, r8d
and edx, 1
mov r14d, edx
lea ecx, [rdx + rdx]
or rcx, 1
mov eax, dword [r15 + rcx*4]
mov r8d, dword [rdi + rax]
lea r15, [rdi + rax]
test r8d, r8d
js 0x140014c93
jmp 0x140014cf8
jne 0x140014cf8
bt r9d, 0x1e
jb 0x140014cf8
mov eax, dword [r15 + 0xc]
mov r11, r15
mov r14d, 1
cmp dword [rsp + 0x48], 0
je 0x140014d06
mov ecx, eax
sub r13d, edi
jmp 0x140014d0e
mov ecx, r13d
mov r13d, eax
sub ecx, edi
mov dword [r12 + 4], r13d
mov dword [r12 + 0xc], ecx
cmp r11, rdi
jne 0x140014d22
mov dword [r11], ebp
jmp 0x140014d31
test r14d, r14d
je 0x140014d2d
mov dword [r11 + 0xc], ebp
jmp 0x140014d31
mov dword [r11 + 4], ebp
cmp qword [rdi - 0x48], 0
jne 0x140014935
mov rax, qword [rsp + 0xa0]
lea rdx, [rdi - 0x58]
mov rcx, qword [rax + 0xd0]
call qword [rax + 0x68]
jmp 0x140014935
mov r9, qword [rsp + 0x140]
mov r8d, r15d
mov rax, qword [rsp + 0x148]
mov rdx, r10
mov rcx, r13
mov qword [rsp + 0x20], rax
mov r9d, dword [r9]
call fcn.140017230
jmp 0x140014939