Function at 0x140047500
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x520
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1400f10c0]
xor rax, rsp
mov qword [rsp + 0x470], rax
xor r12d, r12d
mov dword [0x140113b08], 0x7f7fffff
mov qword [0x140113c20], r12
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov r14, qword [0x140115440]
mov qword [rsp + 0xf8], r14
mov rdi, qword [0x140115448]
mov qword [rsp + 0xf0], rdi
movss xmm9, dword [0x1400de768]
cmp r14, rdi
je 0x14004966e
lea r15, [0x1400d6a46]
movzx ebx, byte [rsp + 0x40]
movdqa xmm10, xmmword [0x1400ded30]
movss xmm12, dword [0x1400de714]
movss xmm8, dword [0x1400de814]
movss xmm15, dword [0x1400de6bc]
movsd xmm9, qword [0x1400de788]
lea rdx, [rsp + 0x390]
call fcn.1400445f0
mov r9d, WSASetLastError
mov r8, qword [r14 + 0x18]
lea rdx, [rsp + 0x80]
call fcn.140044ae0
movups xmm6, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xc0], xmm6
movsd xmm7, qword [rsp + 0x90]
movsd qword [rsp + 0xd0], xmm7
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
call fcn.140044770
xor r9d, r9d
mov r8, qword [r14 + 0x18]
lea rdx, [rsp + 0x360]
call fcn.140044ae0
movups xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0x390], xmm0
movsd xmm1, qword [rsp + 0x370]
movsd qword [rsp + 0x3a0], xmm1
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x240]
call fcn.140044770
addsd xmm7, xmm9
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
movaps xmm0, xmm6
unpcklpd xmm0, xmm1
movaps xmmword [rsp + 0x390], xmm0
movsd qword [rsp + 0x370], xmm7
movsd qword [rsp + 0x3a0], xmm7
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x250]
call fcn.140044770
movsd xmm9, qword [rsp + 0x238]
movsd qword [rsp + 0xc0], xmm9
movaps xmm0, xmm9
movsd xmm1, qword [rsp + 0x248]
movsd qword [rsp + 0xb8], xmm1
subsd xmm0, xmm1
andps xmm0, xmm10
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
movaps xmm11, xmm0
mulss xmm11, xmm12
mov r9d, 0x44
mov r8, qword [r14 + 0x18]
lea rdx, [rsp + 0x390]
call fcn.140044ae0
movups xmm2, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmm0, xmm2
unpckhpd xmm0, xmm2
subsd xmm0, qword [0x1401153a0]
subsd xmm2, qword [0x140115398]
movsd qword [rsp + 0x370], xmm1
subsd xmm1, qword [0x1401153a8]
mulsd xmm2, xmm2
mulsd xmm0, xmm0
addsd xmm2, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x1400477b2
xorps xmm0, xmm0
sqrtsd xmm0, xmm2
jmp 0x1400477ba
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
divss xmm0, xmm8
movss dword [rsp + 0xb4], xmm0
movsd xmm13, qword [rsp + 0x230]
movsd qword [rsp + 0xa8], xmm13
cmp byte [0x140115473], 0
je 0x1400491a1
movss xmm0, dword [0x140115b78]
movss xmm1, dword [0x140115b7c]
movss xmm2, dword [0x140115b80]
mov rax, qword [0x140113a80]
movss dword [rsp + 0x200], xmm0
movss dword [rsp + 0x204], xmm1
movss dword [rsp + 0x208], xmm2
movss xmm6, dword [rax + 0x37c8]
movss dword [rsp + 0x20c], xmm6
lea rcx, [rsp + 0x200]
call fcn.140004410
mov r8d, eax
movzx ecx, al
xorps xmm10, xmm10
cvtsi2ss xmm10, rcx
mulss xmm10, xmm15
movss dword [rsp + 0x1c0], xmm10
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm9, xmm9
cvtsi2ss xmm9, rcx
mulss xmm9, xmm15
movss dword [rsp + 0x1c4], xmm9
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm8, xmm8
cvtsi2ss xmm8, rax
mulss xmm8, xmm15
movss dword [rsp + 0x1c8], xmm8
shr r8d, 0x18
mov eax, r8d
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
mulss xmm7, xmm15
movss dword [rsp + 0x1cc], xmm7
movss xmm0, dword [0x140115b68]
movss xmm1, dword [0x140115b6c]
movss xmm2, dword [0x140115b70]
movss dword [rsp + 0x210], xmm0
movss dword [rsp + 0x214], xmm1
movss dword [rsp + 0x218], xmm2
movss dword [rsp + 0x21c], xmm6
lea rcx, [rsp + 0x210]
call fcn.140004410
movzx ecx, al
xorps xmm12, xmm12
cvtsi2ss xmm12, rcx
mulss xmm12, xmm15
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm13, xmm13
cvtsi2ss xmm13, rcx
mulss xmm13, xmm15
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm14, xmm14
cvtsi2ss xmm14, rcx
mulss xmm14, xmm15
shr eax, 0x18
xorps xmm15, xmm15
cvtsi2ss xmm15, rax
mulss xmm15, dword [0x1400de6bc]
mov rdi, qword [r14 + 0x18]
lea rcx, [rdi + 0x2e0]
call fcn.1400590f0
movaps xmm6, xmm0
lea rcx, [rdi + 0x2e8]
call fcn.1400590f0
addss xmm0, dword [0x1400de6d0]
comiss xmm0, xmm6
jb 0x1400479b0
movss dword [rsp + 0xe0], xmm10
movss dword [rsp + 0xe4], xmm9
movss dword [rsp + 0xe8], xmm8
movss dword [rsp + 0xec], xmm7
jmp 0x1400479e8
movss dword [rsp + 0xe0], xmm12
movss dword [rsp + 0xe4], xmm13
movss dword [rsp + 0xe8], xmm14
movss dword [rsp + 0xec], xmm15
movaps xmm7, xmm15
movaps xmm8, xmm14
movaps xmm9, xmm13
movaps xmm10, xmm12
movsd xmm12, qword [rsp + 0x240]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x140047fd2
mov ecx, dword [0x140115438]
test ecx, ecx
je 0x140047ecb
cmp ecx, 1
jne 0x140047fd2
movsd xmm14, qword [rsp + 0x258]
movsd xmm13, qword [rsp + 0x250]
cmp byte [0x140115472], 0
je 0x140047cc4
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
movss xmm6, dword [0x1400f1154]
movss xmm15, dword [0x1400de768]
addss xmm6, xmm15
movups xmm8, xmmword [0x1400deb00]
movups xmmword [rsp + 0x80], xmm8
lea rcx, [rsp + 0x80]
call fcn.140004410
cvtpd2ps xmm10, xmm14
movaps xmm0, xmm11
mulss xmm0, dword [0x1400de700]
cvtps2pd xmm2, xmm0
movaps xmm1, xmm2
addsd xmm1, xmm12
cvtpd2ps xmm9, xmm1
movss dword [rsp + 0x1b8], xmm9
movss dword [rsp + 0x1bc], xmm10
movaps xmm0, xmm13
subsd xmm0, xmm2
cvtpd2ps xmm7, xmm0
movss dword [rsp + 0x1d0], xmm7
movss dword [rsp + 0x1d4], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x1b8]
lea rdx, [rsp + 0x1d0]
mov rcx, r10
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
movss xmm6, dword [0x1400f1154]
addss xmm6, xmm15
movups xmmword [rsp + 0x80], xmm8
lea rcx, [rsp + 0x80]
call fcn.140004410
movsd xmm8, qword [rsp + 0xb8]
cvtpd2ps xmm8, xmm8
movss dword [rsp + 0x1d8], xmm7
movss dword [rsp + 0x1dc], xmm8
movss dword [rsp + 0x120], xmm7
movss dword [rsp + 0x124], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x1d8]
lea rdx, [rsp + 0x120]
mov rcx, r10
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
movss xmm6, dword [0x1400f1154]
addss xmm6, xmm15
movups xmm0, xmmword [0x1400deb00]
movups xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x80]
call fcn.140004410
movss dword [rsp + 0x128], xmm9
movss dword [rsp + 0x12c], xmm8
movss dword [rsp + 0x130], xmm7
movss dword [rsp + 0x134], xmm8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x130]
mov rcx, r10
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
movss xmm6, dword [0x1400f1154]
addss xmm6, xmm15
movups xmm0, xmmword [0x1400deb00]
movups xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x80]
call fcn.140004410
movss dword [rsp + 0x138], xmm9
movss dword [rsp + 0x13c], xmm8
movss dword [rsp + 0x140], xmm9
movss dword [rsp + 0x144], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x138]
lea rdx, [rsp + 0x140]
mov rcx, r10
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
lea rcx, [rsp + 0xe0]
call fcn.140004410
mov edi, eax
cvtpd2ps xmm9, xmm14
mulss xmm11, dword [0x1400de700]
cvtps2pd xmm1, xmm11
movaps xmm0, xmm1
addsd xmm0, xmm12
cvtpd2ps xmm8, xmm0
movss dword [rsp + 0x148], xmm8
movss dword [rsp + 0x14c], xmm9
subsd xmm13, xmm1
cvtpd2ps xmm6, xmm13
movss dword [rsp + 0x150], xmm6
movss dword [rsp + 0x154], xmm9
movss xmm0, dword [0x1400f1154]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x148]
lea rdx, [rsp + 0x150]
mov rcx, r10
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
movsd xmm10, qword [rsp + 0xb8]
cvtpd2ps xmm7, xmm10
movss dword [rsp + 0x158], xmm6
movss dword [rsp + 0x15c], xmm7
movss dword [rsp + 0x160], xmm6
movss dword [rsp + 0x164], xmm9
movss xmm0, dword [0x1400f1154]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rsp + 0x158]
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
movss dword [rsp + 0x168], xmm8
movss dword [rsp + 0x16c], xmm7
movss dword [rsp + 0x170], xmm6
movss dword [rsp + 0x174], xmm7
movss xmm0, dword [0x1400f1154]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rsp + 0x168]
lea rdx, [rsp + 0x170]
mov rcx, rax
call fcn.1400276e0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007fa0
movss dword [rsp + 0x178], xmm8
movss dword [rsp + 0x17c], xmm7
movss dword [rsp + 0x180], xmm8
movss dword [rsp + 0x184], xmm9
movss xmm0, dword [0x1400f1154]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
lea r8, [rsp + 0x178]
lea rdx, [rsp + 0x180]
mov rcx, rax
call fcn.1400276e0
jmp 0x140047fdc
movss xmm6, dword [rsp + 0xb0]
movsd xmm13, qword [rsp + 0xa8]
cmp byte [0x140115472], 0
je 0x140047f4f
movss xmm0, dword [0x1400f1154]
addss xmm0, dword [0x1400de768]
cvttss2si eax, xmm0
movups xmm0, xmmword [0x1400deb00]
movdqa xmmword [rsp + 0x80], xmm0
cvttss2si r9d, xmm6
cvttss2si r8d, xmm11
cvttsd2si edx, qword [rsp + 0xc0]
movaps xmm0, xmm11
mulss xmm0, dword [0x1400de700]
cvtps2pd xmm1, xmm0
movaps xmm2, xmm13
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.140045180
movss dword [rsp + 0x220], xmm10
movss dword [rsp + 0x224], xmm9
movss dword [rsp + 0x228], xmm8
movss dword [rsp + 0x22c], xmm7
cvttss2si eax, dword [0x1400f1154]
cvttss2si r9d, xmm6
cvttss2si r8d, xmm11
movsd xmm9, qword [rsp + 0xc0]
cvttsd2si edx, xmm9
mulss xmm11, dword [0x1400de700]
cvtps2pd xmm0, xmm11
movaps xmm1, xmm13
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x20], rax
call fcn.140045180
movsd xmm10, qword [rsp + 0xb8]
jmp 0x140047ff0
movsd xmm10, qword [rsp + 0xb8]
movsd xmm9, qword [rsp + 0xc0]
movsd xmm13, qword [rsp + 0xa8]
movups xmm7, xmmword [rsp + 0xe0]
cmp byte [0x140115470], 0
je 0x140048171
cmp byte [0x140115472], 0
je 0x1400480c9
movss xmm6, dword [0x1400f1154]
addss xmm6, dword [0x1400de768]
movups xmm0, xmmword [0x1400deb00]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
lea rcx, [rsp + 0x80]
call fcn.140004410
cvtpd2ps xmm1, xmm10
cvtpd2ps xmm0, xmm12
movss dword [rsp + 0x188], xmm0
movss dword [rsp + 0x18c], xmm1
movd xmm2, dword [0x140113c54]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x140115b44]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x190], xmm0
movss dword [rsp + 0x194], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x188]
lea rdx, [rsp + 0x190]
mov rcx, r10
call fcn.1400276e0
movdqa xmmword [rsp + 0x80], xmm7
movss xmm6, dword [0x1400f1154]
mov rax, qword [0x140113a80]
mov rax, qword [rax + 0x48b0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.140007fa0
mov r10, rax
lea rcx, [rsp + 0x80]
call fcn.140004410
cvtpd2ps xmm1, xmm10
cvtpd2ps xmm0, xmm12
movss dword [rsp + 0x198], xmm0
movss dword [rsp + 0x19c], xmm1
movd xmm2, dword [0x140113c54]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x140115b44]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x1a0], xmm0
movss dword [rsp + 0x1a4], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rsp + 0x198]
lea rdx, [rsp + 0x1a0]
mov rcx, r10
call fcn.1400276e0
cmp byte [0x140115476], 0
je 0x1400484f0
cvttss2si edx, dword [rsp + 0xb4]
lea rcx, [rsp + 0x100]
call fcn.140058cb0
nop
lea rdi, [rsp + 0x100]
cmp qword [rsp + 0x118], 0xf
cmova rdi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x110]
cmp r15, rdi
jbe 0x1400481d2
lea rax, [rdi + r8]
cmp r15, rax
ja 0x1400481d2
cmp rdi, r15
jbe 0x1400481d2
mov rsi, rdi
sub rsi, r15
jmp 0x1400481d5
mov rsi, r12
inc r8
mov rdx, rdi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, rsi
neg r8
lea rdx, [rsi + r15]
lea rcx, [rdi + rsi]
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x1e0], xmm0
movups xmm1, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x1f0], xmm1
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x100], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14004828c
lea rax, [rcx + 1]
mov qword [rsp + 0x1f0], rax
lea rax, [rsp + 0x1e0]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x1e0]
mov word [rax + rcx], WSASetLastError
lea rax, [rsp + 0x1e0]
jmp 0x1400482b2
mov qword [rsp + 0x20], 1
lea r9, [0x1400dcc00]
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x1e0]
call fcn.14005a4a0
xorps xmm0, xmm0
movups xmmword [rsp + 0x3d0], xmm0
mov qword [rsp + 0x3e0], r12
mov qword [rsp + 0x3e8], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x3d0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x3e0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0xf
jbe 0x140048336
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048331
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049644
call fcn.1400c2180
mov qword [rsp + 0x1f0], r12
mov qword [rsp + 0x1f8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x1e0], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x140048395
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048390
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004964b
call fcn.1400c2180
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x100], 0
lea rcx, [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3d0]
mov r8, qword [rsp + 0x3e8]
cmp r8, 0xf
cmova rcx, rdx
mov rax, qword [0x140113a80]
test rcx, rcx
jne 0x1400483e2
xorps xmm0, xmm0
jmp 0x140048453
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1400de88c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400de868]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rsp + 0x1a8]
mov rcx, qword [rax + 0x3c08]
call fcn.14002bd80
movss xmm0, dword [rsp + 0x1a8]
addss xmm0, dword [0x1400de734]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x1a8], xmm0
mov r8, qword [rsp + 0x3e8]
mov rdx, qword [rsp + 0x3d0]
subsd xmm10, qword [0x1400de758]
cvtpd2ps xmm2, xmm10
divss xmm0, dword [0x1400de79c]
cvtps2pd xmm0, xmm0
subsd xmm12, xmm0
cvtpd2ps xmm1, xmm12
lea rcx, [rsp + 0x3d0]
cmp r8, 0xf
cmova rcx, rdx
movdqa xmmword [rsp + 0x80], xmm7
movzx r9d, byte [0x140115472]
lea r8, [rsp + 0x80]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.140045540
nop
mov rdx, qword [rsp + 0x3e8]
cmp rdx, 0xf
jbe 0x1400484f0
inc rdx
mov rcx, qword [rsp + 0x3d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400484eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049652
call fcn.1400c2180
cmp byte [0x140115471], 0
je 0x140048513
movdqa xmmword [rsp + 0x80], xmm7
lea rdx, [rsp + 0x80]
mov rcx, qword [r14 + 0x18]
call fcn.1400459e0
cmp byte [0x140115475], 0
je 0x140048608
mov rdx, qword [r14]
lea rcx, [rsp + 0x360]
call fcn.140046850
nop
movaps xmm0, xmm9
subsd xmm0, qword [0x1400de780]
cvtpd2ps xmm8, xmm0
cvtpd2ps xmm6, xmm13
lea rdx, [rsp + 0x360]
cmp qword [rsp + 0x378], 0xf
cmova rdx, qword [rsp + 0x360]
xorps xmm0, xmm0
movups xmmword [rsp + 0x390], xmm0
mov qword [rsp + 0x3a0], r12
mov qword [rsp + 0x3a8], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140048583
lea rcx, [rsp + 0x390]
call fcn.14004daf0
movdqa xmmword [rsp + 0x80], xmm7
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x80]
movaps xmm0, xmm6
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.140046a80
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 0xf
jbe 0x140048608
inc rdx
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048603
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049659
call fcn.1400c2180
cmp byte [0x140115474], 0
je 0x140049175
mov rcx, qword [r14]
add rcx, 0x438
call fcn.140058fa0
mov dword [rsp + 0x381], r12d
mov word [rsp + 0x385], r12w
mov byte [rsp + 0x387], 0
mov dword [rsp + 0x360], 0x69b5b66
mov qword [rsp + 0x368], rax
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], 0x80
mov eax, dword [0x140113ad0]
mov dword [rsp + 0x364], eax
mov byte [rsp + 0x380], 0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rsp + 0x360]
mov edx, 0x226624
mov rcx, qword [0x140113ac8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x390]
call fcn.140057be0
nop
lea rdx, [rsp + 0x390]
cmp qword [rsp + 0x3a8], 7
cmova rdx, qword [rsp + 0x390]
mov rax, qword [rsp + 0x3a0]
lea r8, [rdx + rax*2]
lea rdx, [rsp + 0x390]
cmova rdx, qword [rsp + 0x390]
lea r9, [rsp + 0x40]
lea rcx, [rsp + 0x340]
call fcn.140059500
nop
lea rdx, [rsp + 0x340]
mov r15, qword [rsp + 0x340]
mov r13, qword [rsp + 0x358]
cmp r13, 0xf
cmova rdx, r15
mov rax, qword [0x140113a80]
test rdx, rdx
je 0x1400487b2
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x1400de88c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400de868]
movss xmm2, dword [rax + 0x3c10]
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rax + 0x3c08]
call fcn.14002bd80
movss xmm0, dword [rsp + 0x1b0]
addss xmm0, dword [0x1400de734]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x1b0], xmm0
mov r15, qword [rsp + 0x340]
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x58
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x42
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x4c
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x4c], r9b
xor r8b, 0x64
mov byte [rsp + 0x4d], r8b
xor al, 0xc6
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], cl
lea rax, [rsp + 0x4c]
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048810
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
movups xmm6, xmmword [rsp + 0x1c0]
mov r14, qword [rsp + 0x350]
cmp rsi, r14
ja 0x1400488ba
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x140048a99
lea r13, [rax + r12]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x1400488b2
nop dword [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x4c]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400488a5
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048870
jmp 0x1400488b2
sub rdi, r12
cmp rdi, 0xffffffffffffffff
jne 0x140048a99
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x58
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x53
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x58
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x50], r9b
xor r8b, 0x64
mov byte [rsp + 0x51], r8b
xor al, 0xc6
mov byte [rsp + 0x52], al
mov byte [rsp + 0x53], cl
lea rax, [rsp + 0x50]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048911
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x14004899f
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x140048a99
lea r13, [r12 + rax]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140048997
nop dword [rax]
mov r8, rsi
lea rdx, [rsp + 0x50]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140048a8c
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048960
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x50
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x53
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x34
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x54], r9b
xor r8b, 0x64
mov byte [rsp + 0x55], r8b
xor al, 0xc6
mov byte [rsp + 0x56], al
mov byte [rsp + 0x57], cl
lea rax, [rsp + 0x54]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], cl
jne 0x1400489f6
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x140048c73
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x1400491fd
lea r13, [r12 + rax]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140048c6b
nop dword [rax]
mov r8, rsi
lea rdx, [rsp + 0x54]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140048c5e
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048a50
jmp 0x140048c6b
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x140048997
xor edx, edx
mov cl, 0x58
call fcn.1400435a0
mov byte [rsp + 0x44], al
mov edx, 1
mov cl, 0x42
call fcn.1400435a0
mov byte [rsp + 0x45], al
mov edx, 2
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.1400435a0
mov byte [rsp + 0x46], al
mov edx, 3
mov cl, 0x58
call fcn.1400435a0
mov byte [rsp + 0x47], al
xor eax, eax
mov byte [rsp + 0x48], al
xor r9d, r9d
cmp dword [reloc.WS2_32.dll_accept], 6
jl 0x140048b99
mov ecx, r9d
movdqa xmm0, xmmword [0x1400ded10]
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [0x1400de9b0]
movdqa xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x80]
mov r8d, dword [rsp + 0xc0]
movdqa xmm6, xmmword [0x1400de910]
movdqa xmm13, xmmword [0x1400de970]
movsxd rax, ecx
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm13
pshufb xmm1, xmm6
movd xmm0, r8d
vpmovzxbw ymm1, xmm1
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rsp + rax + 0x44]
xorps xmm3, xmm0
movd dword [rsp + rax + 0x44], xmm3
add ecx, 4
cmp ecx, 4
jb 0x140048b31
movsd xmm13, qword [rsp + 0xa8]
movups xmm6, xmmword [rsp + 0x1c0]
jmp 0x140048bba
mov r8d, r9d
nop dword [rax]
movsxd rdx, r8d
movsx eax, r8b
imul ecx, eax, 0x62
add cl, 2
xor byte [rsp + rdx + 0x44], cl
inc r8d
cmp r8d, 4
jb 0x140048ba0
mov byte [rsp + 0x48], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x360], xmm0
mov qword [rsp + 0x370], r9
mov qword [rsp + 0x378], r9
lea rax, [rsp + 0x44]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140048be6
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x360]
call fcn.14004daf0
lea r8, [rsp + 0x360]
movsd xmm8, qword [0x1400de790]
movaps xmm0, xmm9
xorps xmm2, xmm2
subsd xmm0, xmm8
xorps xmm1, xmm1
cvtsd2ss xmm2, xmm0
cvtsd2ss xmm1, xmm13
movdqa xmmword [rsp + 0x80], xmm6
lea rdx, [rsp + 0x80]
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.140046a80
mov r14, qword [rsp + 0x350]
mov r15, qword [rsp + 0x340]
jmp 0x140048f40
sub rdi, r12
cmp rdi, 0xffffffffffffffff
jne 0x1400491fd
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x50
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x53
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x35
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x58], r9b
xor r8b, 0x64
mov byte [rsp + 0x59], r8b
xor al, 0xc6
mov byte [rsp + 0x5a], al
mov byte [rsp + 0x5b], cl
lea rax, [rsp + 0x58]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048cd0
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x140048d5f
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x1400491fd
lea r13, [rax + r12]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140048d57
nop dword [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x58]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400491f0
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048d20
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x57
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x49
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, Ordinal_79
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x60], r9b
xor r8b, 0x64
mov byte [rsp + 0x61], r8b
xor al, 0xc6
mov byte [rsp + 0x62], al
mov byte [rsp + 0x63], cl
lea rax, [rsp + 0x60]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048db6
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x140048e4f
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x140049290
lea r13, [rax + r12]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140048e47
nop dword [rax]
nop word [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x60]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049283
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048e10
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x53
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x57
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x54
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x68], r9b
xor r8b, 0x64
mov byte [rsp + 0x69], r8b
xor al, 0xc6
mov byte [rsp + 0x6a], al
mov byte [rsp + 0x6b], cl
lea rax, [rsp + 0x68]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048ea6
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x1400493cd
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x140049335
lea r13, [rax + r12]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140048f37
nop word [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x68]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049328
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048f00
movsd xmm8, qword [0x1400de790]
mov r13, qword [rsp + 0x358]
xor edx, edx
mov cl, 0x41
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, Ordinal_79
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x44
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x40], r9b
mov byte [rsp + 0x70], r9b
xor r8b, 0x64
mov byte [rsp + 0x71], r8b
xor al, 0xc6
mov byte [rsp + 0x72], al
mov byte [rsp + 0x73], cl
lea rax, [rsp + 0x70]
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [rax + rsi], cl
jne 0x140048fa0
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x14004902f
mov rax, r14
sub rax, rsi
test rsi, rsi
je 0x1400493e8
lea r13, [rax + r12]
movsx edx, r9b
lea r8, [r13 + 1]
sub r8, r12
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140049027
nop dword [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x70]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400493db
inc rdi
lea r8, [r13 + 1]
sub r8, rdi
movsx edx, byte [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140048ff0
mov r13, qword [rsp + 0x358]
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x40]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rax + rsi], 0
jne 0x140049040
lea r12, [rsp + 0x340]
cmp r13, 0xf
cmova r12, r15
cmp rsi, r14
ja 0x1400490c8
sub r14, rsi
test rsi, rsi
je 0x140049554
lea r8, [r12 + 1]
add r8, r14
sub r8, r12
xor edx, edx
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x1400490c8
nop word [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x40]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140049547
inc rdi
lea r8, [r12 + 1]
add r8, r14
sub r8, rdi
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140049090
xor r12d, r12d
cmp r13, 0xf
jbe 0x140049102
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400490fa
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049660
mov rcx, r15
call fcn.1400c2180
mov qword [rsp + 0x350], r12
mov qword [rsp + 0x358], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x340], 0
mov rdx, qword [rsp + 0x3a8]
cmp rdx, 7
jbe 0x140049166
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049161
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049667
call fcn.1400c2180
lea r15, [0x1400d6a46]
mov r14, qword [rsp + 0xf8]
movss xmm15, dword [0x1400de6bc]
movss xmm8, dword [0x1400de814]
movdqa xmm10, xmmword [0x1400ded30]
movss xmm12, dword [0x1400de714]
mov rdi, qword [rsp + 0xf0]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x140115b44]
subsd xmm13, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [0x140115b58]
subsd xmm9, xmm1
mulsd xmm9, xmm9
mulsd xmm13, xmm13
addsd xmm9, xmm13
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm9
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400495ab
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400495b3
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x140048d57
xor edx, edx
mov cl, 0x50
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x53
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, Ordinal_79
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x5c], r9b
xor r8b, 0x64
mov byte [rsp + 0x5d], r8b
xor al, 0xc6
mov byte [rsp + 0x5e], al
mov byte [rsp + 0x5f], cl
xorps xmm0, xmm0
movups xmmword [rsp + 0x360], xmm0
xor r9d, r9d
mov qword [rsp + 0x370], r9
mov qword [rsp + 0x378], r9
lea rax, [rsp + 0x5c]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], cl
jne 0x140049270
lea rdx, [rsp + 0x5c]
jmp 0x140048bf5
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x140048e47
xor edx, edx
mov cl, 0x57
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x49
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, Ordinal_79
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x64], r9b
xor r8b, 0x64
mov byte [rsp + 0x65], r8b
xor al, 0xc6
mov byte [rsp + 0x66], al
mov byte [rsp + 0x67], cl
xorps xmm0, xmm0
movups xmmword [rsp + 0x260], xmm0
xor r9d, r9d
mov qword [rsp + 0x270], r9
mov qword [rsp + 0x278], r9
lea rax, [rsp + 0x64]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x140049300
lea rdx, [rsp + 0x64]
lea rcx, [rsp + 0x260]
call fcn.14004daf0
lea r8, [rsp + 0x260]
jmp 0x140048c0a
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x140048f37
xor edx, edx
mov cl, 0x53
call fcn.1400435a0
movzx r9d, al
mov edx, 1
mov cl, 0x57
call fcn.1400435a0
movzx r8d, al
mov edx, 2
mov cl, 0x54
call fcn.1400435a0
xor ecx, ecx
xor r9b, dl
mov byte [rsp + 0x6c], r9b
xor r8b, 0x64
mov byte [rsp + 0x6d], r8b
xor al, 0xc6
mov byte [rsp + 0x6e], al
mov byte [rsp + 0x6f], cl
xorps xmm0, xmm0
movups xmmword [rsp + 0x280], xmm0
xor r9d, r9d
mov qword [rsp + 0x290], r9
mov qword [rsp + 0x298], r9
lea rax, [rsp + 0x6c]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x1400493a5
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x280]
call fcn.14004daf0
lea r8, [rsp + 0x280]
jmp 0x140048c0a
movsd xmm8, qword [0x1400de790]
jmp 0x140048f48
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x140049027
xor edx, edx
mov cl, 0x41
call fcn.1400435a0
movzx esi, al
mov edx, 1
mov cl, WSAGetLastError
call fcn.1400435a0
movzx edi, al
mov edx, 2
mov cl, 0x64
call fcn.1400435a0
movzx r11d, al
mov edx, 3
mov cl, WSAStartup
call fcn.1400435a0
movzx r10d, al
mov edx, 4
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.1400435a0
movzx r9d, al
mov edx, 5
mov cl, 0x69
call fcn.1400435a0
movzx r8d, al
mov edx, 6
mov cl, 0x64
call fcn.1400435a0
xor ecx, ecx
xor sil, 2
mov byte [rsp + 0xa0], sil
xor dil, 0x64
mov byte [rsp + 0xa1], dil
xor r11b, 0xc6
mov byte [rsp + 0xa2], r11b
xor r10b, 0x28
mov byte [rsp + 0xa3], r10b
xor r9b, 0x8a
mov byte [rsp + 0xa4], r9b
xor r8b, 0xec
mov byte [rsp + 0xa5], r8b
xor al, 0x4e
mov byte [rsp + 0xa6], al
mov byte [rsp + 0xa7], cl
xorps xmm0, xmm0
movups xmmword [rsp + 0x2a0], xmm0
xor r12d, r12d
mov qword [rsp + 0x2b0], r12
mov qword [rsp + 0x2b8], r12
lea rax, [rsp + 0xa0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x1400494d6
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x2a0]
call fcn.14004daf0
lea r8, [rsp + 0x2a0]
movaps xmm0, xmm9
xorps xmm1, xmm1
xorps xmm2, xmm2
subsd xmm0, xmm8
movdqa xmmword [rsp + 0x80], xmm6
cvtsd2ss xmm1, xmm13
cvtsd2ss xmm2, xmm0
lea rdx, [rsp + 0x80]
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.140046a80
mov r15, qword [rsp + 0x340]
mov r13, qword [rsp + 0x358]
jmp 0x1400490cb
sub rdi, r12
cmp rdi, 0xffffffffffffffff
je 0x1400490c8
mov byte [rsp + 0x40], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2c0], xmm0
xor r12d, r12d
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2d8], r12
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x140049583
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x2c0]
call fcn.14004daf0
lea r8, [rsp + 0x2c0]
jmp 0x1400494fc
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x1400f1150]
comiss xmm1, xmm0
jb 0x1400495e2
movss xmm1, dword [0x140113b08]
comiss xmm1, xmm0
jbe 0x1400495e2
movss dword [0x140113b08], xmm0
mov r8, qword [r14 + 0x18]
mov qword [0x140113c20], r8
jmp 0x1400495e9
mov r8, qword [0x140113c20]
add r14, 0x28
mov qword [rsp + 0xf8], r14
cmp r14, rdi
jne 0x14004760c
movss xmm9, dword [0x1400de768]
test r8, r8
je 0x140049877
cmp byte [0x14011546d], 0
je 0x140049877
mov eax, dword [0x140115468]
test eax, eax
jne 0x140049677
mov r9d, WSASetLastError
lea rdx, [rsp + 0x360]
call fcn.140044ae0
lea rdx, [rsp + 0x2e0]
jmp 0x1400496bd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r8, qword [0x140113c20]
jmp 0x140049607
cmp eax, 1
jne 0x140049699
mov r9d, 0x42
lea rdx, [rsp + 0x310]
call fcn.140044ae0
lea rdx, [rsp + 0x2f0]
jmp 0x1400496bd
cmp eax, 2
jne 0x140049881
mov r9d, 8
lea rdx, [rsp + 0x328]
call fcn.140044ae0
lea rdx, [rsp + 0x300]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rsp + 0x390], xmm0
movsd qword [rsp + 0x3a0], xmm1
lea r8, [rsp + 0x390]
call fcn.140044770
movsd xmm7, qword [rax + 8]
movsd xmm8, qword [rax]
xorps xmm0, xmm0
ucomisd xmm8, xmm0
jp 0x140049788
jne 0x140049788
ucomisd xmm7, xmm0
jp 0x14004970d
je 0x140049881
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x140115b58]
subsd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movaps xmm2, xmm9
movaps xmm1, xmm2
call fcn.1400c3aa0
movaps xmm6, xmm0
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [0x140115b44]
subsd xmm2, xmm8
cvtpd2ps xmm0, xmm2
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140049764
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14004976c
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [0x1400f1150]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140049881
mov rax, qword [0x1401157a0]
test rax, rax
jne 0x140049838
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x10]
mov rbx, rdi
nop dword [rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140049823
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140049823
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r10 + r8*4]
mov edx, dword [rcx + r9]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14004981e
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140049800
cmp ecx, 0x95466b05
je 0x14004985b
test r8d, r8d
jne 0x1400497e0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400497b0
mov rax, r12
mov qword [0x1401157a0], rax
mov ecx, dword [0x140115b88]
call rax
test ax, ax
je 0x140049881
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm7
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
call fcn.140047320
jmp 0x140049881
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + r8*4]
add rax, r9
jmp 0x140049831
mov dword [0x140113b08], 0x7f7fffff
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.1400c1df0
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
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
ret