Function at 0x14000d820
Capabilities:
Access peb ldr_data
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 + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x250
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140021040]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r14, rdx
mov qword [rbp - 0x18], rdx
mov qword [rbp + 0x30], rdx
xor r13d, r13d
mov rax, qword [0x140021970]
test rax, rax
jne 0x14000d937
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000d917
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000d917
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x552f08be
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000d912
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000d8f0
cmp edx, 0xd091fe69
je 0x14000dd83
test r8d, r8d
jne 0x14000d8d0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000d92d
cmp qword [rax + 0x30], 0
jne 0x14000d8a0
mov rax, r13
mov qword [0x140021970], rax
mov ecx, 0xfde9
call rax
mov r8, qword [0x140021968]
test r8, r8
jne 0x14000da07
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000d9e7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000d9e7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xb44bf067
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000d9e2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000d9c0
cmp edx, 0x23e9f850
je 0x14000dd9f
test r8d, r8d
jne 0x14000d9a0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000d9fd
cmp qword [rax + 0x30], 0
jne 0x14000d970
mov r8, r13
mov qword [0x140021968], r8
movzx eax, word [0x14001bb7c]
mov word [rsp + 0x40], ax
cmp byte [0x14001bb7d], 0
je 0x14000da26
mov byte [rsp + 0x40], 0x72
xor byte [rsp + 0x41], 0x38
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x14000da33
mov rcx, qword [r14]
lea rdx, [rsp + 0x40]
call r8
mov r15, rax
mov r12d, dword [0x140021020]
test rax, rax
jne 0x14000dc11
movups xmm0, xmmword [0x14001bb80]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [0x14001bb90]
movups xmmword [rbp - 0x40], xmm1
movzx eax, word [0x14001bba0]
mov word [rbp - 0x30], ax
mov r8d, r13d
cmp r12d, 2
jl 0x14000dbb5
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x4c]
mov edx, dword [rsp + 0x70]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x14000dab0
cmp r8d, 0x22
jge 0x14000dbf1
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x22
jl 0x14000dbc0
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001060
lea rdx, [0x1400026e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], 0
mov r13, 0xffffffffffffffff
movzx ebx, byte [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x140021960]
test rax, rax
jne 0x14000dd06
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rsi, r14
nop word [rax + rax]
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov edi, dword [rax + r9 + 0x88]
add rdi, r9
cmp rdi, r9
je 0x14000dce7
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14000dce7
mov r11d, dword [rdi + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0x8a807d2e
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x14000dce2
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x14000dcc0
cmp edx, 0xc52c0795
je 0x14000ddbc
test r8d, r8d
jne 0x14000dca0
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r14
je 0x14000dcfd
cmp qword [rax + 0x30], 0
jne 0x14000dc70
xor eax, eax
mov qword [0x140021960], rax
mov r8, r15
mov edx, 0x80
lea rcx, [rbp + 0xa0]
call rax
test rax, rax
je 0x14000ddf9
lea rax, [rbp + 0xa0]
mov rsi, r13
nop word [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14000dd30
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x14000ddd8
lea rax, [rsi + rcx]
mov qword [rbp + 0x48], rax
lea rdi, [rbp + 0x38]
cmp rdx, 0xf
cmova rdi, qword [rbp + 0x38]
add rdi, rcx
mov r8, rsi
lea rdx, [rbp + 0xa0]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rdi], 0
jmp 0x14000dc40
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000d930
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
jmp 0x14000da00
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000dcff
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xa0]
movzx r8d, bl
mov rdx, rsi
lea rcx, [rbp + 0x38]
call fcn.140001a30
jmp 0x14000dc40
mov rax, qword [0x140021958]
test rax, rax
jne 0x14000deb6
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000de97
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000de97
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x682582a5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000de92
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000de70
cmp edx, 0xa3f41966
je 0x14000e86e
test r8d, r8d
jne 0x14000de50
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000dead
cmp qword [rax + 0x30], 0
jne 0x14000de20
xor eax, eax
mov qword [0x140021958], rax
mov rcx, r15
call rax
mov r10, qword [0x140021950]
test r10, r10
jne 0x14000df87
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000df67
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000df67
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x87ecd8cf
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000df62
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000df40
cmp edx, 0x22ff076b
je 0x14000e88a
test r8d, r8d
jne 0x14000df20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000df7d
cmp qword [rax + 0x30], 0
jne 0x14000def0
xor r10d, r10d
mov qword [0x140021950], r10
movups xmm3, xmmword [0x14001bba8]
movups xmmword [rbp - 0x50], xmm3
movsd xmm0, qword [0x14001bbb8]
movsd qword [rbp - 0x40], xmm0
xor r15d, r15d
cmp word [0x14001bbbe], r15w
je 0x14000e0e4
mov r8d, r15d
cmp r12d, 2
jl 0x14000e09c
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm2, xmmword [0x14001c330]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14001c350]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14001c360]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rbp - 0x50], xmm2
movdqa xmm3, xmmword [0x14001c340]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14001c350]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14001c360]
movq xmm0, qword [rbp - 0x48]
xorps xmm2, xmm0
movq qword [rbp - 0x48], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x50]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul ecx, eax, 0x37
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xc
jl 0x14000e0b0
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x50]
call r10
mov r14, rax
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x14000e2c2
movups xmm0, xmmword [0x14001bbc0]
movups xmmword [rsp + 0x48], xmm0
movzx ecx, byte [0x14001bbd0]
mov byte [rsp + 0x58], cl
mov r8d, r15d
cmp r12d, 2
jl 0x14000e265
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x4c]
mov edx, dword [rsp + 0x70]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14000e160
cmp r8d, 0x11
jge 0x14000e2a1
movsxd rax, r8d
lea r9, [rsp + 0x48]
add r9, rax
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x14000e270
lea rdx, [rsp + 0x48]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001060
lea rdx, [0x1400026e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov r10, qword [0x140021948]
test r10, r10
jne 0x14000e387
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000e367
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000e367
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xd19bc079
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000e362
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000e340
cmp edx, 0xae76b769
je 0x14000e8a7
test r8d, r8d
jne 0x14000e320
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000e37d
cmp qword [rax + 0x30], 0
jne 0x14000e2f0
mov r10, r15
mov qword [0x140021948], r10
movups xmm0, xmmword [0x14001bbd8]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x14001bbf8]
movups xmmword [rbp + 0x10], xmm0
movzx eax, word [0x14001bc10]
movsd xmm0, qword [0x14001bc08]
movups xmm1, xmmword [0x14001bbe8]
mov word [rbp + 0x28], ax
movsd qword [rbp + 0x20], xmm0
movups xmmword [rbp], xmm1
mov r8d, r15d
cmp r12d, 2
jl 0x14000e4e0
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm7, xmmword [0x14001c360]
lea rcx, [rbp - 0x10]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x18
jl 0x14000e3f1
cmp r8d, 0x1d
jge 0x14000e524
movsxd rax, r8d
lea r9, [rbp - 0x10]
lea r9, [r9 + rax*2]
nop dword [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul ecx, eax, 0x37
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x1d
jl 0x14000e4f0
mov r8d, 0x50
xor r9d, r9d
lea rdx, [rbp - 0x10]
mov rcx, r14
call r10
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x14000e7cc
movups xmm0, xmmword [0x14001bc18]
movups xmmword [rsp + 0x48], xmm0
movzx ecx, byte [0x14001bc28]
mov byte [rsp + 0x58], cl
mov r8d, r15d
cmp r12d, 2
jl 0x14000e6a5
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x4c]
mov edx, dword [rsp + 0x70]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14000e5a0
cmp r8d, 0x11
jge 0x14000e6e1
movsxd rax, r8d
lea r9, [rsp + 0x48]
add r9, rax
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x14000e6b0
lea rdx, [rsp + 0x48]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001060
lea rdx, [0x1400026e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [0x140021940]
test rax, rax
jne 0x14000e7c7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000e7a7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000e7a7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x31c927dd
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000e7a2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000e780
cmp edx, 0xb428b1f1
je 0x14000e8c4
test r8d, r8d
jne 0x14000e760
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000e7bd
cmp qword [rax + 0x30], 0
jne 0x14000e730
mov rax, r15
mov qword [0x140021940], rax
mov rcx, r14
call rax
mov eax, dword [str.WXY:]
mov dword [rsp + 0x40], eax
cmp byte [0x14001bc5b], 0
je 0x14000e921
cmp r12d, 2
jl 0x14000e8e0
movdqa xmm3, xmmword [0x14001c330]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14001c380]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14001c380]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14001c350]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14001c390]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
jmp 0x14000e921
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000deaf
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
jmp 0x14000df80
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
jmp 0x14000e380
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000e7c0
lea r9, [rsp + 0x40]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14000e8f0
mov eax, dword [0x14001bc50]
mov dword [rbp - 0x58], eax
movups xmm0, xmmword [0x14001bc30]
movups xmm1, xmmword [0x14001bc40]
movzx eax, byte [0x14001bc54]
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm1
mov byte [rbp - 0x54], al
mov r8d, r15d
cmp r12d, 2
jl 0x14000ea95
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x74]
mov edx, dword [rsp + 0x70]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x14000e990
cmp r8d, 0x25
jge 0x14000ead1
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x25
jl 0x14000eaa0
lea rax, [rbp - 0x78]
mov rbx, r13
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14000eae0
mov r15, qword [rbp + 0x48]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, rbx
jb 0x14000fc66
lea r12, [rbp + 0x38]
cmp qword [rbp + 0x50], 0xf
cmova r12, qword [rbp + 0x38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea r14, [rbx + r15]
mov edi, 0xf
lea rsi, [rsp + 0x48]
cmp r14, rdi
jbe 0x14000ebb5
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x14000eb70
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14001949c
test rax, rax
je 0x14000eb98
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000ebb0
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14000eb9f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000fc6c
jmp 0x14000eb55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14000ebae
call fcn.14001949c
mov rsi, rax
jmp 0x14000ebb0
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
mov r8, rbx
lea rdx, [rbp - 0x78]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rsi]
mov r8, r15
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r14], 0
lea rax, [rsp + 0x40]
nop word [rax + rax]
inc r13
cmp byte [rax + r13], 0
jne 0x14000ebf0
mov r8, r13
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140004890
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x68], xmm1
xor r12d, r12d
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14000ec7c
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ec77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ec77
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400194d8
movdqa xmm0, xmmword [0x14001c320]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], r12b
mov rax, qword [0x140021938]
test rax, rax
jne 0x14000ed56
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000ed37
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000ed37
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xbb97b441
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000ed32
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000ed10
cmp edx, 0xa2e6283e
je 0x14000f0e8
test r8d, r8d
jne 0x14000ecf0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000ed4c
cmp qword [rax + 0x30], r12
jne 0x14000ecc0
mov rax, r12
mov qword [0x140021938], rax
lea rcx, [rbp + 0x38]
cmp qword [rbp + 0x50], 0xf
cmova rcx, qword [rbp + 0x38]
call rax
mov rax, qword [0x140021930]
test rax, rax
jne 0x14000ee26
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000ee07
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000ee07
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x9f20aee1
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000ee02
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000ede0
cmp edx, 0x1049940e
je 0x14000f104
test r8d, r8d
jne 0x14000edc0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000ee1c
cmp qword [rax + 0x30], r12
jne 0x14000ed90
mov rax, r12
mov qword [0x140021930], rax
lea r8, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova r8, qword [rbp + 0x58]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, dword [rbp + 0x68]
xor edx, edx
mov ecx, 0xfde9
call rax
movsxd r14, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x88], xmm1
mov r8, r14
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.1400017b0
nop
mov r10, qword [0x140021928]
test r10, r10
jne 0x14000ef37
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000ef17
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000ef17
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x7ca0037c
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000ef12
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000eef0
cmp edx, 0xc5e4e4a1
je 0x14000f120
test r8d, r8d
jne 0x14000eed0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000ef2d
cmp qword [rax + 0x30], 0
jne 0x14000eea0
mov r10, r12
mov qword [0x140021928], r10
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 7
cmova rax, qword [rbp + 0x78]
lea r8, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova r8, qword [rbp + 0x58]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x68]
xor edx, edx
mov ecx, 0xfde9
call r10
mov r11, qword [0x140021920]
test r11, r11
jne 0x14000f037
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f017
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f017
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x7b0522b6
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f012
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000eff0
cmp edx, 0xfb04d5b9
je 0x14000f13d
test r8d, r8d
jne 0x14000efd0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f02d
cmp qword [rax + 0x30], 0
jne 0x14000efa0
mov r11, r12
mov qword [0x140021920], r11
lea r8, [rbp + 0x78]
cmp qword [rbp + 0x90], 7
cmova r8, qword [rbp + 0x78]
mov rax, qword [0x14001bc60]
mov qword [rbp - 0x80], rax
mov r13d, dword [0x140021020]
cmp word [0x14001bc66], 0
je 0x14000f195
cmp r13d, 2
jl 0x14000f15a
movdqa xmm3, xmmword [0x14001c330]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14001c380]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14001c380]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14001c350]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x14001c360]
movq xmm0, qword [rbp - 0x80]
xorps xmm2, xmm0
movq qword [rbp - 0x80], xmm2
jmp 0x14000f195
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000ed4f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000ee1f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
jmp 0x14000ef30
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r11d, dword [rcx + rax*4]
add r11, r9
jmp 0x14000f030
lea r10, [rbp - 0x80]
mov r9d, r12d
mov eax, 0x94f2095
imul r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul ecx, eax, 0x37
add cx, r9w
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 4
jl 0x14000f161
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, [rbp - 0x80]
mov r15, qword [rbp - 0x20]
mov rcx, r15
call r11
mov r14, rax
test rax, rax
jne 0x14000f553
movups xmm0, xmmword [0x14001bc68]
movups xmmword [rsp + 0x48], xmm0
movzx ecx, word [0x14001bc78]
mov word [rsp + 0x58], cx
movzx ecx, byte [0x14001bc7a]
mov byte [rsp + 0x5a], cl
mov ecx, r12d
cmp r13d, 2
jl 0x14000f323
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x70]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x14000f221
cmp ecx, 0x13
jge 0x14000f35d
movsxd rax, ecx
lea r8, [rsp + 0x48]
add r8, rax
nop
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul edx, eax, 0x37
add dl, cl
xor byte [r8], dl
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x13
jl 0x14000f330
lea rdx, [rsp + 0x48]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001060
lea rdx, [0x1400026e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [0x140021918]
test rax, rax
jne 0x14000f447
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f427
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f427
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x24d8c889
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f422
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000f400
cmp edx, 0x84ac0e25
je 0x14000f51e
test r8d, r8d
jne 0x14000f3e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f43d
cmp qword [rax + 0x30], 0
jne 0x14000f3b0
mov rax, r12
mov qword [0x140021918], rax
mov rcx, r15
call rax
mov rax, qword [0x140021910]
test rax, rax
jne 0x14000f513
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f4f3
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f4f3
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x819eca3d
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f4ee
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000f4d0
cmp edx, 0x881dc1d1
je 0x14000f53a
test r8d, r8d
jne 0x14000f4b0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f509
cmp qword [rax + 0x30], 0
jne 0x14000f480
mov rax, r12
mov qword [0x140021910], rax
mov r12, qword [rbp - 0x28]
mov rcx, r12
call rax
jmp 0x14000f557
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000f440
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000f50c
mov r12, qword [rbp - 0x28]
mov rax, qword [0x140021908]
test rax, rax
jne 0x14000f616
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f5f7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f5f7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xee5fbf47
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f5f2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000f5d0
cmp edx, 0x62d78c7e
je 0x14000fab6
test r8d, r8d
jne 0x14000f5b0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f60d
cmp qword [rax + 0x30], 0
jne 0x14000f580
xor eax, eax
mov qword [0x140021908], rax
xor edi, edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call rax
test eax, eax
jne 0x14000fa6d
movups xmm0, xmmword [0x14001bc80]
movups xmmword [rsp + 0x48], xmm0
movzx eax, word [0x14001bc90]
mov word [rsp + 0x58], ax
cmp byte [0x14001bc91], dil
je 0x14000f7df
mov ecx, edi
cmp r13d, 2
jl 0x14000f7a2
movdqa xmm5, xmmword [0x14001c330]
movdqa xmm4, xmmword [0x14001c380]
movdqa xmm6, xmmword [0x14001c350]
movdqa xmm0, xmmword [0x14001c390]
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rsp + 0x4c]
mov r8d, dword [rsp + 0x70]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14001c370]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x14000f6a0
cmp ecx, 0x12
jge 0x14000f7df
movsxd rax, ecx
lea r9, [rsp + 0x48]
add r9, rax
nop dword [rax]
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul r8d, eax, 0x37
add r8b, cl
xor byte [r9], r8b
inc ecx
lea r9, [r9 + 1]
cmp ecx, 0x12
jl 0x14000f7b0
lea rdx, [rsp + 0x48]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001060
lea rdx, [0x1400026e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [0x140021900]
test rax, rax
jne 0x14000f8c6
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f8a7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f8a7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xc0492368
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f8a2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000f880
cmp edx, 0x8d0b5ca4
je 0x14000fad2
test r8d, r8d
jne 0x14000f860
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f8bd
cmp qword [rax + 0x30], 0
jne 0x14000f830
xor eax, eax
mov qword [0x140021900], rax
mov rcx, r14
call rax
mov rax, qword [0x1400218f8]
test rax, rax
jne 0x14000f996
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000f977
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000f977
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xfc4c2416
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f972
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000f950
cmp edx, 0x44c54c8a
je 0x14000faee
test r8d, r8d
jne 0x14000f930
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000f98d
cmp qword [rax + 0x30], 0
jne 0x14000f900
xor eax, eax
mov qword [0x1400218f8], rax
mov rcx, r15
call rax
mov rax, qword [0x1400218f0]
test rax, rax
jne 0x14000fa66
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14000fa47
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14000fa47
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0x1cbeb294
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000fa42
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14000fa20
cmp edx, 0x99e7ffd8
je 0x14000fb0a
test r8d, r8d
jne 0x14000fa00
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14000fa5d
cmp qword [rax + 0x30], 0
jne 0x14000f9d0
xor eax, eax
mov qword [0x1400218f0], rax
mov rcx, r12
call rax
xor edi, edi
mov rdx, qword [rbp + 0x90]
cmp rdx, 7
jbe 0x14000fb2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000fb26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fb26
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000f60f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000f8bf
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000f98f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14000fa5f
call fcn.1400194d8
movdqa xmm0, xmmword [0x14001c310]
movdqu xmmword [rbp + 0x88], xmm0
mov word [rbp + 0x78], di
mov rdx, qword [rbp + 0x70]
cmp rdx, 0xf
jbe 0x14000fb7d
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000fb78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fb78
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400194d8
movdqa xmm0, xmmword [0x14001c320]
movdqu xmmword [rbp + 0x68], xmm0
mov byte [rbp + 0x58], 0
mov rdx, qword [rbp + 0x50]
cmp rdx, 0xf
jbe 0x14000fbcc
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000fbc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fbc7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400194d8
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], 0
mov rbx, qword [rbp - 0x18]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14000fc16
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14000fc11
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000fc5f
mov rcx, r8
call fcn.1400194d8
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140019600
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140004850
nop
call fcn.140004710
int3