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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1800a98a0]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov esi, edx
mov rbx, rcx
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov r14, qword [0x1800a9f48]
cmp dword [r14], 1
jne 0x180013fba
test edx, edx
jne 0x1800141dc
test r8d, r8d
jne 0x180014224
cmp dword [0x1800aa358], r15d
jne 0x18003e676
mov rax, qword gs:[0x30]
add rax, 0x800
je 0x18003e662
mov rax, qword gs:[0x30]
cmp dword [rax + 0x8e8], r15d
jne 0x18003e680
mov edi, dword [0x1800a98b4]
shr edi, 8
mov eax, 0x1ff
and di, ax
je 0x18001401b
call sym.USER32.dll_IsThreadDesktopComposited
test eax, eax
je 0x18003e694
test esi, esi
jne 0x18003e69d
mov r13, qword [r14 + 0x10]
mov r8, qword [0x1800a9f50]
add r13, r8
mov edx, dword [rsp + 0x164]
mov qword [rsp + 0x28], r13
test r13, r13
je 0x1800141c0
test byte [r13 + 0x18], 1
je 0x1800141b5
movups xmm0, xmmword [r13 + 0x1c]
movaps xmmword [rsp + 0x30], xmm0
test di, di
je 0x180014169
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
movzx esi, word [r13 + 0x42]
movzx r12d, di
mov r8d, esi
mov edx, r12d
mov ecx, eax
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
mov r14d, eax
mov dword [rsp + 0xb0], eax
mov r8d, esi
mov edx, r12d
mov ecx, dword [rsp + 0xac]
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
mov esi, eax
mov dword [rsp + 0xb4], eax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rcx
movaps xmm6, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x100], xmm6
movzx r15d, word [r13 + 0x40]
mov r8d, r15d
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
add eax, r14d
mov dword [rsp + 0x30], eax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd r14d, xmm0
mov ecx, r14d
sub ecx, dword [rsp + 0xbc]
mov r8d, r15d
mov edx, r12d
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
add eax, esi
mov dword [rsp + 0x34], eax
movdqa xmm0, xmm6
psrldq xmm0, 8
movd ecx, xmm0
movd eax, xmm6
sub ecx, eax
mov r8d, r15d
mov edx, r12d
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
psrldq xmm6, 0xc
movd ecx, xmm6
sub ecx, r14d
mov r8d, r15d
mov edx, r12d
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
add eax, dword [rsp + 0x34]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
mov r8, qword [0x1800a9f50]
mov edx, dword [rsp + 0x164]
xor r15d, r15d
movdqa xmmword [rsp + 0x80], xmm0
movd eax, xmm0
cmp ebx, eax
jl 0x18001419f
cmp ebx, dword [rsp + 0x38]
jge 0x18001419f
mov rcx, qword [rsp + 0x30]
shr rcx, 0x20
cmp edx, ecx
jl 0x18001419f
mov rcx, qword [rsp + 0x38]
shr rcx, 0x20
cmp edx, ecx
jge 0x18001419f
mov rax, r13
jmp 0x1800141f2
mov rax, qword [r13 + 0x10]
test rax, rax
jne 0x1800141b7
mov r13, r15
mov qword [rsp + 0x28], r15
jmp 0x18001403d
jmp 0x18001419f
lea r13, [rax + r8]
jmp 0x180014038
mov esi, dword [rsp + 0x168]
jmp 0x180014236
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1800141ef
mov r15, qword [0x1800a9f50]
add r15, rcx
mov rax, r15
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.180033470
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
shr r8d, 8
mov edi, 0x1ff
and di, r8w
jmp 0x18001401b
test esi, esi
jne 0x18003e934
xor eax, eax
jmp 0x1800141f2
mov ecx, 0xe
call qword [sym.imp.win32u.dll_NtUserGetThreadState]
test rax, rax
jne 0x180013fe5
mov edi, 0x12
jmp 0x180014001
mov rax, qword gs:[0x30]
mov edi, dword [rax + 0x8e8]
jmp 0x180014001
movzx edi, r15w
jmp 0x18001401b
sub esi, 1
je 0x180014023
cmp esi, 1
jne 0x18001423e
lea eax, [rbx + 0x8000]
mov r13d, dword [rsp + 0x164]
cmp eax, 0xffff
ja 0x18003e7fd
lea eax, [r13 + 0x8000]
cmp eax, 0xffff
ja 0x18003e7fd
mov r12d, 0xffffffff
mov dword [rsp + 0x48], r12d
mov rsi, qword [0x1800a9f50]
add rsi, qword [r14 + 0x10]
mov qword [rsp + 0x28], rsi
test rsi, rsi
je 0x18003e7ea
test byte [rsi + 0x18], 1
jne 0x18003e709
jmp 0x18003e7c5
movzx r8d, di
mov rdx, rsi
lea rcx, [rsp + 0xd8]
call fcn.1800129d4
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
movq rdx, xmm0
mov r8, qword [rsp + 0x88]
cmp ebx, edx
jge 0x18003e73f
mov ecx, edx
sub ecx, ebx
jmp 0x18003e750
cmp ebx, r8d
jge 0x18003e749
mov ecx, r15d
jmp 0x18003e750
mov ecx, ebx
sub ecx, r8d
inc ecx
mov dword [rsp + 0x20], ecx
cmp ecx, r12d
jb 0x18003e75b
jmp 0x18003e7c5
shr rdx, 0x20
cmp r13d, edx
jge 0x18003e76d
sub edx, r13d
mov dword [rsp + 0x24], edx
jmp 0x18003e799
shr r8, 0x20
cmp r13d, r8d
jge 0x18003e78b
test ecx, ecx
jne 0x18003e782
mov rax, rsi
jmp 0x1800141f2
mov edx, r15d
mov dword [rsp + 0x24], edx
jmp 0x18003e799
mov eax, r13d
sub eax, r8d
inc eax
mov edx, eax
mov dword [rsp + 0x24], eax
imul ecx, ecx
cmp ecx, r12d
jb 0x18003e7a3
jmp 0x18003e7c5
lea eax, [rcx + rdx]
cmp eax, r12d
jb 0x18003e7ad
jmp 0x18003e7c5
imul edx, edx
add ecx, edx
cmp ecx, r12d
jb 0x18003e7b9
jmp 0x18003e7c5
mov r12d, ecx
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x40], rsi
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18003e7dd
mov rsi, qword [0x1800a9f50]
add rsi, rcx
jmp 0x18003e6f0
mov rsi, r15
mov qword [rsp + 0x28], r15
jmp 0x18003e6f5
jmp 0x18003e92a
mov r12, 0xffffffffffffffff
mov qword [rsp + 0xa0], r12
mov rsi, qword [0x1800a9f50]
add rsi, qword [r14 + 0x10]
mov qword [rsp + 0x28], rsi
test rsi, rsi
je 0x18003e91f
test byte [rsi + 0x18], 1
jne 0x18003e830
jmp 0x18003e8fa
movzx r8d, di
mov rdx, rsi
lea rcx, [rsp + 0xe8]
call fcn.1800129d4
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
movq rcx, xmm0
mov r8, qword [rsp + 0x88]
cmp ebx, ecx
jge 0x18003e866
mov eax, ecx
sub eax, ebx
jmp 0x18003e877
cmp ebx, r8d
jge 0x18003e870
mov eax, r15d
jmp 0x18003e877
mov eax, ebx
sub eax, r8d
inc eax
mov dword [rsp + 0x20], eax
movsxd rdx, eax
cmp rdx, r12
jb 0x18003e885
jmp 0x18003e8fa
shr rcx, 0x20
cmp r13d, ecx
jge 0x18003e897
sub ecx, r13d
mov dword [rsp + 0x24], ecx
jmp 0x18003e8c3
shr r8, 0x20
cmp r13d, r8d
jge 0x18003e8b5
test eax, eax
jne 0x18003e8ac
mov rax, rsi
jmp 0x1800141f2
mov ecx, r15d
mov dword [rsp + 0x24], ecx
jmp 0x18003e8c3
mov eax, r13d
sub eax, r8d
inc eax
mov ecx, eax
mov dword [rsp + 0x24], eax
imul rdx, rdx
cmp rdx, r12
jb 0x18003e8ce
jmp 0x18003e8fa
movsxd r8, ecx
lea rax, [r8 + rdx]
cmp rax, r12
jb 0x18003e8dc
jmp 0x18003e8fa
imul r8, r8
add rdx, r8
cmp rdx, r12
jb 0x18003e8ea
jmp 0x18003e8fa
mov r12, rdx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x40], rsi
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18003e912
mov rsi, qword [0x1800a9f50]
add rsi, rcx
jmp 0x18003e817
mov rsi, r15
mov qword [rsp + 0x28], r15
jmp 0x18003e81c
jmp 0x18003e92a
mov rax, qword [rsp + 0x40]
jmp 0x1800141f2
cmp esi, 1
jne 0x18001423e
mov rax, qword [0x1800a9f48]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18003e951
lea r15, [rcx + r8]
mov rax, r15
jmp 0x1800141f2