Function at 0x1402873fb
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, 0xc08
movaps xmmword [rsp + 0xbf0], xmm6
mov r14, r9
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
lea rbp, [rsp + 0x4c8]
mov rcx, rbp
call fcn.140281a7c
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x160], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x170], rax
mov r15d, dword [rbp + 0x18]
mov r12d, dword [rbp + 0x1c]
mov r13d, dword [rbp + 0x20]
mov eax, dword [rbp + 0x24]
mov dword [rsp + 0x34], eax
mov eax, dword [rbp + 0x2a]
mov dword [rsp + 0x68], eax
movzx eax, word [rbp + 0x2e]
mov word [rsp + 0x6c], ax
mov rcx, rdi
mov rdx, rsi
call fcn.1402818f5
mov rsi, rdx
test rax, rax
je 0x140287490
mov qword [rbx + 8], rsi
mov qword [rbx], 0
jmp 0x140287f27
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x28], rbx
lea rdi, [rsp + 0x4c8]
mov rcx, rdi
call fcn.140066eaa
xorps xmm0, xmm0
lea rax, [rsp + 0x1c0]
mov ecx, 1
mov qword [rax], rcx
mov ecx, 1
mov qword [rax + 8], rsi
xor r12d, r12d
mov qword [rax + 0x18], r12
mov qword [rax + 0x70], r12
mov r15d, 8
mov qword [rax + 0x78], r15
movaps xmmword [rax + 0x80], xmm0
movaps xmmword [rax - 0x10], xmm0
movups xmm0, xmmword [rdi]
movaps xmmword [rax - 0x20], xmm0
mov dword [rax + 0xa0], 0
mov qword [rax + 0x90], rcx
mov qword [rax + 0x98], r12
movaps xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x6c]
mov word [rsp + 0x3c], ax
lea r13, [rsp + 0x50]
mov qword [r13], r12
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r12
mov rsi, qword [r14 + 8]
mov rbp, qword [r14 + 0x10]
mov rcx, rbp
xor edx, edx
call fcn.140056949
mov rdi, r14
mov r14, rax
mov rbx, rdx
mov rcx, rdx
mov rdx, rsi
mov r8, rbp
call fcn.1403abad0
mov qword [rsp + 0x70], rdi
mov sil, byte [rdi + 0x18]
mov rcx, r13
xor edx, edx
call fcn.14013ca35
mov rax, qword [r13 + 8]
mov rdi, qword [r13 + 0x10]
mov rcx, rdi
shl rcx, 5
mov qword [rax + rcx], r14
mov qword [rax + rcx + 8], rbx
mov qword [rax + rcx + 0x10], rbp
mov byte [rax + rcx + 0x18], sil
inc rdi
mov qword [r13 + 0x10], rdi
lea rax, [rsp + 0xa8]
mov qword [rax], r12
mov ecx, 1
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r12
lea rbp, [rsp + 0x4dc]
lea r14, [rsp + 0x4dc]
lea r12, [rsp + 0x270]
add r15, r12
mov qword [rsp + 0x130], r15
mov ebx, dword [rsp + 0x34]
mov eax, ebx
or eax, 0x4000
mov dword [rsp + 0x84], eax
or ebx, 0x8000
movaps xmm6, xmmword [0x1403bca40]
mov dword [rsp + 0x34], ebx
test rdi, rdi
je 0x140287f7d
dec rdi
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0x58]
mov rdx, rdi
shl rdx, 5
mov cl, byte [rax + rdx + 0x18]
cmp cl, 2
je 0x140287f7f
add rax, rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x740], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x730], xmm0
mov byte [rsp + 0x748], cl
mov ecx, dword [rax + 0x19]
mov eax, dword [rax + 0x1c]
lea rdx, [rsp + 0x740]
mov dword [rdx + 0xc], eax
mov dword [rdx + 9], ecx
lea rcx, [rsp + 0x4c8]
lea rdx, [rsp + 0x730]
call fcn.140200ba4
mov esi, dword [rsp + 0x4d8]
mov rdi, qword [rsp + 0x4c8]
cmp esi, 2
je 0x140287ff1
mov rbx, qword [rsp + 0x4d0]
mov r8d, 0x254
lea r13, [rsp + 0x99c]
mov rcx, r13
mov rdx, rbp
call fcn.1403abad0
mov qword [rsp + 0x4c8], rdi
mov qword [rsp + 0x4d0], rbx
mov dword [rsp + 0x4d8], esi
mov r8d, 0x254
mov rcx, r14
mov rdx, r13
call fcn.1403abad0
mov r14, qword [rsp + 0x70]
lea r13, [rsp + 0x88]
lea rcx, [rsp + 0x730]
lea rdx, [rsp + 0x4c8]
call fcn.1402461a0
cmp qword [rsp + 0x730], 0
je 0x140287d5b
mov rsi, qword [rsp + 0x738]
mov rdi, qword [rsp + 0x988]
test rdi, rdi
je 0x140287d82
mov r8d, 0x248
mov rcx, qword [rsp + 0x130]
lea rdx, [rsp + 0x740]
call fcn.1403abad0
mov qword [rsp + 0x270], rsi
mov qword [rsp + 0x4c0], rdi
mov rcx, r13
mov rdx, r12
call fcn.1402463f0
mov rax, qword [rsp + 0x4c0]
lock dec qword [rax]
jne 0x140287785
mov rcx, qword [rsp + 0x4c0]
call fcn.140278f3d
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rcx, rbp
xor edx, edx
call fcn.140056949
mov rsi, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, rbx
mov r8, rbp
call fcn.1403abad0
mov rcx, r12
mov rdx, rdi
mov r8, rbp
xor r9d, r9d
call fcn.140248470
mov rbp, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x278]
cmp rbp, 2
je 0x1402877ed
mov r15d, dword [rsp + 0x2b0]
mov eax, dword [rsp + 0x2b4]
mov dword [rsp + 0x4c], eax
test rsi, rsi
je 0x140287804
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp ebp, 2
je 0x140287d97
bt r15d, 0xa
setae al
bt dword [rsp + 0x4c], 0x1d
setae cl
or cl, al
mov eax, r15d
and eax, 0x10
cmp cl, 1
jne 0x140287a6f
test eax, eax
jne 0x140287a6f
xor eax, eax
mov dword [r12 + 0x20], eax
mov word [r12 + 0x24], 0
mov qword [rsp + 0x270], 0
mov dword [rsp + 0x278], eax
movups xmmword [rsp + 0x280], xmm6
mov byte [rsp + 0x290], 1
mov rbp, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rcx, rbp
mov rdx, rsi
mov r8, r12
call fcn.140244800
mov rdi, rdx
test rax, rax
jne 0x140287da2
mov qword [rsp + 0x78], rdi
mov rcx, r12
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0xa8]
call fcn.1402460e0
cmp qword [rsp + 0x270], 0
jne 0x140287db7
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xc0]
mov r9, rbp
call fcn.140284680
mov rbp, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0xf8]
mov rdx, rbp
call fcn.1402849bc
cmp dword [rsp + 0x40], 1
mov eax, 0x81a4
cmove eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xf0], rcx
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x280], rcx
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x270], xmm0
mov esi, dword [rsp + 0x48]
mov dword [rsp + 0x288], esi
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x28c], ebx
mov dword [rsp + 0x290], 1
mov dword [rsp + 0x294], eax
mov word [rsp + 0x298], 0
movzx eax, word [rsp + 0x3c]
mov word [r12 + 0x2e], ax
mov eax, dword [rsp + 0x38]
mov dword [r12 + 0x2a], eax
mov qword [rsp + 0x180], 0
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0xe0]
mov r9, r12
call fcn.140285bc6
mov rax, qword [rsp + 0x138]
cmp rax, 4
jne 0x140287dd1
mov dword [rsp + 0x20], ebx
mov rcx, r12
lea rdx, [rsp + 0x1c0]
xor r8d, r8d
mov r9d, esi
call fcn.140283be0
mov rax, qword [rsp + 0x270]
cmp rax, 4
jne 0x140287ddb
mov byte [rsp + 0x260], 1
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x1a0]
call fcn.140285234
test rax, rax
jne 0x140287dfe
mov qword [rsp + 0xb8], 0
cmp qword [rsp + 0xc0], 0
je 0x140287a61
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x140287d30
mov ecx, r15d
shr ecx, 0xa
mov edx, dword [rsp + 0x4c]
shr edx, 0x1d
and edx, ecx
test dl, 1
jne 0x140287d30
test eax, eax
je 0x140287d30
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0xc0]
mov r9, r14
call fcn.140284680
mov rsi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.1402849bc
cmp dword [rsp + 0x40], 1
mov edi, 0x41ed
cmove edi, dword [rsp + 0x84]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x140287b6f
mov bl, byte [rcx + rdx - 1]
test bl, bl
js 0x140287b18
movzx ebx, bl
jmp 0x140287b65
movzx ebp, byte [rcx + rdx - 2]
cmp bpl, 0xc0
jge 0x140287b47
mov r9, rsi
movzx esi, byte [rcx + rdx - 3]
cmp sil, 0xc0
jge 0x140287b4c
movzx r8d, byte [rcx + rdx - 4]
and r8d, 7
shl r8d, 6
and esi, 0x3f
or esi, r8d
jmp 0x140287b4f
and ebp, 0x1f
jmp 0x140287b5a
and esi, 0xf
shl esi, 6
and ebp, 0x3f
or ebp, esi
mov rsi, r9
shl ebp, 6
and bl, 0x3f
movzx ebx, bl
or ebx, ebp
cmp ebx, 0x2f
je 0x140287bb4
cmp ebx, 0x5c
je 0x140287bb4
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], rdx
mov r8d, 1
mov rcx, r12
lea rdx, [0x1404ef060]
call fcn.14005777d
mov rax, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x278]
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x280], rax
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x270], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x288], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x28c], eax
mov dword [rsp + 0x290], 1
mov dword [rsp + 0x294], edi
mov word [rsp + 0x298], 0
movzx eax, word [rsp + 0x3c]
mov word [r12 + 0x2e], ax
mov eax, dword [rsp + 0x38]
mov dword [r12 + 0x2a], eax
mov qword [rsp + 0x180], 0
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0xe0]
mov r9, r12
call fcn.140285bc6
mov rax, qword [rsp + 0x138]
cmp rax, 4
jne 0x140287f43
mov byte [rsp + 0x260], 0
mov rcx, r13
xor edx, edx
call fcn.140056949
mov rsi, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r13
call fcn.1403abad0
mov bl, byte [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x50]
jne 0x140287cc5
lea rcx, [rsp + 0x50]
call fcn.14013ca35
mov rdx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rsi
mov qword [rax + rcx + 8], rdi
mov qword [rax + rcx + 0x10], r13
mov byte [rax + rcx + 0x18], bl
mov ebp, dword [rsp + 0x270]
mov ebx, dword [rsp + 0x273]
mov dword [rax + rcx + 0x19], ebp
mov dword [rax + rcx + 0x1c], ebx
inc rdx
mov qword [rsp + 0x60], rdx
cmp qword [rsp + 0xc0], 0
je 0x140287d28
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea r13, [rsp + 0x88]
cmp qword [rsp + 0x88], 0
je 0x1402876f7
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
jmp 0x1402876f7
lea rcx, [rsp + 0x4c8]
call fcn.140005f57
mov rdi, qword [rsp + 0x60]
lea rbp, [rsp + 0x4dc]
lea r14, [rsp + 0x4dc]
jmp 0x140287615
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rsi
mov qword [rax], 0
jmp 0x140287e59
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rbx
jmp 0x140287dab
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rdi
mov qword [rax], 0
jmp 0x140287e37
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov qword [rcx], 0
jmp 0x140287e2e
movups xmm0, xmmword [rsp + 0x140]
jmp 0x140287de3
movups xmm0, xmmword [rsp + 0x278]
movaps xmmword [rsp + 0x150], xmm0
mov rcx, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x150]
movups xmmword [rcx + 8], xmm0
jmp 0x140287e09
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
xor eax, eax
mov qword [rcx], rax
cmp qword [rsp + 0xc0], 0
je 0x140287e2e
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp qword [rsp + 0x88], 0
je 0x140287e59
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rcx, [rsp + 0x4c8]
call fcn.140005f57
cmp qword [rsp + 0xa8], 0
je 0x140287e88
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1400ca86d
cmp qword [rsp + 0x50], 0
je 0x140287eb4
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rsi, [rsp + 0x1a0]
mov rcx, rsi
call fcn.140286fb4
lea rcx, [rsp + 0x1c0]
call fcn.14028551c
mov rcx, qword [rsi + 0x98]
mov rdx, qword [rsi + 0xa0]
call fcn.1402845e0
cmp qword [rsi + 0x90], 0
je 0x140287f05
mov r8, qword [rsp + 0x238]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0x248], 0
je 0x140287f27
mov r8, qword [rsp + 0x250]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
movaps xmm6, xmmword [rsp + 0xbf0]
add rsp, 0xc08
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x140]
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 8], xmm0
mov qword [rcx], rax
cmp qword [rsp + 0xc0], 0
je 0x140287e37
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.DLL_HeapFree]
jmp 0x140287e37
xor edi, edi
lea rsi, [rsp + 0x4c8]
lea rdx, [rsp + 0x1a0]
mov rcx, rsi
call fcn.1402865d7
mov rax, qword [rsi]
cmp rax, 4
jne 0x140288006
mov rcx, qword [rsp + 0x4d0]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rax, qword [rsp + 0x28]
mov qword [rax], 4
cmp qword [rsp + 0xa8], 0
je 0x140287fe1
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov rdx, rdi
jmp 0x140287e95
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rdi
mov qword [rax], 0
jmp 0x140287e66
movups xmm0, xmmword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
movups xmmword [rcx + 8], xmm0
jmp 0x140287e66