Function at 0x1402a8d00
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, 0x258
movdqa xmmword [rsp + 0x240], xmm6
mov r12, rdx
mov rdi, rcx
mov r15, qword [rsp + 0x2c0]
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0xe0], 0
mov word [rsp + 0xe4], 0x3210
mov qword [rsp + 0x78], r8
mov rsi, qword [r8]
test rsi, rsi
je 0x1402a9008
mov rcx, qword [rsi + 8]
xor eax, eax
test rcx, rcx
je 0x1402a8d9b
cmp dword [rcx + 0x14], 0
cmovns rax, rcx
jmp 0x1402a8d9b
xor eax, eax
test rsi, rsi
je 0x1402a9008
mov rbx, rsi
mov rsi, rax
mov r14d, dword [rbx + 0x18]
test r14d, r14d
jne 0x1402a8dc0
test rsi, rsi
je 0x1402a8d90
mov rax, qword [rsi + 8]
test rax, rax
je 0x1402a8d90
cmp dword [rax + 0x14], 0
jns 0x1402a8d92
jmp 0x1402a8d90
pcmpeqd xmm6, xmm6
lea rdx, [rsp + 0x120]
nop dword [rax]
movzx eax, byte [r9 + 0x3c]
test eax, eax
je 0x1402a8df0
cmp eax, 1
jne 0x1402a8e00
mov r8d, 2
jmp 0x1402a8e04
mov r8d, 1
jmp 0x1402a8e04
mov r8d, dword [r9 + 0x40]
movsxd rbp, r14d
mov ecx, dword [rbx + rbp + 0x48]
cmp ecx, r8d
jne 0x1402a9008
test eax, eax
je 0x1402a8e30
cmp eax, 1
jne 0x1402a8e40
mov eax, 2
cmp ecx, eax
je 0x1402a8e4c
jmp 0x1402a8fa0
mov eax, 1
cmp ecx, eax
je 0x1402a8e4c
jmp 0x1402a8fa0
mov eax, dword [r9 + 0x40]
cmp ecx, eax
jne 0x1402a8fa0
movq xmm0, qword [r15 + 8]
movq xmm1, qword [r15]
pxor xmm3, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm2, xmm0
punpckldq xmm2, xmm3
pxor xmm3, xmm3
pcmpgtd xmm3, xmm1
movdqa xmm4, xmm1
punpckldq xmm4, xmm3
psubq xmm2, xmm4
movq rax, xmm2
test rax, rax
jle 0x1402a8fa0
pshufd xmm2, xmm2, 0xee
movq rcx, xmm2
test rcx, rcx
jle 0x1402a8fa0
or rcx, rax
cmp rcx, 0x7fffffff
ja 0x1402a8fa0
add rbp, rbx
movq xmm2, qword [rbp + 0x40]
movq xmm3, qword [rbp + 0x38]
movdqa xmm4, xmm2
punpcklqdq xmm4, xmm1
punpcklqdq xmm0, xmm3
pcmpgtd xmm0, xmm4
pxor xmm0, xmm6
pslld xmm0, 0x1f
movmskps eax, xmm0
cmp al, 0xf
jne 0x1402a8fa0
pxor xmm0, xmm0
pcmpgtd xmm0, xmm2
punpckldq xmm2, xmm0
pxor xmm0, xmm0
pcmpgtd xmm0, xmm3
punpckldq xmm3, xmm0
psubq xmm2, xmm3
movq rax, xmm2
test rax, rax
jle 0x1402a8fa0
pshufd xmm0, xmm2, 0xee
movq rcx, xmm0
test rcx, rcx
jle 0x1402a8fa0
or rcx, rax
cmp rcx, 0x7fffffff
ja 0x1402a8fa0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x90]
mov r15, r12
mov r12, rdi
mov rdi, rdx
mov r8, rbp
mov r13, r9
xor r9d, r9d
call fcn.140144cd0
mov rdx, rdi
mov rdi, r12
mov r12, r15
mov r15, qword [rsp + 0x2c0]
mov r9, r13
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xd8], rax
mov ecx, dword [rsp + 0x128]
mov dword [rsp + 0xe0], ecx
movzx ecx, word [rsp + 0x12c]
mov word [rsp + 0xe4], cx
test rax, rax
jne 0x1402a9838
add r14d, 0xffffffb0
cmp r14d, 0x1f
jg 0x1402a8dd0
test rsi, rsi
je 0x1402a9008
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1402a8fcb
cmp dword [rcx + 0x14], 0
mov eax, 0
cmovns rax, rcx
jmp 0x1402a8fcd
xor eax, eax
mov r14d, dword [rsi + 0x18]
mov rbx, rsi
mov rsi, rax
jmp 0x1402a8fe4
mov r14d, dword [rbx + 0x18]
test r14d, r14d
jne 0x1402a8dd0
test rsi, rsi
je 0x1402a9008
mov rbx, rsi
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x1402a8fe0
cmp dword [rsi + 0x14], 0
jns 0x1402a8fe0
xor esi, esi
jmp 0x1402a8fe0
mov qword [rsp + 0x70], r9
mov r15d, dword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x2c8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
test rax, rax
je 0x1402a922c
mov r13, qword [rax + 0x68]
test r13, r13
je 0x1402a922c
mov rcx, r12
call fcn.14012f840
mov r14, qword [r12 + 0x50]
lea rsi, [rsp + 0x120]
mov rcx, rax
mov rdx, rsi
mov r8d, 1
xor r9d, r9d
call fcn.1401444b0
mov rcx, r12
call fcn.14012f840
lea rdx, [rsp + 0xa0]
mov rcx, rax
mov r8, rsi
mov r9d, 1
call fcn.140144640
lea rax, str.ClipStack_RenderSwMask
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 0x16
mov rcx, qword [rsp + 0x2c0]
mov r9d, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
sub eax, dword [rcx + 4]
sub r9d, dword [rcx]
shl rax, 0x20
or r9, rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x38], 0
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea rdx, [rsp + 0x108]
mov rcx, r14
mov r8, rsi
call fcn.140145600
mov ecx, 0x58
call fcn.140560580
mov r14, rax
lea rax, [0x1405c5a60]
mov qword [r14], rax
lea rcx, [r14 + 8]
call fcn.1403284f0
mov dword [r14 + 0x38], 0
mov byte [r14 + 0x3c], 0
mov qword [r14 + 0x40], 0
mov word [r14 + 0x48], 0
lea rax, [0x1405c7940]
mov qword [r14], rax
mov ecx, 0x10
call fcn.140560580
mov rsi, rax
mov qword [rax], 0
movabs rax, 0x100000000
mov qword [rsi + 8], rax
test r15d, r15d
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x98], r13
jle 0x1402a96cb
movq xmm2, qword [0x140599c60]
mov rcx, rsi
mov edx, r15d
call fcn.1402aa0b0
mov qword [r14 + 0x50], rsi
mov r12d, r15d
xor r15d, r15d
movq xmm6, qword [0x140598970]
mov rsi, qword [r14 + 0x50]
mov rbp, qword [rbx + r15*8]
mov rcx, rsi
mov edx, 1
movdqa xmm2, xmm6
call fcn.1402aa0b0
mov rdi, qword [rsi]
movsxd rax, dword [rsi + 8]
imul r13, rax, 0x70
lea rcx, [rdi + r13]
inc eax
mov dword [rsi + 8], eax
mov byte [rdi + r13 + 0x38], 0
mov rdx, rbp
call fcn.140169a20
movdqu xmm0, xmmword [rbp + 0x40]
movdqu xmm1, xmmword [rbp + 0x50]
movdqu xmm2, xmmword [rbp + 0x5d]
movdqu xmmword [rdi + r13 + 0x40], xmm0
movdqu xmmword [rdi + r13 + 0x50], xmm1
movdqu xmmword [rdi + r13 + 0x5d], xmm2
inc r15
cmp r12, r15
jne 0x1402a91c0
jmp 0x1402a96cf
lea r14, [rsp + 0x130]
mov qword [rsp + 0x128], r14
mov rcx, r14
call fcn.1403284f0
lea rcx, [rsp + 0x160]
call fcn.14017b940
lea r13, [rsp + 0x1b0]
mov rcx, r13
call fcn.1401c18e0
lea rcx, [rsp + 0x120]
mov rdx, qword [rsp + 0x2c0]
call fcn.1403ab430
test al, al
je 0x1402a92e6
mov rbp, rdi
mov rdi, r12
test r15d, r15d
jle 0x1402a92bb
mov r15d, r15d
xor r12d, r12d
lea rsi, [rsp + 0x120]
nop word cs:[rax + rax]
test r12, r12
sete r8b
mov rdx, qword [rbx + r12*8]
mov rcx, rsi
call fcn.1402a9ef0
inc r12
cmp r15, r12
jne 0x1402a92a0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0xc0]
mov r12, rdi
mov r8, rdi
xor r9d, r9d
call fcn.1403ab530
mov rbx, qword [rsp + 0x2d8]
mov rdi, rbp
jmp 0x1402a9305
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xcc], 0x3210
mov rbx, qword [rsp + 0x2d8]
mov rcx, r13
call fcn.1401c1a00
lea rax, [0x1405a4100]
mov qword [rsp + 0x160], rax
lea rcx, [rsp + 0x178]
call fcn.140001050
mov rcx, r14
call fcn.140328520
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xd8], rax
mov r15, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0xe0], eax
movzx eax, word [rsp + 0xcc]
mov word [rsp + 0xe4], ax
cmp qword [rsp + 0xd8], 0
je 0x1402a968b
mov rcx, qword [rsi]
mov eax, dword [rcx + 0x14]
add eax, 7
and eax, 0xfffffff8
lea r8d, [rax + 0x50]
cmp r8d, dword [rcx + 0x10]
jle 0x1402a93be
mov rcx, rsi
mov edx, 0x70
mov r8d, 0x20000020
call fcn.1401bfc80
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsi]
mov eax, dword [rcx + 0x14]
add eax, 7
and eax, 0xfffffff8
lea r8d, [rax + 0x50]
mov dword [rcx + 0x14], r8d
mov rcx, qword [rsi]
mov dword [rcx + 0x18], eax
inc dword [rsi + 0x2c]
movsxd rsi, eax
add rsi, rcx
mov rcx, rsi
mov r8, r15
call fcn.1402a61f0
lea rcx, [rsp + 0xd8]
call fcn.14012f4a0
mov rcx, qword [rsp + 0x90]
mov rdx, rsi
mov r8, rax
call fcn.140144840
mov rbp, r15
movq xmm0, qword [rbp]
pxor xmm1, xmm1
psubd xmm1, xmm0
cvtdq2ps xmm1, xmm1
movaps xmm6, xmm1
movlhps xmm6, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movss xmm0, dword [0x1406908dc]
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x130], xmm0
movabs rax, 0x103f800000
mov qword [rsp + 0x140], rax
lea rsi, [rsp + 0x120]
mov rcx, rsi
call fcn.140020380
movups xmm0, xmmword [r15]
cvtdq2ps xmm0, xmm0
addps xmm0, xmm6
movaps xmmword [rsp + 0x1f0], xmm0
addps xmm0, xmmword [0x1405a7a40]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, r12
call fcn.14012f840
mov word [rsp + 0x110], 0x303
mov qword [rsp + 0x114], 0
mov dword [rsp + 0x11c], 1
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xb0], rcx
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + 0xb8], ecx
movzx ecx, word [rsp + 0xe4]
mov word [rsp + 0xbc], cx
lea rcx, [0x1405a22f0]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0xb0]
mov r8d, 2
mov r9, rsi
call fcn.140130670
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xa8]
call fcn.14023d530
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x1402a95ab
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1402a95ab
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [rbx]
mov qword [rbx], 0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x108], rcx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x108]
lea r8, [rsp + 0xc0]
mov r9d, 6
call fcn.1401625e0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x1402a964b
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x1402a964b
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [rsp + 0xe8]
mov qword [rdi], rax
mov byte [rdi + 8], 1
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x1402a9677
lock dec dword [rcx + 8]
jne 0x1402a9677
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1402a969c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x1402a969c
mov rax, qword [rbx]
mov qword [rbx], 0
mov qword [rdi], rax
mov byte [rdi + 8], 0
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.1405602f0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [r14 + 0x50], rsi
mov rax, qword [rsp + 0x2c0]
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x200], xmm0
lea rax, [0x1405c7950]
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], r14
lea rdx, [rsp + 0x1f0]
mov qword [rsp + 0x228], rdx
mov rcx, qword [rsp + 0x98]
call fcn.1401a6fa0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xe8], r14
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xe8]
call fcn.1401c5e30
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x108], 0
test rcx, rcx
je 0x1402a976a
mov rax, qword [rcx]
movsxd rax, dword [rax + 4]
add rax, rcx
jmp 0x1402a976c
xor eax, eax
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x2d8]
mov r15, qword [rsp + 0x2c0]
mov r12, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
movzx ecx, word [rsp + 0xa0]
mov dword [rsp + 0xc8], 0
mov word [rsp + 0xcc], cx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x1402a9353
lock dec dword [rcx + 8]
jne 0x1402a97eb
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0xe0], eax
movzx eax, word [rsp + 0xcc]
mov word [rsp + 0xe4], ax
test rcx, rcx
je 0x1402a9371
lock dec dword [rcx + 8]
jne 0x1402a9371
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rdx, qword [rsp + 0x70]
jmp 0x1402a9371
add rbp, 0x38
mov rbx, qword [rsp + 0x2d8]
jmp 0x1402a93ff