Function at 0x140040b72
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov qword [rsp], rbp
push rbx
mov dword [rsp - 0x34], esp
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x3f]
xchg r9, r9
sub rsp, 0xa8
xor r15d, r15d
xchg rdi, rcx
mov rbx, rdi
xchg rdi, rcx
mov dword [rbp + 0x67], r15d
call fcn.140034b40
mov dword [rsp - 0x38], edi
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb0]
xchg r12, r12
mov rcx, qword [0x1400c82a0]
xchg rdx, r14
mov r14, rax
xchg rdx, r14
call fcn.1400311d0
mov rcx, rcx
xchg r10, rcx
mov r10, rax
xchg r10, rcx
call fcn.140034898
mov ecx, dword [rbx + 0xb5c]
xchg rbx, rbx
xchg rdx, rsi
mov rdx, rax
xchg rdx, rsi
add ecx, 4
mov dword [rsp - 0x38], ebp
cmp dword [rbx + 0xb58], ecx
je 0x140040dbf
xchg r14, rcx
mov r14, qword [rax + 0x50]
xchg rcx, r14
test rcx, rcx
mov dword [rsp - 0x14], 0x8a638c0
je 0x140040dbf
cmp byte [rcx + 0x310], r15b
je 0x140040dbf
mov dword [rsp - 0x3c], 0x1616c817
mov qword [rsp + 0xd8], rdi
lea rdx, [rbp - 9]
xchg r12, rdi
mov qword [rsp + 0xe0], rdi
xchg r12, rdi
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
mov qword [rsp + 0xa0], r14
call fcn.140041270
mov dword [rsp - 0x34], 0x7f13f126
xchg r9, r15
mov r15, qword [rbx + 0xb48]
xchg r9, r15
lea rdx, [rbp - 0x49]
mov dword [rsp - 0x20], 0x77dc407b
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 9]
xor r8d, r8d
mov dword [rsp - 0x28], esi
call fcn.140059910
xchg r15, rax
mov rdx, r15
xchg r15, rax
xchg r8, rcx
mov r8, rdi
xchg rcx, r8
call fcn.140037fc0
mov rcx, qword [rbp - 0x49]
mov r12d, eax
mov dword [rsp - 0x14], 0x62487bb
lea rax, [rbp - 0x41]
cmp rcx, rax
jne 0x140040aa7
lea rdi, [rbp - 0x41]
mov r13, r13
xor eax, eax
mov ecx, 0x15828e7f
add ecx, 0x3dbc3934
sub ecx, 0xeed512c
sub ecx, 0x44517657
rep stosb byte [rdi], al
mov dword [rsp - 0x18], edx
jmp 0x140040aac
call fcn.140077cf0
mov r14, qword [rbp + 0x2f]
mov r14, r14
cmp qword [rbx + 0xb48], r14
je 0x140040bff
xorps xmm0, xmm0
mov qword [rsp + 0xe8], r13
mov dword [rsp - 0x14], 0x21f447f7
xchg r13, r10
mov r10, qword [rsi + 0x50]
xchg r10, r13
lea rax, [rbp - 0x41]
mov r13, r13
mov rsi, qword [rbp - 9]
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x49], rax
mov dword [rsp - 0x38], 0x162fa956
xchg rbp, r11
movups xmmword [r11 - 0x41], xmm0
xchg rbp, r11
xchg rbp, rdx
movups xmmword [rdx - 0x31], xmm0
xchg rbp, rdx
xchg rbp, r13
movups xmmword [r13 - 0x21], xmm0
xchg rbp, r13
call fcn.14001653c
mov r11, r11
mov edx, 0x3c7e8dea
sub edx, 0x2cc9de3b
xor edx, 0x1a260d7c
xor edx, 0x75b12604
sub edx, 0x49bb39fc
test r14, r14
mov dword [rsp - 0x14], esi
je 0x140040ba0
mov rdi, rax
sub rsi, rax
mov dword [rsp - 0x30], ebx
mov r8, r14
mov r9d, 0x161017f7
xor r9d, 0x12c8752c
add r9d, 0x4a446d3
sub r9d, 0x97ca8af
movzx ecx, dx
xchg r13, r13
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xchg rbx, rbx
xor cx, word [rsi + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
mov rdi, rdi
jne 0x140040b76
mov word [rax + r14*2], r15w
xchg r15, rcx
mov r15, r13
xchg r15, rcx
mov rdx, qword [rbx + 0xb48]
mov rax, qword [rbp - 0x49]
mov dword [rsp - 0x2c], 0x591ecf46
lea rdx, [rax + rdx*2]
call fcn.1400383bc
mov r13, qword [rsp + 0xe8]
mov esi, eax
mov dword [rsp - 0x24], edx
mov r15d, 0x770bba15
sub r15d, 0x37edc10c
sub r15d, 0x137bc7d6
add r15d, 0x2274b295
sub r15d, 0x4e16e3c7
jmp 0x140040c02
mov esi, r15d
mov r14, qword [rsp + 0xa0]
mov rbx, rbx
test r15b, 1
je 0x140040c63
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r10, r10
cmp rcx, rax
jne 0x140040c56
lea rdi, [rbp - 0x41]
xor eax, eax
mov r15, r15
mov ecx, 0xf0453e5
add ecx, 0x6718db14
xor ecx, 0x675af1d2
xor ecx, 0x1147df1b
rep stosb byte [rdi], al
mov dword [rsp - 0x14], ebx
jmp 0x140040c63
call fcn.140077cf0
mov dword [rsp - 0x38], 0x1e7c1168
lea rdx, [rbp + 0x67]
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.14003ddf0
lea rdx, [rbp + 0x67]
xchg r14, r14
xchg rbx, r14
mov rcx, r14
xchg r14, rbx
mov edi, dword [rax]
sub edi, dword [rbx + 0xb58]
sub edi, r12d
mov dword [rsp - 0x3c], ecx
call fcn.14003ddf0
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov rbx, rbx
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
nop
add eax, 0x4330fddf
sub eax, 0x4330fddb
mov dword [rbx + 0xb58], ecx
mov r11, r11
cmp ecx, eax
jle 0x140040cd8
mov dword [rbx + 0xb58], eax
xchg r15, r15
jmp 0x140040d49
lea rdx, [rbp + 0x67]
mov dword [rsp - 0x24], 0x4d7807b7
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.14003ddf0
xchg r10, r10
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
mov dword [rsp - 0x10], 0xbc6bdbb
sub edx, 4
cmp ecx, edx
jle 0x140040d49
mov dword [rsp - 0x3c], esi
lea rdx, [rbp + 0x67]
xchg rcx, r10
mov r10, rbx
xchg r10, rcx
call fcn.14003ddf0
mov edx, dword [rax]
xchg rsi, rsi
sub edx, r12d
sub edx, dword [rbx + 0xb60]
sub edx, 4
mov r11, r11
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 9]
lea rax, [rbp - 1]
mov rcx, rcx
xchg rcx, r12
mov rcx, qword [rsp + 0xe0]
xchg r12, rcx
cmp rcx, rax
xchg r8, r8
jne 0x140040da4
lea rdi, [rbp - 1]
xor eax, eax
mov dword [rsp - 0x28], edi
mov ecx, 0x41ec154e
add ecx, 0x1a3f62d9
sub ecx, 0x29f80942
add ecx, 0x3f6c8774
sub ecx, 0x719ff629
rep stosb byte [rdi], al
mov dword [rsp - 0x10], 0x66776049
jmp 0x140040db1
call fcn.140077cf0
mov dword [rsp - 0x30], 0x520aa93c
xchg rdi, r13
mov r13, qword [rsp + 0xd8]
xchg r13, rdi
sub rsp, 0x55a9b66d
add rsp, 0x55a9b715
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop rsi
mov rbp, rbp
nop
add rsp, 8
mov rbx, qword [rsp - 8]
pop rbp
ret