Function at 0x14001ba80
Capabilities:
Create thread
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x14007f010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
mov rdx, qword [0x14036e540]
mov rax, qword [rdx + 0x1a20]
movss xmm0, dword [rax + 0xd4]
subss xmm0, dword [rax + 0x14]
addss xmm0, dword [rax + 0x58]
addss xmm0, dword [0x1400742c8]
mov byte [rax + 0x80], 1
mov rax, qword [rdx + 0x1a20]
movss xmm1, dword [rax + 0x14]
subss xmm1, dword [rax + 0x58]
addss xmm1, xmm0
movss dword [rax + 0xd4], xmm1
movss xmm0, dword [rax + 0xec]
maxss xmm0, xmm1
movss dword [rax + 0xec], xmm0
mov rcx, qword [rcx + 0x18]
call fcn.14002d170
mov rbx, qword [0x14036e540]
movss xmm1, dword [rbx + 0x15a8]
movss xmm0, dword [rbx + 0x15ac]
mov dword [rbp + 7], recv
movss dword [rbp + 0xb], xmm1
movss dword [rbp + 0xf], xmm0
lea rcx, [rbx + 0x1b40]
lea rdx, [rbp + 7]
call fcn.140032f80
mov dword [rbx + 0x15a8], 0x41200000
mov dword [rbx + 0x15ac], 0x41200000
mov rbx, qword [0x14036e540]
mov rax, qword [rbx + 0x1a20]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rsi + 0x10]
mulss xmm0, dword [0x140074224]
mov byte [rax + 0x80], 1
mov rax, qword [rbx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
addss xmm1, xmm0
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
movss xmm1, dword [rbx + 0x15a8]
movss xmm0, dword [rbx + 0x15ac]
mov dword [rbp + 7], recv
movss dword [rbp + 0xb], xmm1
movss dword [rbp + 0xf], xmm0
lea rcx, [rbx + 0x1b40]
lea rdx, [rbp + 7]
call fcn.140032f80
mov dword [rbx + 0x15a8], 0x41200000
mov dword [rbx + 0x15ac], 0x420c0000
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14001bc55
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
movaps xmm1, xmmword [0x1400747d0]
movups xmmword [rbp - 0x19], xmm1
mov dword [rbp + 7], 0x3f800000
mov dword [rbp + 0xb], 0x3f800000
mov qword [rbp - 0x29], 0
lea rax, [rbp + 0x17]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
lea r8, [rbp - 0x29]
lea rdx, [rsi + 0x10]
call fcn.140045b90
mov rcx, qword [0x14036e540]
movsxd rax, dword [rcx + 0x1b40]
lea rdx, [rax + rax*2]
mov r8, qword [rcx + 0x1b48]
movsxd rax, dword [r8 + rdx*4 - 0xc]
lea r10, [rax + rax*2]
lea r14, [0x14006ef70]
mov r9d, dword [r14 + r10*4 + 8]
cmp dword [r14 + r10*4], 8
jne 0x14001bcc2
mov eax, dword [r14 + r10*4 + 4]
cmp eax, 1
jne 0x14001bca3
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
jmp 0x14001bcc2
cmp eax, 2
jne 0x14001bcc2
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
mov eax, dword [r8 + rdx*4 - 4]
mov dword [r9 + rcx + 0x1564], eax
dec dword [rcx + 0x1b40]
mov rax, qword [rcx + 0x1a20]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
movss xmm6, dword [0x1400742d4]
addss xmm1, xmm6
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
mov dword [rbp + 7], 0xa5b3a681
mov dword [rbp + 0xb], 0xbeb7b8b6
mov dword [rbp + 0xf], 0x100fde6
xor edi, edi
mov ecx, edi
nop dword [rax + rax]
lea eax, [rcx - 0x2c]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xa
jb 0x14001bd30
mov byte [rbp + 0x12], dil
lea rcx, [rbp + 7]
call fcn.140044230
mov rcx, qword [0x14036e540]
mov rax, qword [rcx + 0x1a20]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
addss xmm1, xmm6
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
mov qword [rbp + 7], rdi
lea r8, [rsi + 0xac]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r9d, [rdx + 0x78]
lea rcx, [0x14004fad0]
call fcn.1400480d0
mov rcx, qword [0x14036e540]
mov rax, qword [rcx + 0x1a20]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
addss xmm1, xmm6
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
mov dword [rbp + 7], 0xa4a5b484
mov dword [rbp + 0xb], 0xbfa8b6af
mov dword [rbp + 0xf], 0x100fde6
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx - 0x2c]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xa
jb 0x14001be30
mov byte [rbp + 0x12], dil
lea rcx, [rbp + 7]
call fcn.140044230
mov rbx, qword [0x14036e540]
movss xmm1, dword [rbx + 0x15a8]
movss xmm0, dword [rbx + 0x15ac]
mov dword [rbp - 0x29], recv
movss dword [rbp - 0x25], xmm1
movss dword [rbp - 0x21], xmm0
lea rcx, [rbx + 0x1b40]
lea rdx, [rbp - 0x29]
call fcn.140032f80
mov dword [rbx + 0x15a8], 0x41200000
mov dword [rbx + 0x15ac], 0x41a00000
call fcn.14002d520
mov rcx, qword [0x14036e540]
mov rax, qword [rcx + 0x1a20]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
addss xmm1, xmm6
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
mov qword [rbp + 7], rdi
lea r8, [rsi + 0x124]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x8000
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r9d, [rdx + 0x78]
lea rcx, [0x14004fad0]
call fcn.1400480d0
mov rcx, qword [0x14036e540]
mov rax, qword [rcx + 0x1a20]
dec dword [rax + 0x1f0]
mov rax, qword [rcx + 0x1a20]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [rax + 0x54]
addss xmm2, xmm6
movss dword [rax + 0xd0], xmm2
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm2
movss dword [rax + 0xe8], xmm0
movss xmm1, dword [0x140074250]
mov ecx, 0xb
call fcn.14002d210
mov dword [rbp + 7], 0xb0b989fa
mov dword [rbp + 0xb], 0x8482b2bb
mov dword [rbp + 0xf], 0x80a9c390
mov word [rbp + 0x13], 0x100
mov rcx, rdi
nop
lea eax, [rcx - 0x26]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xc
jb 0x14001bfa0
mov byte [rbp + 0x14], dil
lea rcx, [rbp + 7]
call fcn.140046000
mov rcx, qword [0x14036e540]
movsxd rax, dword [rcx + 0x1b40]
lea rdx, [rax + rax*2]
mov r8, qword [rcx + 0x1b48]
movsxd rax, dword [r8 + rdx*4 - 0xc]
lea r10, [rax + rax*2]
mov r9d, dword [r14 + r10*4 + 8]
cmp dword [r14 + r10*4], 8
jne 0x14001c023
mov eax, dword [r14 + r10*4 + 4]
cmp eax, 1
jne 0x14001c004
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
jmp 0x14001c023
cmp eax, 2
jne 0x14001c023
mov eax, dword [r8 + rdx*4 - 8]
mov dword [r9 + rcx + 0x1560], eax
mov eax, dword [r8 + rdx*4 - 4]
mov dword [r9 + rcx + 0x1564], eax
dec dword [rcx + 0x1b40]
mov rax, qword [rcx + 0x1a20]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [0x1400742e8]
mulss xmm0, dword [0x140074224]
mov byte [rax + 0x80], 1
mov rax, qword [rcx + 0x1a20]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x54]
addss xmm1, xmm0
movss dword [rax + 0xd0], xmm1
movss xmm0, dword [rax + 0xe8]
maxss xmm0, xmm1
movss dword [rax + 0xe8], xmm0
movss xmm1, dword [0x140074274]
mov ecx, 0xb
call fcn.14002d210
mov dword [rbp + 7], 0x42f00000
movss xmm0, dword [0x1400742cc]
movss dword [rbp + 0xb], xmm0
mov dword [rbp - 0x29], 0xbab5be9c
mov word [rbp - 0x25], 0xba
mov byte [rbp - 0x23], 1
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx - 0x30]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 5
jb 0x14001c0c0
mov byte [rbp - 0x23], dil
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x29]
call fcn.140044a40
test al, al
je 0x14001c15e
mov ecx, 8
call fcn.14004be90
mov qword [rax], rsi
mov qword [rbp + 7], rax
lea rcx, [rbp + 0x1f]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x14001f920]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x17], rax
test rax, rax
je 0x14001c1a4
cmp dword [rbp + 0x1f], 0
jne 0x14001c136
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp - 0x19], xmm0
lea rcx, [rbp - 0x19]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x14001c156
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x17], xmm0
mov rbx, qword [0x14036e540]
movsxd rax, dword [rbx + 0x1b40]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea r9, [rax + rax*2]
mov r8d, dword [r14 + r9*4 + 8]
cmp dword [r14 + r9*4], 8
jne 0x14001c1d0
mov eax, dword [r14 + r9*4 + 4]
cmp eax, 1
jne 0x14001c1b3
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1560], eax
jmp 0x14001c1d0
mov dword [rbp + 0x1f], edi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
cmp eax, 2
jne 0x14001c1d0
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1560], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + rbx + 0x1564], eax
dec dword [rbx + 0x1b40]
cmp byte [rsi + 0x2c], 0
je 0x14001c24d
mov dword [rbp + 7], 0xbca0a395
mov word [rbp + 0xb], 0xa6
mov byte [rbp + 0xd], 1
mov rcx, rdi
lea eax, [rcx - 0x30]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 5
jb 0x14001c1f0
mov byte [rbp + 0xd], 0
mov rax, qword [rbx + 0x1a20]
movsxd rcx, dword [rax + 0x1f0]
mov rax, qword [rax + 0x1f8]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, [rbp + 7]
call fcn.1400223d0
cmp dword [rbx + 0x1a68], eax
jne 0x14001c237
mov dword [rbx + 0x1a6c], eax
cmp dword [rbx + 0x1a9c], eax
jne 0x14001c246
mov byte [rbx + 0x1aa0], 1
mov ecx, eax
call fcn.14002e100
mov dword [rbp + 7], 0xbca0a395
mov word [rbp + 0xb], 0xa6
mov byte [rbp + 0xd], 1
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x30]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 5
jb 0x14001c270
mov byte [rbp + 0xd], 0
lea rdx, [rsi + 0x2c]
lea rcx, [rbp + 7]
call fcn.14002e620
test al, al
je 0x14001c2f2
movdqa xmm0, xmmword [0x1400748a0]
movdqu xmmword [rbp - 0x19], xmm0
mov dword [rbp - 9], 0x899e849d
mov dword [rbp - 5], 0x879e86ce
mov dword [rbp - 1], 0x919d9f93
mov word [rbp + 3], 0xd7
mov byte [rbp + 5], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rdi - 0x26]
xor byte [rbp + rdi - 0x19], al
inc rdi
cmp rdi, 0x1d
jb 0x14001c2d0
mov byte [rbp + 5], 0
lea rcx, [rbp - 0x19]
call fcn.140044230
call fcn.14002e770
mov rbx, qword [0x14036e540]
movsxd rax, dword [rbx + 0x1b40]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea r9, [rax + rax*2]
mov r8d, dword [r14 + r9*4 + 8]
cmp dword [r14 + r9*4], 8
jne 0x14001c355
mov eax, dword [r14 + r9*4 + 4]
cmp eax, 1
jne 0x14001c338
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1560], eax
jmp 0x14001c355
cmp eax, 2
jne 0x14001c355
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1560], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + rbx + 0x1564], eax
dec dword [rbx + 0x1b40]
mov rax, qword [rbx + 0x1a20]
mov rcx, qword [rax + 0x2b8]
dec dword [rcx + 0x70]
call fcn.14003b0b0
mov r9, qword [0x14036e540]
sub dword [rbx + 0x1b50], 1
jne 0x14001c39d
mov rcx, qword [r9 + 0xb8]
test rcx, rcx
jne 0x14001c3b0
mov rax, qword [r9 + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
jmp 0x14001c3b0
movsxd rcx, dword [rbx + 0x1b50]
mov rax, qword [rbx + 0x1b58]
mov rcx, qword [rax + rcx*8 - 8]
call fcn.14002d0e0
movsxd rax, dword [r9 + 0x1b40]
lea rcx, [rax + rax*2]
mov rdx, qword [r9 + 0x1b48]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea r10, [rax + rax*2]
mov r8d, dword [r14 + r10*4 + 8]
cmp dword [r14 + r10*4], 8
jne 0x14001c411
mov eax, dword [r14 + r10*4 + 4]
cmp eax, 1
jne 0x14001c3f4
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + r9 + 0x1560], eax
jmp 0x14001c411
cmp eax, 2
jne 0x14001c411
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + r9 + 0x1560], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + r9 + 0x1564], eax
dec dword [r9 + 0x1b40]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14004be70
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret