Function at 0x140039628
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
nop
add rsp, 0x411e0dd2
sub rsp, 0x411e0e32
mov rbx, rcx
xor r15d, r15d
mov rcx, qword [rcx + 0x588]
mov r12d, 0x24a3ccd7
sub r12d, 0x82274a1
xor r12d, 0x331aa75e
sub r12d, 0x2f9bff67
test rcx, rcx
je 0x14003969c
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x140039695
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x588], r15
mov r8, qword [rbx + 0x520]
movabs r13, 0x68cc10c473785e94
sub r13, 0x2bb80f93
xor r13, 0x58f33bf
cmp r8, r13
je 0x140039780
cmp byte [rbx + 0x528], r15b
jne 0x140039780
mov rax, qword [0x1400ef290]
movabs rdx, 0xd3f18aed7f25350a
sub rdx, 0x52c6af86
add rdx, 0x57e8f89
mov rcx, qword [rbx + 0x530]
add rax, rdx
rol rax, 0x29
movabs rdx, 0x27d152613d866ab9
xor rdx, 0x2cad31ba
add rdx, 0x445d135c
xor rax, rdx
xor r8, r13
movabs rdx, 0x3da090791e9af854
add rdx, 0x5572fb57
sub rdx, 0x5c9cd3e6
add rdx, 0x79e333eb
xor rcx, r13
sub rax, rdx
movabs rdx, 0xbf61eacd2ef55c3b
add rdx, 0x25daa811
add rdx, 0x27e6fdec
add rdx, 0x4da9328c
xor rax, rdx
mov edx, 0x1eb13ec9
xor edx, 0x63b9b585
xor edx, 0x106a6699
xor edx, 0x929d1229
ror rax, 0x2f
call rax
mov rax, qword gs:[0x30]
mov rdi, qword [rax + 0x48]
mov eax, r12d
lock xadd dword [rbx + 0x6b0], eax
add eax, r12d
je 0x1400397bf
cmp rdi, qword [rbx + 0x6a0]
je 0x1400397ed
mov rcx, qword [rbx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.14005bbb0
mov qword [rbx + 0x6a0], rdi
mov dword [rbx + 0x6b4], r12d
mov rax, qword [rbx + 0x5c0]
mov rdi, qword [rbx + 0x5b8]
test rax, rax
je 0x140039817
lea rsi, [rdi + rax*8]
jmp 0x14003980e
add dword [rbx + 0x6b4], r12d
jmp 0x1400397cd
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.14003acdc
neg rdi
add rdi, 0xfffffffffffffff8
neg rdi
cmp rdi, rsi
jne 0x1400397f9
mov rax, qword [rbx + 0x5a0]
mov rdi, qword [rbx + 0x598]
test rax, rax
je 0x140039863
lea rsi, [rdi + rax*8]
jmp 0x14003985a
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003984b
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
nop
sub rdi, 0x578e8129
add rdi, 0x578e8131
cmp rdi, rsi
jne 0x140039837
mov rax, qword [rbx + 0x660]
mov rdi, qword [rbx + 0x658]
test rax, rax
je 0x1400398af
lea rsi, [rdi + rax*8]
jmp 0x1400398a6
mov rcx, qword [rdi]
test rcx, rcx
je 0x140039897
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
nop
add rdi, 0x2986488e
sub rdi, 0x29864886
cmp rdi, rsi
jne 0x140039883
mov esi, 0x4a4f1fd3
add esi, 0x345e5a97
sub esi, 0x1f5f0f9e
xor esi, 0x5f4e6afc
cmp dword [rbx + 0x518], r12d
jne 0x140039a22
cmp qword [rbx + 0x578], r15
je 0x140039a22
mov rbp, qword [rbx + 0x578]
lea rax, [rsp + 0x28]
mov r14, qword [rbx + 0x538]
lea rcx, [rsp + 0x20]
mov rsi, qword [rbx + 0x540]
xorps xmm0, xmm0
xor r14, r13
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 1]
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call fcn.14001664c
mov edx, 0x70fcacc6
sub edx, 0x1e1d3e81
sub edx, 0x394e4c75
xor edx, 0x29d334a2
test rbp, rbp
je 0x14003997d
mov rdi, rax
sub rsi, rax
mov r8, rbp
movzx ecx, dx
mov r9d, 0x3d3107a7
sub r9d, 0x21d7fbdb
sub r9d, 0x1b590acd
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi]
mov word [rdi], cx
lea rdi, [rdi + 2]
sub r8, r12
jne 0x14003994b
mov word [rax + rbp*2], r15w
movabs rcx, 0x6ace185a6d1f06b2
sub rcx, 0x2462cba7
add rcx, 0x7fffffff
add rcx, 0x5e7ccb5
mov rax, qword [0x1400ef028]
mov rdx, r14
ror rax, 0x26
sub rax, rcx
movabs rcx, 0xdb428dd11a14a075
add rcx, 0x3058256e
add rcx, 0x12640492
add rcx, 0x7fffffff
add rcx, 0x43b50d4
ror rax, 0x18
add rax, rcx
mov rcx, qword [rsp + 0x20]
call rax
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x140039a0c
xor eax, eax
lea rdi, [rsp + 0x28]
lea esi, [rax + 0x30]
mov ecx, esi
rep stosb byte [rdi], al
jmp 0x140039a22
call fcn.1400920d0
mov esi, 0x32bbf256
add esi, 0x3b5a7f63
sub esi, 0x6e167189
mov rcx, qword [rbx + 0x768]
cmp rcx, r13
je 0x140039a3a
xor rcx, r13
call fcn.140087ca0
mov rcx, qword [rbx + 0x760]
cmp rcx, r13
je 0x140039a52
xor rcx, r13
call fcn.140087ca0
mov rcx, qword [rbx + 0x510]
test rcx, rcx
je 0x140039a6a
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov rdi, qword [rbx + 0x738]
test rdi, rdi
je 0x140039a8d
mov rcx, rdi
call fcn.140021960
mov rdx, r12
mov rcx, rdi
call fcn.140091fa0
sub dword [rbx + 0x6b4], r12d
jne 0x140039aca
mov qword [rbx + 0x6a0], r15
or eax, 0xffffffff
lock xadd dword [rbx + 0x6b0], eax
dec eax
cmp eax, 0xffffffff
je 0x140039ad1
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.14005bb70
jmp 0x140039ad1
lock dec dword [rbx + 0x6b0]
mov rcx, qword [rbx + 0x740]
test rcx, rcx
je 0x140039aed
call fcn.1400920d0
mov qword [rbx + 0x740], r15
lea rdi, [rbx + 0x6b8]
cmp qword [rdi + 0x78], 0x78
jbe 0x140039b16
mov rcx, qword [rdi]
xor edx, edx
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rdi]
call fcn.1400920d0
jmp 0x140039b2a
cmp qword [rdi + 0x78], r15
jbe 0x140039b2a
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax]
mov qword [rdi + 0x78], r15
mov rcx, qword [rbx + 0x6a8]
call fcn.14005b9d0
mov rcx, qword [rbx + 0x658]
test rcx, rcx
je 0x140039b56
call fcn.1400920d0
mov qword [rbx + 0x658], r15
mov rcx, qword [rbx + 0x618]
lea rdi, [rbx + 0x620]
cmp rcx, rdi
jne 0x140039b79
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x140039b7e
call fcn.1400920d0
mov rcx, qword [rbx + 0x5d8]
lea rdi, [rbx + 0x5e0]
cmp rcx, rdi
jne 0x140039ba1
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x140039ba6
call fcn.1400920d0
mov rcx, qword [rbx + 0x5b8]
test rcx, rcx
je 0x140039bc2
call fcn.1400920d0
mov qword [rbx + 0x5b8], r15
mov rcx, qword [rbx + 0x598]
test rcx, rcx
je 0x140039bde
call fcn.1400920d0
mov qword [rbx + 0x598], r15
mov rcx, qword [rbx + 0x540]
lea rdi, [rbx + 0x548]
cmp rcx, rdi
jne 0x140039c01
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
jmp 0x140039c06
call fcn.1400920d0
lea rcx, [rbx + 0x288]
call fcn.14003aee4
mov rcx, rbx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x14003af70
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
add rsp, 0xffffffffffffffe0
xor edi, edi
lea rsi, [rcx + 0x280]
mov rbx, rcx
cmp qword [rsi], rdi
jbe 0x14003afd1
cmp qword [rbx + 0x78], 0x78
jbe 0x14003afab
mov rcx, qword [rbx]
xor edx, edx
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rbx]
call fcn.1400920d0
jmp 0x14003afbc
cmp qword [rbx + 0x78], 0
jbe 0x14003afbc
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax]
and qword [rbx + 0x78], 0
inc rdi
nop
add rbx, 0x80
cmp rdi, qword [rsi]
jb 0x14003af90
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
pop rdi
ret