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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov edi, dword [rsp + 0xc0]
lea ecx, [rdx - 0xca0]
mov r15d, dword [rsp + 0xd0]
lea r12d, [rdx - 0x2e29]
mov rbx, qword [rsp + 0xc8]
lea r13d, [r9 - 0x2b09]
add edi, 0x3fe
mov dword [rsp + 0xc0], ecx
xor r15d, 0x402
mov dword [rsp + 0x44], edi
mov esi, r9d
mov dword [rsp + 0xd0], r15d
xor esi, 0x2b09
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0xa8], esi
lea ebp, [r9 - 0x688]
mov r14d, esi
lea eax, [rsi + 0x24a8]
cmp esi, eax
jge 0x18000e198
mov eax, esi
mov edx, 0x23a0
xor eax, edx
cmp r15d, eax
jl 0x18000e0e2
mov eax, dword [rbx + 8]
xor r13d, 0x20aa
add dword [0x1800520e4], eax
add esi, 0x1ea5
mov rcx, qword [section..data]
add r14d, edx
mov eax, dword [rcx + 0x4c]
sub eax, 0x12bfd1
mov dword [rcx + 0x18], eax
jmp 0x18000e191
mov eax, dword [rbx + 0xf4]
imul eax, dword [0x180052150]
cmp edi, eax
jae 0x18000e198
mov rax, qword [section..data]
mov ecx, dword [rax + 0x34]
and ecx, dword [0x18005209c]
cmp edi, ecx
jbe 0x18000e191
mov esi, r15d
mov r15d, edi
or esi, 0x2481
mov r8d, dword [rbx + 0x44]
mov ecx, r12d
sub ecx, dword [rbx + 0xe4]
mov r9d, r14d
mov eax, dword [0x18005213c]
and ecx, edi
mov r10d, dword [rbx + 0x13c]
add eax, 0x2e29
mov dword [rsp + 0x30], eax
and r10d, r13d
xor r10d, dword [rbx + 0xf0]
mov edx, esi
imul r8d, ebp
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ecx
mov ecx, r10d
and r8d, edi
call fcn.1800029f0
mov r14d, eax
inc r15d
mov rax, qword [section..data]
mov ecx, dword [rax + 0x34]
and ecx, dword [0x18005209c]
cmp r15d, ecx
ja 0x18000e11b
mov esi, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xc0]
lea eax, [r12 + 0x2677]
cmp r15d, eax
je 0x18000e252
mov eax, dword [rbx + 0x30]
cmp dword [rbx + 0x34], eax
mov eax, dword [rbx + 0x84]
jb 0x18000e1c4
add eax, 0x76df4
mov dword [rbx + 0x94], eax
jmp 0x18000e1cf
sub eax, 0x8a4
xor dword [0x1800520a4], eax
lea eax, [r13 + 0xd7f]
mov r8d, edi
mov dword [rsp + 0x30], eax
lea edx, [r15 + 0x981]
mov dword [rsp + 0x28], edx
lea r10d, [rbp + 0x27]
mov rdx, rbx
mov dword [rsp + 0x20], r10d
lea r9d, [r14 + 0x769]
xor r8d, 0x402
mov ecx, r15d
call fcn.18000e3c8
mov ecx, eax
mov dword [rbx + 0x40], 0x1857
xor r14d, 0x3c2
lea eax, [r13 + 0x792]
xor edi, 0x3bed
mov dword [rsp + 0x28], eax
xor esi, 0x38d2
add ecx, 0x5fb
mov r9, rbx
mov dword [rsp + 0x20], esi
lea edx, [r14 - 0x11d]
mov r8d, edi
call fcn.180002c20
jmp 0x18000e3a8
mov eax, dword [rbx + 0x44]
and eax, ecx
or eax, ebp
cmp edi, eax
je 0x18000e34a
mov eax, r12d
mov r13d, r12d
xor eax, esi
movsxd r12, r15d
add eax, 0x1a7d
and r13d, 0x2e29
movsxd rdx, eax
or r12, 0x2189
mov eax, esi
mov qword [rsp + 0x50], rdx
or eax, 0x20aa
add eax, 0x283c
movsxd r10, eax
mov eax, r15d
imul eax, ebp
mov qword [rsp + 0x58], r10
imul eax, eax, 0x2189
mov dword [rsp + 0xb8], eax
lea eax, [r15 + rdi]
mov dword [rsp + 0x40], eax
lea eax, [rbp - 0x2062]
and eax, r14d
mov r14d, eax
mov ecx, dword [rbx + 0x30]
mov r8, rdx
mov rax, qword [section..data]
and ecx, esi
mov qword [rsp + 0x28], r13
mov rdx, r10
mov dword [rsp + 0x20], ecx
mov rcx, r12
mov r9d, dword [rax + 0xf8]
xor r9, 0x2677
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [section..data]
mov eax, r15d
sub eax, dword [rbx + 0xcc]
mov r8d, dword [rsp + 0xb8]
and eax, 0x2481
mov edx, dword [rsp + 0x40]
sub dword [rcx + 0xc4], eax
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov eax, dword [rbx + 0x44]
add edi, 4
and eax, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x50]
or eax, ebp
mov r10, qword [rsp + 0x58]
cmp edi, eax
jne 0x18000e2c2
mov edi, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x48]
add r12d, 0x1746
mov r14d, edi
cmp edi, r12d
jne 0x18000e3a8
mov eax, dword [rbx + 0x10c]
mov r15d, edi
sub eax, ebp
sub eax, esi
cmp edi, eax
ja 0x18000e3a0
mov rax, qword [section..data]
mov edx, dword [rbx + 0x8c]
add edx, esi
mov ecx, dword [rax + 0xf0]
and ecx, dword [rbx]
sub ecx, dword [rbx + 0x80]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [rbx + 0x10c]
add r15d, 2
sub ecx, ebp
sub ecx, esi
cmp r15d, ecx
jbe 0x18000e36a
inc r14d
cmp r14d, r12d
je 0x18000e359
mov rbx, qword [rsp + 0xa0]
xor ebp, 0x33c7
mov eax, ebp
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret