Function at 0x140150565
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, 0x218
mov qword [rsp + 0x50], rcx
lea r12, [rsp + 0x98]
and qword [r12], 0
mov qword [r12 + 8], 8
and qword [r12 + 0x10], 0
movabs r13, 0x8000000000000000
lea rax, [rsp + 0x30]
mov qword [rax - 8], r13
mov r8, qword [rdx]
mov rax, qword [rdx + 8]
imul rcx, qword [rdx + 0x10], 0x30
add rcx, rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rcx
lea rdi, [rsp + 0x1d8]
lea rbx, [rsp + 0x60]
lea rsi, [rsp + 0x1d0]
cmp rax, rcx
je 0x140150a3b
lea rcx, [rax + 0x30]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax]
cmp rcx, 0xa
je 0x140150a3b
mov qword [rsp + 0x1a0], rcx
mov rcx, qword [rax + 0x28]
lea rdx, [rsp + 0x1a8]
mov qword [rdx + 0x20], rcx
movups xmm0, xmmword [rax + 8]
movups xmm1, xmmword [rax + 0x18]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov rcx, rbx
lea rdx, [rsp + 0x1a0]
call fcn.1401503a3
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov r14, qword [rsp + 0x88]
mov qword [rsp + 0x140], r14
mov rax, qword [rsp + 0xb0]
add rax, 0xfffffffffffffffe
cmp rax, 8
mov ecx, 2
cmovae rax, rcx
test rax, rax
je 0x1401509e7
cmp rax, 1
je 0x1401508d0
cmp rax, 6
jne 0x140150939
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
imul rcx, qword [rsp + 0xc8], 0x30
add rcx, rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rcx
cmp rax, rcx
je 0x1401509bd
lea rcx, [rax + 0x30]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rax]
cmp rcx, 0xa
je 0x1401509bd
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rax + 0x28]
mov qword [rdi + 0x20], rcx
movups xmm0, xmmword [rax + 8]
movups xmm1, xmmword [rax + 0x18]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rcx, rbx
mov rdx, rsi
call fcn.1401503a3
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov r14, qword [rsp + 0x88]
mov qword [rsp + 0x168], r14
cmp dword [rsp + 0xe0], 3
jne 0x1401507f6
mov r15, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbp
cmp qword [rsp + 0x28], r13
jne 0x14015087a
mov rcx, rbp
xor edx, edx
call fcn.140067daf
mov r14, rax
mov r12, rdx
mov rcx, rdx
mov rdx, r15
mov r8, rbp
call fcn.14018f8f0
lea rcx, [rsp + 0x28]
call fcn.1401164d1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r12
lea r12, [rsp + 0x98]
mov qword [rsp + 0x38], rbp
mov r14, qword [rsp + 0xe0]
jmp 0x140150893
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], r13
cmp rax, r13
je 0x14015083b
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
lea rax, [rsp + 0x178]
movups xmmword [rax], xmm0
mov rcx, rbx
lea rdx, [rsp + 0x170]
call fcn.14015045f
mov rcx, r12
mov rdx, rbx
call fcn.14013db59
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x88], r14
mov rcx, r12
mov rdx, rbx
call fcn.14013db59
jmp 0x1401508bb
add rbp, r15
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, rbp
call fcn.140015218
mov r14d, 3
mov rcx, rbx
call fcn.14002d927
lea rcx, [rsp + 0x168]
call fcn.1400c7220
cmp r14, 3
je 0x1401508bb
lea rcx, [rsp + 0xe0]
call fcn.14013aba6
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
jmp 0x1401506f5
mov r15, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc0]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbp
cmp qword [rsp + 0x28], r13
jne 0x1401509cc
mov rcx, rbp
xor edx, edx
call fcn.140067daf
mov r14, rax
mov r12, rdx
mov rcx, rdx
mov rdx, r15
mov r8, rbp
call fcn.14018f8f0
lea rcx, [rsp + 0x28]
call fcn.1401164d1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r12
lea r12, [rsp + 0x98]
mov qword [rsp + 0x38], rbp
jmp 0x1401509df
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], r13
cmp rax, r13
je 0x14015097e
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
lea rax, [rsp + 0x190]
movups xmmword [rax], xmm0
mov rcx, rbx
lea rdx, [rsp + 0x188]
call fcn.14015045f
mov rcx, r12
mov rdx, rbx
call fcn.14013db59
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x88], r14
mov rcx, r12
mov rdx, rbx
call fcn.14013db59
jmp 0x140150a26
lea rcx, [rsp + 0x148]
call fcn.14013f6e9
jmp 0x1401509e7
add rbp, r15
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, rbp
call fcn.140015218
mov rcx, rbx
call fcn.14002d927
lea rcx, [rsp + 0x140]
call fcn.1400c7220
mov rax, qword [rsp + 0xb0]
add rax, 0xfffffffffffffffe
cmp rax, 8
mov ecx, 2
cmovae rax, rcx
cmp rax, 6
je 0x140150a26
cmp rax, 1
je 0x140150a26
lea rcx, [rsp + 0xb0]
call fcn.14013aba6
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
jmp 0x1401505f0
lea rcx, [rsp + 0x120]
call fcn.14013f6e9
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], r13
cmp rax, r13
je 0x140150a8b
lea rdx, [rsp + 0x200]
mov qword [rdx], rax
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
lea rsi, [rsp + 0x60]
mov rcx, rsi
call fcn.14015045f
lea rcx, [rsp + 0x98]
mov rdx, rsi
call fcn.14013db59
mov rax, qword [rsp + 0xa8]
cmp rax, 1
je 0x140150aad
test rax, rax
jne 0x140150b09
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1401503ef
jmp 0x140150aed
and qword [rsp + 0xa8], 0
mov rax, qword [rsp + 0xa0]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
lea rdx, [rsp + 0x60]
movaps xmmword [rdx], xmm0
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx + 0x20], xmm2
lea r8, [0x1402310d0]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.14013cbf3
lea rcx, [rsp + 0x28]
call fcn.1401164d1
lea rcx, [rsp + 0x98]
call fcn.14013aebd
jmp 0x140150d8b
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rax
imul r8, rax, 0x30
lea rax, [rdx + r8]
mov r12d, 1
xor edi, edi
mov cl, 1
mov dword [rsp + 0x24], ecx
mov r10, rdx
mov r13b, 1
mov cl, 1
xor r14d, r14d
xor r15d, r15d
mov r9b, 1
xor r11d, r11d
mov qword [rsp + 0x48], r11
xor ebp, ebp
mov r11d, 1
mov qword [rsp + 0x40], r11
mov rsi, r10
cmp rsi, rax
je 0x140150c5a
mov r10, rsi
mov r11, qword [rsi + 0x28]
test cl, 1
je 0x140150b77
cmp byte [r11 + 0x4c], 0
setne cl
jmp 0x140150b79
xor ecx, ecx
mov rsi, 0xffffffffffffffff
mov rbx, 0xffffffffffffffff
add r14, qword [r11 + 0x30]
jb 0x140150b90
mov rbx, r14
cmp qword [r11 + 0x20], 0
mov r14, rbx
setne bl
add r15, qword [r11 + 0x28]
jb 0x140150ba4
mov rsi, r15
mov r15, rsi
test r13b, 1
je 0x140150bb8
cmp byte [r11 + 0x4d], 0
setne r13b
jmp 0x140150bbb
xor r13d, r13d
test byte [rsp + 0x24], 1
je 0x140150bd1
cmp byte [r11 + 0x4e], 0
setne sil
mov dword [rsp + 0x24], esi
jmp 0x140150bd9
mov dword [rsp + 0x24], 0
cmp qword [rsp + 0x40], 0
jne 0x140150bea
xor esi, esi
mov qword [rsp + 0x40], rsi
jmp 0x140150c0d
cmp qword [r11], 0
je 0x140150c29
mov rsi, 0xffffffffffffffff
add rbp, qword [r11 + 8]
jb 0x140150c00
mov rsi, rbp
mov ebp, 1
mov qword [rsp + 0x40], rbp
mov rbp, rsi
or edi, dword [r11 + 0x38]
and r9b, bl
lea rsi, [r10 + 0x30]
test r12, r12
mov r12d, 0
je 0x140150b58
jmp 0x140150c2b
jmp 0x140150be1
add r10, 0x30
cmp qword [r11 + 0x10], 0
mov r12d, 0
je 0x140150b55
xor r12d, r12d
mov rsi, qword [rsp + 0x48]
add rsi, qword [r11 + 0x18]
mov qword [rsp + 0x48], rsi
setae r12b
jmp 0x140150b55
mov qword [rsp + 0x118], rbp
movzx r9d, r9b
and r9d, 1
mov qword [rsp + 0x108], r9
and cl, 1
mov dword [rsp + 0x58], ecx
mov ecx, r13d
and cl, 1
mov r13d, dword [rsp + 0x24]
and r13b, 1
xor esi, esi
xor ebx, ebx
test r8, r8
je 0x140150cb3
mov r9, qword [rdx + 0x28]
or ebx, dword [r9 + 0x3c]
or esi, dword [r9 + 0x44]
cmp qword [r9 + 0x10], 0
je 0x140150cb3
add rdx, 0x30
add r8, 0xffffffffffffffd0
cmp qword [r9 + 0x18], 0
je 0x140150c8c
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x24], r13d
imul rcx, qword [rsp + 0x110], 0xffffffffffffffd0
xor ebp, ebp
xor r13d, r13d
test rcx, rcx
je 0x140150cf0
mov rdx, qword [rax - 8]
or r13d, dword [rdx + 0x40]
or ebp, dword [rdx + 0x48]
cmp qword [rdx + 0x10], 0
je 0x140150cf0
add rax, 0xffffffffffffffd0
add rcx, 0x30
cmp qword [rdx + 0x18], 0
je 0x140150cca
mov ecx, 0x50
mov edx, 8
call fcn.1400334fc
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], r15
mov qword [rax + 0x30], r14
mov dword [rax + 0x38], edi
mov dword [rax + 0x3c], ebx
mov dword [rax + 0x40], r13d
mov dword [rax + 0x44], esi
mov dword [rax + 0x48], ebp
mov ecx, dword [rsp + 0x58]
mov byte [rax + 0x4c], cl
mov ecx, dword [rsp + 0x5c]
mov byte [rax + 0x4d], cl
mov ecx, dword [rsp + 0x24]
mov byte [rax + 0x4e], cl
mov rcx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x50]
mov qword [rsi + 0x18], rcx
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 8
mov qword [rsi + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1401164d1
mov rax, rsi
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret