Function at 0x140028fa0
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x480
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140071080]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
xor r14d, r14d
mov byte [0x140071f58], r14b
mov byte [0x140071f68], r14b
mov rdx, qword [0x140071d08]
add rdx, qword [0x140071f20]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [0x140071fd8], rax
test rax, rax
je 0x140029ea3
mov rdx, qword [0x140071d70]
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [0x140071fe8], eax
test eax, eax
je 0x140029ea3
mov rdx, qword [0x140071d88]
add rdx, qword [0x140071f20]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [0x140071fd0], rax
mov edx, dword [0x140071fe8]
shr edx, 9
and edx, 0x3f
shl edx, 3
add rdx, 0x10
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [0x140071ff0], rax
mov edx, dword [0x140071fe8]
and edx, 0x1ff
imul edx, edx, 0x78
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [0x140071fe0], rax
test rax, rax
je 0x140029ea3
mov rsi, qword [0x140071f10]
mov rdi, qword [0x140071f20]
add rdi, qword [0x140071da0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0x40]
lea r8, [rsp + 0x50]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [0x140071f90], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [0x140071fa0], xmm1
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [0x140071fb0], xmm0
movaps xmm1, xmmword [rbp - 0x80]
movaps xmmword [0x140071fc0], xmm1
mov rdx, qword [0x140071d40]
add rdx, qword [0x140071fd8]
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [0x140071f6c], eax
mov rsi, qword [0x140071f10]
mov rdi, qword [0x140071fe0]
add rdi, qword [0x140071d80]
xorps xmm12, xmm12
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x38], r14d
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
movsd xmm0, qword [rsp + 0x30]
movsd qword [0x140071f5c], xmm0
mov eax, dword [rsp + 0x38]
mov dword [0x140071f64], eax
mov rdx, qword [0x140071d20]
mov rax, qword [0x140071f20]
add rax, 0xfffffffffffffff8
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a500
mov byte [0x140071f68], al
mov byte [0x140071f58], 1
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
mov qword [rbp - 0x48], r14
xor edx, edx
mov r8d, 0xb0
lea rcx, [rbp - 0x40]
call fcn.140055520
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], r14b
mov qword [rbp + 0x18], r14
movaps xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], r14
lea ecx, [r14 + 0x50]
call fcn.14002d6d8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], r14b
mov r12d, 1
mov dword [rsp + 0x3c], r12d
mov rdx, qword [0x140071fd0]
add rdx, 0x10
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rcx, rax
test rax, rax
je 0x140029db2
movss xmm15, dword [0x14006730c]
movss xmm14, dword [0x140067324]
movss xmm13, dword [0x1400672d8]
movss xmm11, dword [0x1400672d4]
nop dword [rax]
nop word [rax + rax]
mov eax, r12d
and eax, 0x1ff
imul edx, eax, 0x78
add rdx, rcx
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140029d75
mov rdx, qword [0x140071d40]
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [rbp - 0x38], eax
cmp byte [0x140074804], 0
je 0x1400293a5
cmp eax, dword [0x140071f6c]
je 0x140029d75
mov rdx, qword [rbp - 0x40]
add rdx, qword [0x140071d70]
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov ebx, eax
mov edx, eax
shr rdx, 9
and edx, 0x3f
mov rax, qword [0x140071fd0]
add rax, 0x10
lea rdx, [rax + rdx*8]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
test rax, rax
je 0x140029d75
and ebx, 0x1ff
imul rdx, rbx, 0x78
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140029d75
mov rdx, qword [0x140071d78]
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [rbp - 0x10], eax
mov rdx, qword [rbp - 0x30]
add rdx, qword [0x140071da8]
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x10]
dec eax
cmp eax, 0x63
ja 0x140029d75
cmp byte [0x140074804], 0
je 0x14002946c
mov rax, qword [0x140071fd8]
cmp qword [rbp - 0x30], rax
je 0x140029d75
mov rdx, qword [rbp - 0x40]
add rdx, qword [0x140071d60]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rdi, rax
mov rsi, qword [0x140071f10]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, pe_nt_image_headers64
lea r8, [rbp + 0xc0]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xa8], r14
lea rax, [rbp + 0xc0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140029512
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x90]
call fcn.1400047c0
nop
lea r9, [rbp + 0x90]
mov r15, qword [rbp + 0x90]
mov r13, qword [rbp + 0xa8]
cmp r13, 0xf
cmova r9, r15
mov rdi, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x10]
cmp rdi, rax
ja 0x140029582
lea rbx, [rbp - 8]
cmp rax, 0xf
cmova rbx, qword [rbp - 8]
mov qword [rbp + 8], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.140054de0
mov byte [rbx + rdi], 0
jmp 0x14002959c
mov rdx, rdi
lea rcx, [rbp - 8]
call fcn.1400224b0
mov r13, qword [rbp + 0xa8]
mov r15, qword [rbp + 0x90]
mov rdx, qword [rbp - 0x30]
add rdx, qword [0x140071d00]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x28], rax
mov rsi, qword [0x140071f10]
mov rdi, qword [0x140071d80]
add rdi, qword [rbp - 0x30]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r14
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
movss xmm7, dword [rsp + 0x40]
movss dword [rbp + 0x18], xmm7
movss xmm6, dword [rsp + 0x44]
movss dword [rbp + 0x1c], xmm6
movss xmm2, dword [rsp + 0x48]
movss dword [rbp + 0x20], xmm2
movaps xmm1, xmm2
addss xmm1, xmm15
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd qword [rbp + 0x24], xmm0
movss dword [rbp + 0x2c], xmm1
movss xmm0, dword [0x140071f60]
movss xmm1, dword [0x140071f5c]
ucomiss xmm7, xmm1
jp 0x140029692
jne 0x140029692
ucomiss xmm6, xmm0
jp 0x140029692
jne 0x140029692
ucomiss xmm2, dword [0x140071f64]
jp 0x140029692
je 0x1400296e6
movss xmm8, dword [0x140071df8]
ucomiss xmm8, xmm14
jp 0x1400296a3
je 0x1400296d6
subss xmm0, xmm6
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400296c8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400296d0
movaps xmm0, xmm1
call fcn.140054cc4
comiss xmm0, xmm8
ja 0x1400296e6
ucomiss xmm7, xmm12
jp 0x140029726
jne 0x140029726
ucomiss xmm6, xmm12
jp 0x140029726
jne 0x140029726
cmp r13, 0xf
jbe 0x140029d75
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140029719
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029f0b
mov rcx, r15
call fcn.14002d6d0
jmp 0x140029d75
cmp byte [0x140074800], 0
je 0x140029975
mov rdx, qword [rbp - 0x30]
add rdx, 0x310
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x28], rax
lea rdx, [rax + 0x1e0]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rdx, rax
mov qword [rbp - 0x20], rax
mov rcx, qword [0x140074878]
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp byte [rcx + 0x19], 0
jne 0x140029975
lea r14, [rcx + 0x20]
mov ecx, dword [r14 + 0x20]
mov dword [0x140074840], ecx
shl ecx, 5
movsxd rsi, ecx
add rsi, rdx
mov qword [0x140074858], rsi
mov rdi, qword [0x140071f10]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], 0
mov r9d, 0xc
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, qword [rdi + 8]
call rbx
movss xmm3, dword [rsp + 0x30]
movss dword [0x140074848], xmm3
movss xmm10, dword [rsp + 0x34]
movss dword [0x14007484c], xmm10
movss xmm4, dword [rsp + 0x38]
movss dword [0x140074850], xmm4
movaps xmm9, xmm10
mulss xmm9, dword [0x140071fc4]
movaps xmm0, xmm3
mulss xmm0, dword [0x140071fc0]
addss xmm9, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x140071fc8]
addss xmm9, xmm1
addss xmm9, dword [0x140071fcc]
movaps xmm2, xmm13
divss xmm2, xmm9
movaps xmm8, xmm10
mulss xmm8, dword [0x140071f94]
movaps xmm0, xmm3
mulss xmm0, dword [0x140071f90]
addss xmm8, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [0x140071f98]
addss xmm8, xmm1
addss xmm8, dword [0x140071f9c]
mulss xmm8, xmm2
mulss xmm10, dword [0x140071fa4]
mulss xmm3, dword [0x140071fa0]
addss xmm10, xmm3
mulss xmm4, dword [0x140071fa8]
addss xmm10, xmm4
addss xmm10, dword [0x140071fac]
mulss xmm10, xmm2
movd xmm6, dword [0x140071f48]
cvtdq2ps xmm6, xmm6
movd xmm7, dword [0x140071f4c]
cvtdq2ps xmm7, xmm7
mov r8, r14
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x30]
call fcn.140027af0
mov rcx, qword [rax]
mulss xmm8, xmm11
mulss xmm8, xmm6
addss xmm8, xmm11
mulss xmm6, xmm11
addss xmm8, xmm6
movss dword [rcx + 0x40], xmm8
movaps xmm0, xmm7
mulss xmm0, xmm11
mulss xmm10, xmm11
mulss xmm10, xmm7
addss xmm10, xmm11
subss xmm0, xmm10
movss dword [rcx + 0x44], xmm0
movss dword [rcx + 0x48], xmm9
lea rcx, [rbp - 0x60]
call fcn.14002a330
mov rcx, qword [rbp - 0x60]
cmp byte [rcx + 0x19], 0
jne 0x140029972
mov rdx, qword [rbp - 0x20]
jmp 0x140029780
xor r14d, r14d
cmp byte [0x140074801], 0
je 0x1400299c2
cmp byte [0x140074800], 0
jne 0x1400299c2
mov rdx, qword [rbp - 0x30]
add rdx, 0x310
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x28], rax
lea rdx, [rax + 0x1e0]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x40]
call fcn.140029f30
cmp byte [0x140074803], 0
je 0x140029d0a
mov rdx, qword [rbp - 0x30]
add rdx, qword [0x140071d38]
mov rcx, qword [0x140071f10]
call fcn.14002a500
mov byte [rbp + 0x40], al
mov rdx, qword [rbp - 0x40]
add rdx, qword [0x140071d30]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rdx, qword [0x140071d48]
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a450
mov dword [rbp + 0x44], eax
mov rsi, qword [0x140071f10]
mov rdi, qword [0x140071d50]
add rdi, qword [rbp - 0x30]
mov dword [rbp - 0x60], 0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rbp - 0x60]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
movss xmm0, dword [rbp - 0x60]
movss dword [rbp + 0x48], xmm0
mov rdx, qword [rbp - 0x30]
add rdx, qword [0x140071d28]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
lea rdx, [rax + 0x360]
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rdx, qword [0x140071d68]
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rdi, rax
mov rsi, qword [0x140071f10]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtReadVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtWriteVirtualMemory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 0x104
lea r8, [rbp + 0x1c0]
mov rdx, rdi
mov rcx, qword [rsi + 8]
call rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r14
lea rax, [rbp + 0x1c0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140029b60
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x70]
call fcn.1400047c0
nop
mov eax, 7
mov r14d, eax
mov rbx, qword [rbp + 0x80]
cmp rbx, rax
cmovb r14, rbx
lea rcx, [rbp + 0x70]
mov rsi, qword [rbp + 0x88]
cmp rsi, 0xf
seta r12b
mov rdi, qword [rbp + 0x70]
cmova rcx, rdi
mov r8, r14
cmp r14, rax
cmova r8, rax
lea rdx, str.weapon_
call fcn.1400558c0
test eax, eax
jne 0x140029bcc
cmp r14, 7
je 0x140029c23
mov rax, qword [rbp + 0x68]
cmp rax, 0x13
jb 0x140029c09
lea rbx, [rbp + 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x50]
mov qword [rbp + 0x60], 0x13
mov r8d, 0x13
lea rdx, str.Invalid_Weapon_Name
mov rcx, rbx
call fcn.140054de0
mov byte [rbx + 0x13], 0
jmp 0x140029cce
lea r9, str.Invalid_Weapon_Name
mov edx, 0x13
lea rcx, [rbp + 0x50]
call fcn.1400224b0
jmp 0x140029cce
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
cmp rbx, 7
jb 0x140029f23
lea rax, [rbx - 7]
cmp rax, rbx
cmovb rbx, rax
lea rdx, [rbp + 0x70]
test r12b, r12b
cmovne rdx, rdi
add rdx, 7
mov r8, rbx
lea rcx, [rsp + 0x50]
call fcn.1400047c0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x140029ca3
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029c9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029f17
call fcn.14002d6d0
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rsp + 0x60]
movaps xmmword [rbp + 0x60], xmm1
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rsi, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x70]
cmp rsi, 0xf
jbe 0x140029d05
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140029cfd
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029f1d
mov rcx, rdi
call fcn.14002d6d0
mov r12d, dword [rsp + 0x3c]
mov rax, qword [rbp - 0x50]
cmp rax, qword [rbp - 0x48]
je 0x140029d2a
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.14002b6b0
add qword [rbp - 0x50], 0xb0
jmp 0x140029d3b
lea r8, [rbp - 0x40]
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.14002a860
nop
cmp r13, 0xf
jbe 0x140029d72
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140029d6a
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029f0b
mov rcx, r15
call fcn.14002d6d0
xor r14d, r14d
inc r12d
mov dword [rsp + 0x3c], r12d
mov edx, r12d
and edx, 0x7fff
shl edx, 3
sar edx, 9
mov rax, qword [0x140071fd0]
add rax, 0x10
add rdx, rax
mov rcx, qword [0x140071f10]
call fcn.14002a3a0
mov rcx, rax
test rax, rax
jne 0x140029350
mov rbx, qword [0x140071f78]
mov rdi, qword [0x140071f80]
cmp rbx, rdi
je 0x140029de7
mov rcx, rbx
call fcn.140028130
add rbx, 0xb0
cmp rbx, rdi
jne 0x140029dc5
mov rax, qword [0x140071f78]
mov qword [0x140071f80], rax
mov rcx, qword [rbp - 0x50]
sub rcx, qword [rbp - 0x58]
movabs rsi, 0x2e8ba2e8ba2e8ba3
mov rax, rsi
imul rcx
sar rdx, 5
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rbp - 0x58]
lea rcx, [0x140071f78]
call fcn.14002a5e0
nop
lea rcx, [rbp - 0x40]
call fcn.140028130
nop
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x140029ea3
mov rdi, qword [rbp - 0x50]
cmp rbx, rdi
je 0x140029e58
nop word [rax + rax]
mov rcx, rbx
call fcn.140028130
add rbx, 0xb0
cmp rbx, rdi
jne 0x140029e40
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
sub rcx, rbx
mov rax, rsi
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0xb0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140029e9b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029f11
mov rcx, rbx
call fcn.14002d6d0
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.14002d6b0
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14003cbf0
nop
call fcn.14003cbf0
nop
call fcn.14003cbf0
nop
call fcn.14003cbf0
nop
call fcn.14000cb40
int3