Function at 0x201c5bb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x908
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x880], 0xfffffffffffffffe
mov qword [rbp + 0x7e8], r8
mov qword [rbp + 0x7d8], rdx
mov qword [rbp + 0x7e0], rcx
lea rsi, [rbp + 0x810]
mov rcx, rsi
call fcn.201c9450
mov rcx, rsi
xor edx, edx
call fcn.2020ff20
mov qword [rbp + 0x878], 0xf
mov qword [rbp + 0x870], 5
mov dword [rsp + 0x20], 0x759bfe19
mov ecx, 1
xor edx, edx
mov r8d, 0x2b09cdd4
mov r9d, 0x821f582e
call fcn.201cc470
mov ecx, dword [rax]
mov dword [rbp + 0x860], ecx
movzx eax, byte [rax + 4]
mov byte [rbp + 0x864], al
mov byte [rbp + 0x865], 0
call fcn.2038d520
mov rdx, rax
mov r9d, 0x15
mov r8, 0xffffffffffffffec
movabs rdi, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rcx, rdx
mov rax, rdx
mul rdi
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r10d, ecx
sub r10d, eax
or r10b, 0x30
mov byte [rbp + r9 + 0x82f], r10b
cmp rcx, 0xa
jb 0x201c5cb3
inc r8
dec r9
jmp 0x201c5c80
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp r9, 0x16
je 0x201c5d34
mov rax, r9
neg rax
mov ecx, r8d
neg ecx
movabs rdx, 0x7fffffffffffffe9
xor rdx, rax
and rdx, rax
and rax, 0xffffffffffffffe9
and ecx, 0x16
or rcx, rax
lea rsi, [rcx + rdx*2]
cmp rsi, 0xf
jbe 0x201c5d14
lea r9, [rbp + 0x830]
sub r9, r8
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.2006bec0
jmp 0x201c5d34
lea rdx, [r9 + rbp]
add rdx, 0x82f
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov r8, rsi
call fcn.2044f800
mov byte [rbp + rsi - 0x40], 0
mov r8, qword [rbp - 0x30]
mov rax, qword [0x20557220]
movabs rbx, 0xad6f2fc4d2e61d31
mov rcx, rax
xor rcx, rbx
not rax
movabs rdx, 0x5290d03b2d19e2ce
and rdx, rax
or rdx, rcx
not rdx
lea rax, [rcx + rdx*2]
cmp qword [rbp - 0x28], rax
jbe 0x201c5d75
mov r9, qword [rbp - 0x40]
jmp 0x201c5d79
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x870]
mov rax, qword [rbp + 0x878]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x201c5da8
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x860]
mov rdx, r8
call fcn.2006cb20
jmp 0x201c5de2
lea rsi, [rcx + r8]
mov qword [rbp + 0x870], rsi
mov rdx, qword [0x20557220]
add rdx, rbx
cmp rax, rdx
jbe 0x201c5dcb
mov r14, qword [rbp + 0x860]
jmp 0x201c5dd2
lea r14, [rbp + 0x860]
add rcx, r14
mov rdx, r9
call fcn.2044f800
mov byte [r14 + rsi], 0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x201c5e35
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x201c5e30
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x201c6b4b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov rax, qword [rbp + 0x870]
mov rcx, qword [rbp + 0x878]
cmp rcx, rax
jne 0x201c5e8a
mov dword [rsp + 0x20], 0xb882c333
xor ecx, ecx
mov edx, 1
mov r8d, 0x6b7c7ed
mov r9d, 0x64302b6e
call fcn.201cc180
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x860]
mov edx, 1
mov r9, rax
call fcn.2006cb20
jmp 0x201c5f0b
mov rdx, rax
xor rdx, 1
mov r8, rax
not r8
and r8, 0xfffffffffffffffe
xor r8, rdx
not r8
movabs r9, 0xad6f2fc4d2e61d24
add r9, qword [0x20557220]
imul r9, r8
movabs r8, 0x84be6e488ffe8dfa
add r8, rdx
mov rdx, r9
xor rdx, r9
not rdx
and rdx, r8
xor rdx, r9
and r8, r9
lea r8, [rdx + r8*2]
movabs rdx, 0x7b4191b770017206
add rdx, r8
mov qword [rbp + 0x870], rdx
cmp rcx, 0x10
jb 0x201c5efc
mov rcx, qword [rbp + 0x860]
jmp 0x201c5f03
lea rcx, [rbp + 0x860]
mov byte [rcx + rax], 0x2d
mov byte [rcx + rdx], 0
call fcn.2038d4c0
mov rcx, rax
mov esi, 1
lea r9, [rbp + 0x844]
movabs r14, 0xad6f2fc4d2e61d2c
movabs r15, 0x5290d03b2d19e2d3
nop word cs:[rax + rax]
mov rax, rcx
mul rdi
shr edx, 2
and edx, 0xfffffffe
lea eax, [rdx + rdx*4]
mov edx, ecx
sub edx, eax
or dl, 0x30
mov byte [r9], dl
mov rax, qword [0x20557220]
mov rdx, rax
xor rdx, r14
not rax
and rax, r15
or rax, rdx
not rax
lea r8, [rdx + rax*2]
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x201c5fa0
mov rax, rcx
xor edx, edx
div r8
cmp rcx, 0xa
jae 0x201c5fad
jmp 0x201c5fb8
mov eax, ecx
xor edx, edx
div r8d
cmp rcx, 0xa
jb 0x201c5fb8
inc rsi
dec r9
mov rcx, rax
jmp 0x201c5f40
mov qword [rbp - 0x30], 0
mov rax, qword [0x20557220]
add rax, rbx
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x40], 0
test rsi, rsi
je 0x201c600b
cmp rsi, 0xf
jbe 0x201c5feb
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.2006bec0
jmp 0x201c600b
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov rdx, r9
mov r8, rsi
call fcn.2044f800
movzx eax, byte [0x20557228]
add al, 6
mov byte [rbp + rsi - 0x40], al
mov r8, qword [rbp - 0x30]
mov rax, qword [0x20557220]
add rax, rbx
cmp qword [rbp - 0x28], rax
jbe 0x201c6025
mov r9, qword [rbp - 0x40]
jmp 0x201c6029
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x870]
mov rax, qword [rbp + 0x878]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x201c6058
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x860]
mov rdx, r8
call fcn.2006cb20
jmp 0x201c6089
lea rsi, [r8 + rcx]
mov qword [rbp + 0x870], rsi
cmp rax, 0x10
jb 0x201c6072
mov r12, qword [rbp + 0x860]
jmp 0x201c6079
lea r12, [rbp + 0x860]
add rcx, r12
mov rdx, r9
call fcn.2044f800
mov byte [r12 + rsi], 0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x201c61c5
mov rcx, qword [rbp - 0x40]
mov rdx, rax
not rdx
movabs r8, 0x7ffffffffffffffe
and r8, rdx
and edx, 1
mov r9, rax
and r9, 0xfffffffffffffffe
or r9, rdx
mov rdx, rax
xor rdx, 1
or r8, rdx
not r8
lea rdx, [r9 + r8*2]
cmp rdx, 0x1000
jb 0x201c61c0
mov r8, qword [rcx - 8]
movabs rdx, 0x6aa59e73ee3514a5
sub rdx, rcx
movabs rcx, 0x7ffffffffffffff7
xor rcx, rdx
and rcx, rdx
xor rdx, 8
lea rdx, [rdx + rcx*2]
mov rcx, qword [0x20557220]
movabs r9, 0xad6f2fc4d2e61d22
xor r9, rcx
movabs r10, 0x2d6f2fc4d2e61d22
and r10, rcx
or r10, r9
not r10
or r10, r9
not r10
lea r9, [r9 + r10*2]
sub r9, rdx
movabs rdx, 0x2fcd8e9ecaf6c7fc
add rdx, r9
movabs r9, 0xdbb806dca13c06fb
xor r9, rdx
movabs r10, 0x5bb806dca13c06fb
and r10, rdx
lea rdx, [r9 + r10*2]
movabs r9, 0x28e6bdaed4407320
mov r10, rcx
xor r10, r9
and rcx, r9
lea rcx, [r10 + rcx*2]
sub rcx, rdx
movabs rdx, 0xa0dff7077dfdba52
add rdx, r8
add rdx, rcx
movabs rcx, 0x84887215fea5aa02
xor rcx, rdx
movabs r9, 0x4887215fea5aa02
and r9, rdx
lea rcx, [rcx + r9*2]
neg rcx
cmp rcx, 0x20
jae 0x201c6b50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov rax, qword [rbp + 0x870]
mov rdx, qword [rbp + 0x878]
cmp rdx, rax
jne 0x201c6217
mov dword [rsp + 0x20], 0xb882c333
xor ecx, ecx
mov edx, 1
mov r8d, 0x6b7c7ed
mov r9d, 0x64302b6e
call fcn.201cc180
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x860]
mov edx, 1
mov r9, rax
call fcn.2006cb20
jmp 0x201c6288
mov rcx, qword [0x20557220]
movabs r8, 0xe147d70b7540055b
add r8, rcx
movabs r9, 0xcc2758b95da617c8
xor r9, r8
movabs r10, 0x4c2758b95da617c8
and r10, r8
lea r8, [r9 + r10*2]
add r8, rax
sub rcx, r8
movabs r8, 0x5290d03b2d19e2de
mov r9, r8
sub r9, rcx
mov qword [rbp + 0x870], r9
cmp rdx, 0x10
jb 0x201c6275
mov rdx, qword [rbp + 0x860]
jmp 0x201c627c
lea rdx, [rbp + 0x860]
mov byte [rdx + rax], 0x2d
sub rdx, rcx
mov byte [rdx + r8], 0
call fcn.2042ef48
imul rcx, rax, 0x64
test rax, rax
js 0x201c632d
mov r10d, 0x15
movabs r8, 0xad6f2fc4d2e61d21
jmp 0x201c62ce
mov rax, rcx
xor edx, edx
div r9
mov rdx, qword [0x20557220]
add rdx, r14
cmp rcx, rdx
mov rcx, rax
jb 0x201c63ac
mov rax, rcx
mul rdi
add r10, r8
shr edx, 2
and edx, 0xfffffffe
lea eax, [rdx + rdx*4]
mov edx, ecx
sub edx, eax
or dl, 0x30
mov rax, qword [0x20557220]
add r10, rax
mov byte [rbp + r10 + 0x830], dl
mov rdx, rax
not rdx
and rax, r15
mov r9, rdx
and r9, r14
or r9, rax
and rdx, r15
or rdx, r9
not rdx
lea r9, [r9 + rdx*2]
mov rax, rcx
or rax, r9
shr rax, 0x20
jne 0x201c62b0
mov eax, ecx
xor edx, edx
div r9d
jmp 0x201c62b8
neg rcx
mov r10d, 0x13
nop word cs:[rax + rax]
mov r8, rcx
mov rax, rcx
mul rdi
mov rcx, rdx
shr rcx, 3
lea eax, [rcx + rcx]
lea edx, [rax + rax*4]
mov eax, r8d
sub eax, edx
mov edx, eax
not dl
movzx r9d, byte [0x20557228]
add r9b, 0x36
not r9b
mov r11d, edx
xor r11b, r9b
and r11b, dl
and dl, 0xcf
and r9b, al
and al, 0x30
or al, dl
xor al, 0x30
xor dl, 0xcf
or dl, al
not dl
or r9b, r11b
or r9b, dl
mov byte [rbp + r10 + 0x831], r9b
cmp r8, 0xa
jb 0x201c63a3
dec r10
jmp 0x201c6340
mov byte [rbp + r10 + 0x830], 0x2d
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
movabs rax, 0xad6f2fc4d2e61d37
add rax, qword [0x20557220]
cmp r10, rax
je 0x201c6415
lea r9, [r10 + rbp]
add r9, 0x830
mov esi, 0x15
sub rsi, r10
cmp rsi, 0xf
jbe 0x201c63fd
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.2006bec0
jmp 0x201c6415
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov rdx, r9
mov r8, rsi
call fcn.2044f800
mov byte [rbp + rsi - 0x40], 0
mov r8, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
add rbx, qword [0x20557220]
lea rcx, [0x204735a8]
movsxd rdx, dword [0x204735a8]
movabs r9, 0x3064b5fc7dc6d655
add r9, rdx
movabs r10, 0xcf9b4a03823929aa
sub r10, rdx
xor r10, r9
and r10, rcx
xor r10, r9
and r9, rcx
lea rcx, [r10 + r9*2]
movabs rdi, 0xcf9b4a03823929ab
add rdi, rcx
nop dword [rax]
mov r14d, dword [0x204735b4]
mov ecx, dword [0x205b3f34]
cmp ecx, 0x55
jl 0x201c64a9
nop word cs:[rax + rax]
mov ecx, dword [0x204735b4]
mov ecx, dword [0x205b3f30]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x201c6490
jmp 0x201c6470
cmp rax, rbx
jbe 0x201c64b4
mov r9, qword [rbp - 0x40]
jmp 0x201c64b8
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x870]
mov rax, qword [rbp + 0x878]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x201c64e7
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x860]
mov rdx, r8
call fcn.2006cb20
jmp 0x201c651f
lea rsi, [rcx + r8]
mov qword [rbp + 0x870], rsi
cmp rax, 0x10
jb 0x201c6501
mov rbx, qword [rbp + 0x860]
jmp 0x201c6508
lea rbx, [rbp + 0x860]
add rcx, rbx
mov rdx, r9
call fcn.2044f800
movzx eax, byte [0x20557228]
add al, 6
mov byte [rbx + rsi], al
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x201c6595
mov rcx, qword [rbp - 0x40]
mov r8, qword [0x20557220]
add r8, rax
movabs rdx, 0xad6f2fc4d2e61d23
add rdx, r8
cmp rdx, 0x1000
jb 0x201c6590
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x201c6b55
mov rcx, qword [0x20557220]
movabs rdx, 0xad6f2fc4d2e61d4a
xor rdx, rcx
movabs r9, 0x2d6f2fc4d2e61d4a
and r9, rcx
lea rcx, [rdx + r9*2]
add rax, rcx
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov rax, qword [rbp + 0x870]
mov rcx, qword [rbp + 0x878]
mov rdx, rax
neg rdx
mov r8, rcx
xor r8, rdx
and rdx, rcx
lea rdx, [r8 + rdx*2]
cmp rdx, 4
jae 0x201c65ea
xor ecx, ecx
xor edx, edx
mov r8d, 0xbb9d9214
call fcn.201cba90
mov qword [rsp + 0x20], 4
lea rcx, [rbp + 0x860]
mov edx, 4
mov r9, rax
call fcn.2006cb20
jmp 0x201c6620
lea rdx, [rax + 4]
mov qword [rbp + 0x870], rdx
cmp rcx, 0x10
jb 0x201c6604
mov rcx, qword [rbp + 0x860]
jmp 0x201c660b
lea rcx, [rbp + 0x860]
mov dword [rcx + rax], 0x6578652e
movzx edx, byte [0x20557228]
add dl, 6
mov byte [rcx + rax + 4], dl
xorps xmm0, xmm0
movups xmmword [rbp + 0x840], xmm0
mov rsi, qword [rbp + 0x820]
cmp qword [rbp + 0x828], 8
lea r15, [rbp + 0x810]
jb 0x201c6649
mov r15, qword [rbp + 0x810]
cmp rsi, 7
ja 0x201c6664
movups xmm0, xmmword [r15]
movaps xmmword [rbp + 0x830], xmm0
mov ebx, 7
jmp 0x201c674d
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmovae rbx, rax
lea rcx, [rbx + rbx]
cmp rbx, 0x7ff
jb 0x201c66e2
movabs rax, 0x7fffffffffffffec
cmp rbx, rax
jae 0x201c6b5a
mov eax, ecx
not eax
and eax, 0x29
mov rdx, rcx
and rdx, 0xffffffffffffffd6
or rdx, rax
and ecx, 0x29
lea rcx, [rdx + rcx*2]
call fcn.2042789c
mov rdx, rax
add rdx, 0x27
mov rcx, rdx
not rcx
mov r8, rcx
and r8, 0xffffffffffffffe0
and edx, 0x1f
or rdx, r8
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x201c66ee
add rcx, 2
call fcn.2042789c
mov rcx, rax
mov qword [rbp + 0x830], rcx
mov rax, qword [0x20557220]
movabs rdx, 0x8d9939d0a211cfb6
xor rdx, rax
movabs r8, 0xd9939d0a211cfb6
and r8, rax
lea rax, [rdx + r8*2]
movabs rdx, 0x825fbfc4c0d689c
lea rdx, [rdx + rsi*2]
neg rax
mov r8, rdx
xor r8, rax
and rax, rdx
lea rax, [r8 + rax*2]
movabs r8, 0xd8040e0f831e49fa
add r8, rax
mov rdx, r15
call fcn.2044f800
mov qword [rbp + 0x840], rsi
mov qword [rbp + 0x848], rbx
cmp qword [rbp + 0x878], 0x10
jb 0x201c676e
mov rcx, qword [rbp + 0x860]
jmp 0x201c6775
lea rcx, [rbp + 0x860]
mov rdx, qword [rbp + 0x870]
add rdx, rcx
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], 0
lea rsi, [rbp - 0x40]
mov r8, rsi
xor r9d, r9d
call fcn.202244f0
mov rax, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 8
jb 0x201c67b3
mov rsi, qword [rbp - 0x40]
lea r8, [rsi + rax*2]
lea rcx, [rbp + 0x830]
mov rdx, rsi
call fcn.20229e50
mov r8, qword [rbp - 0x28]
mov ebx, dword [0x20556ab0]
lea eax, [rbx + 1]
mov dword [0x20556ab0], eax
and ebx, eax
mov eax, dword [0x2055722c]
mov ecx, eax
xor ecx, 0x864683f
and eax, 0x864683f
lea r15d, [rcx + rax*2]
add r15d, 0x4b0d952b
cmp ebx, r15d
je 0x201c6805
xor esi, esi
jmp 0x201c694c
xor ecx, ecx
mov esi, 0
test r14d, r14d
jle 0x201c694c
xor r9d, r9d
xor esi, esi
nop word [rax + rax]
movsxd r11, r9d
add r11, rdi
test cl, cl
jne 0x201c6883
nop word [rax + rax]
movzx r10d, byte [r11]
mov edx, dword [0x205b3f30]
mov r12d, dword [0x2055722c]
mov eax, r12d
xor eax, 0xec573f66
mov r13d, r12d
and r13d, 0x6c573f66
lea eax, [rax + r13*2]
mov r13d, eax
xor r13d, 0x671abe05
and eax, 0x671abe05
lea r13d, [r13 + rax*2]
mov eax, edx
sub eax, r13d
imul eax, edx
add r12d, 0x5371fd6c
xor edx, edx
div r12d
test edx, edx
je 0x201c6890
movzx eax, byte [r11]
jmp 0x201c6830
movzx r11d, byte [0x20557228]
lea r12d, [r11 + 5]
mov edx, esi
not dl
mov eax, r12d
not al
mov r13d, edx
xor r13b, al
and r13b, dl
and al, sil
or al, r13b
mov r13b, 0xfa
sub r13b, r11b
xor r13b, r12b
and r13b, r10b
and al, r10b
xor dl, r12b
xor dl, r13b
and dl, sil
mov esi, eax
not sil
mov r10d, eax
xor r10b, dl
mov r11d, esi
xor sil, dl
not dl
and r11b, dl
or r11b, r10b
not r11b
and dl, al
or sil, dl
not sil
or sil, dl
or sil, r11b
mov eax, dword [0x205b3f30]
nop dword [rax]
mov edx, dword [0x205b3f30]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x2055722c]
mov r10d, edx
xor r10d, 0x5371fd6c
and edx, 0x5371fd6c
lea r10d, [r10 + rdx*2]
xor edx, edx
div r10d
test edx, edx
jne 0x201c6900
neg r9d
mov eax, dword [0x2055722c]
sub eax, r9d
add eax, 0x5371fd6b
mov r9d, eax
cmp eax, r14d
jl 0x201c6820
cmp r8, 7
jbe 0x201c69fc
mov rcx, qword [rbp - 0x40]
lea rdx, [r8 + r8]
add rdx, 2
cmp rdx, 0x1000
jb 0x201c69f7
mov rax, qword [rcx - 8]
mov rdx, qword [0x20557220]
movabs r9, 0x43ec926298cee35c
mov r10, rdx
xor r10, r9
and rdx, r9
lea rdx, [r10 + rdx*2]
sub rdx, rcx
add rdx, rax
mov rcx, 0xfffffffffffffff8
sub rcx, rdx
movabs rdx, 0x967d629dc5e8c63a
xor rdx, rcx
movabs r9, 0x167d629dc5e8c63a
and r9, rcx
lea rcx, [rdx + r9*2]
cmp rcx, 0x20
jae 0x201c6b5f
add r8, r8
movabs rcx, 0xfa913bb47cf056f
add rcx, r8
mov rdx, rcx
xor rdx, 0x29
and ecx, 0x29
lea rcx, [rdx + rcx*2]
movabs rdx, 0xf056ec44b830fa91
add rdx, rcx
mov rcx, rax
call fcn.2008bfb0
movaps xmm0, xmmword [rbp + 0x830]
movaps xmm1, xmmword [rbp + 0x840]
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm1
mov qword [rbp + 0x840], 0
mov qword [rbp + 0x848], 7
mov word [rbp + 0x830], 0
mov rax, qword [rbp + 0x878]
cmp rax, 0x10
jb 0x201c6ab8
mov rcx, qword [rbp + 0x860]
mov rdx, rax
not rdx
mov r8, rax
xor r8, 1
and r8, rdx
mov rdx, rax
and rdx, 0xfffffffffffffffe
or rdx, r8
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x201c6ab3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x201c6b64
movabs rcx, 0xb2048dd38d620efb
add rax, rcx
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rax, [rcx + rax*2]
movabs rdx, 0x4dfb722c729df105
add rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov eax, dword [0x205b3f30]
mov ecx, 0x8f5aed3f
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x201c6ad4
movzx eax, byte [0x20473590]
movzx ecx, byte [0x20473590]
cmp ebx, r15d
setne al
mov dl, 0xff
nop word cs:[rax + rax]
mov r8d, dword [0x205b3f30]
mov r9d, dword [0x2055722c]
neg r9d
add r9d, r8d
add r9d, 0xcfa89034
not r9d
imul r9d, r8d
test r9b, 1
je 0x201c6b2d
mov r8d, dword [0x205b3f30]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x201c6af0
mov r8b, 0xff
xor r8b, r8b
not r8b
and r8b, al
xor r8b, dl
and al, dl
add al, al
add al, r8b
xor edx, edx
test dl, dl
je 0x201c6b69
jmp 0x201c6b85
call fcn.20407a4c
call fcn.20407a4c
call fcn.20407a4c
call fcn.20067710
call fcn.20407a4c
call fcn.20407a4c
movzx edx, byte [0x20557228]
mov r8d, dword [0x205b3f30]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x201c6b96
mov dl, 1
nop word [rax + rax]
test dl, dl
je 0x201c6b90
jmp 0x201c6b69
mov r8d, ecx
xor r8b, 0x1c
and cl, 0x1c
add cl, cl
add cl, r8b
sub cl, sil
add cl, 0xe4
and al, cl
add dl, 6
cmp al, dl
setne al
or al, byte [0x205b3cd9]
and al, 1
mov byte [0x205b3cd9], al
lea rcx, [rbp - 0x40]
lea rsi, [rbp + 0x7f0]
mov rdx, rsi
call fcn.201c96f0
mov rax, qword [rbp - 0x28]
movabs rcx, 0xad6f2fc4d2e61d29
add rcx, qword [0x20557220]
cmp rax, rcx
jbe 0x201c6c78
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x201c6c73
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
setae cl
setb dl
movzx r9d, byte [0x205b3cd9]
xor cl, dl
and cl, r9b
and r9b, dl
xor cl, dl
cmp r9b, cl
je 0x201c6f8b
add rax, rax
movabs rcx, 0x89be4799a50ca9b1
xor rcx, rax
not rax
movabs rdx, 0x7641b8665af3564e
and rdx, rax
or rdx, rcx
not rdx
lea rax, [rcx + rdx*2]
movabs rdx, 0x7641b8665af35678
add rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov rax, qword [rbp + 0x828]
cmp rax, 8
jb 0x201c6d5a
mov rcx, qword [rbp + 0x810]
mov rdx, qword [0x20557220]
movabs r8, 0x34db831423611aa7
mov r9, rdx
xor r9, r8
and rdx, r8
lea rdx, [r9 + rdx*2]
lea r8, [rdx + rax*2]
movabs rdx, 0x7893acb0af85027d
add rdx, r8
cmp rdx, 0x1000
jb 0x201c6d55
mov r8, qword [rcx - 8]
mov rdx, rcx
not rdx
mov r9, rcx
mov r10, rdx
movabs r11, 0x7ffffffffffffff8
xor r11, rcx
xor rcx, 7
and rcx, rdx
and edx, 7
and r9, 0xfffffffffffffff8
or r9, rdx
and r10, 0xfffffffffffffff8
xor r9, r10
not r9
or r9, r10
or rcx, r11
not rcx
lea rcx, [r9 + rcx*2]
mov rdx, r8
sub rdx, rcx
movabs rcx, 0xb062baf08b572c49
add rcx, rdx
movabs rdx, 0x4f9d450f74a8d3b7
mov r9, rcx
xor r9, rdx
and rcx, rdx
lea rcx, [r9 + rcx*2]
neg rcx
cmp rcx, 0x20
jae 0x201c6f90
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
mov qword [rbp + 0x858], 0
cmp qword [rbp + 0x808], 8
jb 0x201c6d76
mov rsi, qword [rbp + 0x7f0]
lea r8, [0x20473540]
lea rcx, [rbp + 0x858]
mov rdx, rsi
call fcn.2040da6c
mov esi, eax
mov r9, qword [rbp + 0x858]
test r9, r9
je 0x201c6ec7
test esi, esi
jne 0x201c6ec7
mov dword [rsp + 0x30], 0x238771a9
mov dword [rsp + 0x28], 0x815cbff2
mov dword [rsp + 0x20], 0x5795c8e9
mov edx, 1
mov rcx, qword [rbp + 0x7e0]
mov r8, qword [rbp + 0x7d8]
call fcn.201cc3e0
mov rcx, qword [rbp + 0x858]
mov edx, 0xee00fed2
mov r8d, 0x7b4f9c3e
mov r9d, 0xd5c4c4fa
call fcn.201cbe80
mov r9, qword [rbp + 0x858]
cmp qword [rbp + 0x808], 8
jb 0x201c6e0d
mov rdx, qword [rbp + 0x7f0]
jmp 0x201c6e14
lea rdx, [rbp + 0x7f0]
lea r8, [0x20473580]
lea rcx, [rbp + 0x858]
call fcn.2040dbcc
mov rax, qword [rbp + 0x7e8]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x201c6f86
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [rbp + 0x7f0]
call qword [case.0x2010e313.0]
mov rcx, qword [rbp + 0x858]
test rcx, rcx
je 0x201c6e60
call fcn.201cba80
mov rax, qword [rbp + 0x808]
cmp rax, 8
jb 0x201c6eb2
movzx ecx, byte [0x20557220]
add cl, 0x23
shl rax, cl
mov rcx, qword [rbp + 0x7f0]
lea rdx, [rax + 2]
cmp rdx, 0x1000
jb 0x201c6ead
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x201c6f95
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.2008bfb0
nop
add rsp, 0x908
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdi, [rbp - 0x40]
mov r8d, 0x800
mov rcx, rdi
xor edx, edx
call fcn.2044feb0
mov edx, 0x800
mov rcx, rdi
mov r8d, esi
call fcn.2040dbe4
lea rdx, [0x20473550]
lea rcx, [rbp + 0x830]
lea r8, [rbp + 0x7f0]
call fcn.201c76c0
lea r8, [0x20473548]
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x830]
call fcn.201c7580
lea rcx, [rbp + 0x810]
lea rdx, [rbp + 0x860]
lea r8, [rbp - 0x40]
call fcn.201c7580
lea rcx, [rbp + 0x860]
call fcn.20056be0
lea rcx, [rbp + 0x830]
call fcn.20056be0
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x810]
call fcn.201c7940
lea rsi, [rbp + 0x7c0]
lea rdx, [rbp + 0x860]
mov rcx, rsi
call fcn.201c79e0
lea rdx, [0x204c7d70]
mov rcx, rsi
call fcn.2045024c
call fcn.20429524
call fcn.20407a4c
call fcn.20407a4c
call fcn.20407a4c
int3