Function at 0x14000f750
Capabilities:
Enumerate pe sections

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
sub rsp, 0x110
mov rax, qword [0x140159080]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbp, qword [0x1408b62b8]
mov qword [r11 + 8], rdi
mov qword [r11 + 0x10], r12
mov qword [r11 + 0x18], r13
mov eax, dword [rbp + 0x1b18]
mov qword [r11 - 0x20], r14
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
cmp dword [rbp + 0x1b1c], eax
je 0x14000f7b1
call fcn.14000f1d0
mov eax, dword [rbp + 0x1b18]
xor esi, esi
mov dword [rbp + 0x1b24], eax
mov ebx, esi
mov dword [rbp + 0x3a8], esi
cmp dword [rbp + 0x2ff0], esi
jle 0x14000f7ff
mov edi, esi
nop dword [rax + rax]
mov r8, qword [rbp + 0x2ff8]
cmp dword [rdi + r8], 4
jne 0x14000f7f1
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rdx, [r8 + rcx*8]
mov rcx, rbp
call qword [rdi + rreloc.WS2_32.dll_htonl + 8]
inc ebx
add rdi, 0x18
cmp ebx, dword [rbp + 0x2ff0]
jl 0x14000f7d0
mov r12d, esi
mov qword [rsp + 0x100], r15
mov r14d, 2
cmp dword [rbp + 0x1d38], esi
je 0x14000f913
mov r13, rsi
nop
mov rax, qword [rbp + 0x1d40]
mov edi, 2
mov r15, qword [rax + r13]
lea r14, [r15 + 0xf0]
mov rbx, r14
nop word [rax + rax]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x14000f85f
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.1400280d0
mov dword [rbx], esi
add rbx, 0x10
sub rdi, 1
jne 0x14000f840
cmp qword [r15 + 0xa0], rsi
je 0x14000f8f9
lea r8, str.Background
xor edx, edx
mov rcx, r15
call fcn.14000b830
mov rbx, rax
movsxd rcx, dword [rax]
test ecx, ecx
je 0x14000f8f9
imul rdx, rcx, 0x38
lea eax, [rcx - 1]
mov rcx, qword [rbx + 8]
cmp dword [rdx + rcx - 0x18], esi
jne 0x14000f8b3
cmp qword [rdx + rcx - 0x10], rsi
jne 0x14000f8b3
mov dword [rbx], eax
mov ecx, eax
test eax, eax
je 0x14000f8f9
mov ecx, dword [r14 + 4]
mov eax, dword [r14]
cmp eax, ecx
jne 0x14000f8eb
lea r8d, [rax + 1]
test ecx, ecx
je 0x14000f8d1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000f8d6
mov eax, 8
cmp eax, r8d
mov rcx, r14
cmovg r8d, eax
mov edx, r8d
call fcn.1400280d0
mov eax, dword [r14]
movsxd rcx, eax
mov rax, qword [r14 + 8]
mov qword [rax + rcx*8], rbx
inc dword [r14]
inc r12d
add r13, 8
cmp r12d, dword [rbp + 0x1d38]
jne 0x14000f820
mov r14d, 2
mov rax, qword [rbp + 0x1ea0]
test rax, rax
je 0x14000f93d
test dword [rax + 0xc], 0x2000
jne 0x14000f93d
mov r15, qword [rax + 0x3e8]
mov r12, qword [rbp + 0x1eb0]
mov qword [rsp + 0x50], r15
jmp 0x14000f956
mov qword [rsp + 0x50], rsi
mov r15, rsi
test rax, rax
je 0x14000f953
mov r12, qword [rbp + 0x1eb0]
jmp 0x14000f956
mov r12, rsi
mov ebx, esi
mov qword [rsp + 0x58], r12
cmp dword [rbp + 0x1b38], esi
je 0x14000f9b9
mov rdi, rsi
nop dword [rax + rax]
mov rax, qword [rbp + 0x1b40]
mov rcx, qword [rdi + rax]
cmp byte [rcx + 0xbf], sil
je 0x14000f9ab
cmp byte [rcx + 0xc6], sil
jne 0x14000f9ab
mov edx, dword [rcx + 0xc]
bt edx, 0x18
jb 0x14000f9ab
cmp rcx, r15
je 0x14000f9ab
cmp rcx, r12
je 0x14000f9ab
shr edx, 0x19
and edx, 1
call fcn.14000ea50
inc ebx
add rdi, 8
cmp ebx, dword [rbp + 0x1b38]
jne 0x14000f970
lea rbx, [rsp + 0x50]
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000f9e8
cmp byte [rcx + 0xbf], sil
je 0x14000f9e8
cmp byte [rcx + 0xc6], sil
jne 0x14000f9e8
mov edx, dword [rcx + 0xc]
shr edx, 0x19
and edx, 1
call fcn.14000ea50
add rbx, 8
sub r14, 1
jne 0x14000f9c0
xorps xmm9, xmm9
lea rbx, [rsp + 0x60]
xorps xmm11, xmm11
lea edi, [r14 + 4]
xorps xmm10, xmm10
mov rcx, rbx
call fcn.140007150
add rbx, 8
sub rdi, 1
jne 0x14000fa07
cmp byte [rbp + 0xd0], sil
je 0x14000fb28
movsxd rax, dword [rbp + 0x1ef0]
cmp eax, 0xffffffff
je 0x14000fb28
cmp eax, 8
ja 0x14000fb28
mov r8, qword [rbp + 0xa8]
test byte [r8 + 4], 2
jne 0x14000fb28
movsxd rcx, dword [r8 + 0x470]
lea rdx, [rax + rax*2]
lea r9, [0x1408b5030]
shl rcx, 5
add rcx, qword [r8 + 0x58]
movss xmm10, dword [r9 + rdx*8 + 8]
movss xmm11, dword [r9 + rdx*8 + 0xc]
movaps xmm2, xmm11
movzx eax, word [rcx + 4]
movd xmm4, eax
movzx eax, word [rcx + 6]
cvtdq2ps xmm4, xmm4
movd xmm3, eax
addss xmm4, dword [r9 + rdx*8]
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm4
mulss xmm1, dword [r8 + 0x30]
addss xmm3, dword [r9 + rdx*8 + 4]
movaps xmm0, xmm3
addss xmm2, xmm3
mulss xmm0, dword [r8 + 0x34]
movss dword [rsp + 0x60], xmm1
movaps xmm1, xmm10
addss xmm1, xmm4
addss xmm4, dword [0x140145ebc]
movss dword [rsp + 0x64], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [r8 + 0x34]
mulss xmm1, dword [r8 + 0x30]
movss dword [rsp + 0x6c], xmm0
movaps xmm0, xmm4
movss dword [rsp + 0x68], xmm1
mulss xmm0, dword [r8 + 0x30]
mulss xmm3, dword [r8 + 0x34]
movss dword [rsp + 0x70], xmm0
movaps xmm0, xmm10
addss xmm0, xmm4
movss dword [rsp + 0x74], xmm3
mulss xmm2, dword [r8 + 0x34]
mulss xmm0, dword [r8 + 0x30]
movss dword [rsp + 0x7c], xmm2
movss dword [rsp + 0x78], xmm0
mov r13d, esi
mov qword [rbp + 0x3a0], rsi
cmp dword [rbp + 0x1d38], esi
jle 0x14000fe68
movaps xmmword [rsp + 0x90], xmm12
mov rcx, rsi
movss xmm12, dword [0x140145e10]
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm8
mov qword [rsp + 0x48], rcx
mov rax, qword [rbp + 0x1d40]
mov r14, qword [rcx + rax]
lea rdi, [r14 + 0xf0]
movsxd r12, dword [rdi]
mov r15d, dword [rdi + 0x10]
mov ecx, dword [rdi + 4]
add r15d, r12d
cmp r15d, ecx
jle 0x14000fbba
test ecx, ecx
je 0x14000fba4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000fba9
mov eax, 8
cmp eax, r15d
mov edx, r15d
mov rcx, rdi
cmovg edx, eax
call fcn.1400280d0
mov dword [rdi], r15d
movsxd rax, dword [rdi + 0x10]
test eax, eax
je 0x14000fc00
mov rdx, qword [rdi + 0x18]
mov r8, rax
mov rax, qword [rdi + 8]
shl r8, 3
lea rcx, [rax + r12*8]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rdi + 0x14]
test ecx, ecx
jns 0x14000fbfd
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x10]
test eax, eax
cmovg edx, eax
call fcn.1400280d0
mov dword [rdi + 0x10], esi
comiss xmm10, xmm9
jbe 0x14000fcbd
comiss xmm11, xmm9
jbe 0x14000fcbd
movss xmm8, dword [rbp + 0x124]
movaps xmm3, xmm10
movss xmm6, dword [rbp + 0x16ec]
addss xmm3, xmm12
mulss xmm6, dword [r14 + 0x28]
movaps xmm1, xmm11
movss xmm4, dword [r14 + 0xc]
addss xmm1, xmm12
movss xmm5, dword [r14 + 8]
movaps xmm0, xmm4
addss xmm0, dword [r14 + 0x14]
movss xmm7, dword [rbp + 0x120]
movaps xmm2, xmm5
addss xmm2, dword [r14 + 0x10]
mulss xmm3, xmm6
comiss xmm0, xmm8
mulss xmm1, xmm6
addss xmm3, xmm7
addss xmm1, xmm8
jbe 0x14000fcbd
comiss xmm1, xmm4
jbe 0x14000fcbd
comiss xmm2, xmm7
jbe 0x14000fcbd
comiss xmm3, xmm5
jbe 0x14000fcbd
mov ebx, dword [rbp + 0x1ef0]
lea r8, str.Foreground
mov edx, 1
mov rcx, r14
call fcn.14000b830
movaps xmm0, xmm7
mov r9d, ebx
unpcklps xmm0, xmm8
movaps xmm2, xmm6
movq rdx, xmm0
mov rcx, rax
call fcn.140036b40
cmp qword [r14 + 0xa8], rsi
je 0x14000fd4a
lea r8, str.Foreground
mov edx, 1
mov rcx, r14
call fcn.14000b830
mov rbx, rax
movsxd rcx, dword [rax]
test ecx, ecx
je 0x14000fd4a
imul rdx, rcx, 0x38
lea eax, [rcx - 1]
mov rcx, qword [rbx + 8]
cmp dword [rdx + rcx - 0x18], esi
jne 0x14000fd08
cmp qword [rdx + rcx - 0x10], rsi
jne 0x14000fd08
mov dword [rbx], eax
mov ecx, eax
test eax, eax
je 0x14000fd4a
mov ecx, dword [rdi + 4]
mov eax, dword [rdi]
cmp eax, ecx
jne 0x14000fd3d
lea r8d, [rax + 1]
test ecx, ecx
je 0x14000fd24
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000fd29
mov eax, 8
cmp eax, r8d
mov rcx, rdi
cmovg r8d, eax
mov edx, r8d
call fcn.1400280d0
mov eax, dword [rdi]
movsxd rcx, eax
mov rax, qword [rdi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rdi]
mov ecx, dword [r14 + 4]
lea rdx, [r14 + 0xb0]
shr ecx, 7
mov qword [r14 + 0x30], rdx
and cl, 1
mov byte [rdx], 1
cmp dword [rdi], esi
jle 0x14000fd6c
mov rax, qword [rdi + 8]
jmp 0x14000fd6f
mov rax, rsi
mov qword [rdx + 8], rax
mov eax, dword [rdi]
mov dword [rdx + 0x10], eax
mov qword [rdx + 0x14], rsi
movsd xmm0, qword [r14 + 8]
movsd qword [rdx + 0x1c], xmm0
test cl, cl
je 0x14000fd97
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x40]
jmp 0x14000fda8
movsd xmm0, qword [r14 + 0x10]
lea rax, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
movsd xmm0, qword [rax]
mov r11d, esi
mov rax, qword [0x1408b62b8]
movsd qword [rdx + 0x24], xmm0
movsd xmm1, qword [rax + 0xc0]
movsd qword [rdx + 0x2c], xmm1
mov qword [rdx + 0x38], r14
cmp dword [rdi], esi
jle 0x14000fe0e
mov r9d, esi
mov r10d, esi
mov r8, rsi
nop dword [rax]
mov rax, qword [rdi + 8]
lea r8, [r8 + 8]
inc r11d
mov rcx, qword [r8 + rax - 8]
add r10d, dword [rcx + 0x20]
mov dword [rdx + 0x18], r10d
mov rax, qword [rdi + 8]
mov rcx, qword [r8 + rax - 8]
add r9d, dword [rcx + 0x10]
mov dword [rdx + 0x14], r9d
cmp r11d, dword [rdi]
jl 0x14000fde0
mov rax, qword [r14 + 0x30]
inc r13d
mov ecx, dword [rax + 0x18]
add dword [rbp + 0x3a0], ecx
mov rax, qword [r14 + 0x30]
mov ecx, dword [rax + 0x14]
add dword [rbp + 0x3a4], ecx
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x48], rcx
cmp r13d, dword [rbp + 0x1d38]
jl 0x14000fb71
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x140]
mov r12, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x130]
cmp dword [rbp + 0x2ff0], esi
jle 0x14000feef
mov rbx, rsi
nop word [rax + rax]
mov r8, qword [rbp + 0x2ff8]
cmp dword [rbx + r8], 5
jne 0x14000fee1
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rdx, [r8 + rcx*8]
mov rcx, rbp
call qword [rbx + rreloc.WS2_32.dll_htonl + 8]
inc esi
add rbx, 0x18
cmp esi, dword [rbp + 0x2ff0]
jl 0x14000fec0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400bd060
add rsp, 0x110
pop rsi
pop rbp
pop rbx
ret