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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rsi, qword [rcx + 0x10]
mov r15, rcx
mov ebp, dword [rsp + 0x110]
mov rbx, r8
cmp dword [rcx + 0x24], ebp
mov eax, ebp
mov r13d, r9d
cmovb eax, dword [rcx + 0x24]
xor edx, edx
mov rdi, qword [rsi + 0x27048]
mov dword [rsp + 0x4c], eax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x30]
mov rcx, rsi
mov qword [rsp + 0x30], rax
call fcn.1400c3124
xor r11d, r11d
mov byte [rsp + 0x28], al
mov rax, qword [0x14021c740]
mov r14d, r11d
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x40], r11
lea edx, [r11 + 1]
cmp byte [rax + 0xce0], r11b
je 0x14009ae2f
mov rax, qword [rsi + 0x26ad8]
mov qword [rsp + 0x40], r11
test rax, rax
je 0x14009ae2f
mov qword [rsp + 0x40], r11
test rdi, rdi
je 0x14009ae2f
movsxd r8, dword [rax + 4]
mov r14, rdi
movsx ecx, word [r15 + 0x42]
shl r8, 5
add r8, rdi
mov dword [rsp + 0x20], edx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x40], r11
cmp ecx, dword [r15 + 0x24]
jle 0x14009ae34
movsx eax, word [r15 + 0x4c]
sub ecx, eax
mov qword [rsp + 0x40], r11
sub ecx, ebp
test ecx, ecx
jle 0x14009ae34
imul ecx, dword [r15 + 0x20]
mov ebp, r11d
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x40], rdx
mov eax, ecx
shl rax, 5
sub r14, rax
jmp 0x14009ae36
mov ebp, r11d
jmp 0x14009ae36
mov ebp, edx
mov r12d, dword [r15 + 0x20]
lea eax, [r13*2]
mov esi, dword [rsp + 0x4c]
mov edx, r13d
mov dword [rsp + 0x5c], r12d
mov edi, r11d
mov dword [rsp + 0x3c], r11d
lea ecx, [r12 + r12]
cmp ecx, eax
mov eax, r13d
cmovb edx, r12d
sub eax, r12d
add edx, edx
cmp r12d, r13d
sbb ecx, ecx
and ecx, eax
mov dword [rsp + 0x50], ecx
test esi, esi
je 0x14009b3a2
mov r10, qword [rsp + 0xf8]
lea rax, [r13*2]
mov rcx, qword [rsp + 0x68]
add rax, r13
shl rax, 3
mov qword [rsp + 0x88], rax
lea rax, [r12 + r12]
mov r8d, edx
lea rdx, [r13*2]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x80], rdx
mov rdx, rcx
test edi, edi
mov rcx, r10
cmove rax, qword [rsp + 0x130]
mov qword [rsp + 0x128], rax
call fcn.14013b6b0
movsxd rax, dword [rsp + 0x50]
xor r11d, r11d
test eax, eax
jle 0x14009af10
mov rdi, qword [rsp + 0x78]
mov rcx, rax
add rdi, qword [rsp + 0xf8]
movzx eax, word [rsp + 0x118]
rep stosw word [rdi], ax
mov rax, qword [r15 + 0x10]
mov dil, 7
mov word [rsp + 0x26], di
mov eax, dword [rax + 0x4af0]
mov dword [rsp + 0x54], eax
cmp r12d, 4
jb 0x14009af40
mov rcx, qword [rsp + 0x30]
call fcn.14012aff0
xor r11d, r11d
mov cl, 1
test ax, ax
jne 0x14009af43
mov cl, r11b
mov r10, qword [rsp + 0xf8]
mov edx, r11d
mov qword [rsp + 0x60], r10
mov r9, r10
mov dword [rsp + 0x38], edx
mov r8d, r12d
mov byte [rsp + 0x24], cl
test r12d, r12d
jle 0x14009b2c7
mov r13, qword [rsp + 0x40]
mov r10d, 1
mov r12, qword [rsp + 0x70]
sub r8d, r10d
mov eax, edx
mov dword [rsp + 0x48], r8d
mov esi, ebp
mov byte [rsp + 0x110], r11b
mov bpl, r11b
lea rdi, [rax + rax*2]
test cl, cl
je 0x14009afa1
mov al, r10b
cmp edx, 4
jb 0x14009afa4
mov al, r11b
mov byte [rsp + 0xf0], al
cmp dword [rsp + 0x54], r11d
jne 0x14009afe0
test al, al
mov rax, qword [rsp + 0x30]
jne 0x14009afdc
movzx ecx, word [rax]
bt cx, 0xe
jae 0x14009afdc
mov al, byte [rax]
mov bpl, r10b
shr cl, 4
and cl, 0xf
shl al, 4
or cl, al
mov word [rsp + 0x26], cx
jmp 0x14009afe5
mov cl, byte [rax]
jmp 0x14009afd5
movzx ecx, word [rsp + 0x26]
movzx eax, cl
lea rdx, [rsp + 0x100]
test r8d, r8d
setg byte [rsp + 0x100]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x128]
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [rbx + rdi*8], xmm0
movsd xmm1, qword [rax + rcx*8 + 0x10]
mov rcx, r9
mov rax, qword [rsp + 0x30]
movsd qword [rbx + rdi*8 + 0x10], xmm1
movzx eax, word [rax]
mov word [rbx + rdi*8 + 0x14], ax
call fcn.14012b6d4
xor r8d, r8d
mov dword [rsp + 0x58], eax
test r13, r13
je 0x14009b05e
cmp dword [rsp + 0x20], r8d
jne 0x14009b06a
mov rax, qword [r15 + 0x10]
cmp r14, qword [rax + 0x27048]
jb 0x14009b1f6
lea eax, [r8 + 1]
mov dword [rsp + 0x20], eax
jmp 0x14009b06f
mov dword [rsp + 0x20], esi
test esi, esi
je 0x14009b1f2
mov eax, 1
cmp r14, r12
jb 0x14009b081
mov ebp, r8d
mov dword [rsp + 0x20], r8d
jmp 0x14009b1fa
test dword [r14 + 0xc], 0x200
cmovne ebp, eax
test dword [r14 + 4], 0x2000000
je 0x14009b188
mov byte [rbx + rdi*8 + 3], r8b
mov esi, dword [r14 + 4]
mov byte [rsp + 0x110], al
cmp byte [rsp + 0x138], r8b
je 0x14009b0d3
mov rcx, qword [0x14021c740]
and esi, 0xffffff
mov edx, esi
call fcn.14007d588
mov esi, eax
xor r8d, r8d
mov eax, dword [r14 + 4]
jmp 0x14009b0d5
mov eax, esi
bt eax, 0x18
jae 0x14009b107
mov ecx, dword [r14]
cmp byte [rsp + 0x138], r8b
je 0x14009b101
and ecx, 0xffffff
mov edx, ecx
mov rcx, qword [0x14021c740]
call fcn.14007d588
mov ecx, eax
xor r8d, r8d
mov edx, dword [rbx + rdi*8 + 4]
jmp 0x14009b10d
mov ecx, dword [rbx + rdi*8 + 4]
mov edx, ecx
and dword [rbx + rdi*8], 0xff000000
mov r9d, 0xffffff
test bpl, bpl
mov eax, esi
cmovne eax, ecx
and eax, r9d
or dword [rbx + rdi*8], eax
test bpl, bpl
cmovne ecx, esi
xor ecx, edx
and ecx, r9d
xor ecx, edx
mov dword [rbx + rdi*8 + 4], ecx
mov sil, byte [rsp + 0x110]
movzx eax, word [r14 + 0xc]
mov ebp, dword [rsp + 0x20]
test eax, eax
je 0x14009b1e7
mov al, byte [r14 + 0xc]
and al, 7
mov byte [rbx + rdi*8 + 3], al
mov rsi, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x58]
call fcn.140134e00
xor r11d, r11d
test eax, eax
je 0x14009b221
cmp eax, 2
jne 0x14009b226
or byte [rbx + rdi*8 + 8], 4
jmp 0x14009b226
test dword [r14 + 4], 0x1000000
je 0x14009b139
mov sil, al
mov byte [rbx + rdi*8 + 3], r8b
mov eax, dword [r14]
cmp byte [rsp + 0x138], r8b
je 0x14009b1bd
mov rcx, qword [0x14021c740]
and eax, 0xffffff
mov edx, eax
call fcn.14007d588
xor r8d, r8d
and eax, 0xffffff
test bpl, bpl
je 0x14009b1d6
and dword [rbx + rdi*8], 0xff000000
or dword [rbx + rdi*8], eax
jmp 0x14009b141
and dword [rbx + rdi*8 + 4], 0xff000000
or dword [rbx + rdi*8 + 4], eax
jmp 0x14009b141
test sil, sil
jne 0x14009b15c
jmp 0x14009b1fa
mov ebp, esi
jmp 0x14009b1fa
mov ebp, dword [rsp + 0x20]
cmp byte [rsp + 0xf0], r8b
jne 0x14009b15c
mov rsi, qword [rsp + 0x30]
cmp word [rsi], r8w
jge 0x14009b161
mov byte [rbx + rdi*8 + 3], 4
jmp 0x14009b161
or byte [rbx + rdi*8 + 8], 2
mov r10d, 1
mov edx, dword [rsp + 0x38]
mov r9, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
cmp byte [rsp + 0x100], r11b
je 0x14009b27f
or byte [rbx + rdi*8 + 8], 0x10
add rsi, 2
movups xmm0, xmmword [rbx + rdi*8]
inc edx
add r14, 0x20
add r9, 2
lea rcx, [rdx + rdx*2]
movups xmmword [rbx + rcx*8], xmm0
movsd xmm1, qword [rbx + rdi*8 + 0x10]
movsd qword [rbx + rcx*8 + 0x10], xmm1
mov al, byte [rbx + rdi*8 + 8]
and al, 0xfd
or al, r10b
mov byte [rbx + rcx*8 + 8], al
sub r8d, r10d
mov cl, byte [rsp + 0x24]
add edx, r10d
add rsi, 2
mov dword [rsp + 0x38], edx
add r9, 2
mov qword [rsp + 0x30], rsi
add r14, 0x20
mov qword [rsp + 0x60], r9
test r8d, r8d
jg 0x14009af7a
mov r12d, dword [rsp + 0x5c]
mov r13d, dword [rsp + 0x108]
mov esi, dword [rsp + 0x4c]
movzx edi, word [rsp + 0x26]
mov r10, qword [rsp + 0xf8]
mov r8d, 1
cmp r12d, r13d
jae 0x14009b304
mov eax, r12d
mov edx, r13d
sub edx, r12d
lea rax, [rax + rax*2]
lea rcx, [rbx + rax*8]
mov rax, qword [rsp + 0x120]
movsd xmm1, qword [rax + 0x10]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movsd qword [rcx + 0x10], xmm1
lea rcx, [rcx + 0x18]
sub rdx, r8
jne 0x14009b2eb
cmp byte [rsp + 0x140], r11b
je 0x14009b358
mov eax, dword [rsp + 0x3c]
inc eax
cmp eax, esi
jne 0x14009b358
cmp byte [rsp + 0x28], r11b
je 0x14009b358
lea eax, [r13 - 1]
cmp word [r10 + rax*2], 0x41
jne 0x14009b358
cmp dil, 0xcf
jne 0x14009b358
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x128]
movups xmm0, xmmword [rax + 0x1368]
movups xmmword [rbx + rcx*8], xmm0
movsd xmm1, qword [rax + 0x1378]
movsd qword [rbx + rcx*8 + 0x10], xmm1
jmp 0x14009b360
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x68]
mov edi, dword [rsp + 0x3c]
add rcx, qword [rsp + 0x78]
add edi, r8d
add r10, qword [rsp + 0x80]
add rbx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0xf8], r10
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x3c], edi
cmp edi, esi
jb 0x14009aecb
mov eax, esi
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret