Function at 0x140091830
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
xchg rbp, rdx
mov qword [rsp + 0x10], rdx
xchg rdx, rbp
xchg r15, rsi
mov qword [rsp + 0x18], r15
xchg r15, rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r10
mov qword [rsp], r14
push r15
sub rsp, 0x20
xchg rdi, r12
mov r12, rcx
xchg rdi, r12
mov byte [rcx + 0x5fc], 9
add byte [rcx + 0x5fc], 0x1c
add byte [rcx + 0x5fc], 0x40
sub byte [rcx + 0x5fc], 0x54
xor byte [rcx + 0x5fc], 0x38
add byte [rcx + 0x5fc], 5
sub byte [rcx + 0x5fc], 0x16
add byte [rcx + 0x5fc], 0x48
sub byte [rcx + 0x5fc], 0x5f
xor r15d, r15d
cmp qword [rcx + 0x5c0], r15
je 0x140091935
mov rcx, qword [rcx + 0x5c8]
push rbx
call 0x1409727b4
mov edx, 0x2c952638
sub edx, 0xdddc1b9
xor edx, 0xc3ebc58
add edx, 0x6ca09b7e
sub edx, 0x66fddaf1
add edx, 0x341337c5
xor edx, 0x513f6252
xor edx, 0x8a17c13
sub edx, 0x15a1ca50
xchg rcx, r8
mov r8, qword [rdi + 0x5c0]
xchg rcx, r8
push rdi
call 0x140ab1b20
cmp eax, 0x102
jne 0x140091928
xor edx, edx
mov rcx, qword [rdi + 0x5c0]
push rsi
call 0x140cf542e
xchg r15, rbx
mov qword [rdi + 0x5c0], rbx
xchg r15, rbx
mov edx, 0x5dbb5f9e
sub edx, 0x50107e
sub edx, 0x1e053786
add edx, 0x14208efd
sub edx, 0x26acf4b8
sub edx, 0x87ced17
sub edx, 0x245cc0e0
mov rcx, qword [rdi + 0x5d0]
push rsi
call 0x1409f59cc
cmp eax, 0x102
jne 0x14009198b
xor edx, edx
xchg r12, rcx
mov r12, qword [rdi + 0x5d0]
xchg rcx, r12
call 0x140c7db15
int3
nop
movabs rsi, 0xffffffff2c704b99
xor rsi, 0x77cc074e
sub rsi, 0x17e92bb5
xor rsi, 0x220a9912
sub rsi, 0x5a5578f1
xor rsi, 0x41707cce
xor rsi, 0x1ee047cf
xor rsi, 0x6cd80532
add rsi, 0x7fffffff
xor rsi, 0x4b33fef4
mov qword [rdi + 0x5d0], rsi
mov rbp, qword [rdi + 0x2f8]
xchg r14, r13
mov r13, qword [rdi + 0x2f0]
xchg r13, r14
cmp r14, rbp
je 0x140091a71
xchg rbx, r12
mov r12, qword [r14]
xchg rbx, r12
xchg rdi, rax
mov rdi, qword [rbx]
xchg rdi, rax
mov rcx, rbx
call qword [rax + 0x18]
xchg r15, rcx
mov r15, rax
xchg r15, rcx
call fcn.1401fcdd8
xchg r10, rax
mov r10, qword [rbx]
xchg r10, rax
mov edx, 0x30cad283
xor edx, 0x2be6fbd2
sub edx, 0x3ae0798
add edx, 0x37fdba85
add edx, 0x280aa6d4
sub edx, 0x2a6a167
sub edx, 0x4f749acd
add edx, 0x8d0d97b
sub edx, 0x2e3c2058
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call qword [rax]
sub r14, 0xfffffffffffffff8
cmp r14, rbp
jne 0x1400919f9
xchg r15, rcx
mov r15, qword [rdi + 0x2b8]
xchg rcx, r15
test rcx, rcx
je 0x140091a8c
call fcn.1401fcdd8
xchg rbp, rcx
mov rbp, qword [rdi + 0x2c0]
xchg rbp, rcx
test rcx, rcx
je 0x140091aa7
call fcn.1401fcdd8
xchg rbp, rcx
mov rbp, qword [rdi + 0x2c8]
xchg rcx, rbp
test rcx, rcx
je 0x140091ac2
call fcn.1401fcdd8
xchg r15, rcx
mov r15, qword [rdi + 0x140]
xchg rcx, r15
test rcx, rcx
je 0x140091add
call fcn.1401fcdd8
xchg rcx, r10
mov r10, qword [rdi + 0x2d0]
xchg rcx, r10
test rcx, rcx
je 0x140091af8
call fcn.1401fcdd8
lea rcx, [rdi + 0x5d8]
call fcn.14007af70
lea rcx, [rdi + 0x560]
call fcn.14007af70
lea rcx, [rdi + 0x548]
call fcn.14007af70
mov rbx, qword [rdi + 0x320]
test rbx, rbx
je 0x140091b6d
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140091b6d
mov rax, qword [rbx]
xchg rbx, r13
mov rcx, r13
xchg r13, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140091b6d
xchg r13, rax
mov r13, qword [rbx]
xchg r13, rax
xchg rcx, rdi
mov rdi, rbx
xchg rdi, rcx
call qword [rax + 8]
mov rbx, qword [rdi + 0x310]
test rbx, rbx
je 0x140091bbe
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140091bbe
mov rax, qword [rbx]
xchg r11, rcx
mov r11, rbx
xchg r11, rcx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140091bbe
xchg r11, rax
mov r11, qword [rbx]
xchg r11, rax
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call qword [rax + 8]
mov rcx, qword [rdi + 0x2f0]
test rcx, rcx
je 0x140091c3c
mov rdx, qword [rdi + 0x300]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x140091c1c
nop
add rdx, 0x24815c99
sub rdx, 0x24815c72
xchg r9, r8
mov r9, qword [rcx - 8]
xchg r9, r8
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14009233b
xchg r15, r8
mov rcx, r15
xchg r15, r8
call fcn.1401fcdd8
xchg r15, rsi
mov qword [rdi + 0x2f0], rsi
xchg rsi, r15
mov qword [rdi + 0x2f8], r15
mov qword [rdi + 0x300], r15
xchg r8, rbx
mov r8, qword [rdi + 0x2e8]
xchg r8, rbx
test rbx, rbx
je 0x140091c89
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140091c89
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140091c89
mov rax, qword [rbx]
xchg r10, rcx
mov r10, rbx
xchg r10, rcx
call qword [rax + 8]
mov rbx, qword [rdi + 0x2d8]
test rbx, rbx
je 0x140091ce4
mov rcx, rbx
call fcn.14017d3f0
mov edx, 0x59fbac13
xor edx, 0x784d6b1e
add edx, 0x2d44c67b
add edx, 0x28d63688
sub edx, 0x2a68305f
sub edx, 0x2ba86a0e
add edx, 0x31063c65
sub edx, 0x15d00e38
sub edx, 0x3cf75730
xchg rdx, rbx
mov rcx, rdx
xchg rdx, rbx
call fcn.1401fcdd8
xchg rbx, r15
mov r15, qword [rdi + 0x2b0]
xchg rbx, r15
test rbx, rbx
je 0x140091d39
xchg rcx, r13
mov r13, rbx
xchg rcx, r13
call fcn.14017d3f0
mov edx, 0x2496bbf
add edx, 0x6ac9d3c
add edx, 0x12e1181e
add edx, 0x58fbb37f
sub edx, 0x4f2f475f
sub edx, 0x25a38c99
xchg rbx, rbp
mov rcx, rbp
xchg rbp, rbx
call fcn.1401fcdd8
xchg rdx, rbx
mov rdx, qword [rdi + 0x2a8]
xchg rdx, rbx
test rbx, rbx
je 0x140091d8e
xchg rcx, r8
mov r8, rbx
xchg r8, rcx
call fcn.140179eb0
mov edx, 0x4db22e19
xor edx, 0x4356adee
add edx, 0x59694120
xor edx, 0x28eea486
xor edx, 0x2d24c7ea
sub edx, 0x6d87a5db
xchg rbx, r10
mov rcx, r10
xchg rbx, r10
call fcn.1401fcdd8
mov rbx, qword [rdi + 0x2a0]
test rbx, rbx
je 0x140091def
xchg rcx, r10
mov r10, rbx
xchg r10, rcx
call fcn.14017a730
mov edx, 0x64d29717
sub edx, 0x27953289
add edx, 0x23b8b459
xor edx, 0x674487ec
add edx, 0x72519030
xor edx, 0x32144c2c
add edx, 0x133bc32e
add edx, 0x1843d427
sub edx, 0x738ff9c4
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.1401fcdd8
xchg rbx, rbp
mov rbp, qword [rdi + 0x298]
xchg rbp, rbx
test rbx, rbx
je 0x140091e44
xchg rdi, rcx
mov rdi, rbx
xchg rcx, rdi
call fcn.140179eb0
mov edx, 0x6afe77d8
sub edx, 0x1cacf11d
xor edx, 0x6687a83e
add edx, 0x381449b4
xor edx, 0x55bc56d8
sub edx, 0x35562e41
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.1401fcdd8
lea rcx, [rdi + 0x278]
call fcn.14002f7b0
lea rcx, [rdi + 0x258]
call fcn.14002f7b0
lea rcx, [rdi + 0x238]
call fcn.14002f7b0
lea rcx, [rdi + 0x218]
call fcn.14002f7b0
lea rcx, [rdi + 0x1f8]
call fcn.14002f7b0
lea rcx, [rdi + 0x1d8]
call fcn.14002f7b0
xchg rbx, rdx
mov rdx, qword [rdi + 0x1d0]
xchg rbx, rdx
test rbx, rbx
je 0x140091ee7
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.140184040
mov edx, 0x1f9ed7a4
xor edx, 0x38e3661c
add edx, 0x2b0934e1
sub edx, 0x40804eff
add edx, 0x2503c972
add edx, 0x1d969311
sub edx, 0x54a0f2f5
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.1401fcdd8
lea rcx, [rdi + 0x1b0]
call fcn.14002f7b0
xchg rsi, rbx
mov rsi, qword [rdi + 0x1a8]
xchg rbx, rsi
test rbx, rbx
je 0x140091f4e
xchg rcx, r14
mov r14, rbx
xchg r14, rcx
call fcn.14017d3f0
mov edx, 0x1a6e6f55
add edx, 0x4c606a5f
sub edx, 0x1355d469
sub edx, 0x4a356ec3
add edx, 0x567a84d1
add edx, 0x103566ed
sub edx, 0x1570250c
sub edx, 0x5a835c9a
mov rcx, rbx
call fcn.1401fcdd8
xchg rbx, r15
mov r15, qword [rdi + 0x1a0]
xchg rbx, r15
test rbx, rbx
je 0x140091f9d
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.140184040
mov edx, 0x1112a530
add edx, 0x27e03ead
xor edx, 0x3a593589
add edx, 0x31ab6f92
add edx, 0xb6366d2
sub edx, 0x3fbaab90
mov rcx, rbx
call fcn.1401fcdd8
xchg rcx, rbx
mov rcx, qword [rdi + 0x198]
xchg rbx, rcx
test rbx, rbx
je 0x140091ffe
xchg r9, rcx
mov r9, rbx
xchg rcx, r9
call fcn.14017d3f0
mov edx, 0x4dfe07b9
xor edx, 0x393360e2
sub edx, 0x10873665
sub edx, 0x44019d7b
sub edx, 0x14858dd1
xor edx, 0x42e075ed
xor edx, 0x64fffac6
xor edx, 0x53c4e65a
sub edx, 0x7e646c3b
mov rcx, rbx
call fcn.1401fcdd8
lea rcx, [rdi + 0x178]
call fcn.14002f7b0
mov rbx, qword [rdi + 0x170]
test rbx, rbx
je 0x14009204d
mov rcx, rbx
call fcn.140186e60
mov edx, 0x55dfe856
add edx, 0x1bc35e70
xor edx, 0x1aba98f1
sub edx, 0x10751aa0
add edx, 0x4f70513
sub edx, 0x5f9bc7ea
mov rcx, rbx
call fcn.1401fcdd8
mov rbx, qword [rdi + 0x168]
test rbx, rbx
je 0x14009209c
xchg rdi, rbx
mov rcx, rdi
xchg rbx, rdi
call fcn.140187470
mov edx, 0x118e5c8
xor edx, 0x66db2514
xor edx, 0x7a3547c8
xor edx, 0x1a614a22
add edx, 0x23b6d1ac
sub edx, 0x2b4e9e3a
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.1401fcdd8
mov rbx, qword [rdi + 0x160]
test rbx, rbx
je 0x1400920eb
xchg rbx, r12
mov rcx, r12
xchg rbx, r12
call fcn.140179eb0
mov edx, 0x6b73504e
xor edx, 0x2c8b4802
xor edx, 0x75e90a88
add edx, 0x3fc58db0
sub edx, 0x8533dba
sub edx, 0xbe3745b
sub edx, 0x5d9fedbf
mov rcx, rbx
call fcn.1401fcdd8
lea rcx, [rdi + 0x148]
call 0x1400913a0
lea rcx, [rdi + 0x110]
call fcn.14002f7b0
lea rcx, [rdi + 0xf0]
call fcn.14002f7b0
lea rcx, [rdi + 0xc8]
call fcn.14002f7b0
lea rcx, [rdi + 0xa8]
call fcn.14002f7b0
lea rcx, [rdi + 0x88]
call fcn.14002f7b0
mov r8, qword [rdi + 0x78]
mov r8, qword [r8 + 8]
lea rdx, [rdi + 0x78]
lea rcx, [rdi + 0x78]
call fcn.1400810a0
mov edx, 0x25832175
add edx, 0x3088791c
sub edx, 0x41ed9d7d
sub edx, 0x13a0675f
xor edx, 0x26e71290
xor edx, 0x7c93abc8
sub edx, 0xfa10aca
xor edx, 0x6504ef2b
sub edx, 0x2f6ccc70
xchg rcx, r8
mov r8, qword [rdi + 0x78]
xchg r8, rcx
call fcn.1401fcdd8
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x1400921e4
mov rcx, rbx
call fcn.140188da0
mov edx, 0x276417c0
add edx, 0xc2b27f
xor edx, 0x69add6c5
sub edx, 0x2be7b292
add edx, 0x12934311
xor edx, 0x61cfd555
xor edx, 0x346931e1
xor edx, 0x665fc690
xor edx, 0x1bcf8fa5
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.1401fcdd8
xchg r12, rbx
mov r12, qword [rdi + 0x68]
xchg rbx, r12
test rbx, rbx
je 0x14009223c
xchg r15, rcx
mov r15, rbx
xchg r15, rcx
call fcn.1400742e0
mov edx, 0x16623620
add edx, 0x62ca2300
sub edx, 0x7437e664
xor edx, 0x265afa24
add edx, 0xca6d6fd
add edx, 0x4c20947e
sub edx, 0x7b75f3a3
xchg rbx, rdx
mov rcx, rdx
xchg rdx, rbx
call fcn.1401fcdd8
xchg rbx, r10
mov r10, qword [rdi + 0x60]
xchg rbx, r10
test rbx, rbx
je 0x14009228e
mov rcx, rbx
call fcn.1401ad220
mov edx, 0x7d20e700
sub edx, 0x550b7447
add edx, 0x1615c35c
add edx, 0x2fba1e28
sub edx, 0x5273c567
xor edx, 0x5c3d1575
sub edx, 0x474c9b4b
xchg rbx, r8
mov rcx, r8
xchg rbx, r8
call fcn.1401fcdd8
xchg r9, rbx
mov r9, qword [rdi + 0x58]
xchg r9, rbx
test rbx, rbx
je 0x1400922e0
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400922e0
xchg r15, rax
mov r15, qword [rbx]
xchg r15, rax
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x1400922e0
mov rax, qword [rbx]
xchg r9, rbx
mov rcx, r9
xchg r9, rbx
call qword [rax + 8]
lea rcx, [rdi + 0x30]
call fcn.140091460
lea rcx, [rdi + 0x18]
call fcn.140091460
xchg r8, rdi
mov rcx, r8
xchg r8, rdi
xchg rbp, rbx
mov rbp, qword [rsp + 0x40]
xchg rbp, rbx
xchg rbp, rcx
mov rcx, qword [rsp + 0x48]
xchg rbp, rcx
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
nop
mov r15, qword [rsp]
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
jmp fcn.140091460
push rdi
call 0x140651672
int3