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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x1401a6c00]
xor rax, rsp
mov qword [rsp + 0xf0], rax
movzx eax, word [rcx + 0x228]
xor r15d, r15d
mov r14, qword [rcx + 0x1a0]
mov rdi, rcx
mov r12, qword [0x1401acd00]
mov r13d, r15d
mov qword [rsp + 0x58], r14
mov word [rsp + 0x20], ax
movzx eax, word [rcx + 0x22c]
vxorps xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
mov word [rsp + 0x28], ax
mov eax, dword [rcx + 0x6c]
vmovups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x80], r15d
vmovups xmmword [rsp + 0x90], xmm1
lea r14d, [rax*2 + 0x23]
mov dword [rsp + 0xa0], r15d
sar r14d, 3
and r14d, 0xfffffffc
mov dword [rsp + 0xc0], r15d
vmovups xmmword [rsp + 0xb0], xmm0
vmovups xmmword [rsp + 0xd0], xmm1
mov dword [rsp + 0xe0], r15d
lea ebx, [r14 + r14*4]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x60], r14d
movsxd rsi, ebx
cmp ebx, dword [r12 + 0x644c]
jle 0x1400d8ff6
mov rcx, rsi
call fcn.140094550
mov rdx, qword [r12 + 0x6450]
mov rdi, rax
test rdx, rdx
je 0x1400d8fe1
movsxd r8, dword [r12 + 0x6448]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 0x6450]
call fcn.140094600
mov qword [r12 + 0x6450], rdi
mov rdi, qword [rsp + 0x48]
mov dword [r12 + 0x644c], ebx
mov rcx, qword [r12 + 0x6450]
mov r8, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [r12 + 0x6450]
mov edx, r15d
mov qword [rsp + 0x88], rax
movsxd rax, r14d
add rax, qword [r12 + 0x6450]
mov qword [rsp + 0xa8], rax
lea eax, [r14 + r14]
movsxd rcx, eax
lea eax, [r14 + r14*2]
add rcx, qword [r12 + 0x6450]
mov qword [rsp + 0xc8], rcx
movsxd rcx, eax
lea eax, [r14*4]
add rcx, qword [r12 + 0x6450]
mov qword [rsp + 0xe8], rcx
movsxd rcx, eax
mov rax, qword [r12 + 0x6450]
add rax, rcx
mov dword [rsp + 0x24], edx
mov qword [rsp + 0x40], rax
cmp dword [rdi + 0x6c], r15d
jle 0x1400d9828
mov r8d, 1
mov r9, r15
mov r10d, r8d
mov dword [rsp + 0x50], r8d
lea r12d, [r8 + 1]
nop word [rax + rax]
mov rax, qword [rdi + 0x58]
movsxd rcx, edx
sar rcx, 5
test dword [rax + rcx*4], r10d
je 0x1400d92ac
movzx ebx, word [rsp + 0x20]
mov eax, r15d
mov r10, qword [rdi + 0x18]
test bx, bx
mov edi, r15d
setg al
inc eax
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x1400d90dc
movzx eax, word [r9 + r10 + 0x5e]
jmp 0x1400d90e2
movzx eax, word [r9 + r10 + 0x60]
movzx r14d, ax
mov rax, qword [rsp + 0x58]
mov r11d, r14d
shl r11, 5
mov esi, r14d
add r11, qword [rax + 0x10]
mov ecx, dword [r11]
mov eax, ecx
test ecx, ecx
jle 0x1400d9141
mov rbx, qword [r11 + 8]
lea edx, [rcx - 1]
movsxd rax, edx
imul r8, rax, 0x38
mov eax, ecx
cmp dword [r8 + rbx + 0x20], r15d
jne 0x1400d9132
cmp qword [r8 + rbx + 0x28], r15
mov r8d, 1
movzx ebx, word [rsp + 0x20]
jne 0x1400d913d
mov dword [r11], edx
mov eax, edx
jmp 0x1400d913d
movzx ebx, word [rsp + 0x20]
mov r8d, 1
mov edx, dword [rsp + 0x24]
cmp eax, 1
jne 0x1400d927f
test dword [r9 + r10], 0x100
jne 0x1400d9191
test bx, bx
jg 0x1400d9169
vmovss xmm0, dword [r9 + r10 + 0x44]
vmaxss xmm1, xmm0, dword [r9 + r10 + 0x48]
jmp 0x1400d9184
test edi, edi
jne 0x1400d917d
vmovss xmm0, dword [r9 + r10 + 0x48]
vmaxss xmm1, xmm0, dword [r9 + r10 + 0x40]
jmp 0x1400d9184
vmovss xmm1, dword [r9 + r10 + 0x44]
vcomiss xmm1, dword [r9 + r10 + 0x28]
ja 0x1400d927f
cmp word [rsp + 0x28], r15w
jle 0x1400d91b1
mov rax, qword [rsp + 0x48]
movsx eax, word [rax + 0x22c]
cmp edx, eax
jge 0x1400d91b1
mov ecx, r15d
mov r8, r15
jmp 0x1400d91ba
mov ecx, r8d
mov r8d, 0x20
test bx, bx
jle 0x1400d91cd
test edi, edi
jne 0x1400d91cd
mov eax, r15d
lea rdx, [rsp + 0x70]
jmp 0x1400d91d8
mov eax, r12d
lea rdx, [rsp + 0xb0]
lea r12d, [rax + rcx]
lea rbx, [rdx + r8]
cmp dword [rdx + r8 + 0x10], r15d
jne 0x1400d9208
mov dword [rdx + r8], 0x7f7fffff
mov dword [rbx + 4], 0x7f7fffff
mov dword [rdx + r8 + 8], 0xff7fffff
mov dword [rdx + r8 + 0xc], 0xff7fffff
mov rcx, qword [rdx + r8 + 0x18]
and r14d, 0x1f
shr rsi, 5
mov eax, dword [rcx + rsi*4]
bts eax, r14d
mov dword [rcx + rsi*4], eax
inc dword [rdx + r8 + 0x10]
mov rax, qword [r11 + 8]
vmovss xmm3, dword [rax]
vcomiss xmm3, dword [rdx + r8]
vmovss xmm0, dword [rax + 4]
vmovss xmm1, dword [rax + 8]
vmovss xmm2, dword [rax + 0xc]
jae 0x1400d9249
vmovss dword [rdx + r8], xmm3
vcomiss xmm0, dword [rbx + 4]
jae 0x1400d9255
vmovss dword [rbx + 4], xmm0
vcomiss xmm1, dword [rdx + r8 + 8]
jbe 0x1400d9265
vmovss dword [rdx + r8 + 8], xmm1
vcomiss xmm2, dword [rdx + r8 + 0xc]
jbe 0x1400d9275
vmovss dword [rdx + r8 + 0xc], xmm2
bts r13d, r12d
mov r12d, 2
mov edx, dword [rsp + 0x24]
inc edi
mov r8d, 1
movzx ebx, word [rsp + 0x20]
cmp edi, dword [rsp + 0x30]
jl 0x1400d90d0
mov rdi, qword [rsp + 0x48]
mov word [r9 + r10 + 0x5c], 0xffff
mov r10d, dword [rsp + 0x50]
inc edx
rol r10d, 1
add r9, 0x70
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x50], r10d
cmp edx, dword [rdi + 0x6c]
jl 0x1400d90a0
test r13d, r13d
je 0x1400d9828
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
vmovaps xmmword [rsp + 0x150], xmm6
vmovaps xmmword [rsp + 0x140], xmm7
mov ebx, dword [r14 + 4]
mov ecx, dword [r13 + 0x503c]
sub ebx, 2
vmovaps xmmword [rsp + 0x130], xmm8
vmovaps xmmword [rsp + 0x120], xmm9
vmovaps xmmword [rsp + 0x110], xmm10
vmovaps xmmword [rsp + 0x100], xmm11
cmp ebx, ecx
jle 0x1400d9389
test ecx, ecx
je 0x1400d9331
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400d9336
mov eax, 8
cmp eax, ebx
mov edi, ebx
cmovg edi, eax
cmp edi, ecx
jle 0x1400d9389
movsxd rcx, edi
shl rcx, 5
call fcn.140094550
mov rdx, qword [r13 + 0x5040]
mov rsi, rax
test rdx, rdx
je 0x1400d937b
movsxd r8, dword [r13 + 0x5038]
mov rcx, rax
shl r8, 5
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r13 + 0x5040]
call fcn.140094600
mov qword [r13 + 0x5040], rsi
mov dword [r13 + 0x503c], edi
mov dword [r13 + 0x5038], ebx
mov r10d, dword [r14 + 4]
mov rdi, qword [r13 + 0x5040]
dec r10d
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x30], rdi
cmp r10d, 2
jl 0x1400d940d
mov r11d, 0x1f
lea edi, [r11 - 0x1e]
nop dword [rax + rax]
mov eax, r12d
movsxd r8, r12d
or eax, r11d
mov r9d, r12d
and r9d, r11d
mov ecx, r10d
and ecx, r11d
mov rdx, rdi
cmp r10d, eax
mov rax, rdi
cmovg ecx, r11d
sar r8, 5
inc ecx
add r12d, 0x20
shl rdx, cl
and r12d, 0xffffffe0
dec edx
mov ecx, r9d
shl rax, cl
neg eax
and edx, eax
or dword [r14 + r8*4], edx
cmp r12d, r10d
jle 0x1400d93c0
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x48]
lea r11, [rsp + 0x88]
movzx r8d, word [rsp + 0x20]
mov r13d, r15d
mov r12, qword [rsp + 0x58]
movzx ecx, word [r9 + 0x234]
mov edx, ecx
and ecx, 0x1f
shr rdx, 5
mov eax, dword [r14 + rdx*4]
btr eax, ecx
mov dword [r14 + rdx*4], eax
test r8w, r8w
mov edx, dword [r12 + 4]
mov eax, r15d
vmovups xmm0, xmmword [r9 + 0x160]
vmovups xmmword [rsp + 0x30], xmm0
vmovss xmm9, dword [rsp + 0x3c]
vmovss xmm10, dword [rsp + 0x38]
vmovss xmm11, dword [rsp + 0x34]
vmovss xmm8, dword [rsp + 0x30]
setg al
add eax, 2
sub edx, eax
mov dword [rsp + 0x24], edx
mov esi, dword [r11 - 8]
test esi, esi
je 0x1400d972e
vmovups xmm0, xmmword [r11 - 0x18]
mov ecx, r13d
vmovups xmmword [rsp + 0x30], xmm0
and ecx, 1
je 0x1400d94b3
cmp word [rsp + 0x28], r15w
jle 0x1400d94b3
vmovss xmm3, dword [rsp + 0x30]
jmp 0x1400d94be
vmovss xmm0, dword [rsp + 0x30]
vminss xmm3, xmm0, xmm8
mov eax, r13d
and eax, 2
je 0x1400d94d4
test r8w, r8w
jle 0x1400d94d4
vmovss xmm6, dword [rsp + 0x34]
jmp 0x1400d94df
vmovss xmm0, dword [rsp + 0x34]
vminss xmm6, xmm0, xmm11
test ecx, ecx
je 0x1400d94f0
vmovss xmm0, dword [rsp + 0x38]
vmaxss xmm5, xmm0, xmm10
jmp 0x1400d94f6
vmovss xmm5, dword [rsp + 0x38]
test eax, eax
je 0x1400d9511
test dword [r9 + 4], 0x20000
jne 0x1400d9511
vmovss xmm0, dword [rsp + 0x3c]
vmaxss xmm4, xmm0, xmm9
jmp 0x1400d9517
vmovss xmm4, dword [rsp + 0x3c]
sub edx, esi
mov r8, r15
mov dword [rsp + 0x24], edx
mov edx, dword [rsp + 0x60]
sar edx, 2
test edx, edx
jle 0x1400d9666
cmp edx, 2
jb 0x1400d9666
mov r9, qword [r11]
lea eax, [rdx - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*4]
lea r10, [r14 + rcx*4]
cmp r14, rax
ja 0x1400d9557
cmp r10, r9
jae 0x1400d9666
cmp r14, r11
ja 0x1400d9565
cmp r10, r11
jae 0x1400d9666
cmp edx, 0x10
jb 0x1400d961c
mov ecx, edx
and ecx, 0x8000000f
jge 0x1400d957f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, edx
sub eax, ecx
lea rcx, [r14 + 0x20]
movsxd r12, eax
mov r10, 0xfffffffffffffff0
mov ebx, Ordinal_17
sub r10, r14
sub rbx, r14
mov r14, 0xffffffffffffffe0
sub r14, qword [rsp + 0x40]
nop dword [rax + rax]
lea rax, [r9 + r14]
add r8, 0x10
vmovdqu xmm0, xmmword [rax + rcx]
vpandn xmm0, xmm0, xmmword [rcx - 0x20]
vmovdqu xmmword [rcx - 0x20], xmm0
lea rax, [r9 + r10]
vmovdqu xmm0, xmmword [rax + rcx]
vpandn xmm0, xmm0, xmmword [rcx - 0x10]
vmovdqu xmmword [rcx - 0x10], xmm0
mov rax, r9
lea rcx, [rcx + 0x40]
sub rax, qword [rsp + 0x40]
vmovdqu xmm0, xmmword [rax + rcx - 0x40]
lea rax, [r9 + rbx]
vpandn xmm0, xmm0, xmmword [rcx - 0x40]
vmovdqu xmmword [rcx - 0x40], xmm0
vmovdqu xmm0, xmmword [rax + rcx - 0x40]
vpandn xmm0, xmm0, xmmword [rcx - 0x30]
vmovdqu xmmword [rcx - 0x30], xmm0
cmp r8, r12
jl 0x1400d95b0
mov r14, qword [rsp + 0x40]
mov eax, edx
and al, 0xf
cmp al, 2
jb 0x1400d9666
mov r10, qword [r11]
mov ecx, edx
and ecx, 0x80000001
jge 0x1400d9630
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, edx
sub eax, ecx
movsxd r9, eax
lea rcx, [r14 + r8*4]
nop dword [rax + rax]
vmovq xmm1, qword [rcx]
mov rax, r10
lea rcx, [rcx + 8]
sub rax, r14
add r8, 2
vmovq xmm0, qword [rax + rcx - 8]
vpandn xmm0, xmm0, xmm1
vmovq qword [rcx - 8], xmm0
cmp r8, r9
jl 0x1400d9640
movsxd r9, edx
cmp r8, r9
jge 0x1400d969a
lea rdx, [r14 + r8*4]
sub r9, r8
nop word [rax + rax]
mov rax, qword [r11]
mov rcx, rdx
sub rcx, r14
mov ecx, dword [rcx + rax]
not ecx
and dword [rdx], ecx
add rdx, 4
sub r9, 1
jne 0x1400d9680
mov r12, qword [rsp + 0x58]
mov r8d, r15d
cmp dword [r12 + 4], r15d
jle 0x1400d971f
mov edx, 1
mov r10, r15
test esi, esi
je 0x1400d971f
mov rbx, qword [r11]
movsxd rcx, r8d
sar rcx, 5
mov r9d, dword [rbx + rcx*4]
test r9d, edx
je 0x1400d970f
mov eax, r8d
dec esi
and eax, 0x1f
btr r9d, eax
mov dword [rbx + rcx*4], r9d
mov rcx, qword [r12 + 0x10]
vinsertps xmm0, xmm3, xmm6, 0x10
vinsertps xmm0, xmm0, xmm5, 0x20
vinsertps xmm0, xmm0, xmm4, 0x30
mov rax, qword [r10 + rcx + 8]
vmovups xmmword [rsp + 0x30], xmm0
vmovups xmmword [rax], xmm0
vmovups ymm0, ymmword [r10 + rcx]
mov rax, rdi
add rdi, 0x20
vmovups ymmword [rax], ymm0
inc r8d
rol edx, 1
add r10, 0x20
cmp r8d, dword [r12 + 4]
jl 0x1400d96b1
mov r9, qword [rsp + 0x48]
movzx r8d, word [rsp + 0x20]
mov edx, dword [rsp + 0x24]
cmp r13d, 1
jne 0x1400d976b
test r8w, r8w
jle 0x1400d976b
movzx ecx, word [r9 + 0x234]
mov rdx, rdi
mov rax, qword [r12 + 0x10]
add rdi, 0x20
shl rcx, 5
inc r13d
add r11, 0x20
vmovups ymm0, ymmword [rcx + rax]
vmovups ymmword [rdx], ymm0
mov edx, dword [rsp + 0x24]
jmp 0x1400d9483
inc r13d
add r11, 0x20
cmp r13d, 4
jl 0x1400d9483
mov eax, dword [r12 + 4]
vmovaps xmm11, xmmword [rsp + 0x100]
vmovaps xmm10, xmmword [rsp + 0x110]
vmovaps xmm9, xmmword [rsp + 0x120]
vmovaps xmm8, xmmword [rsp + 0x130]
vmovaps xmm7, xmmword [rsp + 0x140]
vmovaps xmm6, xmmword [rsp + 0x150]
test eax, eax
jle 0x1400d9801
mov r8, r15
mov r9d, 1
test edx, edx
je 0x1400d9801
movsxd rax, r15d
sar rax, 5
test dword [r14 + rax*4], r9d
je 0x1400d97ed
mov rax, qword [r12 + 0x10]
mov rcx, rdi
add rdi, 0x20
dec edx
vmovups ymm0, ymmword [rax + r8]
vmovups ymmword [rcx], ymm0
mov eax, dword [r12 + 4]
inc r15d
rol r9d, 1
add r8, 0x20
cmp r15d, eax
jl 0x1400d97c4
mov rdx, qword [rsp + 0x68]
add eax, 0xfffffffe
mov rcx, qword [r12 + 0x10]
movsxd r8, eax
add rcx, 0x40
shl r8, 5
mov rdx, qword [rdx + 0x5040]
vzeroupper
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400fd350
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret