Function at 0x1400c5650
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x698
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x600], xmm7
movdqa xmmword [rbp + 0x5f0], xmm6
mov qword [rbp + 0x5e8], 0xfffffffffffffffe
lea r13, [rdx + 0x138]
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
cmp rdi, 2
jne 0x1400c56aa
mov qword [rcx + 8], rsi
mov qword [rcx], 3
jmp 0x1400c7b5a
mov rbx, rdx
mov qword [rbp + 0x5b8], rcx
mov r14, qword [rdx + 0x110]
movdqu xmm6, xmmword [rdx + 0x118]
mov r12, qword [rdx + 0x128]
mov r15, qword [rdx + 0x130]
movzx eax, byte [0x14017d2b0]
mov edx, 0xd0
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400c6497
mov qword [rbp + 0x5b0], r13
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 4
mov qword [rbp + 0x530], rax
lock inc qword [rax]
jle case.0x1400c6a2c.2
lea rdx, [rbx + 0x10]
mov qword [rbp + 0x360], rdi
mov qword [rbp + 0x368], rsi
lea rcx, [rbp + 0x370]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memcpy
mov r13d, 2
cmp r14, 2
je 0x1400c5944
test r14, r14
je 0x1400c576c
mov rsi, r15
mov rdx, r12
movdqa xmm7, xmm6
jmp 0x1400c5861
lea rcx, [rbp + 0xb0]
mov rdx, 0xfffffffffffffffe
xor r8d, r8d
call fcn.140035100
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x210], rax
movups xmm0, xmmword [rbp + 0xb0]
movups xmm1, xmmword [rbp + 0xc0]
movaps xmmword [rbp + 0x200], xmm1
movaps xmmword [rbp + 0x1f0], xmm0
movups xmm0, xmmword [rbp + 0xd8]
movaps xmmword [rbp + 0x280], xmm0
movups xmm0, xmmword [rbp + 0xe8]
movaps xmmword [rbp + 0x290], xmm0
movups xmm0, xmmword [rbp + 0xf8]
movaps xmmword [rbp + 0x2a0], xmm0
movzx eax, byte [0x14017d2b0]
mov edx, 0x30
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400c7640
movaps xmm0, xmmword [rbp + 0x280]
movaps xmm1, xmmword [rbp + 0x290]
movaps xmm2, xmmword [rbp + 0x2a0]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rbp + 0x1f0]
movaps xmm1, xmmword [rbp + 0x200]
movaps xmmword [rbp + 0x570], xmm0
movaps xmmword [rbp + 0x580], xmm1
mov rcx, qword [rbp + 0x210]
mov qword [rbp + 0x590], rcx
xor esi, esi
movq xmm7, rax
pslldq xmm7, 8
lea rax, [0x14013f440]
test r12, r12
je 0x1400c619b
mov r13, r12
mov r12, rax
mov rdx, r15
lea rdi, [rbp + 0x388]
lea r14, [rbp + 0x280]
mov rcx, r14
call fcn.140034180
movups xmm0, xmmword [0x14013fc30]
movaps xmmword [rbp + 0x200], xmm0
movups xmm0, xmmword [0x14013fc20]
movaps xmmword [rbp + 0x1f0], xmm0
lea rcx, [rbp + 0xb0]
lea r8, [rbp + 0x1f0]
mov rdx, rdi
mov r9, r14
call fcn.14004f870
cmp byte [rbp + 0xd0], 3
je 0x1400c665f
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x210], rax
movups xmm0, xmmword [rbp + 0xb0]
movups xmm1, xmmword [rbp + 0xc0]
movaps xmmword [rbp + 0x200], xmm1
movaps xmmword [rbp + 0x1f0], xmm0
cmp al, 2
je 0x1400c5906
lea rcx, [rbp + 0x208]
mov rax, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1f8]
mov r8, qword [rbp + 0x200]
call qword [rax + 0x10]
mov rdi, qword [rbp + 0x360]
test rdi, rdi
je 0x1400c591e
lea rcx, [rbp + 0x368]
call fcn.14005bd80
mov qword [rbp + 0x360], 1
movdqu xmmword [rbp + 0x368], xmm7
mov qword [rbp + 0x378], r12
mov qword [rbp + 0x380], rsi
mov edi, 1
lea rcx, [rbp - 0x58]
mov r8d, 0x88
lea rdx, [rbp + 0x368]
call sub.VCRUNTIME140.dll_memcpy
mov r12, qword [rbp + 0x3f0]
mov rsi, qword [rbp + 0x3f8]
mov eax, dword [rbp + 0x400]
mov dword [rbp + 0x5dc], eax
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x5d0], eax
mov eax, dword [rbp + 0x408]
mov dword [rbp + 0x5cc], eax
mov eax, dword [rbp + 0x40c]
mov dword [rbp + 0x5c8], eax
movzx eax, word [rbp + 0x410]
mov word [rbp + 0x5e6], ax
movzx eax, word [rbp + 0x412]
mov word [rbp + 0x5e4], ax
mov eax, dword [rbp + 0x414]
mov dword [rbp + 0x5c4], eax
mov eax, dword [rbp + 0x418]
mov dword [rbp + 0x5c0], eax
movzx eax, byte [rbp + 0x438]
mov byte [rbp + 0x330], al
mov eax, dword [rbp + 0x43c]
mov dword [rbp + 0x51b], eax
mov eax, dword [rbp + 0x439]
mov dword [rbp + 0x518], eax
mov eax, dword [rbp + 0x46c]
mov dword [rbp + 0x50], eax
mov rax, qword [rbp + 0x590]
mov qword [rbp + 0x80], rax
mov eax, dword [rbp + 0x41c]
mov dword [rbp + 0x5d4], eax
movaps xmm0, xmmword [rbp + 0x570]
movaps xmm1, xmmword [rbp + 0x580]
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
movdqu xmmword [rbp + 0x88], xmm6
mov qword [rbp + 0x98], r13
mov eax, dword [rbp + 0x420]
mov dword [rbp + 0x5e0], eax
mov qword [rbp + 0xa0], r15
mov eax, dword [rbp + 0x424]
mov dword [rbp + 0x5d8], eax
movups xmm0, xmmword [rbp + 0x428]
movaps xmmword [rbp + 0x320], xmm0
movups xmm0, xmmword [rbp + 0x44c]
movups xmm1, xmmword [rbp + 0x45c]
movaps xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x30], xmm0
mov r13, qword [rbp + 0x440]
mov r15d, dword [rbp + 0x448]
test rsi, rsi
je 0x1400c5ab4
js 0x1400c64ee
movzx eax, byte [0x14017d2b0]
xor ecx, ecx
mov rdx, rsi
call fcn.1400e0010
test rax, rax
je 0x1400c64f3
mov rcx, rax
jmp 0x1400c5ab9
mov ecx, 1
mov qword [rbp + 0x538], rcx
mov rdx, r12
mov qword [rbp + 0x5a0], rsi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x320]
movaps xmmword [rbp + 0x340], xmm0
movzx eax, byte [rbp + 0x330]
mov byte [rbp + 0x350], al
mov esi, r15d
mov rax, r13
cmp r15d, 0x3b9aca00
jne 0x1400c5b09
mov esi, dword [rbx + 0x148]
mov rax, qword [rbx + 0x140]
mov qword [rbp + 0x500], rax
mov rax, qword [rbx + 0x138]
mov qword [rbp + 0x318], rax
mov r14, qword [rax + 0x10]
test r14, r14
je case.0x1400978a6.172
lea rcx, [rbp + 0x360]
lea rdx, [rbp - 0x58]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x320]
movaps xmmword [rbp + 0x570], xmm0
movzx eax, byte [rbp + 0x330]
mov byte [rbp + 0x580], al
mov eax, dword [rbp + 0x518]
mov ecx, dword [rbp + 0x51b]
mov dword [rbp + 0x520], eax
mov dword [rbp + 0x523], ecx
movaps xmm0, xmmword [rbp + 0x30]
movaps xmm1, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0x280], xmm0
movaps xmmword [rbp + 0x290], xmm1
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x2a0], eax
mov rax, qword [r14 + 0x1c0]
mov dword [rbp + 0x5ac], esi
test al, 1
jne 0x1400c5dd1
cmp rax, 0xfffffffffffffffe
je 0x1400c66ce
lea rcx, [rax + 2]
lock cmpxchg qword [r14 + 0x1c0], rcx
jne 0x1400c5ba0
lea rcx, [r14 + 0x80]
mov qword [rbp + 0x568], r13
mov r13d, 1
mov ebx, 1
lock xadd qword [r14 + 0x88], rbx
mov rdx, rbx
call fcn.1400bfb80
mov dword [rbp + 0x4f8], r15d
mov r15, r12
mov r12, rax
and ebx, 0x1f
imul rsi, rbx, 0x118
mov qword [rax + rsi], rdi
lea rcx, [rax + rsi]
add rcx, 8
lea rdx, [rbp + 0x360]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
mov qword [r12 + rsi + 0x90], r15
mov rax, qword [rbp + 0x5a0]
mov qword [r12 + rsi + 0x98], rax
mov eax, dword [rbp + 0x5dc]
mov dword [r12 + rsi + 0xa0], eax
mov eax, dword [rbp + 0x5d0]
mov dword [r12 + rsi + 0xa4], eax
mov eax, dword [rbp + 0x5cc]
mov dword [r12 + rsi + 0xa8], eax
mov eax, dword [rbp + 0x5c8]
mov dword [r12 + rsi + 0xac], eax
movzx eax, word [rbp + 0x5e6]
mov word [r12 + rsi + 0xb0], ax
movzx eax, word [rbp + 0x5e4]
mov word [r12 + rsi + 0xb2], ax
mov eax, dword [rbp + 0x5c4]
mov dword [r12 + rsi + 0xb4], eax
mov eax, dword [rbp + 0x5c0]
mov dword [r12 + rsi + 0xb8], eax
mov eax, dword [rbp + 0x5d4]
mov dword [r12 + rsi + 0xbc], eax
mov eax, dword [rbp + 0x5e0]
mov dword [r12 + rsi + 0xc0], eax
mov eax, dword [rbp + 0x5d8]
mov dword [r12 + rsi + 0xc4], eax
movaps xmm0, xmmword [rbp + 0x570]
movups xmmword [r12 + rsi + 0xc8], xmm0
movzx eax, byte [rbp + 0x580]
mov byte [r12 + rsi + 0xd8], al
mov eax, dword [rbp + 0x520]
mov ecx, dword [rbp + 0x523]
mov dword [r12 + rsi + 0xd9], eax
mov dword [r12 + rsi + 0xdc], ecx
mov rax, qword [rbp + 0x568]
mov qword [r12 + rsi + 0xe0], rax
mov eax, dword [rbp + 0x4f8]
mov dword [r12 + rsi + 0xe8], eax
movaps xmm0, xmmword [rbp + 0x280]
movaps xmm1, xmmword [rbp + 0x290]
movups xmmword [r12 + rsi + 0xec], xmm0
movups xmmword [r12 + rsi + 0xfc], xmm1
mov eax, dword [rbp + 0x2a0]
mov dword [r12 + rsi + 0x10c], eax
mov rax, qword [rbp + 0x530]
mov qword [r12 + rsi + 0x110], rax
mov ecx, ebx
shl r13, cl
lock or qword [r12 + 0x2310], r13
mov rax, qword [r14 + 0x110]
nop
mov rcx, rax
or rcx, 2
lock cmpxchg qword [r14 + 0x110], rcx
jne 0x1400c5d80
test rax, rax
mov esi, dword [rbp + 0x5ac]
jne 0x1400c5e4f
mov rax, qword [r14 + 0x100]
mov rcx, qword [r14 + 0x108]
mov qword [r14 + 0x100], 0
lock and qword [r14 + 0x110], 0xfffffffffffffffd
test rax, rax
je 0x1400c5e4f
call qword [rax + 8]
jmp 0x1400c5e4f
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x360]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x570]
movaps xmmword [rbp + 0x540], xmm0
movzx eax, byte [rbp + 0x580]
mov byte [rbp + 0x550], al
mov eax, dword [rbp + 0x520]
mov ecx, dword [rbp + 0x523]
mov dword [rbp + 0x508], eax
mov dword [rbp + 0x50b], ecx
movaps xmm0, xmmword [rbp + 0x280]
movaps xmm1, xmmword [rbp + 0x290]
movaps xmmword [rbp + 0x1f0], xmm0
movaps xmmword [rbp + 0x200], xmm1
mov eax, dword [rbp + 0x2a0]
mov dword [rbp + 0x210], eax
cmp rdi, 2
jne 0x1400c6500
mov r15, qword [rbp + 0x98]
cmp r15, 2
mov qword [rbp + 0x4f8], r15
je 0x1400c5e84
cmp esi, 0x3b9aca00
jne 0x1400c5e97
mov r13d, 0x3b9aca00
call fcn.1400d6580
test rax, rax
jne 0x1400c61e7
jmp 0x1400c64be
cmp esi, 0x3b9aca00
jne 0x1400c5ef3
mov r14d, 0x3b9aca00
jmp 0x1400c5f53
call fcn.1400dfe70
add rax, qword [rbp + 0x500]
jb 0x1400c64d6
mov r13d, edx
add r13d, dword [rbp + 0x5ac]
cmp r13d, 0x3b9aca00
jb 0x1400c5ed9
inc rax
je 0x1400c64d6
add r13d, 0xc4653600
cmp r13d, 0x3b9aca00
jae 0x1400c61af
mov qword [rbp + 0x568], rax
call fcn.1400d6580
test rax, rax
jne 0x1400c61e7
jmp 0x1400c64be
call fcn.1400dfe70
mov rbx, rax
add rbx, qword [rbp + 0x500]
jb 0x1400c64d6
mov r14d, edx
add r14d, esi
cmp r14d, 0x3b9aca00
jb 0x1400c5f53
inc rbx
je 0x1400c64d6
add r14d, 0xc4653600
cmp r14d, 0x3b9aca00
jb 0x1400c5f53
mov eax, r14d
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
add rbx, rax
jb 0x1400c668a
imul eax, eax, 0x3b9aca00
sub r14d, eax
call fcn.1400d6580
test rax, rax
je 0x1400c64be
mov rdi, rax
movzx eax, byte [0x14017d2b0]
mov edx, 0x18
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400c7589
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rdi
lea rax, fcn.1400c01e0
mov qword [rbp + 0x540], rax
mov qword [rbp + 0x548], rcx
lea rax, [rbp + 0x540]
mov qword [rbp + 0x570], rax
mov qword [rbp + 0x578], rax
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x280], rax
lea rdx, [rbp + 0x288]
mov byte [rbp + 0x290], 0
cmp r14d, 0x3b9aca00
jne 0x1400c60c8
xor r13d, r13d
lea rbx, [rbp + 0x360]
lea r14, [rbp + 0x570]
lea r15, [0x1401477b8]
or byte [rax], al
mov rax, qword [rbp + 0x280]
mov qword [rbp + 0x288], rax
lea rcx, [rbp + 0x360]
lea r8, [rbp + 0x570]
mov rsi, rdx
call fcn.1400c4e00
dec dword [rax - 0x75]
mov ebp, 0x360
xor r13d, r13d
mov r12, rax
test rdi, rdi
jne 0x1400c5912
jmp 0x1400c591e
mov ecx, r13d