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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r11, qword [rcx + 0xc8]
test r11, r11
mov rsi, rdx
mov rdi, r9
mov qword [rsp + 0x100], rcx
mov dword [rsp + 0x110], r8d
mov qword [rsp + 0x40], 0
jne 0x14022cf75
jmp 0x14022d4d1
mov r11, qword [r11 + 0x20]
test r11, r11
je 0x14022d4d1
cmp qword [r11 + 8], 1
jne 0x14022cf68
add dword [r11 + 0x10], 1
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x34], 0
lea rbx, [rsp + 0x50]
lea r14, [rsp + 0x80]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x118], rdi
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x38], eax
nop word [rax + rax]
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
sub eax, dword [rsp + 0x110]
cmp eax, ecx
jle 0x14022d4bc
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x28]
mov r9, qword [rax + 0x18]
movzx r8d, word [r9 + 2]
rol r8w, 8
movzx r15d, r8w
test r15d, r15d
je 0x14022d4b2
pxor xmm5, xmm5
mov rax, qword [rsp + 0x100]
add r9, 0xc
movapd xmm4, xmm5
xor r11d, r11d
xor ebp, ebp
movzx ecx, byte [rax + 0x24]
movzx r12d, byte [rax + 0x26]
movzx r10d, byte [rax + 0x25]
movzx r13d, byte [rax + 0x27]
nop dword [rax]
mov rdi, qword [r9 - 8]
xor eax, eax
bswap rdi
mov qword [rsp + 0x50], rdi
nop
mov edx, dword [r9 + rax*4]
mov r8d, dword [r9 + rax*4 + 4]
bswap edx
movd xmm0, edx
bswap r8d
movd xmm1, r8d
punpckldq xmm0, xmm1
movq qword [rbx + rax*4 + 8], xmm0
add rax, 2
cmp r10d, eax
jg 0x14022d040
mov rax, qword [rsp + 0x50]
mov r8, r14
mov edx, r12d
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xa8], rax
call fcn.140239940
test r12b, r12b
movapd xmm3, xmm0
jne 0x14022d2d8
movss xmm0, dword [rsp + 0x88]
cmp r10d, 2
minss xmm0, dword [rsi + 8]
movss dword [rsp + 0x88], xmm0
movss xmm0, dword [rsp + 0x8c]
maxss xmm0, dword [rsi + 0xc]
movss dword [rsp + 0x8c], xmm0
jle 0x14022d1d6
movss xmm0, dword [rsp + 0x90]
cmp r10d, 4
minss xmm0, dword [rsi + 0x10]
movss dword [rsp + 0x90], xmm0
movss xmm0, dword [rsp + 0x94]
maxss xmm0, dword [rsi + 0x14]
movss dword [rsp + 0x94], xmm0
jle 0x14022d1d6
movss xmm0, dword [rsp + 0x98]
cmp r10d, 6
minss xmm0, dword [rsi + 0x18]
movss dword [rsp + 0x98], xmm0
movss xmm0, dword [rsp + 0x9c]
maxss xmm0, dword [rsi + 0x1c]
movss dword [rsp + 0x9c], xmm0
jle 0x14022d1d6
movss xmm0, dword [rsp + 0xa0]
cmp r10d, 8
minss xmm0, dword [rsi + 0x20]
movss dword [rsp + 0xa0], xmm0
movss xmm0, dword [rsp + 0xa4]
maxss xmm0, dword [rsi + 0x24]
movss dword [rsp + 0xa4], xmm0
jle 0x14022d1d6
movss xmm0, dword [rsp + 0xa8]
minss xmm0, dword [rsi + 0x28]
movss dword [rsp + 0xa8], xmm0
movss xmm0, dword [rsp + 0xac]
maxss xmm0, dword [rsi + 0x2c]
movss dword [rsp + 0xac], xmm0
mov r8, r14
mov edx, r12d
call fcn.140239940
mov r8, rbx
mov edx, r12d
movapd xmm2, xmm0
call fcn.140239940
test ebp, ebp
subsd xmm2, xmm3
je 0x14022d210
comisd xmm4, xmm2
ja 0x14022d210
ucomisd xmm4, xmm2
jp 0x14022d21b
jne 0x14022d21b
comisd xmm5, xmm0
jbe 0x14022d21b
nop dword [rax]
movapd xmm5, xmm0
movapd xmm4, xmm2
mov r11, rdi
add ebp, 1
add r9, r13
cmp ebp, r15d
jne 0x14022d030
mov edx, r11d
mov eax, r11d
imul rdx, rdx, 0x51d07eaf
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 6
imul edx, eax, 0x61
mov eax, r11d
sub eax, edx
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rcx + rax*8 + 0xc0]
test rdi, rdi
jne 0x14022d27d
jmp 0x14022d43b
mov rdi, qword [rdi + 0x20]
test rdi, rdi
je 0x14022d43b
cmp r11, qword [rdi + 8]
jne 0x14022d270
mov rax, qword [rsp + 0x28]
cmp qword [rdi], rax
je 0x14022d40a
sub dword [rax + 0x10], 1
mov rdi, qword [rsp + 0x118]
jne 0x14022d2af
mov rcx, qword [rsp + 0x100]
mov rdx, rax
call fcn.1402aa830
xor r11d, r11d
mov r13d, 0x10b
mov eax, r13d
mov qword [rdi], r11
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x88]
mov edx, dword [rsi + 8]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsp + 0x8c]
movd xmm0, edx
mov edx, dword [rsi + 0xc]
cmp eax, edx
cmovl eax, edx
cmp r10d, 2
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x88], xmm0
jle 0x14022d1d6
mov eax, dword [rsp + 0x90]
mov edx, dword [rsi + 0x10]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsp + 0x94]
movd xmm0, edx
mov edx, dword [rsi + 0x14]
cmp eax, edx
cmovl eax, edx
cmp r10d, 4
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x90], xmm0
jle 0x14022d1d6
mov eax, dword [rsi + 0x18]
mov edx, dword [rsp + 0x98]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsi + 0x1c]
movd xmm0, edx
mov edx, dword [rsp + 0x9c]
cmp eax, edx
cmovl eax, edx
cmp r10d, 6
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x98], xmm0
jle 0x14022d1d6
mov edx, dword [rsp + 0xa0]
mov eax, dword [rsi + 0x20]
mov r8d, dword [rsp + 0xa4]
cmp eax, edx
cmovle edx, eax
movd xmm0, edx
mov edx, dword [rsi + 0x24]
cmp edx, r8d
cmovl edx, r8d
cmp r10d, 8
movd xmm2, edx
punpckldq xmm0, xmm2
movq qword [rsp + 0xa0], xmm0
jle 0x14022d1d6
mov edx, dword [rsp + 0xa8]
mov eax, dword [rsi + 0x28]
mov r8d, dword [rsp + 0xac]
cmp eax, edx
cmovle edx, eax
movd xmm0, edx
mov edx, dword [rsi + 0x2c]
cmp edx, r8d
cmovl edx, r8d
movd xmm2, edx
punpckldq xmm0, xmm2
movq qword [rsp + 0xa8], xmm0
jmp 0x14022d1d6
add dword [rdi + 0x10], 1
mov qword [rsp + 0x48], rdi
mov ecx, dword [rax + 0x10]
lea r13d, [rcx - 1]
mov dword [rsp + 0x3c], ecx
test r13d, r13d
mov dword [rax + 0x10], r13d
je 0x14022d499
add dword [rsp + 0x34], 1
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], rdi
jmp 0x14022cfc0
mov r15, qword [rsp + 0x28]
lea r9, [rsp + 0x48]
mov rdx, r11
mov rcx, qword [rsp + 0x100]
mov r8, r15
call fcn.1402aa2e0
mov rdi, qword [rsp + 0x48]
mov r13d, eax
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [r15 + 0x10], eax
je 0x14022d499
mov qword [rsp + 0x28], rdi
add dword [rsp + 0x34], 1
test r13d, r13d
mov qword [rsp + 0x40], rdi
jne 0x14022d500
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x38], eax
jmp 0x14022cfc0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x100]
call fcn.1402aa830
mov qword [rsp + 0x28], rdi
jmp 0x14022d476
xor eax, eax
xor r11d, r11d
jmp 0x14022d24c
mov r11, qword [rsp + 0x28]
xor r13d, r13d
mov rdi, qword [rsp + 0x118]
jmp 0x14022d2b8
mov rcx, qword [rsp + 0x100]
xor r8d, r8d
mov edx, 1
lea r9, [rsp + 0x40]
call fcn.1402aa2e0
mov r11, qword [rsp + 0x40]
test eax, eax
mov r13d, eax
je 0x14022cf86
jmp 0x14022d2b8
mov r11, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x118]
jmp 0x14022d2b8