Function at 0x1403455e0
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, 0x1d8
movaps xmmword [rsp + 0x1c0], xmm8
movaps xmmword [rsp + 0x1b0], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x198], rax
mov dil, 1
mov qword [rsp + 0xc0], r8
cmp dword [r8 + 0x10], 0
je 0x140346d7b
mov r15, r9
mov rbx, rcx
mov r9d, dword [rcx + 8]
cmp r9d, edx
jbe 0x140346d7b
mov r8, qword [rbx]
test r8, r8
lea rsi, [0x1405d7500]
mov rax, r8
cmove rax, rsi
cmp dword [rax + 0x18], 0x14
mov rcx, rsi
jb 0x140345668
mov rcx, qword [rax + 0x10]
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x180]
call fcn.1403473f0
cmp dword [rsp + 0x190], 4
mov r8, qword [rsp + 0x188]
cmovae rsi, r8
movzx eax, word [rsi]
rol ax, 8
test ax, ax
je 0x140346c82
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0x168], xmm0
mov rcx, qword [rbx]
test rcx, rcx
lea rax, [0x1405d7500]
cmove rcx, rax
cmp dword [rcx + 0x18], 0x14
jb 0x1403456cb
mov rax, qword [rcx + 0x10]
movzx eax, word [rax + 4]
rol ax, 8
movzx edx, ax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x120], xmm0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x120]
lea r9, [rsp + 0xe0]
call fcn.1403474b0
mov dil, 1
test al, al
je 0x140346d59
mov rcx, qword [rbx]
test rcx, rcx
lea rax, [0x1405d7500]
cmove rcx, rax
cmp dword [rcx + 0x18], 0x14
jb 0x14034573e
mov rax, qword [rcx + 0x10]
movzx ecx, word [rax + 4]
movzx edx, word [rax + 6]
rol cx, 8
movzx ecx, cx
mov r8d, dword [rax + 8]
bswap r8d
add r8, rax
mov qword [rsp + 0xb0], r8
rol dx, 8
movzx eax, dx
mov dword [rsp + 0xa4], ecx
imul eax, ecx
mov dword [rsp + 0xa0], eax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
add rbx, 0x10
mov qword [rsp + 0xb8], rbx
mov rcx, qword [rsp + 0x178]
xorps xmm7, xmm7
movss xmm8, dword [0x1406908dc]
xor r11d, r11d
mov edi, 0
xor ebx, ebx
mov eax, 0
mov qword [rsp + 0x30], rax
xor ebp, ebp
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
xor esi, esi
xor eax, eax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x54], 0
xor r10d, r10d
mov dword [rsp + 0x94], 0
xor eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x44], 0
xor r12d, r12d
mov qword [rsp + 0x58], r15
nop dword [rax]
mov r14, r11
mov r13, r10
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x118], eax
mov dword [rsp + 0x11c], 0
mov rax, qword [rsp + 0xc0]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
mov r8d, dword [rsp + 0xa4]
lea r9, [rsp + 0x108]
call fcn.1403475f0
ucomiss xmm0, xmm7
jne 0x1403458a0
jp 0x1403458a0
mov r10, r13
mov r11, r14
jmp 0x140346864
movaps xmm6, xmm0
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x140]
movzx eax, word [rax + 2]
rol ax, 8
lea rcx, [0x1405d7500]
test ax, ax
je 0x1403458cf
movzx ecx, ax
add rcx, qword [rsp + 0x158]
mov eax, dword [rsp + 0x150]
add rax, rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x168]
cmp rcx, rax
mov rdi, qword [rsp + 0x88]
mov r11, r14
ja 0x140346dbd
mov edx, dword [rsp + 0x170]
add rcx, rdx
cmp rcx, rax
jb 0x140346dbd
mov rdx, qword [rsp + 0x178]
movzx edx, word [rdx]
rol dx, 8
movzx r15d, dx
sub ecx, eax
cmp r15d, ecx
ja 0x140346dbd
test edi, edi
mov qword [rsp + 0x98], r12
jne 0x14034597b
mov rax, qword [rsp + 0x58]
mov edi, dword [rax + 0x10]
test edi, edi
mov eax, 0
cmovle edi, eax
mov eax, dword [rsp + 0x54]
test eax, eax
js 0x140346dbd
cmp eax, edi
jb 0x140346ae8
lea eax, [rdi*4]
lea eax, [rax + rax*2]
test eax, eax
je 0x14034597b
mov r8d, eax
mov rcx, rsi
xor edx, edx
call fcn.140562a70
mov rax, qword [rsp + 0x178]
lea rdx, [rsp + 0xe4]
lea rcx, [rsp + 0xe8]
add r15, qword [rsp + 0xc8]
test byte [rax + 2], 0x20
je 0x1403459d1
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0xd0]
mov r8, r15
call fcn.140347800
lea rdx, [rsp + 0xd4]
lea rcx, [rsp + 0xd8]
test al, al
je 0x140346df6
mov qword [rsp + 0x88], rdi
mov eax, dword [rdx]
mov edx, eax
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x1403459f2
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
test edx, edx
mov r12d, 0
mov dword [rsp + 0x40], edx
cmovg r12d, edx
mov rdx, qword [rsp + 0x30]
test edx, edx
mov rdi, qword [rsp + 0x48]
mov r11, r14
js 0x140346dd8
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
cmp edx, r12d
jb 0x14034696f
mov r10, r13
cmp dword [rsp + 0x40], 0
jle 0x140345cad
mov qword [rsp + 0x30], rdx
mov rdi, rbp
xor ecx, ecx
jmp 0x140345a5d
mov ebp, ecx
mov ecx, ebp
cmp ebp, r12d
jae 0x140345ca0
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + 1]
cmp rax, r15
ja 0x140346dba
mov qword [rsp + 0xc8], rax
movzx r9d, byte [rdx]
mov r8d, r9d
and r8d, 0x3f
inc r8
lea ebp, [r8 + rcx]
cmp ebp, r12d
ja 0x140346dba
test r9b, r9b
js 0x140345ba0
test r9b, 0x40
jne 0x140345bd0
mov edx, r8d
add rax, rdx
cmp rax, r15
ja 0x140346dba
cmp ecx, ebp
jae 0x140345a50
mov eax, ecx
mov edx, ebp
mov r8d, ebp
sub r8d, ecx
mov rcx, rax
not rcx
add rcx, rdx
and r8, 3
je 0x140345b04
nop word cs:[rax + rax]
mov r9, qword [rsp + 0xc8]
lea r10, [r9 + 1]
mov qword [rsp + 0xc8], r10
movsx r9d, byte [r9]
mov dword [rbx + rax*4], r9d
inc rax
dec r8
jne 0x140345ae0
mov r10, r13
cmp rcx, 3
jb 0x140345a52
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [rbx + rax*4], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [rbx + rax*4 + 4], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [rbx + rax*4 + 8], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [rbx + rax*4 + 0xc], ecx
add rax, 4
cmp rdx, rax
jne 0x140345b20
jmp 0x140345a52
cmp ecx, ebp
jae 0x140345a50
mov eax, ecx
mov r8d, ebp
lea rcx, [rbx + rax*4]
sub r8, rax
shl r8, 2
xor edx, edx
call fcn.140562a70
mov r11, r14
mov r10, r13
jmp 0x140345a52
lea r8, [rax + r8*2]
cmp r8, r15
ja 0x140346dba
cmp ecx, ebp
jae 0x140345a50
mov r8d, ecx
mov r9d, ebp
sub r9d, ecx
mov rcx, r8
test r9b, 1
je 0x140345c21
movzx eax, byte [rdx + 1]
shl eax, 8
movzx ecx, byte [rdx + 2]
cwde
or eax, ecx
mov dword [rbx + r8*4], eax
mov rax, qword [rsp + 0xc8]
add rax, 2
mov qword [rsp + 0xc8], rax
lea rcx, [r8 + 1]
mov edx, ebp
not r8
add r8, rdx
je 0x140345a52
nop
movzx r8d, byte [rax]
shl r8d, 8
movzx eax, byte [rax + 1]
movsx r8d, r8w
or r8d, eax
mov dword [rbx + rcx*4], r8d
mov rax, qword [rsp + 0xc8]
lea r8, [rax + 2]
mov qword [rsp + 0xc8], r8
movzx r8d, byte [rax + 2]
shl r8d, 8
movzx eax, byte [rax + 3]
movsx r8d, r8w
or r8d, eax
mov dword [rbx + rcx*4 + 4], r8d
mov rax, qword [rsp + 0xc8]
add rax, 2
mov qword [rsp + 0xc8], rax
add rcx, 2
cmp rdx, rcx
jne 0x140345c30
jmp 0x140345a52
mov rbp, rdi
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
test edi, edi
js 0x140346dd8
cmp edi, r12d
mov qword [rsp + 0x30], rdx
jb 0x1403469b4
cmp dword [rsp + 0x40], 0
jle 0x140345f3d
mov qword [rsp + 0x48], rdi
mov rdi, rbp
xor ecx, ecx
jmp 0x140345ced
mov ebp, ecx
mov ecx, ebp
cmp ebp, r12d
jae 0x140345f30
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + 1]
cmp rax, r15
ja 0x140346dba
mov qword [rsp + 0xc8], rax
movzx r9d, byte [rdx]
mov r8d, r9d
and r8d, 0x3f
inc r8
lea ebp, [r8 + rcx]
cmp ebp, r12d
ja 0x140346dba
test r9b, r9b
js 0x140345e30
test r9b, 0x40
jne 0x140345e60
mov edx, r8d
add rax, rdx
cmp rax, r15
ja 0x140346dba
cmp ecx, ebp
jae 0x140345ce0
mov eax, ecx
mov edx, ebp
mov r8d, ebp
sub r8d, ecx
mov rcx, rax
not rcx
add rcx, rdx
and r8, 3
je 0x140345d94
nop word cs:[rax + rax]
mov r9, qword [rsp + 0xc8]
lea r10, [r9 + 1]
mov qword [rsp + 0xc8], r10
movsx r9d, byte [r9]
mov dword [r11 + rax*4], r9d
inc rax
dec r8
jne 0x140345d70
mov r10, r13
cmp rcx, 3
jb 0x140345ce2
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [r11 + rax*4], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [r11 + rax*4 + 4], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [r11 + rax*4 + 8], ecx
mov rcx, qword [rsp + 0xc8]
lea r8, [rcx + 1]
mov qword [rsp + 0xc8], r8
movsx ecx, byte [rcx]
mov dword [r11 + rax*4 + 0xc], ecx
add rax, 4
cmp rdx, rax
jne 0x140345db0
jmp 0x140345ce2
cmp ecx, ebp
jae 0x140345ce0
mov eax, ecx
mov r8d, ebp
lea rcx, [r11 + rax*4]
sub r8, rax
shl r8, 2
xor edx, edx
mov r14, r11
call fcn.140562a70
mov r11, r14
mov r10, r13
jmp 0x140345ce2
lea r8, [rax + r8*2]
cmp r8, r15
ja 0x140346dba
cmp ecx, ebp
jae 0x140345ce0
mov r8d, ecx
mov r9d, ebp
sub r9d, ecx
mov rcx, r8
test r9b, 1
je 0x140345eb1
movzx eax, byte [rdx + 1]
shl eax, 8
movzx ecx, byte [rdx + 2]
cwde
or eax, ecx
mov dword [r11 + r8*4], eax
mov rax, qword [rsp + 0xc8]
add rax, 2
mov qword [rsp + 0xc8], rax
lea rcx, [r8 + 1]
mov edx, ebp
not r8
add r8, rdx
je 0x140345ce2
nop
movzx r8d, byte [rax]
shl r8d, 8
movzx eax, byte [rax + 1]
movsx r8d, r8w
or r8d, eax
mov dword [r11 + rcx*4], r8d
mov rax, qword [rsp + 0xc8]
lea r8, [rax + 2]
mov qword [rsp + 0xc8], r8
movzx r8d, byte [rax + 2]
shl r8d, 8
movzx eax, byte [rax + 3]
movsx r8d, r8w
or r8d, eax
mov dword [r11 + rcx*4 + 4], r8d
mov rax, qword [rsp + 0xc8]
add rax, 2
mov qword [rsp + 0xc8], rax
add rcx, 2
cmp rdx, rcx
jne 0x140345ec0
jmp 0x140345ce2
mov rbp, rdi
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x80]
test r12d, r12d
mov qword [rsp + 0x60], r11
je 0x140345f68
cmp dword [rsp + 0x94], 0
mov r15, qword [rsp + 0x58]
je 0x140345f82
mov r13, qword [rsp + 0x78]
jmp 0x14034600c
ucomiss xmm6, xmm8
mov r15, qword [rsp + 0x58]
jne 0x140346131
jp 0x140346131
jmp 0x1403461d9
mov qword [rsp + 0x48], rdi
mov edi, dword [r15 + 0x10]
add edi, dword [rsp + 0x6c]
test edi, edi
mov eax, 0
cmovle edi, eax
mov eax, dword [rsp + 0x44]
test eax, eax
mov r13, qword [rsp + 0x78]
js 0x140346dd8
cmp eax, edi
jb 0x140346b68
mov r9, qword [rsp + 0x70]
mov eax, dword [r15 + 0x10]
test rax, rax
je 0x140346bbd
shl rax, 2
lea r8, [rax + rax*2]
mov rdx, qword [r15 + 8]
mov eax, dword [rsp + 0x6c]
lea rax, [rax + rax*2]
lea rcx, [r9 + rax*4]
mov r14, r9
call fcn.140562340
mov dword [rsp + 0x6c], edi
mov dword [rsp + 0x94], edi
mov qword [rsp + 0x70], r14
cmp dword [rsp + 0x44], 0
mov rdi, qword [rsp + 0x48]
mov r10, r14
mov r11, qword [rsp + 0x60]
js 0x140346dcf
test byte [rsp + 0x98], 1
je 0x14034605e
mov eax, dword [r15 + 0x10]
test rax, rax
je 0x14034605e
shl rax, 2
lea rax, [rax + rax*2]
xor ecx, ecx
nop dword [rax]
mov rdx, qword [r15 + 8]
movss xmm0, dword [rsi + rcx]
addss xmm0, dword [rdx + rcx]
movss dword [rdx + rcx], xmm0
movss xmm0, dword [rsi + rcx + 4]
addss xmm0, dword [rdx + rcx + 4]
movss dword [rdx + rcx + 4], xmm0
add rcx, 0xc
cmp rax, rcx
jne 0x140346030
mov rax, qword [rsp + 0x88]
lea eax, [rax*4]
lea eax, [rax + rax*2]
test eax, eax
je 0x14034608c
mov r8d, eax
mov rcx, rsi
xor edx, edx
mov r14, r10
call fcn.140562a70
mov r11, qword [rsp + 0x60]
mov r10, r14
ucomiss xmm6, xmm8
jne 0x140346098
jnp 0x14034614f
test r12d, r12d
mov edx, dword [rsp + 0x3c]
je 0x140346131
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1403461f7
mov eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
cmp rcx, r12
jae 0x14034611a
mov edx, dword [r13 + rcx*4]
cmp edx, dword [rsp + 0x88]
jae 0x14034610d
mov edx, edx
lea rdx, [rdx + rdx*2]
mov byte [rsi + rdx*4 + 8], 1
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rbx + rcx*4]
mulss xmm0, xmm6
addss xmm0, dword [rsi + rdx*4]
movss dword [rsi + rdx*4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r11 + rcx*4]
mulss xmm0, xmm6
addss xmm0, dword [rsi + rdx*4 + 4]
movss dword [rsi + rdx*4 + 4], xmm0
inc rcx
cmp rax, rcx
jne 0x1403460c0
jmp 0x1403464bf
mov dword [0x1406ade40], 0
xor edx, edx
cmp edx, dword [rsp + 0x88]
jb 0x1403460d3
jmp 0x14034610d
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x140346861
mov eax, ecx
cmp ecx, 9
jae 0x140346200
xor ecx, ecx
jmp 0x14034642a
test r12d, r12d
mov edx, dword [rsp + 0x3c]
je 0x1403461d9
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1403461f7
mov eax, eax
xor ecx, ecx
nop dword [rax]
cmp rcx, r12
jae 0x1403461c2
mov edx, dword [r13 + rcx*4]
cmp edx, dword [rsp + 0x88]
jae 0x1403461b5
mov edx, edx
lea rdx, [rdx + rdx*2]
mov byte [rsi + rdx*4 + 8], 1
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rbx + rcx*4]
addss xmm0, dword [rsi + rdx*4]
movss dword [rsi + rdx*4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r11 + rcx*4]
addss xmm0, dword [rsi + rdx*4 + 4]
movss dword [rsi + rdx*4 + 4], xmm0
inc rcx
cmp rax, rcx
jne 0x140346170
jmp 0x1403464bf
mov dword [0x1406ade40], 0
xor edx, edx
cmp edx, dword [rsp + 0x88]
jb 0x140346183
jmp 0x1403461b5
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x140346861
mov eax, ecx
cmp ecx, 9
jae 0x140346319
xor ecx, ecx
jmp 0x140346483
mov eax, dword [rsp + 0x38]
jmp 0x1403464d0
mov r14, r11
mov r11, r10
lea rcx, [rax + rax*2]
lea rcx, [rsi + rcx*4]
add rcx, 0xfffffffffffffffc
lea rdx, [rbx + rax*4]
lea r8, [r14 + rax*4]
cmp rsi, rdx
setb r9b
cmp rbx, rcx
setb r10b
cmp rsi, r8
setb dl
cmp r14, rcx
setb r8b
test r9b, r10b
jne 0x140346420
mov ecx, 0
and dl, r8b
mov r10, r11
mov r11, qword [rsp + 0x60]
jne 0x14034642a
mov edx, eax
and edx, 3
mov ecx, 4
cmove rdx, rcx
mov rcx, rax
sub rcx, rdx
movaps xmm0, xmm6
shufps xmm0, xmm6, 0
mov rdx, rsi
xor r8d, r8d
nop word cs:[rax + rax]
movups xmm1, xmmword [rbx + r8*4]
cvtdq2ps xmm1, xmm1
movss xmm2, dword [rdx + 0x24]
movss xmm3, dword [rdx + 0x18]
unpcklps xmm3, xmm2
movss xmm2, dword [rdx]
movss xmm4, dword [rdx + 4]
movss xmm5, dword [rdx + 0xc]
unpcklps xmm2, xmm5
movlhps xmm2, xmm3
movss xmm3, dword [rdx + 0x10]
unpcklps xmm4, xmm3
mulps xmm1, xmm0
addps xmm1, xmm2
movss dword [rdx], xmm1
movups xmm2, xmmword [r11 + r8*4]
cvtdq2ps xmm2, xmm2
movss xmm3, dword [rdx + 0x28]
movss xmm5, dword [rdx + 0x1c]
unpcklps xmm5, xmm3
movlhps xmm4, xmm5
mulps xmm2, xmm0
addps xmm2, xmm4
movss dword [rdx + 4], xmm2
movaps xmm3, xmm2
shufps xmm3, xmm1, 0x11
shufps xmm3, xmm1, 0xe2
movlps qword [rdx + 0xc], xmm3
movaps xmm3, xmm1
unpckhps xmm3, xmm2
movlps qword [rdx + 0x18], xmm3
shufps xmm2, xmm1, 0xff
shufps xmm2, xmm1, 0xe2
movlps qword [rdx + 0x24], xmm2
add r8, 4
add rdx, 0x30
cmp rcx, r8
jne 0x140346280
jmp 0x14034642a
mov r14, r11
mov r11, r10
lea rcx, [rax + rax*2]
lea rcx, [rsi + rcx*4]
add rcx, 0xfffffffffffffffc
lea rdx, [rbx + rax*4]
lea r8, [r14 + rax*4]
cmp rsi, rdx
setb r9b
cmp rbx, rcx
setb r10b
cmp rsi, r8
setb dl
cmp r14, rcx
setb r8b
test r9b, r10b
jne 0x140346479
mov ecx, 0
and dl, r8b
mov r10, r11
mov r11, qword [rsp + 0x60]
jne 0x140346483
mov edx, eax
and edx, 3
mov ecx, 4
cmove rdx, rcx
mov rcx, rax
sub rcx, rdx
mov rdx, rsi
xor r8d, r8d
nop word [rax + rax]
movups xmm0, xmmword [rbx + r8*4]
cvtdq2ps xmm2, xmm0
movss xmm0, dword [rdx + 0x24]
movss xmm3, dword [rdx + 0x18]
unpcklps xmm3, xmm0
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
movss xmm4, dword [rdx + 0xc]
unpcklps xmm0, xmm4
movlhps xmm0, xmm3
addps xmm0, xmm2
movss xmm2, dword [rdx + 0x10]
unpcklps xmm1, xmm2
movss dword [rdx], xmm0
movups xmm2, xmmword [r11 + r8*4]
cvtdq2ps xmm2, xmm2
movss xmm3, dword [rdx + 0x28]
movss xmm4, dword [rdx + 0x1c]
unpcklps xmm4, xmm3
movlhps xmm1, xmm4
addps xmm1, xmm2
movss dword [rdx + 4], xmm1
movaps xmm2, xmm1
shufps xmm2, xmm0, 0x11
shufps xmm2, xmm0, 0xe2
movlps qword [rdx + 0xc], xmm2
movaps xmm2, xmm0
unpckhps xmm2, xmm1
movlps qword [rdx + 0x18], xmm2
shufps xmm1, xmm0, 0xff
shufps xmm1, xmm0, 0xe2
movlps qword [rdx + 0x24], xmm1
add r8, 4
add rdx, 0x30
cmp rcx, r8
jne 0x140346390
jmp 0x140346483
xor ecx, ecx
mov r10, r11
mov r11, qword [rsp + 0x60]
lea rdx, [rcx + rcx*2]
lea rdx, [rsi + rdx*4]
add rdx, 4
nop word cs:[rax + rax]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rbx + rcx*4]
mulss xmm0, xmm6
addss xmm0, dword [rdx - 4]
movss dword [rdx - 4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r11 + rcx*4]
mulss xmm0, xmm6
addss xmm0, dword [rdx]
movss dword [rdx], xmm0
inc rcx
add rdx, 0xc
cmp rax, rcx
jne 0x140346440
jmp 0x1403464bf
xor ecx, ecx
mov r10, r11
mov r11, qword [rsp + 0x60]
lea rdx, [rcx + rcx*2]
lea rdx, [rsi + rdx*4]
add rdx, 4
nop
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rbx + rcx*4]
addss xmm0, dword [rdx - 4]
movss dword [rdx - 4], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r11 + rcx*4]
addss xmm0, dword [rdx]
movss dword [rdx], xmm0
inc rcx
add rdx, 0xc
cmp rax, rcx
jne 0x140346490
test r12d, r12d
mov edx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x38]
je 0x140346861
mov qword [rsp + 0x48], rdi
test eax, eax
je 0x1403464dd
mov eax, eax
jmp 0x140346509
mov edi, dword [r15 + 0x10]
test rdi, rdi
je 0x1403464f1
xor r15d, r15d
xor r12d, r12d
jmp 0x140346a37
xor ecx, ecx
test edx, edx
js 0x140346dc9
test ecx, ecx
je 0x140346954
mov dword [rsp + 0x38], ecx
mov eax, ecx
lea rax, [rax*4]
add rax, rbp
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x3c], edx
lea rax, [rsi + 0x2c]
mov qword [rsp + 0x78], rax
lea rax, [rsi + 8]
mov qword [rsp + 0x98], rax
xor r9d, r9d
mov qword [rsp + 0xa8], rbp
mov r8, rbp
jmp 0x140346567
add r8, 4
mov r9d, dword [rsp + 0x40]
cmp r8, qword [rsp + 0x80]
je 0x14034684a
mov r11d, dword [r8]
lea eax, [r11 + 1]
mov ecx, 0
mov dword [rsp + 0x40], eax
cmp r9d, eax
jae 0x14034661f
mov eax, r9d
mov edi, dword [rsp + 0x40]
mov r15, rax
not r15
add r15, rdi
sub rdi, rax
mov edx, edi
and edx, 3
xor ecx, ecx
cmp r15, 3
jb 0x1403465ee
lea rcx, [rax + rax*2]
mov r14, qword [rsp + 0x78]
lea r15, [r14 + rcx*4]
and rdi, 0xfffffffffffffffc
neg rdi
xor r12d, r12d
xor ecx, ecx
nop dword [rax]
movzx ebp, byte [r15 - 0x24]
add ebp, ecx
movzx ecx, byte [r15 - 0x18]
movzx r13d, byte [r15 - 0xc]
add r13d, ecx
add r13d, ebp
movzx ecx, byte [r15]
add ecx, r13d
add r12, 0xfffffffffffffffc
add r15, 0x30
cmp rdi, r12
jne 0x1403465c0
sub rax, r12
test rdx, rdx
je 0x14034661f
lea rax, [rax + rax*2]
mov rdi, qword [rsp + 0x98]
lea rax, [rdi + rax*4]
shl rdx, 2
lea rdx, [rdx + rdx*2]
xor edi, edi
nop dword [rax]
movzx ebp, byte [rax + rdi]
add ecx, ebp
add rdi, 0xc
cmp rdx, rdi
jne 0x140346610
mov eax, r11d
sub eax, r9d
mov ebp, eax
sub ebp, ecx
cmp ebp, eax
jae 0x140346550
inc ebp
mov r15d, r9d
nop word cs:[rax + rax]
mov r12d, r15d
lea r15d, [r12 + 1]
cmp r12d, r11d
cmovae r15d, r9d
mov eax, r12d
lea rcx, [rax + rax*2]
cmp byte [rsi + rcx*4 + 8], 0
je 0x140346640
mov ecx, r15d
lea rcx, [rcx + rcx*2]
cmp byte [rsi + rcx*4 + 8], 0
jne 0x140346640
mov cl, 1
mov r15d, r12d
cmp r15d, r11d
lea edx, [r15 + 1]
mov r15d, edx
cmovae r15d, r9d
lea rdx, [r15 + r15*2]
test cl, cl
movzx ecx, byte [rsi + rdx*4 + 8]
jne 0x140346670
test cl, cl
mov ecx, 0
je 0x140346670
mov edx, r15d
shl rax, 2
lea r13, [rax + rax*2]
lea rcx, [r10 + r13]
shl rdx, 2
lea rdx, [rdx + rdx*2]
lea rax, [r10 + rdx]
add r13, rsi
add rdx, rsi
jmp 0x1403466d6
cmpeqss xmm0, xmm1
andps xmm0, xmm1
movss dword [rsi + rdi*4 + 4], xmm0
dec ebp
je 0x140346550
cmp r12d, r11d
lea edi, [r12 + 1]
mov r12d, edi
cmovae r12d, r9d
cmp r12d, r15d
je 0x140346640
mov edi, r12d
lea rdi, [rdi + rdi*2]
movss xmm3, dword [rcx]
movss xmm2, dword [rax]
movss xmm1, dword [r13]
movss xmm0, dword [rdx]
ucomiss xmm3, xmm2
jne 0x140346720
jp 0x140346720
cmpeqss xmm0, xmm1
andps xmm0, xmm1
jmp 0x1403467a0
movss xmm4, dword [r10 + rdi*4]
movaps xmm5, xmm3
cmpless xmm5, xmm2
movaps xmm6, xmm5
andps xmm6, xmm3
andnps xmm5, xmm2
orps xmm5, xmm6
ucomiss xmm5, xmm4
jae 0x140346772
movaps xmm5, xmm2
cmpless xmm5, xmm3
movaps xmm6, xmm5
andps xmm6, xmm3
andnps xmm5, xmm2
orps xmm5, xmm6
ucomiss xmm4, xmm5
jae 0x140346785
subss xmm4, xmm3
subss xmm2, xmm3
divss xmm4, xmm2
subss xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, xmm1
jmp 0x1403467a0
cmpltss xmm3, xmm2
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
movaps xmm0, xmm3
jmp 0x1403467a0
cmpltss xmm2, xmm3
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
nop word cs:[rax + rax]
movss dword [rsi + rdi*4], xmm0
movss xmm3, dword [rcx + 4]
movss xmm2, dword [rax + 4]
movss xmm1, dword [r13 + 4]
movss xmm0, dword [rdx + 4]
ucomiss xmm3, xmm2
jne 0x1403467c5
jnp 0x1403466c0
mov r14, r10
lea r10, [r10 + rdi*4]
movss xmm4, dword [r10 + 4]
movaps xmm5, xmm3
cmpless xmm5, xmm2
movaps xmm6, xmm5
andps xmm6, xmm3
andnps xmm5, xmm2
orps xmm5, xmm6
ucomiss xmm5, xmm4
jae 0x14034681e
movaps xmm5, xmm2
cmpless xmm5, xmm3
movaps xmm6, xmm5
andps xmm6, xmm3
andnps xmm5, xmm2
orps xmm5, xmm6
ucomiss xmm4, xmm5
jae 0x140346831
subss xmm4, xmm3
subss xmm2, xmm3
divss xmm4, xmm2
subss xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, xmm1
jmp 0x140346842
cmpltss xmm3, xmm2
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
movaps xmm0, xmm3
jmp 0x140346842
cmpltss xmm2, xmm3
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
mov r10, r14
jmp 0x1403466c8
mov rbp, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
mov r12b, 1
mov rdx, qword [rsp + 0x178]
movzx eax, word [rdx]
rol ax, 8
movzx eax, ax
add dword [rsp + 0x150], eax
mov eax, dword [rsp + 0x14c]
movzx ecx, byte [rdx + 2]
mov r8d, ecx
shr r8d, 7
shr ecx, 5
and ecx, 2
or ecx, r8d
add eax, eax
imul ecx, eax
add ecx, 4
add rcx, rdx
mov qword [rsp + 0x178], rcx
mov edx, dword [rsp + 0x148]
inc edx
mov dword [rsp + 0x148], edx
mov r8, qword [rsp + 0x140]
movzx r9d, byte [r8]
movzx r8d, byte [r8 + 1]
and r9d, 0xf
shl r9d, 8
or r9d, r8d
cmp edx, r9d
jae 0x140346c8a
mov rdx, qword [rsp + 0x168]
cmp rdx, rcx
ja 0x140346c8a
mov r8d, dword [rsp + 0x170]
add rdx, r8
mov r8, rdx
sub r8, rcx
sub rdx, rcx
jb 0x140346c8a
and r8d, 0xfffffffc
je 0x140346c8a
movzx r8d, byte [rcx + 2]
mov r9d, r8d
shr r9d, 5
and r9d, 2
shr r8d, 7
or r8d, r9d
imul eax, r8d
add eax, 4
movzx r8d, word [rcx]
rol r8w, 8
movzx r8d, r8w
cmp r8d, eax
cmova eax, r8d
cmp eax, edx
jbe 0x140345810
jmp 0x140346c8a
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x38], 0
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
jmp 0x140346861
mov edi, edx
mov eax, edi
shr eax, 1
add edi, eax
add edi, 8
cmp edi, r12d
jb 0x140346971
cmp edi, 0x3fffffff
ja 0x140346dd6
test edi, edi
je 0x140346b3c
mov edx, edi
shl rdx, 2
mov rcx, rbx
call fcn.14056f590
test rax, rax
je 0x140346c0b
mov edx, edi
mov rbx, rax
jmp 0x140346b48
mov eax, edi
shr eax, 1
add edi, eax
add edi, 8
cmp edi, r12d
jb 0x1403469b4
cmp edi, 0x3fffffff
ja 0x140346ddf
test edi, edi
je 0x140346b53
mov edx, edi
shl rdx, 2
mov rcx, r11
mov r14, r11
call fcn.14056f590
test rax, rax
je 0x140346c23
mov r11, rax
mov r10, r13
jmp 0x140345cce
mov rcx, rbp
call fcn.140568364
xor ebp, ebp
xor edx, edx
mov ecx, dword [rsp + 0x38]
mov r10, r14
mov r11, qword [rsp + 0x60]
nop word cs:[rax + rax]
mov eax, r12d
mov dword [rbp + rax*4], r15d
inc r15
mov r12d, ecx
cmp r15, rdi
je 0x1403464f3
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
lea rcx, [r15 + r15*2]
cmp byte [rax + rcx*4 + 9], 0
je 0x140346ae0
lea ecx, [r12 + 1]
cmp r12d, edx
jl 0x140346a20
test edx, edx
js 0x140346acc
cmp edx, ecx
jae 0x140346a20
mov r13d, edx
mov eax, r13d
shr eax, 1
add r13d, eax
add r13d, 8
cmp r13d, ecx
jb 0x140346a64
cmp r13d, 0x3fffffff
ja 0x140346aca
mov r14, r10
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
test r13d, r13d
je 0x1403469fb
mov edx, r13d
shl rdx, 2
mov rcx, rbp
call fcn.14056f590
test rax, rax
je 0x140346ab1
mov rbp, rax
mov edx, r13d
jmp 0x140346a07
mov edx, dword [rsp + 0x3c]
cmp r13d, edx
mov ecx, dword [rsp + 0x38]
mov r10, r14
mov r11, qword [rsp + 0x60]
jbe 0x140346a20
not edx
mov dword [0x1406ade40], 0
nop word cs:[rax + rax]
mov ecx, r12d
jmp 0x140346a28
mov eax, dword [rsp + 0x54]
mov r12, rdi
mov edi, eax
mov eax, edi
shr eax, 1
add edi, eax
add edi, 8
cmp edi, r12d
jb 0x140346af1
cmp edi, 0x15555555
ja 0x140346df2
test edi, edi
je 0x140346bc5
mov eax, edi
shl rax, 2
lea rdx, [rax + rax*2]
mov rcx, rsi
call fcn.14056f590
test rax, rax
je 0x140346c42
mov rsi, rax
mov eax, edi
mov dword [rsp + 0x54], edi
jmp 0x140346bd7
mov rcx, rbx
call fcn.140568364
xor edx, edx
xor ebx, ebx
mov r10, r13
mov r11, r14
jmp 0x140345a36
mov rcx, r11
call fcn.140568364
xor edi, edi
xor r11d, r11d
mov r10, r13
jmp 0x140345cce
mov eax, dword [rsp + 0x44]
mov r15d, eax
mov eax, r15d
shr eax, 1
add r15d, eax
add r15d, 8
cmp r15d, edi
jb 0x140346b6f
cmp r15d, 0x15555555
ja 0x140346c54
test r15d, r15d
je 0x140346bdf
mov eax, r15d
shl rax, 2
lea rdx, [rax + rax*2]
mov rcx, qword [rsp + 0x70]
call fcn.14056f590
test rax, rax
je 0x140346c4d
mov r9, rax
mov eax, r15d
mov dword [rsp + 0x44], r15d
jmp 0x140346bf4
mov r14, r9
jmp 0x140345fe4
mov rcx, rsi
call fcn.140568364
xor esi, esi
mov dword [rsp + 0x54], 0
mov rdi, r12
jmp 0x140345960
mov rcx, qword [rsp + 0x70]
call fcn.140568364
xor r9d, r9d
mov dword [rsp + 0x44], 0
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
jmp 0x140345fb7
mov rdx, qword [rsp + 0x30]
cmp edi, edx
mov r11, r14
ja 0x140346dd6
mov r10, r13
jmp 0x140345a36
cmp edi, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
mov r11, r14
ja 0x140346ddf
mov r10, r13
mov rdi, qword [rsp + 0x48]
jmp 0x140345cce
cmp edi, dword [rsp + 0x54]
jbe 0x140346bd7
jmp 0x140346df2
cmp r15d, dword [rsp + 0x44]
jbe 0x140346c78
not dword [rsp + 0x44]
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x58]
mov edi, dword [rsp + 0x6c]
mov r12, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
jmp 0x140345fe4
mov r9, qword [rsp + 0x70]
jmp 0x140346bf4
mov dil, 1
jmp 0x140346d7b
mov qword [rsp + 0x48], rdi
mov dil, 1
test r12b, 1
je 0x140346cde
mov eax, dword [r15 + 0x10]
test rax, rax
je 0x140346cde
shl rax, 2
lea rax, [rax + rax*2]
xor ecx, ecx
nop dword [rax + rax]
mov rdx, qword [r15 + 8]
movss xmm0, dword [rsi + rcx]
addss xmm0, dword [rdx + rcx]
movss dword [rdx + rcx], xmm0
movss xmm0, dword [rsi + rcx + 4]
addss xmm0, dword [rdx + rcx + 4]
movss dword [rdx + rcx + 4], xmm0
add rcx, 0xc
cmp rax, rcx
jne 0x140346cb0
mov rdx, qword [rsp + 0x30]
cmp dword [rsp + 0x48], 0
je 0x140346cf8
mov rcx, r11
mov r14, rdx
call fcn.140568364
mov rdx, r14
test edx, edx
je 0x140346d04
mov rcx, rbx
call fcn.140568364
cmp dword [rsp + 0xd0], 0
mov r14d, dword [rsp + 0x54]
je 0x140346d2b
mov dword [rsp + 0xd4], 0
mov rcx, qword [rsp + 0xd8]
call fcn.140568364
cmp dword [rsp + 0x3c], 0
mov ebx, dword [rsp + 0x44]
je 0x140346d3e
mov rcx, rbp
call fcn.140568364
test r14d, r14d
je 0x140346d4b
mov rcx, rsi
call fcn.140568364
test ebx, ebx
je 0x140346d59
mov rcx, qword [rsp + 0x70]
call fcn.140568364
cmp dword [rsp + 0xe0], 0
je 0x140346d7b
mov dword [rsp + 0xe4], 0
mov rcx, qword [rsp + 0xe8]
call fcn.140568364
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.1405602f0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x1a0]
movaps xmm7, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, rdi
mov rdx, qword [rsp + 0x30]
xor edi, edi
jmp 0x140346ce3
mov dword [rsp + 0x3c], edx
jmp 0x140346dbd
mov qword [rsp + 0x70], r10
jmp 0x140346dbd
not edx
xor edi, edi
jmp 0x140346ce3
mov rax, qword [rsp + 0x48]
not eax
mov qword [rsp + 0x48], rax
xor edi, edi
jmp 0x140346ce3
not dword [rsp + 0x54]
mov rdx, qword [rsp + 0x30]
mov r11, r14
xor edi, edi
jmp 0x140346ce3