Function at 0x140100590
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x190
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
mov rsi, rdx
mov r14, rcx
mov r15, qword [0x14038bb10]
mov qword [rsp + 0x60], r15
mov rax, qword [r15 + 0x4038]
mov byte [rax + 0xc0], 1
mov rbx, qword [r15 + 0x4038]
cmp byte [rbx + 0xc3], 0
jne 0x1401014d1
mov rdx, rcx
mov rcx, rbx
call fcn.1400c9fb0
mov r13d, eax
mov rdi, qword [0x14038bb10]
mov rdx, r14
cmp r14, 0xffffffffffffffff
jae 0x140100651
movzx r8d, byte [rdx]
test r8b, r8b
je 0x140100651
lea rcx, [rdx + 1]
cmp r8b, 0x23
jne 0x140100648
cmp byte [rcx], r8b
je 0x140100651
mov rdx, rcx
cmp rcx, 0xffffffffffffffff
jb 0x140100630
movss xmm1, dword [rdi + 0x3d60]
xorps xmm8, xmm8
cmp r14, rdx
jne 0x140100667
xorps xmm0, xmm0
jmp 0x1401006b8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r14
movss xmm0, dword [0x140335038]
movss dword [rsp + 0x20], xmm0
movaps xmm2, xmm1
lea rdx, [rbp + 0xe8]
mov rcx, qword [rdi + 0x3d58]
call fcn.1400e6d60
movss xmm0, dword [rbp + 0xe8]
addss xmm0, dword [0x140334e74]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [rbp + 0xec]
movss dword [rsp + 0x7c], xmm1
movss dword [rsp + 0x78], xmm0
movss xmm6, dword [rbx + 0x110]
movss xmm7, dword [rbx + 0x114]
ucomiss xmm8, dword [rsi]
jne 0x140100702
ucomiss xmm8, dword [rsi + 4]
jne 0x140100702
mov rax, qword [rdi + 0x4038]
movss xmm0, dword [rax + 0x30]
subss xmm0, dword [0x140334f34]
movss xmm1, dword [0x140334f48]
unpcklps xmm0, xmm1
jmp 0x140100737
movss xmm3, dword [r15 + 0x3930]
movss xmm2, dword [r15 + 0x392c]
addss xmm3, xmm3
addss xmm3, xmm1
addss xmm2, xmm2
addss xmm2, xmm0
mov rdx, qword [rsi]
lea rcx, [rbp + 0xe8]
call fcn.1400be580
movsd xmm0, qword [rax]
movsd qword [rbp + 0xe8], xmm0
movaps xmm1, xmm7
addss xmm1, dword [rbp + 0xec]
movaps xmm0, xmm6
movss xmm11, dword [rbp + 0xe8]
addss xmm0, xmm11
movss dword [rsp + 0x68], xmm6
movss dword [rsp + 0x6c], xmm7
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
movss xmm1, dword [r15 + 0x3930]
lea rcx, [rbp + 0xe8]
call fcn.1400bec10
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.1400bea50
test al, al
je 0x1401014d1
mov eax, dword [r15 + 0x49ac]
and eax, 2
shl eax, 9
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xe0]
lea r8, [rbp + 0xe8]
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.1401034f0
movzx ebx, al
mov byte [rbp + 0xe0], al
mov ecx, dword [0x14038cd80]
xor edi, edi
movss xmm12, dword [0x140334e7c]
test cl, 1
jne 0x140100879
or dword [0x14038cd80], 1
mov dword [0x14038cd30], edi
mov qword [0x14038cd38], rdi
mov qword [0x14038cd40], rdi
mov ecx, Ordinal_60
call fcn.140094c1c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14038cd38], rax
mov qword [0x14038cd48], rdi
xorps xmm0, xmm0
movdqa xmmword [0x14038cd50], xmm0
mov qword [0x14038cd60], 7
mov qword [0x14038cd68], 8
mov dword [0x14038cd30], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x14038cd48]
call fcn.140022820
nop
lea rcx, [0x140120800]
call fcn.140094e80
nop
mov rsi, 0xffffffffffffffff
movabs r12, 0xcbf29ce484222325
test bl, bl
je 0x140100b0a
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov r8, rsi
inc r8
cmp byte [r14 + r8], 0
jne 0x1401008a4
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.140003590
lea r8, [rbp - 0x18]
mov rsi, qword [rbp - 0x18]
mov r15, qword [rbp]
cmp r15, 0xf
cmova r8, rsi
mov rcx, r12
mov rdx, rdi
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x140100904
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, rdi
jb 0x1401008f0
and rcx, qword [0x14038cd60]
add rcx, rcx
mov rax, qword [0x14038cd48]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [0x14038cd38]
je 0x14010096c
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x40], rax
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140100942
mov rdx, qword [rdx]
lea rcx, [rbp - 0x18]
cmp r15, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x14010095f
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14010096e
cmp rbx, qword [rsp + 0x40]
je 0x14010096c
mov rbx, qword [rbx + 8]
jmp 0x140100930
xor ebx, ebx
mov rax, qword [0x14038cd38]
mov rdi, rax
test rbx, rbx
cmovne rdi, rbx
cmp r15, 0xf
jbe 0x1401009bd
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1401009ae
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140101342
mov rcx, rsi
call fcn.140094e98
mov rax, qword [0x14038cd38]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x1401009d0
xorps xmm0, xmm0
mov rdx, r14
movups xmmword [rbp - 0x80], xmm0
cmp rdi, rax
jne 0x140100a50
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rcx, [rbp - 0x80]
call fcn.140003590
mov byte [rbp - 0x60], 1
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x40]
call fcn.140024f00
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140100b03
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140100afe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140101342
jmp 0x140100afe
xor r15d, r15d
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
lea rcx, [rbp - 0x80]
call fcn.140003590
lea rdx, [rbp - 0x80]
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x68]
cmp rdi, 0xf
cmova rdx, rbx
mov r9, r12
mov ecx, r15d
mov r8, qword [rbp - 0x70]
test r8, r8
je 0x140100aa8
movabs rdi, 0x100000001b3
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, rdi
inc rcx
cmp rcx, r8
jb 0x140100a91
mov rdi, qword [rbp - 0x68]
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x40]
call fcn.140026570
mov rcx, qword [rax + 8]
mov rax, qword [0x14038cd38]
test rcx, rcx
cmovne rax, rcx
mov byte [rax + 0x30], 1
cmp rdi, 0xf
jbe 0x140100b03
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140100afb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140101342
mov rcx, rbx
call fcn.140094e98
xor edi, edi
mov r15, qword [rsp + 0x60]
mov ecx, dword [0x14038cd80]
test cl, 2
jne 0x140100b59
or dword [0x14038cd80], 2
mov qword [0x14038cd08], rdi
mov qword [0x14038cd10], rdi
mov ecx, Ordinal_60
call fcn.140094c1c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x14038cd08], rax
lea rcx, [0x140120790]
call fcn.140094e80
nop
mov rdi, qword [0x14038cd08]
mov rax, qword [rdi + 8]
mov rbx, rdi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x140100b8a
mov rcx, rax
cmp dword [rcx + 0x1c], r13d
jae 0x140100b7e
mov rcx, qword [rcx + 0x10]
jmp 0x140100b84
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140100b72
cmp byte [rbx + 0x19], 0
jne 0x140100b96
cmp r13d, dword [rbx + 0x1c]
jae 0x140100b99
mov rbx, rdi
cmp rbx, rdi
jne 0x140100cbd
xor r8d, r8d
mov dword [rsp + 0x40], r8d
xorps xmm1, xmm1
movups xmmword [rsp + 0x44], xmm1
mov dword [rbp - 0x80], r13d
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x7c], xmm0
psrldq xmm1, 0xc
movd dword [rbp - 0x6c], xmm1
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], r8d
mov rcx, rdi
test dl, dl
jne 0x140100c07
nop dword [rax + rax]
mov qword [rbp + 8], rax
cmp dword [rax + 0x1c], r13d
jae 0x140100bf4
mov dword [rbp + 0x10], r8d
mov rax, qword [rax + 0x10]
jmp 0x140100c01
mov dword [rbp + 0x10], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x140100be0
cmp byte [rcx + 0x19], r8b
jne 0x140100c13
cmp r13d, dword [rcx + 0x1c]
jae 0x140100c89
movabs rax, 0x492492492492492
cmp qword [0x14038cd10], rax
je 0x140101511
lea rbx, [0x14038cd08]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r8
mov ecx, Ordinal_60
call fcn.140094c1c
nop
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rax + 0x1c], xmm0
movsd xmm1, qword [rbp - 0x70]
movsd qword [rax + 0x2c], xmm1
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp + 8]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14000da30
mov rdi, qword [0x14038cd08]
mov rax, qword [rdi + 8]
mov rbx, rdi
cmp byte [rax + 0x19], 0
jne 0x140100cae
cmp dword [rax + 0x1c], r13d
jae 0x140100ca2
mov rax, qword [rax + 0x10]
jmp 0x140100ca8
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140100c96
cmp byte [rbx + 0x19], 0
jne 0x140100cba
cmp r13d, dword [rbx + 0x1c]
jae 0x140100cbd
mov rbx, rdi
movss xmm6, dword [r15 + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
mov r8, rsi
inc r8
cmp byte [r14 + r8], dil
jne 0x140100cd7
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.140003590
lea r8, [rbp - 0x58]
mov r15, qword [rbp - 0x58]
mov r9, qword [rbp - 0x40]
cmp r9, 0xf
cmova r8, r15
mov rcx, r12
mov rdx, rdi
mov rsi, qword [rbp - 0x48]
test rsi, rsi
je 0x140100d38
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, rsi
jb 0x140100d20
mov r9, qword [rbp - 0x40]
and rcx, qword [0x14038cd60]
add rcx, rcx
mov rax, qword [0x14038cd48]
mov rdi, qword [rax + rcx*8 + 8]
mov rdx, qword [0x14038cd38]
cmp rdi, rdx
je 0x140100dc0
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x40], rax
nop dword [rax]
nop word [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140100d82
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
cmp r9, 0xf
cmova rcx, r15
cmp rsi, rax
jne 0x140100da3
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140100db0
mov r9, qword [rbp - 0x40]
cmp rdi, qword [rsp + 0x40]
je 0x140100db9
mov rdi, qword [rdi + 8]
jmp 0x140100d70
mov rdx, qword [0x14038cd38]
jmp 0x140100dc2
mov rdx, qword [0x14038cd38]
xor edi, edi
test rdi, rdi
cmovne rdx, rdi
cmp byte [rdx + 0x30], 0
je 0x140100dd3
movaps xmm8, xmm11
subss xmm8, dword [rbx + 0x20]
mulss xmm8, xmm6
movss xmm7, dword [0x140334f10]
mulss xmm8, xmm7
addss xmm8, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm8
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x140100e31
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140100e29
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140101342
mov rcx, r15
call fcn.140094e98
mov rax, qword [rsp + 0x60]
movss xmm6, dword [rax + 0x18]
mulss xmm6, xmm7
mov r9, qword [0x14038bb10]
cmp byte [rbp + 0xe8], 0
je 0x140100e71
movss xmm2, dword [0x140334e08]
movss xmm3, dword [0x140334e38]
movss xmm4, dword [0x140334e54]
movss xmm5, dword [0x140334e00]
jmp 0x140100ef0
movups xmm0, xmmword [r9 + 0x3a30]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r9 + 0x38f0]
movss dword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400d0160
mov r8d, eax
movzx ecx, al
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
movss xmm0, dword [0x140334dbc]
mulss xmm2, xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
mulss xmm3, xmm0
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
xorps xmm4, xmm4
cvtsi2ss xmm4, rax
mulss xmm4, xmm0
shr r8d, 0x18
mov eax, r8d
xorps xmm5, xmm5
cvtsi2ss xmm5, rax
mulss xmm5, xmm0
subss xmm2, dword [rbx + 0x24]
mulss xmm2, xmm6
addss xmm2, dword [rbx + 0x24]
subss xmm3, dword [rbx + 0x28]
mulss xmm3, xmm6
addss xmm3, dword [rbx + 0x28]
subss xmm4, dword [rbx + 0x2c]
mulss xmm4, xmm6
addss xmm4, dword [rbx + 0x2c]
subss xmm5, dword [rbx + 0x30]
mulss xmm5, xmm6
addss xmm5, dword [rbx + 0x30]
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm3
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm4
shufps xmm2, xmm2, 0x27
movss xmm2, xmm5
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x40], xmm2
movups xmmword [rbx + 0x24], xmm2
cmp byte [rbp + 0xe0], 0
je 0x140100f73
movss xmm0, dword [r9 + 0xe4c]
movss xmm1, dword [r9 + 0xe48]
unpcklps xmm1, xmm0
movsd qword [0x14038c7d8], xmm1
mov r8d, 1
mov edx, r13d
lea rcx, [rsp + 0x68]
call fcn.1400cb190
mov rcx, qword [0x14038bb10]
mov rax, qword [rcx + 0x4038]
mov byte [rax + 0xc0], 1
mov r15, qword [rcx + 0x4038]
mov rsi, qword [r15 + 0x2a8]
movss xmm10, dword [rsp + 0x68]
movaps xmm4, xmm10
movss dword [rsp + 0x40], xmm4
movss xmm9, dword [rsp + 0x6c]
movaps xmm5, xmm9
movss dword [rsp + 0x44], xmm5
movss xmm6, dword [rsp + 0x70]
movaps xmm3, xmm6
movss xmm7, dword [rsp + 0x74]
movaps xmm2, xmm7
movups xmm0, xmmword [rsi + 0x88]
comiss xmm10, xmm0
jae 0x140100ff3
movaps xmm4, xmm0
movss dword [rsp + 0x40], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
comiss xmm9, xmm1
jae 0x140101009
movaps xmm5, xmm1
movss dword [rsp + 0x44], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
comiss xmm6, xmm1
jbe 0x140101018
movaps xmm3, xmm1
shufps xmm0, xmm0, 0xff
comiss xmm7, xmm0
jbe 0x140101024
movaps xmm2, xmm0
maxss xmm3, xmm4
movss dword [rsp + 0x48], xmm3
maxss xmm2, xmm5
movss dword [rsp + 0x4c], xmm2
mov r8d, dword [rsi + 0x5c]
mov ecx, dword [rsi + 0x58]
cmp ecx, r8d
jne 0x14010106d
inc ecx
test r8d, r8d
je 0x140101058
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14010105d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rsi + 0x58]
call fcn.140022490
movsxd rdx, dword [rsi + 0x58]
add rdx, rdx
mov rax, qword [rsi + 0x60]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + rdx*8], xmm0
inc dword [rsi + 0x58]
movups xmmword [rsi + 0x88], xmm0
mov rcx, rsi
call fcn.1400de650
mov rax, qword [r15 + 0x2a8]
movsxd rcx, dword [rax + 0x58]
add rcx, rcx
mov rax, qword [rax + 0x60]
movss xmm0, dword [rax + rcx*8 - 0xc]
movss xmm1, dword [rax + rcx*8 - 8]
movss xmm2, dword [rax + rcx*8 - 4]
mov eax, dword [rax + rcx*8 - 0x10]
mov dword [r15 + 0x248], eax
movss dword [r15 + 0x24c], xmm0
movss dword [r15 + 0x250], xmm1
movss dword [r15 + 0x254], xmm2
mov r8, qword [0x14038bb10]
mov rax, qword [r8 + 0x4038]
mov byte [rax + 0xc0], 1
movdqa xmm0, xmmword [0x140335570]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400d0160
mov r9d, eax
mov rcx, qword [r8 + 0x4038]
xor edi, edi
mov dword [rsp + 0x28], edi
movss xmm8, dword [0x140334ec4]
movss dword [rsp + 0x20], xmm8
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x68]
mov rcx, qword [rcx + 0x2a8]
call fcn.1400e97f0
subss xmm11, dword [0x140334ea0]
comiss xmm11, dword [rbx + 0x20]
jbe 0x14010120f
mov rcx, qword [0x14038bb10]
mov rax, qword [rcx + 0x4038]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4038]
mov rdi, qword [rax + 0x2a8]
movdqa xmm0, xmmword [0x140335580]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400d0160
mov esi, eax
movss xmm2, dword [rbx + 0x20]
movss xmm0, dword [0x14038c7d8]
movss dword [rbp + 0xe8], xmm0
movss xmm1, dword [0x14038c7dc]
movss dword [rbp + 0xec], xmm1
test eax, 0xff000000
je 0x140101351
comiss xmm2, dword [0x140334e40]
jb 0x140101351
mov dword [rsp + 0x20], Ordinal_50
xor r9d, r9d
lea rdx, [rbp + 0xe8]
mov rcx, rdi
call fcn.1400dde50
mov r8d, dword [rdi + 0x78]
dec r8d
mov dword [rdi + 0x78], r8d
mov r9d, esi
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400e8150
mov dword [rdi + 0x78], 0
jmp 0x140101351
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], dil
jne 0x140101225
mov r8, rax
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.140003590
lea rdx, [rbp - 0x38]
mov r15, qword [rbp - 0x38]
mov r13, qword [rbp - 0x20]
cmp r13, 0xf
cmova rdx, r15
mov rcx, rdi
mov rsi, qword [rbp - 0x28]
test rsi, rsi
je 0x140101287
movabs r13, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r12, rax
imul r12, r13
inc rcx
cmp rcx, rsi
jb 0x140101270
mov r13, qword [rbp - 0x20]
and r12, qword [0x14038cd60]
add r12, r12
mov rcx, qword [0x14038cd48]
mov rdi, qword [rcx + r12*8 + 8]
mov rax, qword [0x14038cd38]
mov qword [rbp + 0xe8], rax
cmp rdi, rax
je 0x14010130a
mov r12, qword [rcx + r12*8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1401012d2
mov rdx, qword [rdx]
lea rcx, [rbp - 0x38]
cmp r13, 0xf
cmova rcx, r15
cmp rsi, rax
jne 0x1401012ef
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1401012fa
cmp rdi, r12
je 0x140101303
mov rdi, qword [rdi + 8]
jmp 0x1401012c0
mov rax, qword [rbp + 0xe8]
jmp 0x14010130c
mov rax, qword [rbp + 0xe8]
xor edi, edi
test rdi, rdi
cmovne rax, rdi
mov byte [rax + 0x30], 0
cmp r13, 0xf
jbe 0x140101351
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140101349
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140101349
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.140094e98
mov r8, qword [0x14038bb10]
mov rax, qword [r8 + 0x4038]
mov byte [rax + 0xc0], 1
movups xmm0, xmmword [rbx + 0x24]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x38f0]
movss dword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400d0160
mov r9d, eax
mov rcx, qword [r8 + 0x4038]
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm8
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x68]
mov rcx, qword [rcx + 0x2a8]
call fcn.1400e99a0
call fcn.1400c8050
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0x5fb8], 0
je 0x1401013f8
mov rax, qword [0x14038bb10]
lea rdx, [0x1403333c8]
mov qword [rax + 0x5fd8], rdx
lea rdx, [0x1403333cc]
mov qword [rax + 0x5fe0], rdx
movss xmm1, dword [rcx + 0x392c]
subss xmm6, xmm1
movss dword [rbp + 0xe8], xmm6
movss xmm0, dword [rcx + 0x3930]
subss xmm7, xmm0
movss dword [rbp + 0xec], xmm7
addss xmm1, xmm10
movss dword [rsp + 0x60], xmm1
addss xmm0, xmm9
movss dword [rsp + 0x64], xmm0
lea rax, [rcx + 0x3990]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r8, r14
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x60]
call fcn.1400cb800
mov rcx, qword [0x14038bb10]
mov rax, qword [rcx + 0x4038]
movss xmm2, dword [rax + 0x90]
movss xmm0, dword [rax + 0x2c]
movss xmm3, dword [rax + 0x114]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4038]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x90]
subss xmm3, xmm0
addss xmm3, xmm2
addss xmm1, xmm3
addss xmm1, xmm8
movss dword [rax + 0x114], xmm1
mov byte [rax + 0x151], 1
movzx eax, byte [rbp + 0xe0]
jmp 0x1401014d3
xor al, al
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140005ba0
int3