Function at 0x140020750
Capabilities:
Enumerate pe sections

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x290
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rbp + 0xe0], rax
cmp dword [rcx + 0x40], 0
mov r14, rcx
mov qword [rsp + 0x50], rcx
jne 0x14002079e
call fcn.1400206c0
mov rcx, qword [r14 + 8]
xor esi, esi
mov qword [r14], rsi
xorps xmm6, xmm6
mov qword [r14 + 0x18], rsi
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [r14 + 0x28], xmm0
test rcx, rcx
je 0x1400207d2
mov rax, qword [str._D_]
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x1400207ee
mov rax, qword [str._D_]
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov ebx, esi
mov qword [r14 + 8], rsi
mov r15d, esi
mov qword [r14 + 0x10], rsi
mov r9d, esi
cmp dword [r14 + 0x50], esi
jle 0x140020861
mov r8, rsi
lea r10, [0x14021c790]
nop
mov rdx, qword [r14 + 0x58]
cmp qword [r8 + rdx + 0x38], rsi
jne 0x140020820
mov qword [r8 + rdx + 0x38], r10
mov rdx, qword [r8 + rdx + 0x38]
movzx eax, word [rdx]
test ax, ax
je 0x140020854
nop dword [rax]
movzx ecx, word [rdx + 2]
test cx, cx
je 0x140020854
add rdx, 4
movzx eax, ax
inc ebx
movzx ecx, cx
sub ecx, eax
inc r15d
add ebx, ecx
movzx eax, word [rdx]
test ax, ax
jne 0x140020830
inc r9d
add r8, 0x78
cmp r9d, dword [r14 + 0x50]
jl 0x140020810
mov r8d, dword [r14 + 0x20]
test r8d, r8d
jg 0x14002089f
cmp ebx, 0xfa0
jle 0x14002087a
mov r8d, 0x1000
jmp 0x14002089f
cmp ebx, 0x7d0
jle 0x14002088a
mov r8d, 0x800
jmp 0x14002089f
cmp ebx, 0x3e8
mov eax, 0x400
mov r8d, 0x200
cmovg r8d, eax
mov eax, dword [r14 + 0x24]
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x28], eax
mov dword [r14 + 0x18], r8d
mov dword [r14 + 0x1c], esi
call fcn.14001bc80
mov rdx, qword [rbp - 0x60]
mov r12d, 1
mov rcx, r14
mov dword [rsp + 0x44], r12d
mov r13d, r12d
call fcn.140021650
movsxd rax, dword [r14 + 0x50]
imul rcx, rax, 0xb8
mov rax, qword [str._D_]
inc dword [rax + 0x34c]
call qword [rax + 0xe8]
mov edi, esi
mov r11, rax
mov qword [rsp + 0x70], rax
cmp dword [r14 + 0x50], esi
jle 0x140020947
mov rcx, qword [r14 + 0x58]
mov r10, qword [rsi + rcx]
mov edx, dword [rsi + rcx + 0x10]
mov rcx, r10
call fcn.140016b50
movsxd rcx, edi
mov r8d, eax
imul rcx, rcx, 0xb8
mov rdx, r10
add rcx, r11
call fcn.140016d90
test eax, eax
je 0x140020d3f
mov r11, qword [rsp + 0x70]
inc edi
add rsi, 0x78
cmp edi, dword [r14 + 0x50]
jl 0x140020900
xor esi, esi
mov rax, qword [str._D_]
mov r14d, esi
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x60], esi
movsxd rsi, ebx
inc dword [rax + 0x34c]
imul rdi, rsi, 0x1c
movaps xmmword [rsp + 0x270], xmm7
mov rcx, rdi
call qword [rax + 0xe8]
mov rdx, qword [str._D_]
shl rsi, 4
mov rcx, rsi
mov qword [rsp + 0x78], rax
inc dword [rdx + 0x34c]
call qword [rdx + 0xe8]
mov rdx, qword [str._D_]
movsxd rcx, r15d
mov qword [rsp + 0x68], rax
inc dword [rdx + 0x34c]
lea rbx, [rcx + rcx*4]
shl rbx, 3
mov rcx, rbx
call qword [rdx + 0xe8]
mov rcx, qword [rsp + 0x78]
mov r8, rdi
xor edx, edx
mov qword [rbp - 0x70], rax
mov r15, rax
call fcn.14016c710
mov rcx, qword [rsp + 0x68]
mov r8, rsi
xor edx, edx
call fcn.14016c710
mov r8, rbx
xor edx, edx
mov rcx, r15
call fcn.14016c710
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x40], 0
cmp dword [rax + 0x50], 0
jle 0x140020d46
mov rdi, qword [rsp + 0x70]
xor esi, esi
mov qword [rsp + 0x58], rsi
mov r11, qword [rax + 0x58]
xor ebx, ebx
xor r8d, r8d
mov rdx, qword [rsi + r11 + 0x38]
movzx eax, word [rdx]
test ax, ax
je 0x140020a4b
movzx ecx, word [rdx + 2]
test cx, cx
je 0x140020a4b
add rdx, 4
movzx eax, ax
inc ebx
movzx ecx, cx
sub ecx, eax
inc r8d
add ebx, ecx
movzx eax, word [rdx]
test ax, ax
jne 0x140020a27
movsxd rdx, dword [rsp + 0x60]
xor r9d, r9d
mov dword [rdi + 0xb0], r8d
lea rcx, [rdx + rdx*4]
add edx, r8d
lea rax, [r15 + rcx*8]
mov dword [rsp + 0x60], edx
movsxd r15, r8d
mov qword [rdi + 0xa8], rax
mov qword [rbp - 0x78], r15
cmp r15, 4
jl 0x140020be2
mov r13, qword [rsp + 0x78]
lea rax, [r15 - 3]
mov r15, rax
xor r10d, r10d
mov rdx, qword [rsi + r11 + 0x38]
lea r10, [r10 + 0xa0]
mov r8, qword [rdi + 0xa8]
mov eax, dword [rsi + r11 + 0x14]
mov dword [r10 + r8 - 0xa0], eax
movzx eax, word [rdx + r9*4]
mov dword [r10 + r8 - 0x9c], eax
movzx ecx, word [rdx + r9*4 + 2]
movzx eax, word [rdx + r9*4]
sub ecx, eax
movsxd rax, r14d
inc ecx
mov dword [r10 + r8 - 0x90], ecx
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 - 0x88], rcx
add r14d, dword [r10 + r8 - 0x90]
mov rdx, qword [rsi + r11 + 0x38]
mov r8, qword [rdi + 0xa8]
mov eax, dword [rsi + r11 + 0x14]
mov dword [r10 + r8 - 0x78], eax
movzx eax, word [rdx + r9*4 + 4]
mov dword [r10 + r8 - 0x74], eax
movzx ecx, word [rdx + r9*4 + 6]
movzx eax, word [rdx + r9*4 + 4]
sub ecx, eax
movsxd rax, r14d
inc ecx
mov dword [r10 + r8 - 0x68], ecx
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 - 0x60], rcx
add r14d, dword [r10 + r8 - 0x68]
mov rdx, qword [rsi + r11 + 0x38]
mov r8, qword [rdi + 0xa8]
mov eax, dword [rsi + r11 + 0x14]
mov dword [r10 + r8 - 0x50], eax
movzx eax, word [rdx + r9*4 + 8]
mov dword [r10 + r8 - 0x4c], eax
movzx ecx, word [rdx + r9*4 + 0xa]
movzx eax, word [rdx + r9*4 + 8]
sub ecx, eax
movsxd rax, r14d
inc ecx
mov dword [r10 + r8 - 0x40], ecx
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 - 0x38], rcx
add r14d, dword [r10 + r8 - 0x40]
mov rdx, qword [rsi + r11 + 0x38]
mov eax, dword [rsi + r11 + 0x14]
mov r8, qword [rdi + 0xa8]
mov dword [r10 + r8 - 0x28], eax
movzx eax, word [rdx + r9*4 + 0xc]
mov dword [r10 + r8 - 0x24], eax
movzx ecx, word [rdx + r9*4 + 0xe]
movzx eax, word [rdx + r9*4 + 0xc]
add r9, 4
sub ecx, eax
movsxd rax, r14d
inc ecx
mov dword [r10 + r8 - 0x18], ecx
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 - 0x10], rcx
add r14d, dword [r10 + r8 - 0x18]
cmp r9, r15
jl 0x140020a90
mov r15, qword [rbp - 0x78]
mov r13d, dword [rsp + 0x44]
cmp r9, r15
jge 0x140020c4b
mov r13, qword [rsp + 0x78]
lea r10, [r9 + r9*4]
shl r10, 3
mov rcx, qword [rsi + r11 + 0x38]
lea r10, [r10 + 0x28]
mov eax, dword [rsi + r11 + 0x14]
mov r8, qword [rdi + 0xa8]
mov dword [r10 + r8 - 0x28], eax
movzx eax, word [rcx + r9*4]
mov dword [r10 + r8 - 0x24], eax
movzx eax, word [rcx + r9*4]
movzx edx, word [rcx + r9*4 + 2]
inc r9
sub edx, eax
movsxd rax, r14d
inc edx
imul rcx, rax, 0x1c
add r14d, edx
mov dword [r10 + r8 - 0x18], edx
add rcx, r13
mov qword [r10 + r8 - 0x10], rcx
cmp r9, r15
jl 0x140020bf4
mov r13d, dword [rsp + 0x44]
movsxd rax, dword [rsp + 0x48]
lea rcx, [rbp - 0x68]
mov r9d, dword [rdi + 0xb0]
mov rdx, rax
mov r8, qword [rdi + 0xa8]
add eax, ebx
shl rdx, 4
add rdx, qword [rsp + 0x68]
mov qword [rdi + 0x98], rdx
mov dword [rdi + 0xa0], ebx
cmp dword [rsi + r11 + 0x18], 8
mov qword [rsp + 0x20], rdx
mov rdx, rdi
cmovbe r12d, dword [rsi + r11 + 0x18]
cmp dword [rsi + r11 + 0x1c], 8
mov dword [rsp + 0x48], eax
cmovbe r13d, dword [rsi + r11 + 0x1c]
mov dword [rbp - 0x44], r13d
mov dword [rbp - 0x48], r12d
call fcn.14001c2c0
mov rdx, qword [rdi + 0x98]
mov rcx, qword [rbp - 0x60]
movsxd rbx, eax
mov r8d, ebx
call fcn.140016220
mov r8, rbx
test ebx, ebx
jle 0x140020d05
mov rsi, qword [rsp + 0x50]
xor edx, edx
mov rax, qword [rdi + 0x98]
cmp dword [rax + rdx + 0xc], 0
je 0x140020cf6
movzx ecx, word [rax + rdx + 0xa]
movzx eax, word [rax + rdx + 6]
add ecx, eax
cmp dword [rsi + 0x1c], ecx
cmovge ecx, dword [rsi + 0x1c]
mov dword [rsi + 0x1c], ecx
add rdx, 0x10
sub r8, 1
jne 0x140020cd2
mov rsi, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x40]
add rsi, 0x78
mov rax, qword [rsp + 0x50]
inc ecx
mov r13d, dword [rbp - 0x44]
add rdi, 0xb8
mov r12d, dword [rbp - 0x48]
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x58], rsi
cmp ecx, dword [rax + 0x50]
jge 0x140020d46
mov r15, qword [rbp - 0x70]
mov dword [rsp + 0x44], r13d
jmp 0x140020a11
xor al, al
jmp 0x140021618
mov r14, qword [rsp + 0x50]
mov edx, dword [r14 + 0x1c]
dec edx
mov eax, edx
sar eax, 1
or edx, eax
mov eax, edx
sar eax, 2
or edx, eax
mov eax, edx
sar eax, 4
or edx, eax
mov eax, edx
sar eax, 8
or edx, eax
mov eax, dword [r14 + 0x18]
mov ecx, edx
sar ecx, 0x10
or ecx, edx
inc ecx
imul eax, ecx
mov dword [r14 + 0x1c], ecx
movsxd rcx, eax
mov rax, qword [str._D_]
inc dword [rax + 0x34c]
call qword [rax + 0xe8]
mov ecx, dword [r14 + 0x18]
xor edx, edx
imul ecx, dword [r14 + 0x1c]
mov qword [r14 + 8], rax
movsxd r8, ecx
mov rcx, rax
call fcn.14016c710
mov rax, qword [r14 + 8]
xor esi, esi
movss xmm7, dword [0x14021d2e8]
mov qword [rbp - 0x40], rax
mov eax, dword [r14 + 0x1c]
mov dword [rbp - 0x54], eax
mov dword [rsp + 0x40], esi
cmp dword [r14 + 0x50], esi
jle 0x140020f8a
mov r14, qword [rsp + 0x70]
xor edi, edi
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdi
nop dword [rax + rax]
mov rbx, qword [r15 + 0x58]
lea rcx, [rbp - 0x68]
mov rax, qword [r14 + 0x98]
mov rdx, r14
mov r9d, dword [r14 + 0xb0]
mov r8, qword [r14 + 0xa8]
cmp dword [rdi + rbx + 0x18], 8
mov qword [rsp + 0x20], rax
cmovbe r12d, dword [rdi + rbx + 0x18]
cmp dword [rdi + rbx + 0x1c], 8
mov dword [rbp - 0x48], r12d
cmovbe r13d, dword [rdi + rbx + 0x1c]
mov dword [rbp - 0x44], r13d
call fcn.14001c520
movss xmm1, dword [rdi + rbx + 0x48]
ucomiss xmm1, xmm7
jp 0x140020e49
je 0x140020f52
xor r12d, r12d
lea rdx, [rbp - 0x20]
mov ecx, r12d
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rax, xmm0
cmp eax, 0xff
jbe 0x140020e81
mov eax, 0xff
jmp 0x140020e84
movzx eax, al
mov byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x100
jb 0x140020e60
mov rbx, qword [r14 + 0x98]
movsxd rax, dword [r14 + 0xa0]
shl rax, 4
add rax, rbx
cmp rbx, rax
je 0x140020f55
mov r13, qword [rbp - 0x40]
add rbx, 4
movsxd r12, dword [rbp - 0x50]
nop dword [rax]
cmp dword [rbx + 8], 0
je 0x140020f26
movzx eax, word [rbx + 6]
movzx r10d, word [rbx + 4]
movzx r11d, word [rbx + 2]
movzx r9d, word [rbx]
imul eax, r12d
cdqe
add rax, r13
add r10, rax
test r11d, r11d
je 0x140020f26
mov r8, r10
mov rdi, r12
neg r8
neg rdi
test r9, r9
je 0x140020f18
mov rdx, r10
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
movzx ecx, byte [rbp + rax - 0x20]
lea rax, [r8 + rdx]
mov byte [rdx - 1], cl
cmp rax, r9
jl 0x140020f00
dec r11d
add r10, r12
add r8, rdi
test r11d, r11d
jg 0x140020ef5
movsxd rcx, dword [r14 + 0xa0]
add rbx, 0x10
shl rcx, 4
add rcx, qword [r14 + 0x98]
lea rax, [rbx - 4]
cmp rax, rcx
jne 0x140020ec0
mov rdi, qword [rsp + 0x58]
mov esi, dword [rsp + 0x40]
xor r12d, r12d
mov qword [r14 + 0x98], r12
inc esi
add rdi, 0x78
mov dword [rsp + 0x40], esi
add r14, 0xb8
mov qword [rsp + 0x58], rdi
cmp esi, dword [r15 + 0x50]
jge 0x140020f85
mov r13d, dword [rbp - 0x44]
mov r12d, dword [rbp - 0x48]
jmp 0x140020df0
mov r14, r15
jmp 0x140020f8d
xor r12d, r12d
mov rcx, qword [rbp - 0x38]
mov rax, qword [str._D_]
test rcx, rcx
je 0x140020fa3
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rax, qword [rbp - 0x60]
mov rdx, qword [str._D_]
test rax, rax
je 0x140020fbf
dec dword [rdx + 0x34c]
mov rcx, rax
call qword [rdx + 0xf0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [str._D_]
test rcx, rcx
je 0x140020fdf
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
cmp dword [r14 + 0x50], 0
mov esi, r12d
mov dword [rsp + 0x44], r12d
jle 0x1400215b0
mov rdi, qword [rsp + 0x70]
mov rcx, r12
movss xmm3, dword [0x14021d2d0]
add rdi, 8
movaps xmmword [rsp + 0x260], xmm8
mov r13d, 0x100
movaps xmmword [rsp + 0x250], xmm9
movaps xmmword [rsp + 0x240], xmm10
movaps xmmword [rsp + 0x230], xmm11
movaps xmmword [rsp + 0x220], xmm12
movaps xmmword [rsp + 0x210], xmm13
movaps xmmword [rsp + 0x200], xmm14
movss xmm14, dword [0x14021d2fc]
movaps xmmword [rsp + 0x1f0], xmm15
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rdi
nop dword [rax]
movsxd r11, dword [rdi + 0x1c]
mov r10, qword [rdi]
mov r15, qword [r14 + 0x58]
add r15, rcx
movsx ecx, r13w
mov qword [rbp - 0x30], r15
movzx r8d, byte [r11 + r10 + 7]
movzx edx, byte [r11 + r10 + 6]
movzx eax, byte [r11 + r10 + 4]
movss xmm2, dword [r15 + 0x14]
mov rbx, qword [r15 + 0x70]
imul edx, ecx
movsx ecx, r13w
imul eax, ecx
movsx ecx, r13w
add r8w, dx
movzx edx, byte [r11 + r10 + 4]
imul edx, ecx
movsx r9d, r8w
movzx r8d, byte [r11 + r10 + 5]
add ax, r8w
movsx ecx, r13w
cwde
sub eax, r9d
movd xmm0, eax
movzx eax, byte [r11 + r10 + 5]
add dx, ax
movzx eax, byte [r11 + r10 + 7]
movsx r8d, dx
movzx edx, byte [r11 + r10 + 6]
imul edx, ecx
cvtdq2ps xmm0, xmm0
add dx, ax
cmp byte [r15 + 0x40], 0
divss xmm2, xmm0
movsx ecx, dx
jne 0x1400211e2
movd xmm1, ecx
mov qword [rbx + 0x58], r14
mov qword [rbx + 0x50], r15
mov word [rbx + 0x4e], r12w
mov eax, dword [r15 + 0x14]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mov dword [rbx], eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [rbx + 0x60], xmm0
movss dword [rbx + 0x64], xmm1
mov ecx, dword [rbx + 0x14]
test ecx, ecx
jns 0x1400211da
je 0x140021157
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14002115c
mov eax, 8
test eax, eax
mov edi, r12d
cmovg edi, eax
cmp edi, ecx
jle 0x1400211d5
mov rdx, qword [str._D_]
movsxd rax, edi
inc dword [rdx + 0x34c]
lea rcx, [rax + rax*4]
shl rcx, 3
call qword [rdx + 0xe8]
mov rdx, qword [rbx + 0x18]
mov rsi, rax
test rdx, rdx
je 0x1400211a6
movsxd rcx, dword [rbx + 0x10]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 3
call fcn.14016a920
mov rcx, qword [rbx + 0x18]
mov rax, qword [str._D_]
test rcx, rcx
je 0x1400211bc
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
movss xmm3, dword [0x14021d2d0]
mov qword [rbx + 0x18], rsi
mov esi, dword [rsp + 0x44]
mov dword [rbx + 0x14], edi
mov rdi, qword [rsp + 0x60]
mov dword [rbx + 0x10], r12d
mov dword [rbx + 0x68], r12d
inc word [rbx + 0x4e]
movss xmm0, dword [r15 + 0x2c]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rbx + 0x60]
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm15, eax
mov eax, r12d
cvtdq2ps xmm15, xmm15
mov dword [rsp + 0x40], eax
addss xmm15, dword [r15 + 0x30]
mov qword [rbx + 0x40], r12
cmp dword [rdi + 0xa8], 0
jle 0x14002152d
mov r8, r12
mov qword [rsp + 0x58], r12
nop
mov r9, qword [rdi + 0xa0]
mov r13d, r12d
mov qword [rbp - 0x80], r9
cmp dword [r8 + r9 + 0x10], 0
jle 0x140021508
mov rdi, r12
nop dword [rax]
mov rsi, qword [r8 + r9 + 0x18]
cmp word [rdi + rsi], 0
jne 0x140021278
cmp word [rdi + rsi + 4], 0
jne 0x140021278
cmp word [rdi + rsi + 2], 0
jne 0x140021278
cmp word [rdi + rsi + 6], 0
je 0x1400214ea
mov r12d, dword [r8 + r9 + 4]
add r12d, r13d
cmp byte [r15 + 0x40], 0
je 0x1400212c4
movzx eax, r12w
cmp eax, dword [rbx + 0x30]
jge 0x1400212b7
mov rax, qword [rbx + 0x38]
movzx ecx, r12w
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
je 0x1400212b7
movzx eax, dx
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x18]
lea rdx, [rax + rcx*8]
jmp 0x1400212bb
mov rdx, qword [rbx + 0x40]
test rdx, rdx
jne 0x1400214ea
movzx eax, word [rdi + rsi]
movaps xmm2, xmm7
movd xmm0, dword [r14 + 0x18]
movd xmm1, dword [r14 + 0x1c]
movss xmm8, dword [rdi + rsi + 8]
movss xmm9, dword [rdi + rsi + 0xc]
addss xmm8, xmm6
movss xmm10, dword [rdi + rsi + 0x14]
addss xmm9, xmm6
movss xmm11, dword [rdi + rsi + 0x18]
addss xmm10, xmm6
mov r15d, dword [rbx + 0x10]
addss xmm11, xmm6
mov ecx, dword [rbx + 0x14]
inc r15d
movd xmm12, eax
movzx eax, word [rdi + rsi + 2]
cvtdq2ps xmm0, xmm0
movd xmm13, eax
movzx eax, word [rdi + rsi + 4]
divss xmm2, xmm0
movaps xmm0, xmm7
movd xmm6, eax
movzx eax, word [rdi + rsi + 6]
cvtdq2ps xmm1, xmm1
movd xmm7, eax
divss xmm0, xmm1
cvtdq2ps xmm12, xmm12
cvtdq2ps xmm13, xmm13
mulss xmm12, xmm2
mulss xmm13, xmm0
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
mulss xmm6, xmm2
mulss xmm7, xmm0
cmp r15d, ecx
jle 0x14002140c
test ecx, ecx
je 0x14002137b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140021380
mov eax, 8
cmp eax, r15d
mov r14d, r15d
cmovg r14d, eax
cmp r14d, ecx
jle 0x140021407
mov rdx, qword [str._D_]
movsxd rax, r14d
inc dword [rdx + 0x34c]
lea rcx, [rax + rax*4]
shl rcx, 3
call qword [rdx + 0xe8]
mov rdx, qword [rbx + 0x18]
mov qword [rbp - 0x78], rax
test rdx, rdx
je 0x1400213ce
movsxd rcx, dword [rbx + 0x10]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 3
call fcn.14016a920
mov rcx, qword [rbx + 0x18]
mov rax, qword [str._D_]
test rcx, rcx
je 0x1400213e4
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rax, qword [rbp - 0x78]
movss xmm3, dword [0x14021d2d0]
mov r8, qword [rsp + 0x58]
mov r9, qword [rbp - 0x80]
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x14], r14d
mov r14, qword [rsp + 0x50]
addss xmm8, dword [rsp + 0x48]
addss xmm10, dword [rsp + 0x48]
mov dword [rbx + 0x10], r15d
lea eax, [r15 - 1]
mov rdx, qword [rbx + 0x18]
addss xmm9, xmm15
mov r15, qword [rbp - 0x30]
addss xmm11, xmm15
cdqe
lea rcx, [rax + rax*4]
movss dword [rdx + rcx*8 + 8], xmm8
movss dword [rdx + rcx*8 + 0xc], xmm9
movss dword [rdx + rcx*8 + 0x10], xmm10
movss dword [rdx + rcx*8 + 0x14], xmm11
movss dword [rdx + rcx*8 + 0x18], xmm12
movss dword [rdx + rcx*8 + 0x1c], xmm13
movss dword [rdx + rcx*8 + 0x20], xmm6
movss dword [rdx + rcx*8 + 0x24], xmm7
mov word [rdx + rcx*8], r12w
movss xmm0, dword [rdi + rsi + 0x10]
addss xmm0, dword [r15 + 0x24]
movss dword [rdx + rcx*8 + 4], xmm0
cmp byte [r15 + 0x20], 0
je 0x1400214a3
addss xmm0, xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdx + rcx*8 + 4], xmm0
movd xmm0, dword [r14 + 0x1c]
subss xmm7, xmm13
cvtdq2ps xmm0, xmm0
subss xmm6, xmm12
mulss xmm7, xmm0
movd xmm0, dword [r14 + 0x18]
cvtdq2ps xmm0, xmm0
addss xmm7, xmm14
mulss xmm6, xmm0
addss xmm6, xmm14
cvttss2si ecx, xmm7
movss xmm7, dword [0x14021d2e8]
cvttss2si eax, xmm6
xorps xmm6, xmm6
imul ecx, eax
add dword [rbx + 0x68], ecx
inc r13d
add rdi, 0x1c
cmp r13d, dword [r8 + r9 + 0x10]
jl 0x140021250
mov eax, dword [rsp + 0x40]
xor r12d, r12d
mov rdi, qword [rsp + 0x60]
inc eax
add r8, 0x28
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x58], r8
cmp eax, dword [rdi + 0xa8]
jl 0x140021230
mov esi, dword [rsp + 0x44]
mov r13d, 0x100
mov rcx, qword [r15 + 0x70]
call fcn.140022020
mov rcx, qword [rsp + 0x68]
inc esi
movss xmm3, dword [0x14021d2d0]
add rcx, 0x78
add rdi, 0xb8
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rdi
cmp esi, dword [r14 + 0x50]
jl 0x140021070
movaps xmm15, xmmword [rsp + 0x1f0]
movaps xmm14, xmmword [rsp + 0x200]
movaps xmm13, xmmword [rsp + 0x210]
movaps xmm12, xmmword [rsp + 0x220]
movaps xmm11, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
movaps xmm9, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
mov rcx, qword [rsp + 0x78]
mov rax, qword [str._D_]
movaps xmm7, xmmword [rsp + 0x270]
test rcx, rcx
je 0x1400215cf
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rcx, qword [rbp - 0x70]
mov rax, qword [str._D_]
test rcx, rcx
je 0x1400215eb
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [str._D_]
test rcx, rcx
je 0x140021608
dec dword [rax + 0x34c]
call qword [rax + 0xf0]
mov rcx, r14
call fcn.1400217b0
mov al, 1
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.140168e10
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret