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

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, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14009e180]
xor rax, rsp
mov qword [rbp - 0x38], rax
mov rbx, rcx
mov qword [rsp + 0x58], rcx
xor r13d, r13d
mov qword [rcx], r13
mov qword [rcx + 0x18], r13
mov qword [rcx + 0x24], r13
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14001f936
mov rax, qword [0x14009e200]
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14001f955
mov rax, qword [0x14009e200]
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
movsxd rax, dword [rbx + 0x40]
imul rcx, rax, 0xb0
mov rax, qword [0x14009e200]
inc dword [rax + 0x34c]
mov rax, qword [rax + 0xe8]
call rax
mov rcx, rax
mov qword [rsp + 0x50], rax
mov edi, r13d
mov r15d, r13d
mov r12d, r13d
cmp dword [rbx + 0x40], r13d
jle 0x14001fa28
mov rsi, r13
nop dword [rax]
mov r14, qword [rbx + 0x48]
movsxd rax, r12d
imul r10, rax, 0xb0
add r10, rcx
mov edx, dword [rsi + r14 + 0x10]
mov rcx, qword [rsi + r14]
call fcn.140015b90
mov r8d, eax
mov rdx, qword [rsi + r14]
mov rcx, r10
call fcn.140015e40
test eax, eax
je 0x14001fa3e
mov rdx, qword [rsi + r14 + 0x38]
test rdx, rdx
jne 0x14001f9eb
lea rax, [0x14008b850]
mov qword [rsi + r14 + 0x38], rax
mov rdx, rax
cmp word [rdx], r13w
je 0x14001fa12
movzx eax, word [rdx + 2]
test ax, ax
je 0x14001fa12
mov ecx, eax
movzx eax, word [rdx]
sub ecx, eax
inc edi
add edi, ecx
inc r15d
add rdx, 4
cmp word [rdx], r13w
jne 0x14001f9f1
inc r12d
add rsi, 0x70
cmp r12d, dword [rbx + 0x40]
mov rcx, qword [rsp + 0x50]
jl 0x14001f9a0
mov esi, dword [rbx + 0x20]
test esi, esi
jg 0x14001fa67
cmp edi, 0xfa0
jle 0x14001fa45
mov esi, 0x1000
jmp 0x14001fa67
xor al, al
jmp 0x1400205b5
cmp edi, 0x7d0
jle 0x14001fa54
mov esi, 0x800
jmp 0x14001fa67
mov esi, 0x200
mov eax, 0x400
cmp edi, 0x3e8
cmovg esi, eax
mov dword [rbx + 0x18], esi
mov dword [rbx + 0x1c], r13d
mov rax, qword [0x14009e200]
inc dword [rax + 0x34c]
mov rax, qword [rax + 0xe8]
mov ecx, 0x48
call rax
mov r14, rax
mov qword [rsp + 0x40], rax
lea r12d, [rsi - 1]
mov rax, qword [0x14009e200]
inc dword [rax + 0x34c]
mov rdx, qword [rax + 0xe8]
movsxd rcx, r12d
shl rcx, 4
call rdx
mov rcx, rax
test r14, r14
je 0x14001fafd
test rax, rax
je 0x14001faf8
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x70], esi
mov dword [rbp - 0x6c], 0x8000
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x64], 1
mov dword [rbp - 0x68], esi
mov dword [rsp + 0x20], r12d
mov r9, rax
mov edx, r12d
mov rcx, r14
call fcn.140014d20
jmp 0x14001fb21
mov rcx, r14
jmp 0x14001fb02
test rcx, rcx
je 0x14001fb18
mov rax, qword [0x14009e200]
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
mov r14, qword [rbp - 0x78]
mov qword [rsp + 0x40], r14
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
lea r8, [rbp - 0x48]
xor edx, edx
mov rcx, rbx
call fcn.140020620
mov r12d, 1
mov r13d, r12d
mov dword [rsp + 0x30], r12d
mov esi, dword [rbp - 0x48]
mov r8d, esi
mov rdx, qword [rbp - 0x40]
mov rcx, r14
call fcn.1400152f0
test esi, esi
jle 0x14001fb92
mov rdx, qword [rbp - 0x40]
add rdx, 0xa
mov r8d, esi
nop dword [rax]
cmp dword [rdx + 2], 0
je 0x14001fb89
movzx ecx, word [rdx - 4]
movzx eax, word [rdx]
add ecx, eax
cmp dword [rbx + 0x1c], ecx
cmovge ecx, dword [rbx + 0x1c]
mov dword [rbx + 0x1c], ecx
add rdx, 0x10
sub r8, r12
jne 0x14001fb70
xor r14d, r14d
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x3c], r14d
mov rax, qword [0x14009e200]
inc dword [rax + 0x34c]
mov rdx, qword [rax + 0xe8]
movsxd rsi, edi
imul rdi, rsi, 0x1c
mov rcx, rdi
call rdx
mov qword [rsp + 0x60], rax
mov rcx, qword [0x14009e200]
inc dword [rcx + 0x34c]
mov rdx, qword [rcx + 0xe8]
shl rsi, 4
mov rcx, rsi
call rdx
mov qword [rsp + 0x48], rax
mov rcx, qword [0x14009e200]
inc dword [rcx + 0x34c]
mov rdx, qword [rcx + 0xe8]
movsxd rcx, r15d
lea rbx, [rcx + rcx*4]
shl rbx, 3
mov rcx, rbx
call rdx
mov qword [rsp + 0x70], rax
mov r8, rdi
xor edx, edx
mov rcx, qword [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
mov r8, rsi
xor edx, edx
mov r15, qword [rsp + 0x48]
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov r8, rbx
xor edx, edx
mov rcx, qword [rsp + 0x70]
call sub.VCRUNTIME140.dll_memset
xor r10d, r10d
mov dword [rsp + 0x38], r10d
mov rbx, qword [rsp + 0x58]
cmp dword [rbx + 0x40], r10d
jle 0x14001ff81
mov edi, r10d
mov rsi, qword [rsp + 0x50]
nop
mov r11, qword [rbx + 0x48]
mov ebx, r10d
mov r8d, r10d
mov rdx, qword [rdi + r11 + 0x38]
movzx eax, word [rdx]
test ax, ax
je 0x14001fc98
movzx ecx, word [rdx + 2]
test cx, cx
je 0x14001fc98
movzx eax, ax
sub ecx, eax
inc ebx
add ebx, ecx
inc r8d
add rdx, 4
movzx eax, word [rdx]
test ax, ax
jne 0x14001fc77
movsxd rdx, dword [rsp + 0x3c]
lea rcx, [rdx + rdx*4]
mov rax, qword [rsp + 0x70]
lea rax, [rax + rcx*8]
mov qword [rsi + 0xa0], rax
mov dword [rsi + 0xa8], r8d
add edx, r8d
mov dword [rsp + 0x3c], edx
mov r9, r10
movsxd r15, r8d
mov qword [rsp + 0x78], r15
cmp r15, 4
jl 0x14001fe2c
lea rax, [r15 - 3]
mov r15, rax
mov r13, qword [rsp + 0x60]
mov rdx, qword [rdi + r11 + 0x38]
mov r8, qword [rsi + 0xa0]
mov eax, dword [rdi + r11 + 0x14]
mov dword [r10 + r8], eax
movzx eax, word [rdx + r9*4]
mov dword [r10 + r8 + 4], eax
movzx ecx, word [rdx + r9*4 + 2]
movzx eax, word [rdx + r9*4]
sub ecx, eax
lea edx, [rcx + 1]
mov dword [r10 + r8 + 0x10], edx
movsxd rax, r14d
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 + 0x18], rcx
add r14d, edx
mov rdx, qword [rdi + r11 + 0x38]
mov r8, qword [rsi + 0xa0]
mov eax, dword [rdi + r11 + 0x14]
mov dword [r8 + r10 + 0x28], eax
movzx eax, word [rdx + r9*4 + 4]
mov dword [r8 + r10 + 0x2c], eax
movzx ecx, word [rdx + r9*4 + 6]
movzx eax, word [rdx + r9*4 + 4]
sub ecx, eax
lea edx, [rcx + 1]
mov dword [r8 + r10 + 0x38], edx
movsxd rax, r14d
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r8 + r10 + 0x40], rcx
add r14d, edx
mov rdx, qword [rdi + r11 + 0x38]
mov r8, qword [rsi + 0xa0]
mov eax, dword [rdi + r11 + 0x14]
mov dword [r8 + r10 + 0x50], eax
movzx eax, word [rdx + r9*4 + 8]
mov dword [r8 + r10 + 0x54], eax
movzx ecx, word [rdx + r9*4 + 0xa]
movzx eax, word [rdx + r9*4 + 8]
sub ecx, eax
lea edx, [rcx + 1]
mov dword [r8 + r10 + 0x60], edx
movsxd rax, r14d
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r8 + r10 + 0x68], rcx
add r14d, edx
mov rdx, qword [rdi + r11 + 0x38]
mov r8, qword [rsi + 0xa0]
mov eax, dword [rdi + r11 + 0x14]
mov dword [r8 + r10 + 0x78], eax
movzx eax, word [rdx + r9*4 + 0xc]
mov dword [r8 + r10 + 0x7c], eax
movzx ecx, word [rdx + r9*4 + 0xe]
movzx eax, word [rdx + r9*4 + 0xc]
sub ecx, eax
lea edx, [rcx + 1]
mov dword [r8 + r10 + 0x88], edx
movsxd rax, r14d
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r8 + r10 + 0x90], rcx
add r14d, edx
add r9, 4
lea r10, [r10 + 0xa0]
cmp r9, r15
jl 0x14001fce0
mov r8d, dword [rsi + 0xa8]
mov r15, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x30]
cmp r9, r15
jge 0x14001fe9c
lea r10, [r9 + r9*4]
shl r10, 3
mov r13, qword [rsp + 0x60]
mov rdx, qword [rdi + r11 + 0x38]
mov r8, qword [rsi + 0xa0]
mov eax, dword [rdi + r11 + 0x14]
mov dword [r10 + r8], eax
movzx eax, word [rdx + r9*4]
mov dword [r10 + r8 + 4], eax
movzx ecx, word [rdx + r9*4 + 2]
movzx eax, word [rdx + r9*4]
sub ecx, eax
lea edx, [rcx + 1]
mov dword [r10 + r8 + 0x10], edx
movsxd rax, r14d
imul rcx, rax, 0x1c
add rcx, r13
mov qword [r10 + r8 + 0x18], rcx
add r14d, edx
inc r9
lea r10, [r10 + 0x28]
cmp r9, r15
jl 0x14001fe3e
mov r8d, dword [rsi + 0xa8]
mov r13d, dword [rsp + 0x30]
movsxd rcx, dword [rsp + 0x34]
mov rdx, rcx
shl rdx, 4
mov r15, qword [rsp + 0x48]
add rdx, r15
mov qword [rsi + 0x98], rdx
add ecx, ebx
mov dword [rsp + 0x34], ecx
cmp dword [rdi + r11 + 0x18], 8
cmovbe r12d, dword [rdi + r11 + 0x18]
mov dword [rbp - 0x60], r12d
cmp dword [rdi + r11 + 0x1c], 8
cmovbe r13d, dword [rdi + r11 + 0x1c]
mov dword [rsp + 0x30], r13d
mov dword [rbp - 0x5c], r13d
mov qword [rsp + 0x20], rdx
mov r9d, r8d
mov r8, qword [rsi + 0xa0]
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14001b390
movsxd rbx, eax
mov r8d, ebx
mov rdx, qword [rsi + 0x98]
mov rcx, qword [rsp + 0x40]
call fcn.1400152f0
mov r8, rbx
xor r10d, r10d
test ebx, ebx
jle 0x14001ff5e
mov edx, r10d
mov rbx, qword [rsp + 0x58]
nop word [rax + rax]
mov rax, qword [rsi + 0x98]
cmp dword [rax + rdx + 0xc], r10d
je 0x14001ff54
movzx ecx, word [rax + rdx + 0xa]
movzx eax, word [rax + rdx + 6]
add ecx, eax
cmp dword [rbx + 0x1c], ecx
cmovge ecx, dword [rbx + 0x1c]
mov dword [rbx + 0x1c], ecx
add rdx, 0x10
sub r8, 1
jne 0x14001ff30
mov ecx, dword [rsp + 0x38]
inc ecx
mov dword [rsp + 0x38], ecx
add rdi, 0x70
add rsi, 0xb0
mov rbx, qword [rsp + 0x58]
cmp ecx, dword [rbx + 0x40]
jl 0x14001fc60
mov ecx, dword [rbx + 0x1c]
dec ecx
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 [rbx + 0x1c], eax
imul eax, dword [rbx + 0x18]
movsxd rcx, eax
mov rax, qword [0x14009e200]
inc dword [rax + 0x34c]
mov rax, qword [rax + 0xe8]
call rax
mov qword [rbx + 8], rax
mov ecx, dword [rbx + 0x1c]
imul ecx, dword [rbx + 0x18]
movsxd r8, ecx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbx + 8]
mov qword [rbp - 0x58], rax
mov eax, dword [rbx + 0x1c]
mov dword [rbp - 0x6c], eax
xor r14d, r14d
cmp dword [rbx + 0x40], r14d
jle 0x14002007e
xor r15d, r15d
mov esi, r15d
mov rdi, qword [rsp + 0x50]
add rdi, 0x98
nop
mov rax, qword [rbx + 0x48]
cmp dword [rsi + rax + 0x18], 8
cmovbe r12d, dword [rsi + rax + 0x18]
mov dword [rbp - 0x60], r12d
cmp dword [rsi + rax + 0x1c], 8
cmovbe r13d, dword [rsi + rax + 0x1c]
mov dword [rbp - 0x5c], r13d
lea rdx, [rdi - 0x98]
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov r9d, dword [rdi + 0x10]
mov r8, qword [rdi + 8]
lea rcx, [rbp - 0x80]
call fcn.14001b5f0
mov qword [rdi], r15
inc r14d
lea rsi, [rsi + 0x70]
lea rdi, [rdi + 0xb0]
cmp r14d, dword [rbx + 0x40]
jge 0x140020073
mov r13d, dword [rbp - 0x5c]
mov r12d, dword [rbp - 0x60]
jmp 0x140020010
mov rdi, qword [rbp - 0x78]
mov r15, qword [rsp + 0x48]
jmp 0x140020083
mov rdi, qword [rsp + 0x40]
mov rax, qword [0x14009e200]
cmp qword [rbp - 0x50], 0
je 0x140020097
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
mov rcx, qword [rbp - 0x50]
call rax
mov rax, qword [0x14009e200]
test rdi, rdi
je 0x1400200b6
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
mov rcx, rdi
call rax
mov rax, qword [0x14009e200]
test r15, r15
je 0x1400200d4
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
mov rcx, r15
call rax
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x34], r12d
cmp dword [rbx + 0x40], r12d
jle 0x140020521
mov edx, r12d
mov qword [rsp + 0x40], rdx
mov r14, qword [rsp + 0x50]
add r14, 8
mov qword [rsp + 0x68], r14
mov edi, 0x100
movss xmm3, dword [0x14008ca80]
movss xmm15, dword [0x14008ca5c]
movss xmm14, dword [0x14008ca90]
nop word [rax + rax]
mov rax, qword [rbx + 0x48]
lea rcx, [rdx + rax]
mov qword [rsp + 0x48], rcx
mov rsi, qword [rdx + rax + 0x68]
movsxd r10, dword [r14 + 0x1c]
mov r9, qword [r14]
movzx edx, byte [r10 + r9 + 6]
movsx ecx, di
imul edx, ecx
movzx eax, byte [r10 + r9 + 7]
add dx, ax
movsx r11d, dx
movzx r8d, byte [r10 + r9 + 5]
movzx edx, byte [r10 + r9 + 4]
movsx ecx, di
imul edx, ecx
add r8w, dx
movsx ecx, r8w
mov eax, ecx
sub eax, r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov r9, qword [rsp + 0x48]
movss xmm1, dword [r9 + 0x14]
divss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movd xmm2, r11d
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
cmp byte [r9 + 0x40], 0
jne 0x1400201f1
mov qword [rsi + 0x58], rbx
mov qword [rsi + 0x50], r9
mov word [rsi + 0x4e], r12w
mov eax, dword [r9 + 0x14]
mov dword [rsi], eax
movss dword [rsi + 0x60], xmm0
movss dword [rsi + 0x64], xmm2
lea rcx, [rsi + 0x10]
xor edx, edx
call fcn.140014500
xor ecx, ecx
mov dword [rsi + 0x68], ecx
movss xmm3, dword [0x14008ca80]
mov r9, qword [rsp + 0x48]
jmp 0x1400201f3
xor ecx, ecx
inc word [rsi + 0x4e]
movss xmm0, dword [r9 + 0x2c]
movss dword [rsp + 0x3c], xmm0
movss xmm1, dword [r9 + 0x30]
movss dword [rsp + 0x30], xmm1
mov qword [rsi + 0x40], rcx
mov eax, ecx
mov dword [rsp + 0x38], ecx
cmp dword [r14 + 0xa0], 0
jle 0x1400204d9
mov r13, rcx
nop word [rax + rax]
mov r8, qword [r14 + 0x98]
mov qword [rsp + 0x78], r8
mov r12d, ecx
cmp dword [r8 + r13 + 0x10], 0
jle 0x1400204b5
mov rdi, rcx
nop
mov r15, qword [r8 + r13 + 0x18]
cmp word [rdi + r15], 0
jne 0x14002027c
cmp word [rdi + r15 + 4], 0
jne 0x14002027c
cmp word [rdi + r15 + 2], 0
jne 0x14002027c
cmp word [rdi + r15 + 6], 0
je 0x140020490
mov r14d, dword [r8 + r13 + 4]
add r14d, r12d
cmp byte [r9 + 0x40], 0
je 0x1400202c5
movzx eax, r14w
cmp eax, dword [rsi + 0x30]
jge 0x1400202b8
movzx ecx, r14w
mov rax, qword [rsi + 0x38]
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
je 0x1400202b8
lea rcx, [rdx + rdx*4]
mov rax, qword [rsi + 0x18]
lea rdx, [rax + rcx*8]
jmp 0x1400202bc
mov rdx, qword [rsi + 0x40]
test rdx, rdx
jne 0x140020490
movd xmm0, dword [rbx + 0x18]
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm3
divss xmm2, xmm0
movd xmm1, dword [rbx + 0x1c]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm3
divss xmm0, xmm1
movss xmm6, dword [rdi + r15 + 8]
movss xmm8, dword [rdi + r15 + 0xc]
movss xmm7, dword [rdi + r15 + 0x14]
movss xmm9, dword [rdi + r15 + 0x18]
movzx eax, word [rdi + r15]
movd xmm12, eax
cvtdq2ps xmm12, xmm12
mulss xmm12, xmm2
movzx eax, word [rdi + r15 + 2]
movd xmm13, eax
cvtdq2ps xmm13, xmm13
mulss xmm13, xmm0
movzx eax, word [rdi + r15 + 4]
movd xmm10, eax
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm2
movzx eax, word [rdi + r15 + 6]
movd xmm11, eax
cvtdq2ps xmm11, xmm11
mulss xmm11, xmm0
mov edx, dword [rsi + 0x10]
inc edx
lea rcx, [rsi + 0x10]
call fcn.140014500
movsxd rax, dword [rsi + 0x10]
lea rcx, [rax + rax*4]
mov rdx, qword [rsi + 0x18]
mov word [rdx + rcx*8 - 0x28], r14w
xorps xmm3, xmm3
addss xmm6, xmm3
addss xmm6, dword [rsp + 0x3c]
movss dword [rdx + rcx*8 - 0x20], xmm6
addss xmm8, xmm3
addss xmm8, dword [rsp + 0x30]
movss dword [rdx + rcx*8 - 0x1c], xmm8
addss xmm7, xmm3
addss xmm7, dword [rsp + 0x3c]
movss dword [rdx + rcx*8 - 0x18], xmm7
addss xmm9, xmm3
addss xmm9, dword [rsp + 0x30]
movss dword [rdx + rcx*8 - 0x14], xmm9
movss dword [rdx + rcx*8 - 0x10], xmm12
movss dword [rdx + rcx*8 - 0xc], xmm13
movss dword [rdx + rcx*8 - 8], xmm10
movss dword [rdx + rcx*8 - 4], xmm11
movss xmm0, dword [rsi + 0x60]
addss xmm0, xmm15
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm8
movss dword [rdx + rcx*8 - 0x1c], xmm1
movss xmm0, dword [rsi + 0x60]
addss xmm0, xmm15
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm9
movss dword [rdx + rcx*8 - 0x14], xmm1
movss xmm0, dword [rdi + r15 + 0x10]
mov r9, qword [rsp + 0x48]
addss xmm0, dword [r9 + 0x24]
movss dword [rdx + rcx*8 - 0x24], xmm0
cmp byte [r9 + 0x20], 0
je 0x140020448
addss xmm0, xmm15
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdx + rcx*8 - 0x24], xmm0
subss xmm11, xmm13
mov rbx, qword [rsp + 0x58]
movd xmm0, dword [rbx + 0x1c]
cvtdq2ps xmm0, xmm0
mulss xmm11, xmm0
addss xmm11, xmm14
cvttss2si ecx, xmm11
subss xmm10, xmm12
movd xmm0, dword [rbx + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm10, xmm0
addss xmm10, xmm14
cvttss2si eax, xmm10
imul ecx, eax
add dword [rsi + 0x68], ecx
mov r8, qword [rsp + 0x78]
inc r12d
add rdi, 0x1c
cmp r12d, dword [r8 + r13 + 0x10]
movss xmm3, dword [0x14008ca80]
jl 0x140020250
mov eax, dword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
xor ecx, ecx
inc eax
mov dword [rsp + 0x38], eax
add r13, 0x28
cmp eax, dword [r14 + 0xa0]
movss xmm3, dword [0x14008ca80]
jl 0x140020230
mov r15d, dword [rsp + 0x34]
mov rcx, qword [r9 + 0x68]
call fcn.1400213f0
inc r15d
mov dword [rsp + 0x34], r15d
mov rdx, qword [rsp + 0x40]
add rdx, 0x70
mov qword [rsp + 0x40], rdx
add r14, 0xb0
mov qword [rsp + 0x68], r14
cmp r15d, dword [rbx + 0x40]
movss xmm3, dword [0x14008ca80]
mov edi, 0x100
mov r12d, 0
jl 0x140020130
mov rax, qword [0x14009e200]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140020538
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
mov rax, qword [0x14009e200]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140020558
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
mov rax, qword [0x14009e200]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140020578
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
lea r8, [rbp - 0x48]
mov edx, 1
mov rcx, rbx
call fcn.140020620
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400205b3
mov rax, qword [0x14009e200]
dec dword [rax + 0x34c]
mov rax, qword [rax + 0xf0]
call rax
nop
mov al, 1
mov rcx, qword [rbp - 0x38]
xor rcx, rsp
call fcn.14007c640
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret