Function at 0x14013af80
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, 0x1a8
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rsi, qword [rdx]
test rsi, rsi
je 0x14013bc25
mov r10, rdx
mov r11, rcx
cmp byte [rdx + 0x81], 0
jne 0x14013b938
xor ebp, ebp
mov qword [r10], rbp
mov rax, qword [r10 + 0x28]
mov qword [rsp + 0x70], rax
mov r9, qword [r10 + 0x30]
mov r13, qword [r10 + 0x38]
mov r12d, dword [r10 + 0x40]
mov r14d, dword [r10 + 0x78]
mov al, byte [r10 + 0x7c]
mov byte [rsp + 0x22], al
mov rax, qword [r10 + 0x88]
mov qword [rsp + 0x88], rax
mov qword [r10 + 0x88], rbp
mov r8, qword [r10 + 0x90]
mov rax, qword [r10 + 0x98]
mov qword [rsp + 0x80], rax
mov qword [r10 + 0x98], rbp
mov rax, qword [r10 + 0xa0]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [r10 + 8]
movups xmm1, xmmword [r10 + 0x18]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov eax, dword [r10 + 0x74]
mov dword [rsp + 0xf0], eax
movups xmm0, xmmword [r10 + 0x44]
movups xmm1, xmmword [r10 + 0x54]
movups xmm2, xmmword [r10 + 0x64]
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movzx eax, word [r10 + 0x80]
mov word [rsp + 0xbd], ax
mov al, byte [r10 + 0x82]
mov byte [rsp + 0xbf], al
lea rax, [r11 + 8]
mov qword [rsp + 0x40], rax
mov r15, qword [r11 + 0x10]
mov rcx, r15
movabs rbx, 0xcf3cf3cf3cf3cf3d
mov rax, r15
sub rcx, qword [r11 + 8]
je 0x14013b509
mov qword [rsp + 0x48], r8
lea rax, [r9 + r13]
sar rax, 0x3f
btc rax, 0x3f
mov rdi, r9
add rdi, r13
movabs rdx, 0x7fffffffffffffff
cmovo rdi, rax
sar rcx, 3
imul rcx, rbx
lea rax, [rdx + r13]
add rdx, r9
cmp rdx, 0xfffffffffffffffe
setb dl
cmp r9, r13
sete bpl
cmp rax, 0xfffffffffffffffe
setb al
cmovae rdi, r13
test r12d, r12d
setne r8b
cmovne rdi, r9
or r8b, al
or bpl, dl
or bpl, r8b
mov byte [rsp + 0x23], bpl
mov rbp, rcx
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x24], r12d
mov r8, rbp
lea rdx, [rbp - 1]
mov rbp, rdx
shr rbp, 1
mov r15, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
mov rcx, rax
sub rcx, r15
sar rcx, 3
imul rcx, rbx
cmp rcx, rbp
jbe 0x14013bbd7
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x68], rdx
imul r13, rbp, 0xa8
lea r12, [r15 + r13]
cmp dword [r15 + r13 + 0x40], 0
jne 0x14013ba5e
mov r8, qword [r12 + 0x30]
mov rdx, qword [r12 + 0x38]
movabs r9, 0x7fffffffffffffff
add r9, rdx
add r9, 2
cmp r9, 2
jb 0x14013bbf2
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
cmp byte [rsp + 0x23], 0
je 0x14013bbda
xor r8d, r8d
cmp dword [r12 + 0x78], r14d
setg r8b
xor r9d, r9d
cmp rdx, rdi
setg r9b
cmovne r8d, r9d
cmp r8b, 1
jne 0x14013b4f0
mov r8, qword [rsp + 0x28]
cmp rcx, r8
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x38], rdi
je 0x14013b414
mov dword [rsp + 0x34], r14d
jbe 0x14013bbe0
imul rbx, r8, 0xa8
lea r14, [r15 + rbx]
mov rax, qword [r12]
mov qword [r12], 0
mov rcx, qword [r15 + rbx]
mov qword [r15 + rbx], rax
test rcx, rcx
jne 0x14013bb30
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movups xmmword [r14 + 0x18], xmm1
movups xmmword [r14 + 8], xmm0
lea rdi, [r14 + 0x28]
lea rsi, [r12 + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov al, byte [r12 + 0x7c]
mov byte [r14 + 0x7c], al
mov eax, dword [r12 + 0x78]
mov dword [r14 + 0x78], eax
mov al, byte [r15 + r13 + 0x82]
mov byte [r15 + rbx + 0x82], al
movzx eax, word [r15 + r13 + 0x80]
mov word [r15 + rbx + 0x80], ax
mov rax, qword [r15 + r13 + 0x88]
mov qword [r15 + r13 + 0x88], 0
mov rcx, qword [r15 + rbx + 0x88]
mov qword [r15 + rbx + 0x88], rax
test rcx, rcx
jne 0x14013bc5b
mov rax, qword [r15 + r13 + 0x90]
mov qword [r15 + rbx + 0x90], rax
mov rax, qword [r15 + r13 + 0x98]
mov qword [r15 + r13 + 0x98], 0
mov rsi, qword [r15 + rbx + 0x98]
mov qword [r15 + rbx + 0x98], rax
test rsi, rsi
mov r14d, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x24]
jne 0x14013bab5
mov rax, qword [r15 + r13 + 0xa0]
mov qword [r15 + rbx + 0xa0], rax
movabs rbx, 0xcf3cf3cf3cf3cf3d
mov rcx, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
sub rax, rcx
sar rax, 3
imul rax, rbx
cmp rax, r8
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
jbe 0x14013bbe3
imul rax, r8, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
je 0x14013b3a8
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013b3a8
cmp qword [rcx + rax + 0xa0], 0
je 0x14013b3a8
lea rdx, [rcx + rax]
add rdx, 0x98
mov rdx, qword [rdx]
test rdx, rdx
je 0x14013bbe6
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013bbe6
add rcx, rax
add rcx, 0xa0
mov rcx, qword [rcx]
mov qword [rcx + 0x10], r8
mov rcx, qword [r11 + 8]
mov rdx, qword [r11 + 0x10]
sub rdx, rcx
sar rdx, 3
imul rdx, rbx
cmp rdx, r8
jbe 0x14013bbe9
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14013b403
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013b403
cmp qword [rcx + rax + 0xa0], 0
je 0x14013b403
add rax, rcx
add rax, 0x98
mov rax, qword [rax]
test rax, rax
je 0x14013bbec
mov al, byte [rax + 4]
test al, al
jne 0x14013bbec
cmp qword [rsp + 0x68], 1
ja 0x14013b133
jmp 0x14013ba16
cmp r8, rbp
jbe 0x14013bbef
cmp rax, qword [r11 + 0x18]
jae 0x14013bae9
test rax, rax
je 0x14013bbdd
mov rcx, qword [r12]
mov qword [rax], rcx
xor edx, edx
mov qword [r12], rdx
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
lea rsi, [r12 + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r12 + 0x7c]
mov byte [rax + 0x7c], cl
mov ecx, dword [r12 + 0x78]
mov dword [rax + 0x78], ecx
mov cl, byte [r15 + r13 + 0x82]
mov byte [rax + 0x82], cl
movzx ecx, word [r15 + r13 + 0x80]
mov word [rax + 0x80], cx
mov rcx, qword [r15 + r13 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r15 + r13 + 0x88], rdx
mov rcx, qword [r15 + r13 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r15 + r13 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r15 + r13 + 0x98], rdx
mov rcx, qword [r15 + r13 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r11 + 0x10], rax
mov r12d, dword [rsp + 0x24]
jmp 0x14013b31f
mov rbp, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x24]
mov edx, r14d
lea r14, [rsp + 0x100]
mov qword [r14 - 8], rsi
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
mov edi, r12d
lea r12, [rsp + 0x120]
mov rcx, qword [rsp + 0x70]
mov qword [r12], rcx
mov qword [r12 + 8], r9
mov qword [r12 + 0x10], r13
mov dword [r12 + 0x18], edi
mov ecx, dword [rsp + 0xf0]
mov dword [r12 + 0x4c], ecx
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movups xmmword [r12 + 0x1c], xmm0
movups xmmword [r12 + 0x2c], xmm1
movups xmmword [r12 + 0x3c], xmm2
mov dword [r12 + 0x50], edx
lea rcx, [rsp + 0xbd]
mov dl, byte [rsp + 0x22]
mov byte [r12 + 0x54], dl
movzx edx, word [rcx]
mov word [r12 + 0x58], dx
mov cl, byte [rcx + 2]
mov byte [r12 + 0x5a], cl
mov rcx, qword [rsp + 0x88]
mov qword [r12 + 0x60], rcx
mov qword [r12 + 0x68], r8
mov rcx, qword [rsp + 0x80]
mov qword [r12 + 0x70], rcx
mov rcx, qword [rsp + 0x78]
mov qword [r12 + 0x78], rcx
mov rcx, rax
sub rcx, r15
sar rcx, 3
imul rcx, rbx
cmp rcx, rbp
je 0x14013b845
jbe 0x14013bc2e
imul rbx, rbp, 0xa8
lea r13, [r15 + rbx]
mov qword [rsp + 0xf8], 0
mov rcx, qword [r15 + rbx]
mov qword [r15 + rbx], rsi
test rcx, rcx
jne 0x14013bb0c
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
lea rdi, [r13 + 0x28]
mov ecx, 0xa
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov al, byte [r12 + 0x54]
mov byte [r13 + 0x7c], al
mov eax, dword [r12 + 0x50]
mov dword [r13 + 0x78], eax
mov al, byte [r14 + 0x7a]
mov byte [r15 + rbx + 0x82], al
movzx eax, word [r14 + 0x78]
mov word [r15 + rbx + 0x80], ax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x180], 0
mov rcx, qword [r15 + rbx + 0x88]
mov qword [r15 + rbx + 0x88], rax
test rcx, rcx
jne 0x14013bc31
mov rax, qword [rsp + 0x188]
mov qword [r15 + rbx + 0x90], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x190], 0
mov rsi, qword [r15 + rbx + 0x98]
mov qword [r15 + rbx + 0x98], rax
test rsi, rsi
jne 0x14013ba8b
mov rax, qword [rsp + 0x198]
mov qword [r15 + rbx + 0xa0], rax
movabs rbx, 0xcf3cf3cf3cf3cf3d
mov rcx, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
sub rax, rcx
sar rax, 3
imul rax, rbx
cmp rax, rbp
jbe 0x14013bc28
imul rax, rbp, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14013b766
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013b766
cmp qword [rcx + rax + 0xa0], 0
je 0x14013b766
lea rdx, [rcx + rax]
add rdx, 0x98
mov rdx, qword [rdx]
test rdx, rdx
je 0x14013bc1f
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013bc1f
add rcx, rax
add rcx, 0xa0
mov rcx, qword [rcx]
mov qword [rcx + 0x10], rbp
mov rcx, qword [r11 + 8]
mov rdx, qword [r11 + 0x10]
sub rdx, rcx
sar rdx, 3
imul rdx, rbx
cmp rdx, rbp
jbe 0x14013bc2b
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14013b7c1
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14013b7c1
cmp qword [rcx + rax + 0xa0], 0
je 0x14013b7c1
add rax, rcx
add rax, 0x98
mov rax, qword [rax]
test rax, rax
je 0x14013bc22
mov al, byte [rax + 4]
test al, al
jne 0x14013bc22
mov rcx, qword [rsp + 0x190]
test rcx, rcx
jne 0x14013b906
mov rsi, qword [rsp + 0x180]
test rsi, rsi
jne 0x14013b944
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
jne 0x14013ba28
mov rcx, qword [r10 + 0x98]
test rcx, rcx
jne 0x14013b91f
mov rsi, qword [r10 + 0x88]
test rsi, rsi
jne 0x14013b9ad
mov rcx, qword [r10]
test rcx, rcx
jne 0x14013ba46
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.14017e7b0
nop
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, qword [r11 + 0x18]
jae 0x14013ba68
test rax, rax
je 0x14013bc80
mov qword [rax], rsi
xor edx, edx
mov qword [rsp + 0xf8], rdx
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
mov ecx, 0xa
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r12 + 0x54]
mov byte [rax + 0x7c], cl
mov ecx, dword [r12 + 0x50]
mov dword [rax + 0x78], ecx
movzx ecx, word [r14 + 0x78]
mov word [rax + 0x80], cx
mov cl, byte [r14 + 0x7a]
mov byte [rax + 0x82], cl
mov rcx, qword [rsp + 0x180]
mov qword [rax + 0x88], rcx
mov qword [rsp + 0x180], rdx
mov rcx, qword [rsp + 0x188]
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp + 0x190]
mov qword [rax + 0x98], rcx
mov qword [rsp + 0x190], rdx
mov rcx, qword [rsp + 0x198]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r11 + 0x10], rax
jmp 0x14013b6f1
lock dec dword [rcx]
jne 0x14013b7d2
mov rsi, r10
call fcn.14017b254
mov r10, rsi
jmp 0x14013b7d2
lock dec dword [rcx]
jne 0x14013b804
mov rsi, r10
call fcn.14017b254
mov r10, rsi
jmp 0x14013b804
inc dword [r11 + 0x20]
mov rsi, qword [r10]
jmp 0x14013afc4
lock dec dword [rsi + 8]
jne 0x14013b7e3
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x14013bb85
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x14013bb85
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14013b988
lock dec dword [rcx]
je 0x14013bbb7
mov rbx, r10
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14013b99d
lock dec dword [rdi]
je 0x14013bb59
mov rcx, rsi
call fcn.14017b254
mov r10, rbx
jmp 0x14013b7e3
lock dec dword [rsi + 8]
jne 0x14013b814
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x14013bb9e
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x14013bb9e
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14013b9f1
lock dec dword [rcx]
je 0x14013bbc7
mov rbx, r10
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14013ba06
lock dec dword [rdi]
je 0x14013bb6f
mov rcx, rsi
call fcn.14017b254
mov r10, rbx
jmp 0x14013b814
mov r15, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
mov r8, qword [rsp + 0x48]
jmp 0x14013b509
lock dec dword [rcx]
jne 0x14013b7f4
mov rax, qword [rcx + 0x10]
mov rsi, r10
call qword [case.0x1401e7f70.0]
mov r10, rsi
jmp 0x14013b7f4
lock dec dword [rcx]
jne 0x14013b820
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14013b820
mov rdx, qword [r12 + 0x30]
jmp 0x14013b1bc
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0x40]
mov rsi, r10
mov rdi, r11
call fcn.140012ec0
mov r11, rdi
mov r10, rsi
jmp 0x14013b6f1
lock dec dword [rsi]
jne 0x14013b6d7
mov rcx, rsi
mov rdi, r10
mov r14, r11
call fcn.14001f700
mov rcx, rsi
call fcn.14017b254
mov r11, r14
mov r10, rdi
jmp 0x14013b6d7
lock dec dword [rsi]
jne 0x14013b305
mov rcx, rsi
mov rdi, r10
mov r14, r11
call fcn.14001f700
mov rcx, rsi
call fcn.14017b254
mov r8, qword [rsp + 0x28]
mov r11, r14
mov r14d, dword [rsp + 0x34]
mov r10, rdi
jmp 0x14013b305
mov rcx, qword [rsp + 0x40]
mov rdx, r12
mov rsi, r10
mov rdi, r11
call fcn.140012ec0
mov r8, qword [rsp + 0x28]
mov r11, rdi
mov r10, rsi
jmp 0x14013b4e6
lock dec dword [rcx]
jne 0x14013b61f
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [case.0x1401e7f70.0]
mov r11, rdi
mov r10, rsi
jmp 0x14013b61f
lock dec dword [rcx]
jne 0x14013b236
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov rdi, r11
call qword [case.0x1401e7f70.0]
mov r8, qword [rsp + 0x28]
mov r11, rdi
mov r10, rsi
jmp 0x14013b236
lea rcx, [rdi + 8]
call fcn.1400091b0
mov rcx, rdi
call fcn.14017b254
jmp 0x14013b99d
lea rcx, [rdi + 8]
call fcn.1400091b0
mov rcx, rdi
call fcn.14017b254
jmp 0x14013ba06
mov rcx, rsi
mov edx, 1
mov rsi, r10
call qword [case.0x1401e7f70.0]
mov r10, rsi
jmp 0x14013b7e3
mov rcx, rsi
mov edx, 1
mov rsi, r10
call qword [case.0x1401e7f70.0]
mov r10, rsi
jmp 0x14013b814
mov rdi, r10
call fcn.14017b254
mov r10, rdi
jmp 0x14013b988
mov rdi, r10
call fcn.14017b254
mov r10, rdi
jmp 0x14013b9f1
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov qword [rsp + 0x38], rdi
movabs r9, 0x7fffffffffffffff
add r9, r8
add r9, 2
cmp r9, 1
ja 0x14013bc51
cmp r8, rdx
mov rdi, qword [rsp + 0x38]
je 0x14013b1bc
int3
int3
int3
int3
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x14013b69a
mov rsi, r10
mov rdi, r11
call fcn.140123c50
mov r11, rdi
mov r10, rsi
jmp 0x14013b69a
mov rdi, qword [rsp + 0x38]
jmp 0x14013b1bc
lock dec dword [rcx + 8]
jne 0x14013b2be
mov rsi, r10
mov rdi, r11
call fcn.140123c50
mov r8, qword [rsp + 0x28]
mov r11, rdi
mov r10, rsi
jmp 0x14013b2be
int3