Function at 0x7ff70b57c840
Capabilities:
Enumerate pe sections

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x318
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
mov r12, rcx
xor r15d, r15d
lea edi, [r15 + 8]
xorps xmm13, xmm13
cmp dword [rcx + 0x70], r15d
jge 0x7ff70b57c973
mov dword [rbp + 0x10], 0xffffffff
mov qword [rbp + 0x14], r15
mov dword [rbp + 0x1c], r15d
mov qword [rbp + 0x20], r15
mov dword [rbp + 8], 0x80000000
mov dword [rbp + 0xc], 0x20002
mov r8d, dword [rcx + 0x54]
mov ecx, dword [rcx + 0x50]
cmp ecx, r8d
jne 0x7ff70b57c944
lea ebx, [rcx + 1]
test r8d, r8d
je 0x7ff70b57c8f0
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x7ff70b57c8f2
mov eax, edi
cmp eax, ebx
cmovg ebx, eax
cmp ebx, r8d
jle 0x7ff70b57c944
movsxd rcx, ebx
shl rcx, 5
call fcn.7ff70b4dd450
mov rdi, rax
mov rdx, qword [r12 + 0x58]
test rdx, rdx
je 0x7ff70b57c930
movsxd r8, dword [r12 + 0x50]
shl r8, 5
mov rcx, rax
call fcn.7ff70b54e1a0
mov rcx, qword [r12 + 0x58]
call fcn.7ff70b4dd700
mov qword [r12 + 0x58], rdi
mov dword [r12 + 0x54], ebx
mov ecx, dword [r12 + 0x50]
mov edi, 8
movsxd rcx, ecx
shl rcx, 5
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [rbp + 8]
movups xmmword [rcx + rax], xmm0
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rcx + rax + 0x10], xmm1
mov ecx, dword [r12 + 0x50]
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov dword [r12 + 0x70], ecx
mov qword [r12 + 8], r15
mov qword [r12 + 0x28], r15
mov qword [r12 + 0x30], r15
mov qword [r12 + 0x38], r15
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x7ff70b57c996
call fcn.7ff70b4dd700
mov rcx, qword [r12 + 0x20]
test rcx, rcx
je 0x7ff70b57c9a5
call fcn.7ff70b4dd700
mov qword [r12 + 0x18], r15
mov qword [r12 + 0x20], r15
mov qword [rbp + 0x68], r15
mov rsi, r15
mov qword [rsp + 0x60], r15
mov qword [rbp + 0x70], r15
mov qword [rbp - 0x50], r15
mov r13, r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x48], r15
mov r14d, dword [r12 + 0x60]
mov dword [rbp + 0x268], r14d
test r14d, r14d
jle 0x7ff70b57ca0c
mov ebx, r14d
cmp r14d, 8
cmovl ebx, edi
test ebx, ebx
jle 0x7ff70b57ca0c
movsxd rax, ebx
imul rcx, rax, 0x108
call fcn.7ff70b4dd450
mov rsi, rax
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x6c], ebx
mov dword [rbp + 0x68], r14d
mov edi, dword [r12 + 0x40]
mov dword [rbp + 0x278], edi
test edi, edi
jle 0x7ff70b57ca4b
mov ebx, edi
cmp edi, 8
mov ecx, 8
cmovl ebx, ecx
test ebx, ebx
jle 0x7ff70b57ca4b
movsxd rcx, ebx
shl rcx, 5
call fcn.7ff70b4dd450
mov r13, rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x4c], ebx
mov dword [rbp - 0x50], edi
imul ecx, r14d, 0x108
movsxd r8, ecx
xor edx, edx
mov rcx, rsi
call fcn.7ff70b54e850
mov ecx, edi
shl ecx, 5
movsxd r8, ecx
xor edx, edx
mov rcx, r13
call fcn.7ff70b54e850
mov dword [rbp - 0x60], 0xff0020
mov word [rbp - 0x5c], r15w
mov dword [rbp - 0x18], 0xff0020
mov dword [rbp - 0x14], 0x206f2000
mov dword [rbp - 0x10], 0x30ff3000
mov dword [rbp - 0xc], 0x31ff31f0
mov dword [rbp - 8], 0xffefff00
mov dword [rbp - 4], 0x9faf4e00
mov word [rbp], r15w
mov dword [rbp - 0x30], 0xff0020
mov dword [rbp - 0x2c], 0x52f0400
mov dword [rbp - 0x28], 0x2dff2de0
mov dword [rbp - 0x24], 0xa69fa640
mov word [rbp - 0x20], r15w
cmp dword [r12 + 0x60], 0
jle 0x7ff70b57cbf3
xor edi, edi
lea rbx, [rsi + 0xdc]
nop word [rax + rax]
mov rsi, qword [r12 + 0x68]
mov dword [rbx - 4], 0xffffffff
xor edx, edx
cmp dword [r12 + 0x40], edx
jle 0x7ff70b57cfbf
mov eax, 0xffffffff
xor r8d, r8d
cmp eax, 0xffffffff
jne 0x7ff70b57cb46
mov rax, qword [r12 + 0x48]
mov rcx, qword [r8 + rax]
cmp qword [rdi + rsi + 0x48], rcx
jne 0x7ff70b57cb2d
mov dword [rbx - 4], edx
mov eax, edx
jmp 0x7ff70b57cb30
mov eax, dword [rbx - 4]
inc edx
add r8, 8
cmp edx, dword [r12 + 0x40]
jl 0x7ff70b57cb11
cmp eax, 0xffffffff
je 0x7ff70b57cfbf
mov edx, dword [rdi + rsi + 0xc]
mov rcx, qword [rdi + rsi]
call fcn.7ff70b576a30
mov r8d, eax
mov rdx, qword [rdi + rsi]
lea rcx, [rbx - 0xdc]
call fcn.7ff70b576d40
test eax, eax
je 0x7ff70b57cfbf
movsxd r8, dword [rbx - 4]
shl r8, 5
add r8, r13
movzx eax, byte [rdi + rsi + 0x30]
test al, al
jne 0x7ff70b57cb88
lea rdx, [rbp - 0x60]
jmp 0x7ff70b57cb96
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
cmp al, 2
cmovne rdx, rcx
mov qword [rbx - 0xc], rdx
cmp word [rdx], 0
je 0x7ff70b57cbbc
movzx eax, word [rdx + 2]
test ax, ax
je 0x7ff70b57cbbc
mov ecx, eax
cmp dword [rbx], eax
cmovge ecx, dword [rbx]
mov dword [rbx], ecx
add rdx, 4
cmp word [rdx], 0
jne 0x7ff70b57cba0
inc dword [r8]
mov ecx, dword [rbx]
cmp dword [r8 + 4], ecx
cmovge ecx, dword [r8 + 4]
mov dword [r8 + 4], ecx
inc r15d
add rbx, 0x108
add rdi, 0x50
cmp r15d, dword [r12 + 0x60]
jl 0x7ff70b57caf0
mov r14d, dword [rbp + 0x268]
mov rsi, qword [rsp + 0x60]
xor r15d, r15d
mov r13d, r15d
mov dword [rbp + 0x270], r15d
test r14d, r14d
jle 0x7ff70b57cd9e
lea r14, [rsi + 0xe0]
mov ebx, dword [rbp + 0x268]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
movsxd r15, dword [r14 - 8]
shl r15, 5
add r15, qword [rsp + 0x78]
mov edx, dword [r14 - 4]
inc edx
lea rcx, [r14 + 8]
call fcn.7ff70b4ef0a0
lea rcx, [r15 + 0x10]
cmp dword [rcx], 0
jne 0x7ff70b57cc50
mov edx, dword [r15 + 4]
inc edx
call fcn.7ff70b4ef0a0
mov r12, qword [r14 - 0x10]
movzx eax, word [r12]
test ax, ax
je 0x7ff70b57ccf1
movzx ecx, word [r12 + 2]
test cx, cx
je 0x7ff70b57ccec
movzx ebx, ax
cmp ebx, ecx
ja 0x7ff70b57ccda
nop dword [rax]
nop dword [rax + rax]
mov edx, ebx
sar edx, 5
mov ecx, ebx
and ecx, 0x1f
mov esi, 1
shl esi, cl
movsxd rdi, edx
mov rax, qword [r15 + 0x18]
test dword [rax + rdi*4], esi
jne 0x7ff70b57ccc7
lea rcx, [r14 - 0xe0]
mov edx, ebx
call fcn.7ff70b577570
test eax, eax
je 0x7ff70b57ccc7
inc dword [r14]
inc dword [r15 + 8]
mov rax, qword [r14 + 0x10]
or dword [rax + rdi*4], esi
mov rax, qword [r15 + 0x18]
or dword [rax + rdi*4], esi
inc r13d
inc ebx
movzx eax, word [r12 + 2]
cmp ebx, eax
jle 0x7ff70b57cc80
mov dword [rbp + 0x270], r13d
add r12, 4
movzx eax, word [r12]
test ax, ax
jne 0x7ff70b57cc62
mov rbx, qword [rsp + 0x70]
add r14, 0x108
sub rbx, 1
mov qword [rsp + 0x70], rbx
jne 0x7ff70b57cc20
mov rbx, qword [rsp + 0x60]
add rbx, 0x100
xor r13d, r13d
movsxd rdi, dword [rbx - 0x20]
cmp edi, dword [rbx - 4]
jle 0x7ff70b57cd54
mov rcx, rdi
shl rcx, 2
call fcn.7ff70b4dd450
mov rsi, rax
mov rdx, qword [rbx]
test rdx, rdx
je 0x7ff70b57cd4e
movsxd r8, dword [rbx - 8]
shl r8, 2
mov rcx, rax
call fcn.7ff70b54e1a0
mov rcx, qword [rbx]
call fcn.7ff70b4dd700
mov qword [rbx], rsi
mov dword [rbx - 4], edi
lea rdx, [rbx - 8]
lea rcx, [rbx - 0x18]
call fcn.7ff70b4f1ea0
mov rcx, qword [rbx - 0x10]
test rcx, rcx
je 0x7ff70b57cd77
mov qword [rbx - 0x18], r13
call fcn.7ff70b4dd700
mov qword [rbx - 0x10], r13
add rbx, 0x108
sub qword [rsp + 0x68], 1
jne 0x7ff70b57cd16
mov r13d, dword [rbp + 0x270]
mov r12, qword [rbp + 0x260]
mov r14d, dword [rbp + 0x268]
xor r15d, r15d
mov eax, dword [rbp + 0x278]
test eax, eax
jle 0x7ff70b57cdd5
mov rbx, qword [rsp + 0x78]
add rbx, 0x18
mov edi, eax
mov rcx, qword [rbx]
test rcx, rcx
je 0x7ff70b57cdcb
mov qword [rbx - 8], 0
call fcn.7ff70b4dd700
mov qword [rbx], r15
add rbx, 0x20
sub rdi, 1
jne 0x7ff70b57cdb3
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x7ff70b57cdfb
mov qword [rbp - 0x50], 0
mov rcx, rax
call fcn.7ff70b4dd700
mov rax, r15
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0
mov rdi, r15
mov qword [rsp + 0x68], r15
mov qword [rbp - 0x38], r15
mov qword [rbp + 8], 0
mov rsi, r15
mov qword [rsp + 0x70], r15
mov qword [rbp + 0x10], r15
mov eax, 8
test r13d, r13d
jle 0x7ff70b57ce5e
mov ebx, r13d
cmp r13d, eax
cmovl ebx, eax
test ebx, ebx
jle 0x7ff70b57ce5e
movsxd rax, ebx
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.7ff70b4dd450
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x3c], ebx
mov eax, 8
mov dword [rbp - 0x40], r13d
test r13d, r13d
jle 0x7ff70b57ce90
mov ebx, r13d
cmp r13d, 8
cmovl ebx, eax
test ebx, ebx
jle 0x7ff70b57ce90
movsxd rax, ebx
imul rcx, rax, 0x1c
call fcn.7ff70b4dd450
mov rsi, rax
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x10], rax
mov dword [rbp + 0xc], ebx
mov dword [rbp + 8], r13d
lea ecx, [r13*2]
add ecx, r13d
shl ecx, 3
movsxd r8, ecx
xor edx, edx
mov rcx, rdi
call fcn.7ff70b54e850
imul ecx, r13d, 0x1c
movsxd r8, ecx
xor edx, edx
mov rcx, rsi
call fcn.7ff70b54e850
mov edx, r15d
mov dword [rbp + 0x278], edx
mov r9d, r15d
mov r10d, r15d
test r14d, r14d
jle 0x7ff70b57d344
mov rbx, qword [rsp + 0x60]
add rbx, 0xc8
mov r13d, r14d
mov qword [rbp - 0x68], r13
nop dword [rax + rax]
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x7ff70b57d328
movsxd rax, r9d
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rbx - 8], rax
movsxd rax, r10d
imul rdx, rax, 0x1c
add rdx, rsi
mov qword [rbx], rdx
add r9d, r8d
mov dword [rbp - 0x7c], r9d
add r10d, r8d
mov dword [rbp - 0x78], r10d
mov rsi, qword [r12 + 0x68]
mov qword [rbp + 0x78], rsi
mov eax, dword [r15 + rsi + 0x10]
mov dword [rbx - 0x30], eax
mov dword [rbx - 0x2c], 0
mov rax, qword [rbx + 0x38]
mov qword [rbx - 0x28], rax
mov edi, dword [rbx + 0x30]
mov dword [rbx - 0x20], edi
mov qword [rbx - 0x18], rdx
movzx eax, byte [r15 + rsi + 0x14]
mov byte [rbx - 0x10], al
movzx eax, byte [r15 + rsi + 0x18]
mov byte [rbx - 0xf], al
movss xmm8, dword [r15 + rsi + 0x10]
comiss xmm8, xmm13
jbe 0x7ff70b57cfc6
movsxd r11, dword [rbx - 0xac]
mov r10, qword [rbx - 0xc8]
movzx edx, byte [r11 + r10 + 6]
mov r14d, 0x100
movsx ecx, r14w
imul edx, ecx
movzx eax, byte [r11 + r10 + 7]
add dx, ax
movsx r9d, dx
movzx r8d, byte [r11 + r10 + 5]
movzx eax, byte [r11 + r10 + 4]
movsx ecx, r14w
imul eax, ecx
add ax, r8w
cwde
sub eax, r9d
movd xmm0, eax
jmp 0x7ff70b57cff7
xor bl, bl
jmp 0x7ff70b57dc60
movaps xmm0, xmm8
call fcn.7ff70b5002e0
movaps xmm8, xmm0
movsxd rcx, dword [rbx - 0xb4]
mov rax, qword [rbx - 0xc8]
movzx edx, byte [rcx + rax + 0x13]
movzx eax, byte [rcx + rax + 0x12]
shl eax, 8
add edx, eax
movd xmm0, edx
mov edi, dword [rbx + 0x30]
cvtdq2ps xmm0, xmm0
divss xmm8, xmm0
mov eax, dword [r12 + 0x14]
mov dword [rbp - 0x58], eax
xor r14d, r14d
mov dword [rbp - 0x80], r14d
test edi, edi
jle 0x7ff70b57d310
xor edi, edi
mov r13d, edi
mov ecx, edi
mov qword [rbp - 0x70], rcx
jmp 0x7ff70b57d032
xor edi, edi
mov rax, qword [rbx + 0x38]
mov edx, dword [rax + rcx]
lea rcx, [rbx - 0xc8]
call fcn.7ff70b577570
movd xmm7, dword [r15 + rsi + 0x18]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm8
mov r11d, dword [r15 + rsi + 0x14]
movd xmm6, r11d
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm8
mov edx, eax
lea rcx, [rbx - 0xc8]
cmp dword [rbx - 0x84], 0
je 0x7ff70b57d0c2
mov qword [rbp + 0x28], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], rdi
mov dword [rbp + 0x58], edi
lea r8, [rbp + 0x28]
call fcn.7ff70b578c70
mov r11d, edi
test eax, eax
cmovne r11d, dword [rbp + 0x40]
mov r14d, edi
cmovne r14d, dword [rbp + 0x48]
cmovne edi, dword [rbp + 0x44]
xor esi, esi
test eax, eax
cmovne esi, dword [rbp + 0x4c]
jmp 0x7ff70b57d14c
call fcn.7ff70b577900
test eax, eax
jns 0x7ff70b57d0d7
mov eax, edi
mov r8d, edi
xor edx, edx
jmp 0x7ff70b57d292
movsxd r10, eax
mov r9, qword [rbx - 0xc8]
movzx edx, byte [r9 + r10 + 2]
mov esi, 0x100
movsx ecx, si
imul edx, ecx
movzx eax, byte [r9 + r10 + 3]
add dx, ax
movsx r11d, dx
movzx edx, byte [r9 + r10 + 4]
movsx ecx, si
imul edx, ecx
movzx eax, byte [r9 + r10 + 5]
add dx, ax
movsx r14d, dx
movzx r8d, byte [r9 + r10 + 7]
movzx edx, byte [r9 + r10 + 6]
movsx ecx, si
imul edx, ecx
add r8w, dx
movsx edi, r8w
movzx r8d, byte [r9 + r10 + 9]
movzx edx, byte [r9 + r10 + 8]
movsx ecx, si
imul edx, ecx
add r8w, dx
movsx esi, r8w
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm13
call fcn.7ff70b4ddf70
cvttss2si eax, xmm0
mov dword [rbp + 0x60], eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
call fcn.7ff70b5002e0
mulss xmm0, xmm7
addss xmm0, xmm13
call fcn.7ff70b4ddf70
cvttss2si eax, xmm0
mov dword [rbp + 0x64], eax
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm13
movss dword [rbp + 0x270], xmm0
mov eax, dword [rbp + 0x270]
mov ecx, eax
shr ecx, 0x17
movzx ecx, cl
sub ecx, 0x7f
cmp ecx, 0x17
jge 0x7ff70b57d1fd
test ecx, ecx
js 0x7ff70b57d1e1
mov edx, 0x7fffff
sar edx, cl
test eax, edx
je 0x7ff70b57d1fd
test eax, eax
js 0x7ff70b57d1cd
add eax, edx
not edx
and eax, edx
mov dword [rbp + 0x270], eax
movss xmm0, dword [rbp + 0x270]
jmp 0x7ff70b57d1fd
test eax, eax
jns 0x7ff70b57d1ec
mov ecx, 0x80000000
jmp 0x7ff70b57d1f8
test eax, 0x7fffffff
je 0x7ff70b57d1fd
mov ecx, 0x3f800000
call fcn.7ff70b500310
cvttss2si edi, xmm0
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
call fcn.7ff70b5002e0
mulss xmm0, xmm7
addss xmm0, xmm13
movss dword [rbp + 0x270], xmm0
mov eax, dword [rbp + 0x270]
mov ecx, eax
shr ecx, 0x17
movzx ecx, cl
sub ecx, 0x7f
cmp ecx, 0x17
jge 0x7ff70b57d27a
test ecx, ecx
js 0x7ff70b57d25e
mov edx, 0x7fffff
sar edx, cl
test eax, edx
je 0x7ff70b57d27a
test eax, eax
js 0x7ff70b57d24a
add eax, edx
not edx
and eax, edx
mov dword [rbp + 0x270], eax
movss xmm0, dword [rbp + 0x270]
jmp 0x7ff70b57d27a
test eax, eax
jns 0x7ff70b57d269
mov ecx, 0x80000000
jmp 0x7ff70b57d275
test eax, 0x7fffffff
je 0x7ff70b57d27a
mov ecx, 0x3f800000
call fcn.7ff70b500310
cvttss2si edx, xmm0
mov rsi, qword [rbp + 0x78]
mov r11d, dword [r15 + rsi + 0x14]
mov eax, dword [rbp + 0x60]
mov r8d, dword [rbp + 0x64]
mov r14d, dword [rbp - 0x80]
sub r11d, eax
add r11d, edi
mov r9d, dword [rbp - 0x58]
lea ecx, [r9 - 1]
add ecx, r11d
mov rax, qword [rbx - 8]
mov dword [rax + r13 + 0xc], ecx
mov eax, dword [r15 + rsi + 0x18]
sub eax, r8d
add eax, edx
lea ecx, [r9 - 1]
add ecx, eax
mov rax, qword [rbx - 8]
mov dword [rax + r13 + 0x10], ecx
mov rcx, qword [rbx - 8]
mov eax, dword [rcx + r13 + 0x10]
imul eax, dword [rcx + r13 + 0xc]
mov edx, dword [rbp + 0x278]
add edx, eax
mov dword [rbp + 0x278], edx
inc r14d
mov dword [rbp - 0x80], r14d
mov rcx, qword [rbp - 0x70]
add rcx, 4
mov qword [rbp - 0x70], rcx
add r13, 0x18
cmp r14d, dword [rbx + 0x30]
jl 0x7ff70b57d030
mov r12, qword [rbp + 0x260]
mov r13, qword [rbp - 0x68]
jmp 0x7ff70b57d316
mov edx, dword [rbp + 0x278]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov r10d, dword [rbp - 0x78]
mov r9d, dword [rbp - 0x7c]
add rbx, 0x108
add r15, 0x50
sub r13, 1
mov qword [rbp - 0x68], r13
jne 0x7ff70b57cef0
xor r15d, r15d
movd xmm0, edx
cvtdq2ps xmm0, xmm0
call fcn.7ff70b4ddec0
movaps xmm6, xmm0
mov ecx, 0x3f800000
call fcn.7ff70b500310
cvttss2si eax, xmm6
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si ecx, xmm0
mov dword [r12 + 0x2c], r15d
mov eax, dword [r12 + 0x10]
test eax, eax
jg 0x7ff70b57d3cb
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
mov ecx, 0x45333333
call fcn.7ff70b500310
comiss xmm6, xmm0
jb 0x7ff70b57d39b
mov eax, 0x1000
jmp 0x7ff70b57d3cb
mov ecx, 0x44b33333
call fcn.7ff70b500310
comiss xmm6, xmm0
jb 0x7ff70b57d3b1
mov eax, 0x800
jmp 0x7ff70b57d3cb
mov ecx, 0x44333333
call fcn.7ff70b500310
mov eax, 0x200
comiss xmm6, xmm0
mov ecx, 0x400
cmovae eax, ecx
mov dword [r12 + 0x28], eax
mov rsi, r15
mov qword [rbp + 0x28], r15
mov dword [rbp + 0x30], r15d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r15
mov r13, r15
mov qword [rbp + 0x58], r15
mov r14d, dword [r12 + 0x14]
mov r15d, dword [r12 + 0x28]
mov ecx, 0x14
call fcn.7ff70b4dd450
mov rbx, rax
mov edi, r15d
sub edi, r14d
movsxd rcx, edi
call fcn.7ff70b4dd450
test rbx, rbx
je 0x7ff70b57d468
test rax, rax
je 0x7ff70b57d463
mov dword [rbp + 0x30], r15d
mov rsi, rbx
mov qword [rbp + 0x28], rbx
mov r13, rax
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x3c], r14d
mov dword [rbp + 0x38], r15d
mov dword [rbp + 0x44], 1
mov dword [rbp + 0x48], 1
xor r15d, r15d
mov dword [rbp + 0x40], r15d
mov dword [rbx], edi
mov eax, 0x8000
sub eax, r14d
mov dword [rbx + 4], eax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r15d
jmp 0x7ff70b57d478
mov rcx, rbx
jmp 0x7ff70b57d470
test rax, rax
je 0x7ff70b57d475
mov rcx, rax
call fcn.7ff70b4dd700
xor r15d, r15d
mov qword [rbp + 0x78], 0
mov rdi, r15
mov qword [rbp + 0x80], r15
mov ebx, dword [r12 + 0x50]
test ebx, ebx
jle 0x7ff70b57d4b6
mov eax, ebx
cmp ebx, 8
mov ecx, 8
cmovl eax, ecx
test eax, eax
jle 0x7ff70b57d4b6
cdqe
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.7ff70b4dd450
mov rdi, rax
lea ecx, [rbx + rbx*2]
shl ecx, 3
movsxd r8, ecx
xor edx, edx
mov rcx, rdi
call fcn.7ff70b54e850
mov r9d, r15d
cmp dword [r12 + 0x50], 0
jle 0x7ff70b57d50d
mov rdx, r15
lea r8, [rdi + 0x10]
nop dword [rax + rax]
mov rax, qword [r12 + 0x58]
movzx ecx, word [rdx + rax + 4]
mov dword [r8 - 4], ecx
mov rax, qword [r12 + 0x58]
movzx ecx, word [rdx + rax + 6]
mov dword [r8], ecx
inc r9d
lea rdx, [rdx + 0x20]
lea r8, [r8 + 0x18]
cmp r9d, dword [r12 + 0x50]
jl 0x7ff70b57d4e0
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.7ff70b57c030
test ebx, ebx
jle 0x7ff70b57d576
mov r8, r15
lea rdx, [rdi + 4]
mov r9, rbx
nop dword [rax]
cmp dword [rdx + 0x10], 0
je 0x7ff70b57d568
movzx ecx, word [rdx - 4]
mov rax, qword [r12 + 0x58]
mov word [r8 + rax + 8], cx
movzx ecx, word [rdx]
mov rax, qword [r12 + 0x58]
mov word [r8 + rax + 0xa], cx
mov ecx, dword [rdx]
add ecx, dword [rdx + 0xc]
cmp dword [r12 + 0x2c], ecx
cmovge ecx, dword [r12 + 0x2c]
mov dword [r12 + 0x2c], ecx
add r8, 0x20
add rdx, 0x18
sub r9, 1
jne 0x7ff70b57d530
test rdi, rdi
je 0x7ff70b57d584
mov rcx, rdi
call fcn.7ff70b4dd700
nop
mov edi, dword [rbp + 0x268]
mov r14, qword [rsp + 0x60]
test edi, edi
jle 0x7ff70b57d602
lea rbx, [r14 + 0xe0]
nop word [rax + rax]
mov r8d, dword [rbx]
test r8d, r8d
je 0x7ff70b57d5ef
mov rdx, qword [rbx - 0x20]
mov rcx, rsi
call fcn.7ff70b57c030
mov r8d, r15d
cmp dword [rbx], 0
jle 0x7ff70b57d5ef
mov rdx, r15
nop
mov rax, qword [rbx - 0x20]
cmp dword [rdx + rax + 0x14], 0
je 0x7ff70b57d5e3
mov ecx, dword [rdx + rax + 0x10]
add ecx, dword [rdx + rax + 4]
cmp dword [r12 + 0x2c], ecx
cmovge ecx, dword [r12 + 0x2c]
mov dword [r12 + 0x2c], ecx
inc r8d
add rdx, 0x18
cmp r8d, dword [rbx]
jl 0x7ff70b57d5c0
add rbx, 0x108
sub rdi, 1
jne 0x7ff70b57d5a0
mov edi, dword [rbp + 0x268]
mov eax, dword [r12 + 0x2c]
test byte [r12 + 4], 1
jne 0x7ff70b57d634
lea ecx, [rax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
inc eax
mov dword [r12 + 0x2c], eax
mov ecx, 0x3f800000
call fcn.7ff70b500310
movaps xmm6, xmm0
movd xmm1, dword [r12 + 0x2c]
cvtdq2ps xmm1, xmm1
divss xmm6, xmm1
mov ebx, dword [r12 + 0x28]
mov ecx, 0x3f800000
call fcn.7ff70b500310
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [r12 + 0x30], xmm0
movss dword [r12 + 0x34], xmm6
imul ebx, dword [r12 + 0x2c]
movsxd rcx, ebx
call fcn.7ff70b4dd450
mov qword [r12 + 0x18], rax
mov ecx, dword [r12 + 0x28]
imul ecx, dword [r12 + 0x2c]
movsxd r8, ecx
xor edx, edx
mov rcx, rax
call fcn.7ff70b54e850
mov rax, qword [r12 + 0x18]
mov qword [rbp + 0x50], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbp + 0x34], eax
test edi, edi
jle 0x7ff70b57d81f
mov r13d, edi
nop word [rax + rax]
mov rbx, qword [r12 + 0x68]
cmp dword [r14 + 0xe0], 0
je 0x7ff70b57d7fc
lea r8, [r14 + 0x98]
mov rax, qword [r14 + 0xc0]
mov qword [rsp + 0x20], rax
mov rdx, r14
lea rcx, [rbp + 0x28]
call fcn.7ff70b57c100
movss xmm6, dword [r15 + rbx + 0x44]
mov ecx, 0x3f800000
call fcn.7ff70b500310
ucomiss xmm6, xmm0
jp 0x7ff70b57d71e
je 0x7ff70b57d7f1
movss xmm1, dword [r15 + rbx + 0x44]
xor r8d, r8d
lea r9, [rbp + 0x90]
mov r10d, 0xff
nop word [rax + rax]
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rcx, xmm0
mov edx, r10d
movzx eax, cl
cmp ecx, r10d
cmovbe edx, eax
mov byte [r9], dl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x100
jb 0x7ff70b57d740
mov rbx, qword [r14 + 0xc0]
xor esi, esi
cmp dword [r14 + 0xe0], esi
jle 0x7ff70b57d7f1
cmp dword [rbx + 0x14], 0
je 0x7ff70b57d7e2
movsxd rdx, dword [r12 + 0x28]
mov r10d, dword [rbx + 0x10]
mov eax, dword [rbx + 4]
imul eax, edx
cdqe
movsxd r9, dword [rbx]
add rax, qword [r12 + 0x18]
add r9, rax
movsxd r11, dword [rbx + 0xc]
test r10d, r10d
jle 0x7ff70b57d7e2
mov rdi, rdx
test r11, r11
jle 0x7ff70b57d7d7
mov rdx, r9
mov r8, r11
nop
movzx eax, byte [rdx]
movzx ecx, byte [rbp + rax + 0x90]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x7ff70b57d7c0
dec r10d
add r9, rdi
test r10d, r10d
jg 0x7ff70b57d7b3
inc esi
add rbx, 0x18
cmp esi, dword [r14 + 0xe0]
jl 0x7ff70b57d785
mov qword [r14 + 0xc0], 0
add r15, 0x50
add r14, 0x108
sub r13, 1
jne 0x7ff70b57d6d0
mov r13, qword [rbp + 0x58]
mov rsi, qword [rbp + 0x28]
mov edi, dword [rbp + 0x268]
mov rcx, r13
call fcn.7ff70b4dd700
mov rcx, rsi
call fcn.7ff70b4dd700
mov rax, qword [rsp + 0x68]
xor ebx, ebx
test rax, rax
je 0x7ff70b57d850
mov qword [rbp - 0x40], rbx
mov rcx, rax
call fcn.7ff70b4dd700
mov qword [rsp + 0x68], rbx
mov qword [rbp - 0x38], rbx
test edi, edi
jle 0x7ff70b57dc31
mov rdi, rbx
mov qword [rbp - 0x68], rbx
mov r15, qword [rsp + 0x60]
add r15, 0xe0
mov eax, dword [rbp + 0x268]
mov qword [rbp - 0x58], rax
mov r14d, eax
mov qword [rbp - 0x70], rax
nop dword [rax]
cmp dword [r15], 0
je 0x7ff70b57dbdd
mov r13, qword [r12 + 0x68]
add r13, rdi
mov rsi, qword [r13 + 0x48]
movsxd r10, dword [r15 - 0xc4]
mov r9, qword [r15 - 0xe0]
movzx r8d, byte [r10 + r9 + 7]
movzx edx, byte [r10 + r9 + 6]
mov r11d, 0x100
movsx ecx, r11w
imul edx, ecx
add r8w, dx
movsx ebx, r8w
movzx r8d, byte [r10 + r9 + 5]
movzx edx, byte [r10 + r9 + 4]
movsx ecx, r11w
imul edx, ecx
add r8w, dx
movsx ecx, r8w
mov eax, ecx
sub eax, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm7, dword [r13 + 0x10]
divss xmm7, xmm0
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
mov ecx, 0xbf800000
comiss xmm6, xmm13
mov eax, 0x3f800000
cmova ecx, eax
call fcn.7ff70b500310
movaps xmm1, xmm7
mulss xmm1, xmm6
addss xmm0, xmm1
call fcn.7ff70b4ddf70
movaps xmm8, xmm0
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
mov ecx, 0xbf800000
comiss xmm6, xmm13
mov eax, 0x3f800000
cmova ecx, eax
call fcn.7ff70b500310
mulss xmm7, xmm6
addss xmm0, xmm7
call fcn.7ff70b4ddf70
movaps xmm6, xmm0
xor ebx, ebx
cmp byte [r13 + 0x3c], bl
jne 0x7ff70b57d9ca
mov qword [rsi + 0x10], rbx
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x7ff70b57d975
mov qword [rsi + 0x28], rbx
call fcn.7ff70b4dd700
mov qword [rsi + 0x30], rbx
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x7ff70b57d98a
mov qword [rsi], rbx
call fcn.7ff70b4dd700
mov qword [rsi + 8], rbx
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x7ff70b57d9a0
mov qword [rsi + 0x18], rbx
call fcn.7ff70b4dd700
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x48], rbx
mov byte [rsi + 0x64], 1
mov qword [rsi + 0x5c], rbx
mov eax, dword [r13 + 0x10]
mov dword [rsi + 0x14], eax
mov qword [rsi + 0x50], r13
mov qword [rsi + 0x48], r12
movss dword [rsi + 0x5c], xmm8
movss dword [rsi + 0x60], xmm6
inc word [rsi + 0x58]
movss xmm11, dword [r13 + 0x28]
mov ecx, 0x3f000000
call fcn.7ff70b500310
addss xmm0, dword [rsi + 0x5c]
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
addss xmm12, dword [r13 + 0x2c]
mov dword [rbp + 0x260], ebx
cmp dword [r15], 0
jle 0x7ff70b57dbdd
mov qword [rbp + 0x278], rbx
xor ecx, ecx
mov qword [rbp + 0x270], rcx
nop word [rax + rax]
mov rax, qword [r15 + 0x20]
mov eax, dword [rcx + rax]
mov dword [rbp + 0x268], eax
mov r14, qword [r15 - 0x18]
movss xmm0, dword [r14 + rbx + 0x10]
movss xmm10, dword [r13 + 0x34]
comiss xmm10, xmm0
ja 0x7ff70b57da4f
movss xmm10, dword [r13 + 0x38]
minss xmm10, xmm0
movaps xmm9, xmm11
ucomiss xmm0, xmm10
jp 0x7ff70b57da5b
je 0x7ff70b57da9e
movaps xmm6, xmm10
subss xmm6, xmm0
mov ecx, 0x3f000000
cmp byte [r13 + 0x1c], 0
je 0x7ff70b57da87
call fcn.7ff70b500310
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
jmp 0x7ff70b57da95
call fcn.7ff70b500310
movaps xmm9, xmm0
mulss xmm9, xmm6
addss xmm9, xmm11
mov r14, qword [r15 - 0x18]
mov edi, dword [r12 + 0x2c]
mov ebx, dword [r12 + 0x28]
mov ecx, 0x3f800000
call fcn.7ff70b500310
movaps xmm6, xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm6, xmm1
mov ecx, 0x3f800000
call fcn.7ff70b500310
movd xmm1, edi
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
mov rbx, qword [rbp + 0x278]
movzx eax, word [r14 + rbx]
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm6
movzx eax, word [r14 + rbx + 2]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
movzx eax, word [r14 + rbx + 4]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm6
movzx eax, word [r14 + rbx + 6]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss xmm4, dword [r14 + rbx + 0x18]
addss xmm4, xmm13
addss xmm4, xmm12
movss xmm0, dword [r14 + rbx + 0x14]
addss xmm0, xmm13
addss xmm0, xmm9
movss xmm3, dword [r14 + rbx + 0xc]
addss xmm3, xmm13
addss xmm3, xmm12
movss xmm2, dword [r14 + rbx + 8]
addss xmm2, xmm13
addss xmm2, xmm9
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x40], xmm5
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm4
movss dword [rsp + 0x20], xmm0
movzx edx, word [rbp + 0x268]
mov rcx, rsi
call fcn.7ff70b4f2150
mov edx, dword [rbp + 0x260]
inc edx
mov dword [rbp + 0x260], edx
mov rcx, qword [rbp + 0x270]
add rcx, 4
mov qword [rbp + 0x270], rcx
add rbx, 0x1c
mov qword [rbp + 0x278], rbx
cmp edx, dword [r15]
jl 0x7ff70b57da20
mov rdi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x70]
add r15, 0x108
add rdi, 0x50
mov qword [rbp - 0x68], rdi
sub r14, 1
mov qword [rbp - 0x70], r14
jne 0x7ff70b57d880
mov rbx, qword [rsp + 0x60]
add rbx, 0xf0
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x7ff70b57dc15
call fcn.7ff70b4dd700
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x7ff70b57dc23
call fcn.7ff70b4dd700
nop
add rbx, 0x108
sub qword [rbp - 0x58], 1
jne 0x7ff70b57dc06
mov rcx, r12
call fcn.7ff70b57dcd0
mov bl, 1
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x7ff70b57dc4b
call fcn.7ff70b4dd700
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x7ff70b57dc5b
call fcn.7ff70b4dd700
nop
mov r13, qword [rsp + 0x78]
test r13, r13
je 0x7ff70b57dc6e
mov rcx, r13
call fcn.7ff70b4dd700
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x7ff70b57dc81
mov rcx, rax
call fcn.7ff70b4dd700
nop
movzx eax, bl
lea r11, [rsp + 0x318]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret