Function at 0x180120c20
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
movaps xmm6, xmm3
mov edi, r8d
mov r14d, edx
mov rsi, rcx
call fcn.180103cc0
movsxd rdx, eax
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x180120f22
cmp edi, 0xffffffff
jne 0x180120ca6
test rsi, rsi
je 0x180120ca4
call fcn.18014f2f0
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x180120ca4
mov rdx, qword [0x180276378]
cmp rax, rcx
je 0x180120f41
mov rcx, qword [rdx + rcx]
test rcx, rcx
jne 0x180120c92
xor edi, edi
mov qword [rbx + 4], 0xffffffffffffffff
mov dword [rbx], 0xffffffff
mov rcx, rbx
call fcn.1800ad150
mov qword [rax], rsi
mov rcx, rbx
call fcn.1800ad240
mov dword [rax], r14d
mov rcx, rbx
call fcn.18011c790
mov dword [rax], edi
mov ecx, dword [0x180275650]
mov rax, qword gs:[0x58]
mov esi, 8
mov rdi, qword [rax + rcx*8]
mov eax, dword [rdi + rsi]
cmp dword [0x1802772ec], eax
jle 0x180120d96
lea rcx, [0x1802772ec]
call fcn.1801bf910
cmp dword [0x1802772ec], 0xffffffff
jne 0x180120d96
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
mov r8d, 0xa
lea rdx, str.Durability
lea rcx, [rbp - 0x30]
call fcn.18005a510
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, 0x22
lea rdx, [0x18021ff70]
lea rcx, [rbp - 0x50]
call fcn.18005a510
nop
mov r8b, 1
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18005a6a0
mov dword [0x180277300], eax
lea rcx, [rbp - 0x50]
call fcn.18005e360
nop
lea rcx, [rbp - 0x30]
call fcn.18005e360
nop
lea rcx, [0x1802772ec]
call fcn.1801bf8a4
movsxd rax, dword [0x180277300]
movss dword [rax + rbx], xmm6
mov eax, dword [rdi + rsi]
cmp dword [0x1802772f0], eax
jle 0x180120e4c
lea rcx, [0x1802772f0]
call fcn.1801bf910
cmp dword [0x1802772f0], 0xffffffff
jne 0x180120e4c
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, 0x19
lea rdx, str.GameplayAbilitySpecHandle
lea rcx, [rbp - 0x50]
call fcn.18005a510
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
mov r8d, 0x22
lea rdx, [0x18021ff70]
lea rcx, [rbp - 0x30]
call fcn.18005a510
nop
mov r8b, 1
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.18005a6a0
mov dword [0x1802772f8], eax
lea rcx, [rbp - 0x30]
call fcn.18005e360
nop
lea rcx, [rbp - 0x50]
call fcn.18005e360
nop
lea rcx, [0x1802772f0]
call fcn.1801bf8a4
movsxd rax, dword [0x1802772f8]
mov dword [rax + rbx], 0xffffffff
mov eax, dword [rdi + rsi]
cmp dword [0x1802772f4], eax
jle 0x180120f04
lea rcx, [0x1802772f4]
call fcn.1801bf910
cmp dword [0x1802772f4], 0xffffffff
jne 0x180120f04
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.ParentInventory
lea rcx, [rbp - 0x50]
call fcn.18005a510
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
mov r8d, 0x22
lea rdx, [0x18021ff70]
lea rcx, [rbp - 0x30]
call fcn.18005a510
nop
mov r8b, 1
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.18005a6a0
mov dword [0x1802772fc], eax
lea rcx, [rbp - 0x30]
call fcn.18005e360
nop
lea rcx, [rbp - 0x50]
call fcn.18005e360
nop
lea rcx, [0x1802772f4]
call fcn.1801bf8a4
movsxd rax, dword [0x1802772fc]
mov dword [rax + rbx], 0xffffffff
mov rcx, rbx
call fcn.18011c6a0
mov ecx, dword [rbp + 0x30]
mov dword [rax], ecx
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [rsp + 0x60]
mov rsp, r11
pop rbp
ret
mov rcx, rsi
call fcn.18014efc0
mov edi, eax
jmp 0x180120ca6