Function at 0x14000bc40
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x1400ad040]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor esi, esi
lea rcx, [rsp + 0x30]
call fcn.140003cd0
mov rbx, qword [0x1400af650]
movsxd rdx, dword [0x1400af3cc]
shl rdx, 5
add rdx, qword [0x1400af400]
lea rcx, [0x1400af418]
call fcn.14000cd20
mov edx, dword [rax]
mov rcx, rbx
call fcn.1400032a0
lea rdi, [0x1400ad388]
test al, al
je 0x14000bdeb
mov rcx, rdi
cmp qword [0x1400ad3a0], 0xf
cmova rcx, qword [0x1400ad388]
mov r8, qword [0x1400ad398]
cmp r8, 6
jne 0x14000bce2
lea rdx, str.Sniper
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
mov eax, 0x320
je 0x14000bce7
mov eax, 0x15e
mov qword [0x1400ad0d8], rax
mov rcx, qword [rsp + 0x30]
sub rcx, qword [0x1400af118]
imul rdx, rax, 0xf4240
cmp rcx, rdx
je 0x14000bd0c
jl 0x14000bdeb
movzx eax, byte [0x1400ae65a]
test al, al
jne 0x14000bdeb
mov eax, 1
xchg byte [0x1400ae65a], al
cmp dword [0x1400ad0d0], esi
je 0x14000bda6
mov dword [0x1400ad0d0], esi
mov ecx, 8
call fcn.14006ecb0
lea rcx, [0x14000c180]
mov qword [rax], rcx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x14000eb00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000be80
cmp dword [rsp + 0x48], 0
je 0x14000be74
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14000be74
cmp qword [0x1400af5a8], 0
je 0x14000bddf
movsd xmm0, qword [0x1400af5b0]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x1400af5b8]
mov dword [rsp + 0x58], eax
mov r8d, 1
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1400af5d8]
call fcn.14000bfd0
mov rax, qword [rsp + 0x30]
mov qword [0x1400af118], rax
cmp qword [0x1400af5a8], 0
je 0x14000bf9e
mov rbx, qword [0x1400af650]
movsxd rdx, dword [0x1400af3a0]
shl rdx, 5
add rdx, qword [0x1400af400]
lea rcx, [0x1400af418]
call fcn.14000cd20
mov edx, dword [rax]
mov rcx, rbx
call fcn.1400032a0
test al, al
je 0x14000bf9e
mov rcx, rdi
mov rsi, qword [0x1400ad388]
mov rbp, qword [0x1400ad3a0]
cmp rbp, 0xf
cmova rcx, rsi
mov rbx, qword [0x1400ad398]
cmp rbx, 6
jne 0x14000be90
mov r8, rbx
lea rdx, str.Pistol
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000be90
cmp byte [0x1400af3ae], al
jmp 0x14000bf70
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x48], esi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rcx, rdi
cmp rbp, 0xf
cmova rcx, rsi
cmp rbx, 5
jne 0x14000bebf
mov r8, rbx
lea rdx, str.Rifle
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000bebf
cmp byte [0x1400af3b1], al
jmp 0x14000bf70
mov rcx, rdi
cmp rbp, 0xf
cmova rcx, rsi
cmp rbx, 6
jne 0x14000beee
mov r8, rbx
lea rdx, str.Sniper
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000beee
cmp byte [0x1400af3b0], al
jmp 0x14000bf70
mov rcx, rdi
cmp rbp, 0xf
cmova rcx, rsi
cmp rbx, 3
jne 0x14000bf1a
mov r8, rbx
lea rdx, [0x140096694]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000bf1a
cmp byte [0x1400af3af], al
jmp 0x14000bf70
mov rcx, rdi
cmp rbp, 0xf
cmova rcx, rsi
cmp rbx, 7
jne 0x14000bf46
mov r8, rbx
lea rdx, str.shotgun
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000bf46
cmp byte [0x1400af3b2], al
jmp 0x14000bf70
cmp rbp, 0xf
cmova rdi, rsi
cmp rbx, 0xa
jne 0x14000bf9e
mov r8, rbx
lea rdx, str.MachineGun
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000bf9e
cmp byte [0x1400af3b3], al
je 0x14000bf9e
movsd xmm0, qword [0x1400af5b0]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x1400af5b8]
mov dword [rsp + 0x58], eax
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1400af5d8]
call fcn.14000bfd0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14006ec90
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret