Function at 0x1400b1820
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 rsi, rcx
xor edi, edi
mov r12d, 8
xorps xmm13, xmm13
cmp dword [rcx + 0x70], edi
jge 0x1400b1938
mov dword [rbp + 0x10], 0xffffffff
mov qword [rbp + 0x14], rdi
mov dword [rbp + 0x1c], edi
mov qword [rbp + 0x20], rdi
mov dword [rbp + 8], 0x80000000
mov dword [rbp + 0xc], 0x20002
mov ecx, dword [rcx + 0x54]
mov ebx, dword [rsi + 0x50]
cmp ebx, ecx
jne 0x1400b190f
inc ebx
test ecx, ecx
je 0x1400b18c9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400b18cc
mov eax, r12d
cmp eax, ebx
cmovg ebx, eax
cmp ebx, ecx
jle 0x1400b190f
movsxd rcx, ebx
shl rcx, 5
call fcn.14000d790
mov rdi, rax
mov rdx, qword [rsi + 0x58]
test rdx, rdx
je 0x1400b1906
movsxd r8, dword [rsi + 0x50]
shl r8, 5
mov rcx, rax
call fcn.1400a62b0
mov rcx, qword [rsi + 0x58]
call fcn.14000da60
mov qword [rsi + 0x58], rdi
mov dword [rsi + 0x54], ebx
xor edi, edi
movsxd rcx, dword [rsi + 0x50]
shl rcx, 5
mov rax, qword [rsi + 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 [rsi + 0x50]
lea eax, [rcx + 1]
mov dword [rsi + 0x50], eax
mov dword [rsi + 0x70], ecx
mov qword [rsi + 8], rdi
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400b1962
call fcn.14000da60
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400b1970
call fcn.14000da60
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], rdi
mov qword [rbp + 0x68], 0
mov r14, rdi
mov qword [rsp + 0x60], rdi
mov qword [rbp + 0x70], rdi
mov qword [rbp - 0x50], 0
mov qword [rsp + 0x68], rdi
mov qword [rbp - 0x48], rdi
mov r15d, dword [rsi + 0x60]
mov dword [rbp + 0x268], r15d
test r15d, r15d
jle 0x1400b19da
mov ebx, r15d
cmp r15d, 8
cmovl ebx, r12d
test ebx, ebx
jle 0x1400b19da
movsxd rax, ebx
imul rcx, rax, 0x108
call fcn.14000d790
mov r14, rax
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x6c], ebx
mov dword [rbp + 0x68], r15d
mov r13d, dword [rsi + 0x40]
mov dword [rbp + 0x270], r13d
test r13d, r13d
jle 0x1400b1a18
mov ebx, r13d
cmp r13d, 8
cmovl ebx, r12d
test ebx, ebx
jle 0x1400b1a18
movsxd rcx, ebx
shl rcx, 5
call fcn.14000d790
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x4c], ebx
mov dword [rbp - 0x50], r13d
imul ecx, r15d, 0x108
movsxd r8, ecx
xor edx, edx
mov rcx, r14
call fcn.1400a6950
mov ecx, r13d
shl ecx, 5
movsxd r8, ecx
xor edx, edx
mov rcx, rdi
call fcn.1400a6950
mov dword [rbp - 0x70], 0xff0020
xor r9d, r9d
mov word [rbp - 0x6c], r9w
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], r9w
mov dword [rbp - 0x30], 0xff0020
mov dword [rbp - 0x2c], 0x52f0400
mov dword [rbp - 0x28], 0x2dff2de0
mov dword [rbp - 0x24], 0xa69fa640
mov word [rbp - 0x20], r9w
mov r12d, r9d
cmp dword [rsi + 0x60], r9d
jle 0x1400b1bd0
mov edi, r9d
lea rbx, [r14 + 0xdc]
nop dword [rax]
mov r14, qword [rsi + 0x68]
mov dword [rbx - 4], 0xffffffff
mov r8d, r9d
cmp dword [rsi + 0x40], 0
jle 0x1400b1d4d
mov edx, 0xffffffff
nop dword [rax]
mov eax, edx
cmp edx, 0xffffffff
jne 0x1400b1b0c
mov rax, qword [rsi + 0x48]
mov rcx, qword [r9 + rax]
cmp qword [rdi + r14 + 0x48], rcx
jne 0x1400b1afd
mov dword [rbx - 4], r8d
mov edx, r8d
inc r8d
add r9, 8
mov eax, edx
cmp r8d, dword [rsi + 0x40]
jl 0x1400b1ae0
cmp eax, 0xffffffff
je 0x1400b1d4d
mov edx, dword [rdi + r14 + 0xc]
mov rcx, qword [rdi + r14]
call fcn.1400ab9b0
mov r8d, eax
mov rdx, qword [rdi + r14]
lea rcx, [rbx - 0xdc]
call fcn.1400abcc0
test eax, eax
je 0x1400b1d4d
movsxd r8, dword [rbx - 4]
shl r8, 5
add r8, qword [rsp + 0x68]
movzx eax, byte [rdi + r14 + 0x30]
test al, al
jne 0x1400b1b5b
lea rdx, [rbp - 0x70]
jmp 0x1400b1b69
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
cmp al, 2
cmovne rdx, rcx
mov qword [rbx - 0xc], rdx
cmp word [rdx], 0
je 0x1400b1b8f
movzx eax, word [rdx + 2]
test ax, ax
je 0x1400b1b8f
mov ecx, eax
cmp dword [rbx], eax
cmovge ecx, dword [rbx]
mov dword [rbx], ecx
add rdx, 4
cmp word [rdx], 0
jne 0x1400b1b73
inc dword [r8]
mov ecx, dword [rbx]
cmp dword [r8 + 4], ecx
cmovge ecx, dword [r8 + 4]
mov dword [r8 + 4], ecx
inc r12d
add rbx, 0x108
add rdi, 0x50
cmp r12d, dword [rsi + 0x60]
mov r9d, 0
jl 0x1400b1ac0
mov rdi, qword [rsp + 0x68]
mov r15d, dword [rbp + 0x268]
mov r14, qword [rsp + 0x60]
mov r12d, r9d
test r15d, r15d
jle 0x1400b1d79
add r14, 0xe0
mov ebx, r15d
mov qword [rbp + 0x278], rbx
nop dword [rax]
movsxd r15, dword [r14 - 8]
shl r15, 5
add r15, rdi
mov edx, dword [r14 - 4]
inc edx
lea rcx, [r14 + 8]
call fcn.14001f6c0
lea rcx, [r15 + 0x10]
cmp dword [rcx], 0
jne 0x1400b1c1e
mov edx, dword [r15 + 4]
inc edx
call fcn.14001f6c0
mov r13, qword [r14 - 0x10]
cmp word [r13], 0
je 0x1400b1cba
nop
movzx eax, word [r13 + 2]
test ax, ax
je 0x1400b1cae
movzx ebx, word [r13]
cmp ebx, eax
ja 0x1400b1ca2
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
sar eax, 5
mov ecx, ebx
and ecx, 0x1f
mov esi, 1
shl esi, cl
movsxd rdi, eax
mov rax, qword [r15 + 0x18]
test dword [rax + rdi*4], esi
jne 0x1400b1c97
lea rcx, [r14 - 0xe0]
mov edx, ebx
call fcn.1400ac4f0
test eax, eax
je 0x1400b1c97
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 r12d
inc ebx
movzx eax, word [r13 + 2]
cmp ebx, eax
jle 0x1400b1c50
add r13, 4
cmp word [r13], 0
jne 0x1400b1c30
mov rbx, qword [rbp + 0x278]
mov rdi, qword [rsp + 0x68]
add r14, 0x108
sub rbx, 1
mov qword [rbp + 0x278], rbx
jne 0x1400b1bf0
mov rbx, qword [rsp + 0x60]
add rbx, 0x100
mov r15d, dword [rbp + 0x268]
movsxd rsi, dword [rbx - 0x20]
cmp esi, dword [rbx - 4]
jle 0x1400b1d23
mov rcx, rsi
shl rcx, 2
call fcn.14000d790
mov r14, rax
mov rdx, qword [rbx]
test rdx, rdx
je 0x1400b1d1d
movsxd r8, dword [rbx - 8]
shl r8, 2
mov rcx, rax
call fcn.1400a62b0
mov rcx, qword [rbx]
call fcn.14000da60
mov qword [rbx], r14
mov dword [rbx - 4], esi
lea rdx, [rbx - 8]
lea rcx, [rbx - 0x18]
call fcn.140022030
mov rcx, qword [rbx - 0x10]
test rcx, rcx
je 0x1400b1d54
xor eax, eax
mov qword [rbx - 0x18], rax
call fcn.14000da60
xor r9d, r9d
mov qword [rbx - 0x10], r9
jmp 0x1400b1d57
xor bl, bl
jmp 0x1400b2b93
xor r9d, r9d
add rbx, 0x108
sub r15, 1
jne 0x1400b1ce5
mov rsi, qword [rbp + 0x260]
mov r13d, dword [rbp + 0x270]
mov r15d, dword [rbp + 0x268]
test r13d, r13d
jle 0x1400b1db5
mov rbx, qword [rsp + 0x68]
add rbx, 0x18
mov edi, r13d
nop word [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400b1dab
mov qword [rbx - 8], 0
call fcn.14000da60
xor r9d, r9d
mov qword [rbx], r9
add rbx, 0x20
sub rdi, 1
jne 0x1400b1d90
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400b1dde
mov qword [rbp - 0x50], 0
mov rcx, rax
call fcn.14000da60
xor r9d, r9d
mov eax, r9d
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0
mov rdi, r9
mov qword [rsp + 0x70], r9
mov qword [rbp - 0x38], r9
mov qword [rbp + 8], 0
mov r14, r9
mov qword [rbp - 0x58], r9
mov qword [rbp + 0x10], r9
mov eax, 8
test r12d, r12d
jle 0x1400b1e40
mov ebx, r12d
cmp r12d, eax
cmovl ebx, eax
test ebx, ebx
jle 0x1400b1e40
movsxd rax, ebx
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.14000d790
mov rdi, rax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x3c], ebx
mov eax, 8
mov dword [rbp - 0x40], r12d
test r12d, r12d
jle 0x1400b1e71
mov ebx, r12d
cmp r12d, 8
cmovl ebx, eax
test ebx, ebx
jle 0x1400b1e71
movsxd rax, ebx
imul rcx, rax, 0x1c
call fcn.14000d790
mov r14, rax
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rax
mov dword [rbp + 0xc], ebx
mov dword [rbp + 8], r12d
lea ecx, [r12 + r12*2]
shl ecx, 3
movsxd r8, ecx
xor edx, edx
mov rcx, rdi
call fcn.1400a6950
imul ecx, r12d, 0x1c
movsxd r8, ecx
xor edx, edx
mov rcx, r14
call fcn.1400a6950
xor r11d, r11d
mov ecx, r11d
mov dword [rbp + 0x278], ecx
mov r9d, r11d
mov r10d, r11d
mov edx, 0x3f800000
test r15d, r15d
jle 0x1400b231b
mov r12d, r11d
mov rbx, qword [rsp + 0x60]
add rbx, 0xc8
mov r13d, r15d
mov qword [rbp - 0x78], r13
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400b22fd
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, r14
mov qword [rbx], rdx
add r9d, r8d
mov dword [rsp + 0x7c], r9d
add r10d, r8d
mov dword [rbp - 0x80], r10d
mov r14, qword [rsi + 0x68]
mov qword [rbp + 0x78], r14
mov eax, dword [r12 + r14 + 0x10]
mov dword [rbx - 0x30], eax
mov dword [rbx - 0x2c], r11d
mov rax, qword [rbx + 0x38]
mov qword [rbx - 0x28], rax
mov eax, dword [rbx + 0x30]
mov dword [rbx - 0x20], eax
mov qword [rbx - 0x18], rdx
movzx eax, byte [r12 + r14 + 0x14]
mov byte [rbx - 0x10], al
movzx eax, byte [r12 + r14 + 0x18]
mov byte [rbx - 0xf], al
movss xmm8, dword [r12 + r14 + 0x10]
lea rdi, [rbx - 0xc8]
comiss xmm8, xmm13
jbe 0x1400b1fa1
movsxd r11, dword [rbx - 0xac]
mov r10, qword [rdi]
movzx r8d, byte [r11 + r10 + 5]
movzx edx, byte [r11 + r10 + 4]
mov r15d, 0x100
movsx ecx, r15w
imul edx, ecx
add r8w, dx
movsx r9d, r8w
movzx r8d, byte [r11 + r10 + 7]
movzx eax, byte [r11 + r10 + 6]
movsx ecx, r15w
imul eax, ecx
add ax, r8w
cwde
sub r9d, eax
movd xmm0, r9d
jmp 0x1400b1fcb
movaps xmm0, xmm8
call fcn.1400306f0
movaps xmm8, xmm0
movsxd rcx, dword [rbx - 0xb4]
mov rax, qword [rdi]
movzx edx, byte [rcx + rax + 0x13]
movzx eax, byte [rcx + rax + 0x12]
shl eax, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm8, xmm0
mov r15d, dword [rsi + 0x14]
mov dword [rbp - 0x60], r15d
xor r11d, r11d
mov dword [rsp + 0x78], r11d
cmp dword [rbx + 0x30], r11d
jle 0x1400b22e5
mov r13d, r11d
mov esi, r11d
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx + 0x38]
mov edx, dword [rdx + rsi]
mov rcx, rdi
call fcn.1400ac4f0
movd xmm7, dword [r12 + r14 + 0x18]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm8
movd xmm6, dword [r12 + r14 + 0x14]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm8
lea rcx, [rbx - 0xc8]
mov edx, eax
cmp dword [rbx - 0x84], 0
je 0x1400b208d
mov qword [rbp + 0x28], 1
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], r14d
lea r8, [rbp + 0x28]
call fcn.1400ada80
mov r11d, r14d
test eax, eax
cmovne r11d, dword [rbp + 0x40]
mov r15d, r14d
cmovne r15d, dword [rbp + 0x48]
mov edi, r14d
cmovne edi, dword [rbp + 0x44]
cmovne r14d, dword [rbp + 0x4c]
jmp 0x1400b2124
call fcn.1400ac850
test eax, eax
jns 0x1400b20aa
xor r11d, r11d
mov ecx, r11d
mov r8d, r11d
mov edi, r11d
mov edx, r11d
jmp 0x1400b2269
movsxd r10, eax
mov r9, qword [rbx - 0xc8]
movzx edx, byte [r9 + r10 + 2]
mov r14d, 0x100
movsx ecx, r14w
imul edx, ecx
movzx eax, byte [r9 + r10 + 3]
add dx, ax
movsx r11d, dx
movzx r8d, byte [r9 + r10 + 5]
movzx edx, byte [r9 + r10 + 4]
movsx ecx, r14w
imul edx, ecx
add r8w, dx
movsx r15d, r8w
movzx r8d, byte [r9 + r10 + 7]
movzx edx, byte [r9 + r10 + 6]
movsx ecx, r14w
imul edx, ecx
add r8w, dx
movsx edi, r8w
movzx edx, byte [r9 + r10 + 8]
movsx ecx, r14w
imul edx, ecx
movzx eax, byte [r9 + r10 + 9]
add dx, ax
movsx r14d, dx
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm13
call fcn.14000e260
cvttss2si eax, xmm0
mov dword [rbp + 0x60], eax
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
call fcn.1400306f0
mulss xmm0, xmm7
addss xmm0, xmm13
call fcn.14000e260
cvttss2si eax, xmm0
mov dword [rbp - 0x68], 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 0x1400b21d6
test ecx, ecx
js 0x1400b21ba
mov edx, 0x7fffff
sar edx, cl
test eax, edx
je 0x1400b21d6
test eax, eax
js 0x1400b21a6
add eax, edx
not edx
and eax, edx
mov dword [rbp + 0x270], eax
movss xmm0, dword [rbp + 0x270]
jmp 0x1400b21d6
test eax, eax
jns 0x1400b21c5
mov ecx, 0x80000000
jmp 0x1400b21d1
test eax, 0x7fffffff
je 0x1400b21d6
mov ecx, 0x3f800000
call fcn.140030720
cvttss2si edi, xmm0
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
call fcn.1400306f0
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 0x1400b2253
test ecx, ecx
js 0x1400b2237
mov edx, 0x7fffff
sar edx, cl
test eax, edx
je 0x1400b2253
test eax, eax
js 0x1400b2223
add eax, edx
not edx
and eax, edx
mov dword [rbp + 0x270], eax
movss xmm0, dword [rbp + 0x270]
jmp 0x1400b2253
test eax, eax
jns 0x1400b2242
mov ecx, 0x80000000
jmp 0x1400b224e
test eax, 0x7fffffff
je 0x1400b2253
mov ecx, 0x3f800000
call fcn.140030720
cvttss2si edx, xmm0
mov r14, qword [rbp + 0x78]
mov ecx, dword [rbp + 0x60]
mov r8d, dword [rbp - 0x68]
mov r15d, dword [rbp - 0x60]
xor r11d, r11d
mov eax, dword [r12 + r14 + 0x14]
sub eax, ecx
lea ecx, [rdi + rax]
dec ecx
add ecx, r15d
mov rax, qword [rbx - 8]
mov dword [rax + r13 + 0xc], ecx
sub edx, r8d
add edx, r15d
mov ecx, dword [r12 + r14 + 0x18]
dec ecx
add ecx, edx
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 ecx, dword [rbp + 0x278]
add ecx, eax
mov dword [rbp + 0x278], ecx
mov edi, dword [rsp + 0x78]
inc edi
mov dword [rsp + 0x78], edi
add rsi, 4
add r13, 0x18
cmp edi, dword [rbx + 0x30]
lea rdi, [rbx - 0xc8]
jl 0x1400b2000
mov rsi, qword [rbp + 0x260]
mov r13, qword [rbp - 0x78]
jmp 0x1400b22eb
mov ecx, dword [rbp + 0x278]
mov r14, qword [rbp - 0x58]
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rbp - 0x80]
mov r9d, dword [rsp + 0x7c]
add rbx, 0x108
add r12, 0x50
sub r13, 1
mov qword [rbp - 0x78], r13
jne 0x1400b1ed0
mov edx, 0x3f800000
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
sqrtss xmm6, xmm0
mov ecx, edx
call fcn.140030720
cvttss2si eax, xmm6
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si ecx, xmm0
xor ebx, ebx
mov dword [rsi + 0x2c], ebx
mov eax, dword [rsi + 0x10]
test eax, eax
jg 0x1400b2399
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
mov ecx, 0x45333333
call fcn.140030720
comiss xmm6, xmm0
jb 0x1400b2369
mov eax, 0x1000
jmp 0x1400b2399
mov ecx, 0x44b33333
call fcn.140030720
comiss xmm6, xmm0
jb 0x1400b237f
mov eax, 0x800
jmp 0x1400b2399
mov ecx, 0x44333333
call fcn.140030720
mov eax, 0x200
comiss xmm6, xmm0
mov ecx, 0x400
cmovae eax, ecx
mov dword [rsi + 0x28], eax
mov r14, rbx
mov qword [rbp + 0x28], rbx
mov dword [rbp + 0x30], ebx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rbx
mov r13, rbx
mov qword [rbp + 0x58], rbx
mov r15d, dword [rsi + 0x14]
mov r12d, dword [rsi + 0x28]
mov ecx, 0x14
call fcn.14000d790
mov rbx, rax
mov edi, r12d
sub edi, r15d
movsxd rcx, edi
call fcn.14000d790
test rbx, rbx
je 0x1400b2431
test rax, rax
je 0x1400b242c
mov dword [rbp + 0x30], r12d
mov r14, rbx
mov qword [rbp + 0x28], rbx
mov r13, rax
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x3c], r15d
mov dword [rbp + 0x38], r12d
mov dword [rbp + 0x44], 1
mov dword [rbp + 0x48], 1
xor r12d, r12d
mov dword [rbp + 0x40], r12d
mov dword [rbx], edi
mov eax, 0x8000
sub eax, r15d
mov dword [rbx + 4], eax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], r12d
jmp 0x1400b2441
mov rcx, rbx
jmp 0x1400b2439
test rax, rax
je 0x1400b243e
mov rcx, rax
call fcn.14000da60
xor r12d, r12d
mov qword [rbp + 0x78], 0
mov rdi, r12
mov qword [rbp + 0x80], r12
mov ebx, dword [rsi + 0x50]
test ebx, ebx
jle 0x1400b247d
mov eax, ebx
cmp ebx, 8
mov ecx, 8
cmovl eax, ecx
test eax, eax
jle 0x1400b247d
cdqe
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.14000d790
mov rdi, rax
lea ecx, [rbx + rbx*2]
shl ecx, 3
movsxd r8, ecx
xor edx, edx
mov rcx, rdi
call fcn.1400a6950
mov r9d, r12d
cmp dword [rsi + 0x50], 0
jle 0x1400b24ca
mov rdx, r12
lea r8, [rdi + 0x10]
mov rax, qword [rsi + 0x58]
movzx ecx, word [rdx + rax + 4]
mov dword [r8 - 4], ecx
mov rax, qword [rsi + 0x58]
movzx ecx, word [rdx + rax + 6]
mov dword [r8], ecx
inc r9d
lea rdx, [rdx + 0x20]
lea r8, [r8 + 0x18]
cmp r9d, dword [rsi + 0x50]
jl 0x1400b24a0
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
call fcn.1400b0fe0
test ebx, ebx
jle 0x1400b2524
mov r8, r12
lea rdx, [rdi + 4]
mov r9, rbx
cmp dword [rdx + 0x10], 0
je 0x1400b2516
movzx ecx, word [rdx - 4]
mov rax, qword [rsi + 0x58]
mov word [r8 + rax + 8], cx
movzx ecx, word [rdx]
mov rax, qword [rsi + 0x58]
mov word [r8 + rax + 0xa], cx
mov ecx, dword [rdx + 0xc]
add ecx, dword [rdx]
cmp dword [rsi + 0x2c], ecx
cmovge ecx, dword [rsi + 0x2c]
mov dword [rsi + 0x2c], ecx
add r8, 0x20
add rdx, 0x18
sub r9, 1
jne 0x1400b24e6
test rdi, rdi
je 0x1400b2532
mov rcx, rdi
call fcn.14000da60
nop
mov edi, dword [rbp + 0x268]
mov r15, qword [rsp + 0x60]
test edi, edi
jle 0x1400b25ac
lea rbx, [r15 + 0xe0]
mov r8d, dword [rbx]
test r8d, r8d
je 0x1400b2599
mov rdx, qword [rbx - 0x20]
mov rcx, r14
call fcn.1400b0fe0
mov r8d, r12d
cmp dword [rbx], 0
jle 0x1400b2599
mov rdx, r12
nop word [rax + rax]
mov rax, qword [rbx - 0x20]
cmp dword [rax + rdx + 0x14], 0
je 0x1400b258d
mov ecx, dword [rax + rdx + 0x10]
add ecx, dword [rax + rdx + 4]
cmp dword [rsi + 0x2c], ecx
cmovge ecx, dword [rsi + 0x2c]
mov dword [rsi + 0x2c], ecx
inc r8d
add rdx, 0x18
cmp r8d, dword [rbx]
jl 0x1400b2570
add rbx, 0x108
sub rdi, 1
jne 0x1400b2548
mov edi, dword [rbp + 0x268]
mov eax, dword [rsi + 0x2c]
test byte [rsi + 4], 1
jne 0x1400b25da
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 [rsi + 0x2c], eax
mov ecx, 0x3f800000
call fcn.140030720
movaps xmm6, xmm0
movd xmm1, dword [rsi + 0x2c]
cvtdq2ps xmm1, xmm1
divss xmm6, xmm1
mov ebx, dword [rsi + 0x28]
mov ecx, 0x3f800000
call fcn.140030720
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [rsi + 0x30], xmm0
movss dword [rsi + 0x34], xmm6
imul ebx, dword [rsi + 0x2c]
movsxd rcx, ebx
call fcn.14000d790
mov qword [rsi + 0x18], rax
mov ecx, dword [rsi + 0x2c]
imul ecx, dword [rsi + 0x28]
movsxd r8, ecx
xor edx, edx
mov rcx, rax
call fcn.1400a6950
mov rax, qword [rsi + 0x18]
mov qword [rbp + 0x50], rax
mov eax, dword [rsi + 0x2c]
mov dword [rbp + 0x34], eax
test edi, edi
jle 0x1400b27b3
mov r13d, edi
nop word [rax + rax]
mov rbx, qword [rsi + 0x68]
cmp dword [r15 + 0xe0], 0
je 0x1400b278d
lea r8, [r15 + 0x98]
mov rax, qword [r15 + 0xc0]
mov qword [rsp + 0x20], rax
mov rdx, r15
lea rcx, [rbp + 0x28]
call fcn.1400b10d0
movss xmm6, dword [r12 + rbx + 0x44]
mov ecx, 0x3f800000
call fcn.140030720
ucomiss xmm6, xmm0
jp 0x1400b26ad
je 0x1400b2782
movss xmm1, dword [r12 + rbx + 0x44]
xor r8d, r8d
lea r9, [rbp + 0x90]
mov r10d, 0xff
nop dword [rax]
nop dword [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 0x1400b26d0
mov rbx, qword [r15 + 0xc0]
xor r14d, r14d
cmp dword [r15 + 0xe0], r14d
jle 0x1400b2782
cmp dword [rbx + 0x14], 0
je 0x1400b2772
movsxd rdx, dword [rsi + 0x28]
mov r10d, dword [rbx + 0x10]
mov eax, dword [rbx + 4]
imul eax, edx
cdqe
movsxd r9, dword [rbx]
add rax, qword [rsi + 0x18]
add r9, rax
movsxd r11, dword [rbx + 0xc]
test r10d, r10d
jle 0x1400b2772
mov rdi, rdx
test r11, r11
jle 0x1400b2767
mov rdx, r9
mov r8, r11
nop dword [rax]
movzx eax, byte [rdx]
movzx ecx, byte [rbp + rax + 0x90]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400b2750
dec r10d
add r9, rdi
test r10d, r10d
jg 0x1400b2742
inc r14d
add rbx, 0x18
cmp r14d, dword [r15 + 0xe0]
jl 0x1400b2716
mov qword [r15 + 0xc0], 0
add r12, 0x50
add r15, 0x108
sub r13, 1
jne 0x1400b2660
mov r13, qword [rbp + 0x58]
mov r14, qword [rbp + 0x28]
mov edi, dword [rbp + 0x268]
xor r12d, r12d
mov rcx, r13
call fcn.14000da60
mov rcx, r14
call fcn.14000da60
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400b27e9
mov qword [rbp - 0x40], 0
mov rcx, rax
call fcn.14000da60
mov rax, r12
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x38], rax
test edi, edi
jle 0x1400b2b6a
mov rdi, r12
mov qword [rbp - 0x60], r12
mov r15, qword [rsp + 0x60]
add r15, 0xe0
mov r12d, dword [rbp + 0x268]
mov qword [rbp - 0x68], r12
nop
cmp dword [r15], 0
je 0x1400b2b0c
mov r14, qword [rsi + 0x68]
add r14, rdi
mov r13, qword [r14 + 0x48]
movsxd r10, dword [r15 - 0xc4]
mov r9, qword [r15 - 0xe0]
movzx r8d, byte [r10 + r9 + 5]
movzx edx, byte [r10 + r9 + 4]
mov ebx, 0x100
movsx ecx, bx
imul edx, ecx
add r8w, dx
movsx r11d, r8w
movzx r8d, byte [r10 + r9 + 7]
movzx edx, byte [r10 + r9 + 6]
movsx ecx, bx
imul edx, ecx
add r8w, dx
movsx ebx, r8w
mov eax, r11d
sub eax, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm7, dword [r14 + 0x10]
divss xmm7, xmm0
movd xmm6, r11d
cvtdq2ps xmm6, xmm6
mov ecx, 0xbf800000
comiss xmm6, xmm13
mov eax, 0x3f800000
cmova ecx, eax
call fcn.140030720
movaps xmm1, xmm7
mulss xmm1, xmm6
addss xmm0, xmm1
call fcn.14000e260
movaps xmm8, xmm0
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
mov ecx, 0xbf800000
comiss xmm6, xmm13
mov eax, 0x3f800000
cmova ecx, eax
call fcn.140030720
mulss xmm7, xmm6
addss xmm0, xmm7
call fcn.14000e260
movaps xmm6, xmm0
cmp byte [r14 + 0x3c], 0
jne 0x1400b290c
mov rcx, r13
call fcn.1400b2e20
mov eax, dword [r14 + 0x10]
mov dword [r13 + 0x14], eax
mov qword [r13 + 0x50], r14
mov qword [r13 + 0x48], rsi
movss dword [r13 + 0x5c], xmm8
movss dword [r13 + 0x60], xmm6
inc word [r13 + 0x58]
movss xmm11, dword [r14 + 0x28]
mov ecx, 0x3f000000
call fcn.140030720
addss xmm0, dword [r13 + 0x5c]
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
addss xmm12, dword [r14 + 0x2c]
mov dword [rbp + 0x270], 0
cmp dword [r15], 0
jle 0x1400b2b0c
xor r12d, r12d
xor ecx, ecx
mov qword [rbp - 0x78], rcx
nop word [rax + rax]
mov rax, qword [r15 + 0x20]
mov eax, dword [rcx + rax]
mov dword [rbp + 0x278], eax
mov rax, qword [r15 - 0x18]
movss xmm0, dword [r12 + rax + 0x10]
movss xmm10, dword [r14 + 0x34]
comiss xmm10, xmm0
ja 0x1400b298f
movss xmm10, dword [r14 + 0x38]
minss xmm10, xmm0
movaps xmm9, xmm11
ucomiss xmm0, xmm10
jp 0x1400b299b
je 0x1400b29da
movaps xmm6, xmm10
subss xmm6, xmm0
mov ecx, 0x3f000000
cmp byte [r14 + 0x1c], 0
je 0x1400b29c7
call fcn.140030720
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
jmp 0x1400b29d5
call fcn.140030720
movaps xmm9, xmm0
mulss xmm9, xmm6
addss xmm9, xmm11
mov edi, dword [rsi + 0x2c]
mov ebx, dword [rsi + 0x28]
mov rsi, qword [r15 - 0x18]
mov ecx, 0x3f800000
call fcn.140030720
movaps xmm6, xmm0
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm6, xmm1
mov ecx, 0x3f800000
call fcn.140030720
movd xmm1, edi
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movzx eax, word [rsi + r12]
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm6
movzx eax, word [rsi + r12 + 2]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
movzx eax, word [rsi + r12 + 4]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm6
movzx eax, word [rsi + r12 + 6]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss xmm4, dword [rsi + r12 + 0x18]
addss xmm4, xmm13
addss xmm4, xmm12
movss xmm0, dword [rsi + r12 + 0x14]
addss xmm0, xmm13
addss xmm0, xmm9
movss xmm3, dword [rsi + r12 + 0xc]
addss xmm3, xmm13
addss xmm3, xmm12
movss xmm2, dword [rsi + r12 + 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 + 0x278]
mov rcx, r13
call fcn.1400222e0
mov edx, dword [rbp + 0x270]
inc edx
mov dword [rbp + 0x270], edx
mov rcx, qword [rbp - 0x78]
add rcx, 4
mov qword [rbp - 0x78], rcx
add r12, 0x1c
cmp edx, dword [r15]
mov rsi, qword [rbp + 0x260]
jl 0x1400b2960
mov rdi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
add r15, 0x108
add rdi, 0x50
mov qword [rbp - 0x60], rdi
sub r12, 1
mov qword [rbp - 0x68], r12
jne 0x1400b2810
mov edi, dword [rbp + 0x268]
test edi, edi
jle 0x1400b2b6a
mov rbx, qword [rsp + 0x60]
add rbx, 0xf0
nop
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400b2b4f
call fcn.14000da60
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400b2b5d
call fcn.14000da60
nop
add rbx, 0x108
sub rdi, 1
jne 0x1400b2b40
mov rcx, rsi
call fcn.1400b2c00
mov bl, 1
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400b2b83
call fcn.14000da60
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400b2b93
call fcn.14000da60
nop
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400b2ba6
mov rcx, rax
call fcn.14000da60
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400b2bb9
mov rcx, rax
call fcn.14000da60
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