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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov rax, qword [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov r9, qword [rdx + 0x78]
test r9, r9
je 0x1400c11ae
mov rbx, rdx
mov r10, rcx
cmp byte [rdx + 0x81], 1
je 0x1400c11b7
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x78], rax
mov r14, qword [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
mov r11d, dword [rbx + 0x38]
mov eax, dword [rbx + 0x6c]
mov dword [rsp + 0xf0], eax
movups xmm0, xmmword [rbx + 0x3c]
movups xmm1, xmmword [rbx + 0x4c]
movups xmm2, xmmword [rbx + 0x5c]
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov eax, dword [rbx + 0x70]
mov dword [rsp + 0x44], eax
mov al, byte [rbx + 0x74]
mov byte [rsp + 0x2e], al
xor ebp, ebp
mov qword [rbx + 0x78], rbp
mov al, byte [rbx + 0x82]
mov byte [rsp + 0xba], al
movzx eax, word [rbx + 0x80]
mov word [rsp + 0xb8], ax
mov rdi, qword [rbx + 0x88]
mov rsi, qword [rbx + 0x90]
mov qword [rbx + 0x88], rbp
mov r12, qword [rbx + 0x98]
mov qword [rbx + 0x98], rbp
mov r8, qword [rbx + 0xa0]
lea r13, [r10 + 8]
mov r15, qword [r10 + 8]
mov rax, qword [r10 + 0x10]
mov rcx, rax
sub rcx, r15
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], r13
je 0x1400c0b9e
lea rax, [r14 + rdx]
sar rax, 0x3f
btc rax, 0x3f
mov r8, r14
add r8, rdx
movabs r15, 0x8000000000000001
cmovo r8, rax
sar rcx, 3
movabs rax, 0xcf3cf3cf3cf3cf3d
imul rcx, rax
lea rax, [rdx + r15]
add rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffffe
setb al
test r11d, r11d
setne bpl
cmovne r8, r14
mov qword [rsp + 0x88], r8
or bpl, al
mov byte [rsp + 0x2f], bpl
mov rbp, rcx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], rdx
mov r14, rbp
lea r8, [rbp - 1]
mov rbp, r8
shr rbp, 1
mov r15, qword [r10 + 8]
mov rax, qword [r10 + 0x10]
mov rcx, rax
sub rcx, r15
sar rcx, 3
movabs rdx, 0xcf3cf3cf3cf3cf3d
imul rcx, rdx
cmp rcx, rbp
jbe 0x1400c11a6
mov qword [rsp + 0x80], r8
imul rdx, rbp, 0xa8
lea r12, [r15 + rdx]
cmp dword [r15 + rdx + 0x38], 0
jne 0x1400c0a99
mov r8, qword [r12 + 0x28]
mov rdx, qword [r12 + 0x30]
movabs r9, 0x8000000000000001
add r9, rdx
cmp r9, 2
jb 0x1400c11fe
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x88]
cmp byte [rsp + 0x2f], 0
je 0x1400c11c4
cmp rdx, r8
je 0x1400c10a6
jl 0x1400c0b87
cmp rcx, r14
mov qword [rsp + 0x48], rdi
je 0x1400c0f91
mov qword [rsp + 0x38], rsi
jbe 0x1400c11a6
imul r13, r14, 0xa8
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
lea rax, [r15 + r13]
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rsi, [r12 + 0x20]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r12 + 0x70]
mov dword [rax + 0x50], ecx
mov cl, byte [r12 + 0x74]
mov byte [rax + 0x54], cl
mov rdx, qword [r12 + 0x78]
mov qword [r12 + 0x78], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], rdx
test rcx, rcx
jne 0x1400c106a
add r15, r13
mov al, byte [r12 + 0x82]
mov byte [r15 + 0x82], al
movzx eax, word [r12 + 0x80]
mov word [r15 + 0x80], ax
mov rax, qword [r12 + 0x88]
mov qword [r12 + 0x88], 0
mov rcx, qword [r15 + 0x88]
mov qword [r15 + 0x88], rax
test rcx, rcx
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
jne 0x1400c1245
mov rax, qword [r12 + 0x90]
mov qword [r15 + 0x90], rax
mov rax, qword [r12 + 0x98]
mov qword [r12 + 0x98], 0
mov rcx, qword [r15 + 0x98]
mov qword [r15 + 0x98], rax
test rcx, rcx
mov r13, qword [rsp + 0x68]
jne 0x1400c0aa3
mov rax, qword [r12 + 0xa0]
mov qword [r15 + 0xa0], rax
mov rax, qword [r10 + 0x10]
mov r12, qword [rsp + 0x60]
mov rcx, qword [r13]
sub rax, rcx
sar rax, 3
movabs rdx, 0xcf3cf3cf3cf3cf3d
imul rax, rdx
cmp rax, r14
jbe 0x1400c11a6
imul rax, r14, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x1400c0a0c
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c0a0c
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1400c0a0c
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x1400c11a8
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c11a8
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r14
mov rcx, qword [r10 + 8]
mov rdx, qword [r10 + 0x10]
sub rdx, rcx
sar rdx, 3
movabs r8, 0xcf3cf3cf3cf3cf3d
imul rdx, r8
cmp rdx, r14
jbe 0x1400c11a6
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
mov r8, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
je 0x1400c0a78
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c0a78
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1400c0a78
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x1400c11ab
mov al, byte [rax + 4]
test al, al
jne 0x1400c11ab
cmp qword [rsp + 0x80], 1
mov rdx, qword [rsp + 0x50]
ja 0x1400c07bf
mov r15, qword [r10 + 8]
mov rax, qword [r10 + 0x10]
jmp 0x1400c0b9e
mov rdx, qword [r12 + 0x28]
jmp 0x1400c0851
lock dec dword [rcx]
jne 0x1400c0984
jmp 0x1400c1284
lea rdx, [rsp + 0x100]
mov r15, qword [rsp + 0x68]
mov rcx, r15
mov rsi, r10
call fcn.140018fa0
mov r10, rsi
jmp 0x1400c0b7e
cmp rax, qword [r10 + 0x18]
jae 0x1400c0ab1
test rax, rax
mov r15, qword [rsp + 0x68]
je 0x1400c11a6
mov r14, rdi
mov r8, rsi
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
mov ecx, 0xa
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x70], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x74], cl
mov qword [rax + 0x78], r13
xor ecx, ecx
mov qword [rsp + 0x178], rcx
mov dl, byte [rsp + 0xba]
mov byte [rax + 0x82], dl
movzx edx, word [rsp + 0xb8]
mov word [rax + 0x80], dx
mov qword [rax + 0x88], r14
mov qword [rsp + 0x188], rcx
mov qword [rax + 0x90], r8
mov qword [rax + 0x98], r12
mov qword [rsp + 0x198], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r10 + 0x10], rax
jmp 0x1400c0d64
mov rbp, r14
mov r12, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
mov r13, rdx
lea rdx, [rsp + 0x120]
movaps xmmword [rdx - 0x10], xmm1
movaps xmmword [rdx - 0x20], xmm0
mov rcx, qword [rsp + 0x78]
mov qword [rdx], rcx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r13
mov dword [rdx + 0x18], r11d
mov ecx, dword [rsp + 0xf0]
mov dword [rdx + 0x4c], ecx
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movups xmmword [rdx + 0x1c], xmm0
movups xmmword [rdx + 0x2c], xmm1
movups xmmword [rdx + 0x3c], xmm2
mov ecx, dword [rsp + 0x44]
mov dword [rdx + 0x50], ecx
mov cl, byte [rsp + 0x2e]
mov byte [rdx + 0x54], cl
mov r13, r9
mov qword [rdx + 0x58], r9
mov cl, byte [rsp + 0xba]
mov byte [rdx + 0x62], cl
movzx ecx, word [rsp + 0xb8]
mov word [rdx + 0x60], cx
mov qword [rdx + 0x68], rdi
mov qword [rdx + 0x70], rsi
mov qword [rdx + 0x78], r12
mov qword [rdx + 0x80], r8
mov rcx, rax
sub rcx, r15
sar rcx, 3
movabs r8, 0xcf3cf3cf3cf3cf3d
imul rcx, r8
cmp rcx, rbp
je 0x1400c0ad1
jbe 0x1400c11a6
lea r12, [rsp + 0x180]
imul rax, rbp, 0xa8
lea r14, [r15 + rax]
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
add rax, r15
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 0xa
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x54], cl
mov qword [r12 - 8], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], r13
test rcx, rcx
mov r15, qword [rsp + 0x68]
jne 0x1400c0f3c
mov al, byte [r12 + 2]
mov byte [r14 + 0x82], al
movzx eax, word [r12]
mov word [r14 + 0x80], ax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x188], 0
mov rcx, qword [r14 + 0x88]
mov qword [r14 + 0x88], rax
test rcx, rcx
jne 0x1400c122b
mov rax, qword [rsp + 0x190]
mov qword [r14 + 0x90], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x198], 0
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], rax
test rcx, rcx
jne 0x1400c0f2e
mov rax, qword [rsp + 0x1a0]
mov qword [r14 + 0xa0], rax
mov rax, qword [r10 + 0x10]
mov rcx, qword [r15]
sub rax, rcx
sar rax, 3
movabs rdx, 0xcf3cf3cf3cf3cf3d
imul rax, rdx
cmp rax, rbp
jbe 0x1400c11a6
imul rax, rbp, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x1400c0dd3
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c0dd3
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1400c0dd3
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x1400c11b1
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c11b1
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbp
mov rcx, qword [r10 + 8]
mov rdx, qword [r10 + 0x10]
sub rdx, rcx
sar rdx, 3
movabs r8, 0xcf3cf3cf3cf3cf3d
imul rdx, r8
cmp rdx, rbp
jbe 0x1400c11a6
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x1400c0e35
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400c0e35
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1400c0e35
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x1400c11b4
mov al, byte [rax + 4]
test al, al
jne 0x1400c11b4
mov rcx, qword [rsp + 0x198]
test rcx, rcx
jne 0x1400c0ec8
mov rsi, qword [rsp + 0x188]
test rsi, rsi
jne 0x1400c0eb1
mov rcx, qword [rsp + 0x178]
test rcx, rcx
jne 0x1400c0edb
mov rcx, qword [rbx + 0x98]
test rcx, rcx
jne 0x1400c0ebc
mov rsi, qword [rbx + 0x88]
test rsi, rsi
jne 0x1400c0ea6
mov rsi, qword [rbx + 0x78]
test rsi, rsi
jne 0x1400c0eef
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400d4e20
nop
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rsi + 8]
jne 0x1400c0e78
jmp 0x1400c1137
lock dec dword [rsi + 8]
jne 0x1400c0e53
jmp 0x1400c10c1
lock dec dword [rcx]
jne 0x1400c0e6c
call fcn.1400d2b80
jmp 0x1400c0e6c
lock dec dword [rcx]
jne 0x1400c0e46
call fcn.1400d2b80
jmp 0x1400c0e46
lock dec dword [rcx]
jne 0x1400c0e60
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x1400c0e60
lock dec dword [rsi]
jne 0x1400c0e81
mov rdi, qword [rsi + 0x10]
mov rbx, qword [0x1401e8220]
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400d4e20
mov rcx, rsi
mov rax, rdi
mov rdx, rbx
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rdx
lock dec dword [rcx]
jne 0x1400c0d51
jmp 0x1400c1274
lock dec dword [rcx]
jne 0x1400c0cd3
mov rsi, r10
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x1400c0f65
call fcn.1400d2b80
mov r10, rsi
jmp 0x1400c0cd3
call qword [0x1401e8220]
jmp 0x1400c0f5d
mov r15, rsi
mov rcx, r13
mov rdx, r12
mov rsi, r10
mov edi, r11d
call fcn.140018fa0
mov r11d, edi
mov r9, qword [rsp + 0x30]
mov r10, rsi
jmp 0x1400c1059
cmp rax, qword [r10 + 0x18]
jae 0x1400c0f6d
test rax, rax
je 0x1400c11a6
mov r15, rsi
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [r12 + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r12 + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [r12 + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [r12 + 0x78]
mov qword [rax + 0x78], rcx
mov edx, 0
mov qword [r12 + 0x78], rdx
movzx ecx, word [r12 + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [r12 + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [r12 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r12 + 0x88], rdx
mov rcx, qword [r12 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r12 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r12 + 0x98], rdx
mov rcx, qword [r12 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r10 + 0x10], rax
mov rsi, r15
mov rdi, qword [rsp + 0x48]
jmp 0x1400c0997
lock dec dword [rcx]
jne 0x1400c08ed
mov edi, r11d
mov rsi, r10
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x1400c109e
call fcn.1400d2b80
mov r10, rsi
mov r9, qword [rsp + 0x30]
mov r11d, edi
jmp 0x1400c08ed
call qword [0x1401e8220]
jmp 0x1400c108e
mov edx, dword [rsp + 0x44]
cmp dword [r12 + 0x70], edx
jle 0x1400c0b87
jmp 0x1400c0873
call fcn.1400d2b80
jmp 0x1400c10ef
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401312a0]
cmp qword [rcx + 0x10], rdx
jne 0x1400c110a
lea rcx, [0x1401533b0]
cmp rax, rcx
jne 0x1400c110a
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400c10ef
lock dec dword [rcx]
je 0x1400c10ba
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x1400c10fd
lock dec dword [rdi]
je 0x1400c111d
mov rcx, rsi
call fcn.1400d2b80
jmp 0x1400c0e53
mov rcx, rsi
mov edx, 1
call qword [0x1401e8220]
jmp 0x1400c0e53
lea rcx, [rdi + 0x10]
call fcn.140094ad0
mov rcx, rdi
call fcn.1400d2b80
jmp 0x1400c10fd
call fcn.1400d2b80
jmp 0x1400c1165
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401312a0]
cmp qword [rcx + 0x10], rdx
jne 0x1400c1180
lea rcx, [0x1401533b0]
cmp rax, rcx
jne 0x1400c1180
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400c1165
lock dec dword [rcx]
je 0x1400c1130
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x1400c1173
lock dec dword [rdi]
je 0x1400c1193
mov rcx, rsi
call fcn.1400d2b80
jmp 0x1400c0e78
mov rcx, rsi
mov edx, 1
call qword [0x1401e8220]
jmp 0x1400c0e78
lea rcx, [rdi + 0x10]
call fcn.140094ad0
mov rcx, rdi
call fcn.1400d2b80
jmp 0x1400c1173
ud2
int3
int3
int3
int3
int3
inc dword [r10 + 0x20]
mov r9, qword [rbx + 0x78]
jmp 0x1400c0675
mov r9, qword [rsp + 0x58]
movabs r8, 0x8000000000000001
add r8, r9
cmp r8, 2
setae byte [rsp + 0x38]
mov r8, qword [rsp + 0x50]
cmp r9, r8
sete r9b
or r9b, byte [rsp + 0x38]
mov r9, qword [rsp + 0x30]
jne 0x1400c0864
int3
movabs r9, 0x8000000000000001
add r9, r8
cmp r9, 2
setae r9b
cmp r8, rdx
sete r8b
or r8b, r9b
mov r9, qword [rsp + 0x30]
jne 0x1400c0851
int3
lock dec dword [rcx + 8]
jne 0x1400c0d17
mov rsi, r10
call fcn.1400ca9f0
mov r10, rsi
jmp 0x1400c0d17
lock dec dword [rcx + 8]
jne 0x1400c0945
mov rsi, r10
mov edi, r11d
call fcn.1400ca9f0
mov r11d, edi
mov r9, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r10, rsi
mov rsi, qword [rsp + 0x38]
jmp 0x1400c0945
mov rsi, r10
call fcn.1400d2b80
mov r10, rsi
jmp 0x1400c0d51
mov rsi, r10
mov edi, r11d
call fcn.1400d2b80
mov r11d, edi
mov r9, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r10, rsi
mov rsi, qword [rsp + 0x38]
jmp 0x1400c0984