Function at 0x140051790
Capabilities:
Load assembly via iassembly

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x368
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2d0], xmm6
mov qword [rbp + 0x2c8], 0xfffffffffffffffe
mov rax, qword [rdx + 0x158]
lock inc qword [rax]
jle 0x1400518ab
mov rsi, rcx
movups xmm0, xmmword [rdx + 0x158]
movaps xmmword [rbp + 0x290], xmm0
mov rax, qword [rdx + 0x168]
test rax, rax
je 0x1400517f5
lock inc qword [rax]
jle 0x1400518ab
mov qword [rbp + 0x2b0], rax
movsd xmm6, qword [rdx + 0xb0]
movzx r12d, byte [rdx + 0xba]
movzx r13d, byte [rdx + 0xb8]
movzx r9d, byte [rdx + 0xb9]
mov r10, qword [rdx + 0x80]
mov r11, qword [rdx + 0x88]
mov rdi, qword [rdx + 0x90]
mov rbx, qword [rdx + 0x98]
mov r14, qword [rdx + 0xa0]
mov rax, qword [rdx + 0xa8]
mov qword [rbp + 0x268], rax
mov rax, qword [rdx + 0x138]
mov rcx, qword [rdx + 0x140]
lock inc qword [rax]
jle 0x1400518ab
mov r15, qword [rdx + 0x148]
test r15, r15
mov qword [rbp + 0x2b8], r8
mov byte [rbp + 0x2c7], r9b
mov qword [rbp + 0x270], r10
mov qword [rbp + 0x278], r11
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x288], rbx
mov qword [rbp + 0x260], r14
je 0x1400518ad
mov r9, qword [rdx + 0x150]
lock inc qword [r15]
jg 0x1400518ad
ud2
movzx r10d, word [rdx + 0x134]
mov r11d, dword [rdx + 0x130]
mov edi, dword [rdx + 0x110]
mov rbx, qword [rdx + 0x108]
mov r14d, dword [rdx + 0x100]
movups xmm0, xmmword [rdx + 0xc0]
movups xmm1, xmmword [rdx + 0xd0]
movups xmm2, xmmword [rdx + 0xe0]
movups xmm3, xmmword [rdx + 0xf0]
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1c8], r15
mov qword [rbp + 0x1d0], r9
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm1
movups xmmword [rbp + 0x160], xmm2
movups xmmword [rbp + 0x170], xmm3
mov dword [rbp + 0x180], r14d
mov qword [rbp + 0x188], rbx
mov dword [rbp + 0x190], edi
movups xmm0, xmmword [rdx + 0x118]
movups xmmword [rbp + 0x198], xmm0
mov rax, qword [rdx + 0x128]
mov qword [rbp + 0x1a8], rax
mov dword [rbp + 0x1b0], r11d
mov word [rbp + 0x1b4], r10w
mov bl, byte [rdx + 0x172]
lea rcx, [rbp + 0xc0]
call fcn.140063c30
mov r9, qword [rbp + 0x2b8]
movzx r14d, byte [r9]
test r14d, r14d
je 0x140051992
cmp r14d, 1
jne 0x140051994
movzx eax, byte [r9 + 1]
jmp 0x1400519fc
jmp 0x1400519fc
mov rdi, qword [r9 + 8]
movzx eax, byte [0x1402e8381]
mov ecx, 0x20
mov edx, 8
call fcn.140016e50
mov qword [rbp + 0x2a8], rax
test rax, rax
je 0x140051bf8
mov rax, qword [rdi]
mov r8, qword [rdi + 8]
mov r9, qword [rdi + 0x10]
add rdi, 0x18
lea rcx, [rbp + 0x1d8]
mov rdx, rdi
call qword [rax]
movups xmm0, xmmword [rbp + 0x1d8]
movups xmm1, xmmword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x2a8]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov r9, qword [rbp + 0x2b8]
mov byte [rbp + 0x230], r14b
mov byte [rbp + 0x231], al
mov qword [rbp + 0x238], rcx
lea rcx, [rbp + 0x240]
mov rax, qword [r9 + 0x10]
mov r8, qword [r9 + 0x18]
lea rdx, [r9 + 0x28]
mov r9, qword [r9 + 0x20]
call qword [rax]
lea rcx, [rbp + 0x1d8]
lea rdx, [rbp + 0x230]
call fcn.1400e1390
mov r14, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rsi + 0x180], xmm2
movups xmmword [rsi + 0x170], xmm1
movups xmmword [rsi + 0x160], xmm0
movups xmm0, xmmword [rbp + 0x130]
movaps xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rbp + 0x120]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rbp + 0x110]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rbp + 0x100]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rbp + 0xc0]
movups xmm1, xmmword [rbp + 0xd0]
movups xmm2, xmmword [rbp + 0xe0]
movups xmm3, xmmword [rbp + 0xf0]
movaps xmmword [rbp - 0x30], xmm3
movaps xmmword [rbp - 0x40], xmm2
movaps xmmword [rbp - 0x50], xmm1
movaps xmmword [rbp - 0x60], xmm0
mov rax, qword [rbp + 0x228]
mov qword [rsi + 0x1e0], rax
movups xmm0, xmmword [rbp + 0x218]
movups xmmword [rsi + 0x1d0], xmm0
movups xmm0, xmmword [rbp + 0x1d8]
movups xmm1, xmmword [rbp + 0x1e8]
movups xmm2, xmmword [rbp + 0x1f8]
movups xmm3, xmmword [rbp + 0x208]
movups xmmword [rsi + 0x1c0], xmm3
movups xmmword [rsi + 0x1b0], xmm2
movups xmmword [rsi + 0x1a0], xmm1
movups xmmword [rsi + 0x190], xmm0
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x140]
mov r8d, 0x98
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], 6
lea rcx, [rsi + 8]
lea rdx, [rbp - 0x60]
mov r8d, 0x118
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x270]
mov qword [rsi + 0x120], rax
mov rax, qword [rbp + 0x278]
mov qword [rsi + 0x128], rax
mov rax, qword [rbp + 0x280]
mov qword [rsi + 0x130], rax
mov rax, qword [rbp + 0x288]
mov qword [rsi + 0x138], rax
mov qword [rsi + 0x140], r14
mov rax, qword [rbp + 0x268]
mov qword [rsi + 0x148], rax
movlps qword [rsi + 0x150], xmm6
mov byte [rsi + 0x158], r13b
movzx eax, byte [rbp + 0x2c7]
mov byte [rsi + 0x159], al
mov byte [rsi + 0x15a], r12b
movaps xmm0, xmmword [rbp + 0x290]
movups xmmword [rsi + 0x1e8], xmm0
mov qword [rsi + 0x1f8], rdi
mov byte [rsi + 0x200], bl
mov byte [rsi + 0x201], bl
movaps xmm6, xmmword [rbp + 0x2d0]
add rsp, 0x368
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 8
mov edx, 0x20
call fcn.1401fd500
jmp 0x1400518ab