Function at 0x140014f90
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 + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401fec80]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r14, rcx
mov qword [rbp - 0x40], rcx
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0x58], r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015066
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015066
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x14b4fffd
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015061
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015040
cmp r8d, 0xca226e94
je 0x14001506b
test r9d, r9d
jne 0x140015020
mov rax, qword [rax]
jmp 0x140014ff0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov eax, dword [0x14003ec3c]
mov dword [rbp - 0x80], eax
mov r12d, dword [0x1401fec30]
cmp byte [0x14003ec3f], sil
je 0x140015173
cmp r12d, 2
jl 0x14001512b
movdqa xmm3, xmmword [0x140040b80]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140040c40]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140040c40]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x140040ba0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140040c10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x80], xmm2
jmp 0x140015173
lea r9, [rbp - 0x80]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140015140
lea rcx, [rbp - 0x80]
call r11
mov rcx, r14
call fcn.14000fd40
call fcn.1400342e0
test al, al
jne 0x1400151dd
call fcn.1400342d0
test al, al
je 0x1400151dd
movzx eax, word [0x14003ec40]
mov word [rsp + 0x50], ax
movzx eax, byte [0x14003ec42]
mov byte [rsp + 0x50], reloc.WS2_32.dll_WSAGetLastError
xor byte [rsp + 0x51], 0x32
xor al, 0x33
mov byte [rsp + 0x52], al
lea rcx, [rsp + 0x60]
call fcn.1400378a0
mov esi, 1
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140001890
test al, al
je 0x1400151dd
movzx ebx, sil
jmp 0x1400151df
xor bl, bl
test sil, 1
je 0x140015225
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140015225
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015220
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015220
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140039fd0
test bl, bl
je 0x1400187d3
movups xmm0, xmmword [0x14003ec48]
movups xmmword [rsp + 0x60], xmm0
mov eax, dword [0x14003ec58]
mov dword [rsp + 0x70], eax
movzx eax, word [0x14003ec5c]
mov word [rsp + 0x74], ax
cmp byte [0x14003ec5d], r15b
je 0x1400153ee
mov ecx, r15d
cmp r12d, 2
jl 0x1400153aa
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rsp + 0x64]
mov r8d, dword [rbp - 0x70]
nop word [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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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 0x1400152a0
cmp ecx, 0x16
jge 0x1400153ee
movsxd rax, ecx
lea r8, [rsp + 0x60]
add r8, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
sub al, dl
add al, 0x31
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x16
jl 0x1400153c0
lea rdx, [rsp + 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001630
lea rdx, [0x1400062f0]
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 r11, qword [0x140201f18]
test r11, r11
jne 0x1400154ca
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400154a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400154a6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xec55ec9f
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400154a1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015480
cmp r8d, 0x5190315b
je 0x1400154ab
test r9d, r9d
jne 0x140015460
mov rax, qword [rax]
jmp 0x140015430
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov qword [0x140201f18], r11
movzx eax, byte [0x14003ec80]
movups xmm0, xmmword [str.w_EQx]
mov byte [rsp + 0x70], al
movups xmmword [rsp + 0x60], xmm0
mov r8d, r15d
cmp r12d, 2
jl 0x14001562d
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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 0x140015520
cmp r8d, 0x11
jge 0x140015673
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x140015640
movsd xmm0, qword [0x14003ec60]
movsd qword [rsp + 0x40], xmm0
movzx eax, word [0x14003ec68]
mov word [rsp + 0x48], ax
cmp byte [0x14003ec69], r15b
je 0x1400156c8
mov byte [rsp + 0x40], 0x67
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor byte [rsp + 0x44], 0x35
xor byte [rsp + 0x45], 0x36
xor byte [rsp + 0x46], 0x37
xor byte [rsp + 0x47], 0x38
xor byte [rsp + 0x48], 0x39
xor byte [rsp + 0x49], 0x3a
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call r11
test rax, rax
je 0x140015aa0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015766
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015766
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xff518d5a
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015761
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015740
cmp r8d, 0xedb21a1
je 0x14001576b
test r9d, r9d
jne 0x140015720
mov rax, qword [rax]
jmp 0x1400156f0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x14003ec88]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [0x14003ec98]
movups xmmword [rbp - 0x28], xmm1
movzx eax, byte [0x14003eca8]
mov byte [rbp - 0x18], al
mov r8d, r15d
cmp r12d, 2
jl 0x1400158ed
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x34]
mov edx, dword [rbp - 0x70]
nop dword [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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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 0x1400157e0
cmp r8d, 0x21
jge 0x140015933
movsxd rax, r8d
lea r9, [rbp - 0x38]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x21
jl 0x140015900
lea rcx, [rbp - 0x38]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400159c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400159c6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x7c4e808a
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400159c1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400159a0
cmp r8d, 0xc0a0ab8d
je 0x1400159cb
test r9d, r9d
jne 0x140015980
mov rax, qword [rax]
jmp 0x140015950
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x9c4
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015a76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015a76
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x6d4c2a56
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015a71
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015a50
cmp r8d, 0x11e50df3
je 0x140015a7b
test r9d, r9d
jne 0x140015a30
mov rax, qword [rax]
jmp 0x140015a00
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0xffffffff
call rdx
nop dword [rax]
mov rcx, r14
call fcn.1400132e0
mov r13d, eax
test eax, eax
je 0x140015aa0
mov r9, qword [0x140201f80]
test r9, r9
jne 0x140015c4c
mov ebx, r15d
mov r11d, 0x32c1bca5
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x140015b2c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x8e342fe0
cmp rcx, r8
je 0x140015b24
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140015b10
cmp edx, ebx
jne 0x140015c1e
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r10
cmp rdi, r10
je 0x140015c1e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140015c1e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r10 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r10
mov edx, 0x8e342fe0
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140015b96
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140015b80
cmp edx, r11d
je 0x140015ba2
test r8d, r8d
jne 0x140015b62
jmp 0x140015c1e
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x140015cfb
lea rax, [r15 + rdi]
cmp r9, rax
jae 0x140015cfb
mov ebx, 0x8e342fe0
mov r11d, ebx
movzx eax, byte [r9]
cmp al, 0x2e
je 0x140015bf6
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x140015be0
inc r9
movzx eax, byte [r9]
test al, al
je 0x140015c1a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x140015c01
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140015c34
cmp qword [rax + 0x30], 0
jne 0x140015ae0
xor r15d, r15d
mov r9d, r15d
mov qword [0x140201f80], r9
mov r14, qword [rbp - 0x40]
mov r12d, dword [0x1401fec30]
mov r8d, r13d
xor edx, edx
mov ecx, 0x1fffff
call r9
mov rsi, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x140016034
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015cf6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015cf6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x9731ff74
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140015cf1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140015cd0
cmp r8d, 0xee6160ff
je 0x140015d03
test r9d, r9d
jne 0x140015cb0
mov rcx, qword [rcx]
jmp 0x140015c80
xor r15d, r15d
jmp 0x140015c3a
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x14003ecb0]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x14003ecc0]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x14003ecc8]
mov byte [rsp + 0x78], al
mov r8d, r15d
cmp r12d, 2
jl 0x140015e8d
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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, 0x18
jl 0x140015d80
cmp r8d, 0x19
jge 0x140015ed3
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x140015ea0
lea rcx, [rsp + 0x60]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015f66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015f66
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xb8db48a2
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015f61
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015f40
cmp r8d, 0x36153d05
je 0x140015f6b
test r9d, r9d
jne 0x140015f20
mov rax, qword [rax]
jmp 0x140015ef0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0xbb8
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016016
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016016
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xc5493a76
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016011
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015ff0
cmp r8d, 0x2df88720
je 0x14001601b
test r9d, r9d
jne 0x140015fd0
mov rax, qword [rax]
jmp 0x140015fa0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x20]
mov rdx, qword [r14 + 0x30]
lea rcx, [rbp]
call fcn.14000a9f0
nop
mov r8d, 0x1b1c00
lea rdx, section..data
lea rcx, [rbp]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x1400160ba
lea rcx, [rbp + 8]
call fcn.140010b00
test rax, rax
jne 0x1400160ba
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov r10, qword [0x140201f78]
test r10, r10
jne 0x140016257
mov ebx, r15d
mov r11d, 0xc6815fa8
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14001613c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xe2008db1
cmp rcx, r8
je 0x140016134
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140016120
cmp edx, ebx
jne 0x14001622e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14001622e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001622e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r9
mov edx, 0xe2008db1
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400161a6
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140016190
cmp edx, r11d
je 0x1400161b2
test r8d, r8d
jne 0x140016172
jmp 0x14001622e
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x140016247
lea rax, [rdi + r15]
cmp r10, rax
jae 0x140016247
mov ebx, 0xe2008db1
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140016206
nop dword [rax + rax]
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x1400161f0
inc r10
movzx eax, byte [r10]
test al, al
je 0x14001622a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140016211
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140016244
cmp qword [rax + 0x30], 0
jne 0x1400160f0
xor r10d, r10d
mov qword [0x140201f78], r10
mov r14, qword [rbp - 0x40]
mov rsi, qword [rsp + 0x58]
mov rax, qword [r14 + 0x30]
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp byte [rax + r8], 0
jne 0x140016265
inc r8
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x3000
mov rcx, rsi
call r10
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140016814
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016326
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016326
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0xba2f1fc8
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140016321
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140016300
cmp r8d, 0xc74a76fb
je 0x14001632b
test r9d, r9d
jne 0x1400162e0
mov rcx, qword [rcx]
jmp 0x1400162b0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x14003ed68]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x14003ed78]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x14003ed80]
mov byte [rsp + 0x78], al
xor ebx, ebx
mov r8d, ebx
cmp dword [0x1401fec30], 2
jl 0x1400164bd
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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, 0x18
jl 0x1400163b0
cmp r8d, 0x19
jge 0x140016503
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x1400164d0
lea rcx, [rsp + 0x60]
call r11
mov rdx, qword [0x140201f70]
test rdx, rdx
jne 0x1400166b0
mov r11d, ebx
mov r10d, 0x314ee4b6
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14001658d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xed42b0ac
cmp rcx, r8
je 0x140016584
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140016570
cmp edx, r11d
jne 0x14001668d
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14001668d
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001668d
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xed42b0ac
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016606
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 0x1400165f0
cmp edx, r10d
je 0x140016612
test r8d, r8d
jne 0x1400165d0
jmp 0x14001668d
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, rdi
jbe 0x1400166a4
lea rax, [r15 + rdi]
cmp rdx, rax
jae 0x1400166a4
mov r11d, 0xed42b0ac
mov r10d, r11d
movzx eax, byte [rdx]
cmp al, 0x2e
je 0x140016667
nop word [rax + rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc rdx
movzx eax, byte [rdx]
cmp al, 0x2e
jne 0x140016650
inc rdx
movzx eax, byte [rdx]
test al, al
je 0x140016689
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x140016671
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400166a2
cmp qword [rax + 0x30], rbx
jne 0x140016540
xor edx, edx
mov qword [0x140201f70], rdx
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016746
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016746
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x90c27c28
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016741
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016720
cmp r8d, 0xb3bed6fb
je 0x14001674b
test r9d, r9d
jne 0x140016700
mov rax, qword [rax]
jmp 0x1400166d0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x5dc
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400167f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400167f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xa525ed38
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400167f1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400167d0
cmp r8d, 0xbc239c5a
je 0x1400167fb
test r9d, r9d
jne 0x1400167b0
mov rax, qword [rax]
jmp 0x140016780
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
mov r10, qword [0x140201f68]
test r10, r10
jne 0x1400169b3
xor ebx, ebx
mov r11d, 0x1c357da6
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14001689c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xa3dd1139
cmp rcx, r8
je 0x140016894
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140016880
cmp edx, ebx
jne 0x14001698e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14001698e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001698e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xa3dd1139
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016906
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400168f0
cmp edx, r11d
je 0x140016912
test r8d, r8d
jne 0x1400168d2
jmp 0x14001698e
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x1400169a7
lea rax, [r15 + rdi]
cmp r10, rax
jae 0x1400169a7
mov ebx, 0xa3dd1139
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140016966
nop dword [rax + rax]
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140016950
inc r10
movzx eax, byte [r10]
test al, al
je 0x14001698a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140016971
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400169a4
cmp qword [rax + 0x30], 0
jne 0x140016850
xor r10d, r10d
mov qword [0x140201f68], r10
mov rsi, qword [rsp + 0x58]
mov r8, qword [rbp - 0x40]
mov r8, qword [r8 + 0x30]
nop dword [rax + rax]
lea r13, [r13 + 1]
cmp byte [r8 + r13], 0
jne 0x1400169c0
lea r9, [r13 + 1]
mov qword [rsp + 0x20], 0
mov rdx, qword [rbp - 0x80]
mov rcx, rsi
call r10
test eax, eax
jne 0x140017116
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016a76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016a76
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xb90dde4b
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016a71
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016a50
cmp r8d, 0x3602ac94
je 0x140016a7b
test r9d, r9d
jne 0x140016a30
mov rax, qword [rax]
jmp 0x140016a00
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x14003ed88]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x14003ed98]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x14003eda0]
mov byte [rsp + 0x78], al
xor r13d, r13d
mov r8d, r13d
cmp dword [0x1401fec30], 2
jl 0x140016c0d
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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, 0x18
jl 0x140016b00
cmp r8d, 0x19
jge 0x140016c53
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x140016c20
lea rcx, [rsp + 0x60]
call r11
mov r10, qword [0x140201f60]
test r10, r10
jne 0x140016df2
mov ebx, r13d
mov r11d, 0x52ea6d4b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x140016cdc
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xcf715281
cmp rcx, r8
je 0x140016cd4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140016cc0
cmp edx, ebx
jne 0x140016dce
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x140016dce
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140016dce
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r9
mov edx, 0xcf715281
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016d46
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140016d30
cmp edx, r11d
je 0x140016d52
test r8d, r8d
jne 0x140016d12
jmp 0x140016dce
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x140016de6
lea rax, [rdi + r15]
cmp r10, rax
jae 0x140016de6
mov ebx, 0xcf715281
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140016da6
nop dword [rax + rax]
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140016d90
inc r10
movzx eax, byte [r10]
test al, al
je 0x140016dca
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140016db1
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140016de3
cmp qword [rax + 0x30], r13
jne 0x140016c90
mov r10, r13
mov qword [0x140201f60], r10
mov rsi, qword [rsp + 0x58]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rbp - 0x80]
mov rcx, rsi
call r10
mov rdx, qword [0x140201f58]
test rdx, rdx
jne 0x140016fb1
mov r11d, r13d
mov r10d, 0xc35a221c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x140016e8d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xd9e17fc6
cmp rcx, r8
je 0x140016e84
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140016e70
cmp edx, r11d
jne 0x140016f8d
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x140016f8d
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140016f8d
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r9
mov edx, 0xd9e17fc6
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140016f06
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 0x140016ef0
cmp edx, r10d
je 0x140016f12
test r8d, r8d
jne 0x140016ed0
jmp 0x140016f8d
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, rdi
jbe 0x140016fa5
lea rax, [r15 + rdi]
cmp rdx, rax
jae 0x140016fa5
mov r11d, 0xd9e17fc6
mov r10d, r11d
movzx eax, byte [rdx]
cmp al, 0x2e
je 0x140016f67
nop word [rax + rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc rdx
movzx eax, byte [rdx]
cmp al, 0x2e
jne 0x140016f50
inc rdx
movzx eax, byte [rdx]
test al, al
je 0x140016f89
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x140016f71
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140016fa2
cmp qword [rax + 0x30], r13
jne 0x140016e40
mov rdx, r13
mov qword [0x140201f58], rdx
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140017046
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017046
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x27615d0
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140017041
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017020
cmp r8d, 0x26c47783
je 0x14001704b
test r9d, r9d
jne 0x140017000
mov rax, qword [rax]
jmp 0x140016fd0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x5dc
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400170f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400170f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xaed465fa
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400170f1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400170d0
cmp r8d, 0xfe8a572c
je 0x1400170fb
test r9d, r9d
jne 0x1400170b0
mov rax, qword [rax]
jmp 0x140017080
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
jmp 0x140017119
xor r13d, r13d
mov r8, qword [0x140201f50]
test r8, r8
jne 0x1400172c0
mov r11d, r13d
mov r10d, 0x27ff7bad
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14001719d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x871c2424
cmp rcx, r8
je 0x140017194
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140017180
cmp edx, r11d
jne 0x1400172a0
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x1400172a0
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1400172a0
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x871c2424
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017216
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 0x140017200
cmp edx, r10d
je 0x140017222
test r8d, r8d
jne 0x1400171e0
jmp 0x1400172a0
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, rdi
jbe 0x1400172b9
lea rax, [r15 + rdi]
cmp r8, rax
jae 0x1400172b9
mov r11d, 0x871c2424
mov r10d, r11d
movzx eax, byte [r8]
cmp al, 0x2e
je 0x140017278
nop dword [rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140017260
inc r8
movzx eax, byte [r8]
test al, al
je 0x14001729c
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x140017283
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400172b6
cmp qword [rax + 0x30], 0
jne 0x140017150
mov r8, r13
mov qword [0x140201f50], r8
mov eax, dword [0x14003edb0]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x14003edb4]
movsd xmm0, qword [str.ZWAZPZ]
mov byte [rbp - 0x54], al
movsd qword [rbp - 0x60], xmm0
xor esi, esi
mov r9d, esi
mov r14d, dword [0x1401fec30]
cmp r14d, 2
jl 0x1400173fd
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm2, xmmword [0x140040b80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140040ba0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140040c10]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.ZWAZPZ]
xorps xmm2, xmm0
movd dword [rbp - 0x60], xmm2
movdqa xmm3, xmmword [0x140040b90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140040ba0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rbp - 0x60]
add r10, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r9b
sub al, cl
add al, 0x31
xor byte [r10], al
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x140017410
lea rcx, [rbp - 0x60]
call r8
mov r13, rax
mov r8, qword [0x140201f48]
test r8, r8
jne 0x140017609
mov r11d, esi
mov r10d, 0x45eefff8
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x1400174cd
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x6cb42c74
cmp rcx, r8
je 0x1400174c4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400174b0
cmp edx, r11d
jne 0x1400175e0
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x1400175e0
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1400175e0
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x6cb42c74
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017546
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 0x140017530
cmp edx, r10d
je 0x140017555
test r8d, r8d
jne 0x140017510
jmp 0x1400175e0
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, rdi
jbe 0x140017885
lea rax, [r15 + rdi]
cmp r8, rax
jae 0x140017885
mov r11d, 0x6cb42c74
mov r10d, r11d
movzx eax, byte [r8]
cmp al, 0x2e
je 0x1400175b8
nop dword [rax]
nop dword [rax + rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400175a0
inc r8
movzx eax, byte [r8]
test al, al
je 0x1400175dc
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x1400175c3
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400175f6
cmp qword [rax + 0x30], 0
jne 0x140017480
xor esi, esi
mov r8d, esi
mov qword [0x140201f48], r8
mov r14d, dword [0x1401fec30]
mov eax, dword [0x14003edc0]
mov dword [rbp - 0x48], eax
movzx eax, byte [0x14003edc4]
movsd xmm0, qword [str._RPy_UJXHB]
mov byte [rbp - 0x44], al
movsd qword [rbp - 0x50], xmm0
mov r9d, esi
cmp r14d, 2
jl 0x14001773d
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm2, xmmword [0x140040b80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140040ba0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140040c10]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str._RPy_UJXHB]
xorps xmm2, xmm0
movd dword [rbp - 0x50], xmm2
movdqa xmm3, xmmword [0x140040b90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140040ba0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x4c]
xorps xmm2, xmm1
movd dword [rbp - 0x4c], xmm2
mov r9d, 8
movsxd rax, r9d
lea r10, [rbp - 0x50]
add r10, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r9b
sub al, cl
add al, 0x31
xor byte [r10], al
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x140017750
lea rdx, [rbp - 0x50]
mov rcx, r13
call r8
mov r13, rax
mov r10, qword [0x140201f40]
test r10, r10
jne 0x140017937
mov ebx, esi
mov r11d, 0xaebd3ffe
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14001780c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x5a553bb8
cmp rcx, r8
je 0x140017804
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400177f0
cmp edx, ebx
jne 0x14001790e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14001790e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001790e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r9
mov edx, 0x5a553bb8
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017876
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140017860
cmp edx, r11d
je 0x14001788c
test r8d, r8d
jne 0x140017842
jmp 0x14001790e
xor esi, esi
jmp 0x1400175fb
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x1400179fb
lea rax, [rdi + r15]
cmp r10, rax
jae 0x1400179fb
mov ebx, 0x5a553bb8
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x1400178e6
nop word [rax + rax]
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x1400178d0
inc r10
movzx eax, byte [r10]
test al, al
je 0x14001790a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x1400178f1
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140017924
cmp qword [rax + 0x30], 0
jne 0x1400177c0
xor esi, esi
mov r10d, esi
mov qword [0x140201f40], r10
mov r14d, dword [0x1401fec30]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9, r13
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
call r10
mov r13, rax
test rax, rax
jne 0x140018096
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov edi, dword [rax + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400179f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400179f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x58ad8eff
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400179f1
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400179d0
cmp r8d, 0x2ef4cce0
je 0x140017a02
test r9d, r9d
jne 0x1400179b0
mov rcx, qword [rcx]
jmp 0x140017980
xor esi, esi
jmp 0x140017929
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x14003edc8]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x14003edd8]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x14003ede0]
mov byte [rsp + 0x78], al
mov r8d, esi
cmp r14d, 2
jl 0x140017b8d
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 0x70]
nop dword [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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
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, 0x18
jl 0x140017a80
cmp r8d, 0x19
jge 0x140017bd3
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x140017ba0
lea rcx, [rsp + 0x60]
call r11
mov r10, qword [0x140201f38]
test r10, r10
jne 0x140017d70
mov ebx, esi
mov r11d, 0x5c08a7b0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x140017c5c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x8131ac
cmp rcx, r8
je 0x140017c54
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140017c40
cmp edx, ebx
jne 0x140017d4e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x140017d4e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140017d4e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x8131ac
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017cc6
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140017cb0
cmp edx, r11d
je 0x140017cd2
test r8d, r8d
jne 0x140017c92
jmp 0x140017d4e
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x140017e92
lea rax, [r15 + rdi]
cmp r10, rax
jae 0x140017e92
mov ebx, 0x8131ac
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140017d26
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140017d10
inc r10
movzx eax, byte [r10]
test al, al
je 0x140017d4a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140017d31
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140017d64
cmp qword [rax + 0x30], 0
jne 0x140017c10
xor esi, esi
mov r10d, esi
mov qword [0x140201f38], r10
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x58]
call r10
mov rdx, qword [0x140201f30]
test rdx, rdx
jne 0x140017f2c
mov r11d, esi
mov r10d, 0x6722f490
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x140017e0d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x20f3c02a
cmp rcx, r8
je 0x140017e04
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140017df0
cmp edx, r11d
jne 0x140017f0d
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x140017f0d
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140017f0d
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x20f3c02a
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017e86
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 0x140017e70
cmp edx, r10d
je 0x140017e99
test r8d, r8d
jne 0x140017e50
jmp 0x140017f0d
xor esi, esi
jmp 0x140017d69
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, rdi
jbe 0x140017f25
lea rax, [r15 + rdi]
cmp rdx, rax
jae 0x140017f25
mov r11d, 0x20f3c02a
mov r10d, r11d
movzx eax, byte [rdx]
cmp al, 0x2e
je 0x140017ee7
nop
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc rdx
movzx eax, byte [rdx]
cmp al, 0x2e
jne 0x140017ed0
inc rdx
movzx eax, byte [rdx]
test al, al
je 0x140017f09
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x140017ef1
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140017f23
cmp qword [rax + 0x30], 0
jne 0x140017dc0
xor edx, edx
mov qword [0x140201f30], rdx
mov rcx, qword [rsp + 0x58]
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140017fc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017fc6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x5cf6c0d8
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140017fc1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017fa0
cmp r8d, 0x123ec6cb
je 0x140017fcb
test r9d, r9d
jne 0x140017f80
mov rax, qword [rax]
jmp 0x140017f50
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x5dc
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018076
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018076
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x855812cd
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018071
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018050
cmp r8d, 0x286cb241
je 0x14001807b
test r9d, r9d
jne 0x140018030
mov rax, qword [rax]
jmp 0x140018000
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
xor esi, esi
mov r8, qword [0x140201f28]
test r8, r8
jne 0x140018240
mov r11d, esi
mov r10d, 0x27f9758a
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14001811d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xf2a2069b
cmp rcx, r8
je 0x140018114
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140018100
cmp edx, r11d
jne 0x140018220
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x140018220
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140018220
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xf2a2069b
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140018196
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 0x140018180
cmp edx, r10d
je 0x1400181a2
test r8d, r8d
jne 0x140018160
jmp 0x140018220
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, rdi
jbe 0x140018239
lea rax, [r15 + rdi]
cmp r8, rax
jae 0x140018239
mov r11d, 0xf2a2069b
mov r10d, r11d
movzx eax, byte [r8]
cmp al, 0x2e
je 0x1400181f8
nop dword [rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400181e0
inc r8
movzx eax, byte [r8]
test al, al
je 0x14001821c
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x140018203
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140018236
cmp qword [rax + 0x30], 0
jne 0x1400180d0
xor r8d, r8d
mov qword [0x140201f28], r8
mov edx, 0xffffffff
mov rcx, r13
call r8
mov rdx, qword [0x140201f20]
xor r13d, r13d
test rdx, rdx
jne 0x1400183ec
mov r11d, r13d
mov r10d, 0x96d58a99
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x1400182cd
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x77dc7e59
cmp rcx, r8
je 0x1400182c4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400182b0
cmp edx, r11d
jne 0x1400183cd
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x1400183cd
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1400183cd
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x77dc7e59
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140018346
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 0x140018330
cmp edx, r10d
je 0x140018352
test r8d, r8d
jne 0x140018310
jmp 0x1400183cd
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, rdi
jbe 0x1400183e5
lea rax, [rdi + r15]
cmp rdx, rax
jae 0x1400183e5
mov r11d, 0x77dc7e59
mov r10d, r11d
movzx eax, byte [rdx]
cmp al, 0x2e
je 0x1400183a7
nop word [rax + rax]
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
inc rdx
movzx eax, byte [rdx]
cmp al, 0x2e
jne 0x140018390
inc rdx
movzx eax, byte [rdx]
test al, al
je 0x1400183c9
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x1400183b1
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400183e2
cmp qword [rax + 0x30], r13
jne 0x140018280
mov rdx, r13
mov qword [0x140201f20], rdx
mov rcx, qword [rsp + 0x58]
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018486
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018486
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x634a71b
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018481
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018460
cmp r8d, 0x4daadbc4
je 0x14001848b
test r9d, r9d
jne 0x140018440
mov rax, qword [rax]
jmp 0x140018410
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
movups xmm0, xmmword [0x14003ede8]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [0x14003edf8]
movups xmmword [rbp - 0x28], xmm1
movsd xmm0, qword [0x14003ee08]
movsd qword [rbp - 0x18], xmm0
movzx eax, byte [0x14003ee10]
mov byte [rbp - 0x10], al
cmp dword [0x1401fec30], 2
jl 0x14001861f
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x34]
mov edx, dword [rbp - 0x70]
nop dword [rax]
movd xmm2, r13d
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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r13 + 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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r13d, 8
mov eax, r13d
lea rcx, [rcx + 8]
cmp r13d, 0x28
jl 0x140018510
cmp eax, 0x29
jge 0x140018663
movsxd rax, r13d
lea r8, [rbp - 0x38]
add r8, rax
nop dword [rax]
mov eax, 0x8fb823ef
imul r13d
add edx, r13d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r13b
sub al, cl
add al, 0x31
xor byte [r8], al
inc r13d
lea r8, [r8 + 1]
cmp r13d, 0x29
jl 0x140018630
lea rcx, [rbp - 0x38]
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400186f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400186f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xb235fdd3
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400186f1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400186d0
cmp r8d, 0xa5be9456
je 0x1400186fb
test r9d, r9d
jne 0x1400186b0
mov rax, qword [rax]
jmp 0x140018680
mov edx, dword [rdi + 0x1c]
add rdx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rdx + rax*4]
add rdx, r10
mov ecx, 0x5dc
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400187a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400187a6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xadbf1e3b
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400187a1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018780
cmp r8d, 0xbdd4b957
je 0x1400187ab
test r9d, r9d
jne 0x140018760
mov rax, qword [rax]
jmp 0x140018730
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
nop
lea rcx, [rbp]
call fcn.14000d240
jmp 0x140018ba4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018866
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018866
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x7b73ac5a
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018861
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018840
cmp r8d, 0x2f448a1
je 0x14001886b
test r9d, r9d
jne 0x140018820
mov rax, qword [rax]
jmp 0x1400187f0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r9d, dword [rcx + rdx*4]
add r9, r10
movups xmm0, xmmword [0x14003ee18]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [0x14003ee28]
movups xmmword [rbp - 0x28], xmm1
movsd xmm0, qword [0x14003ee38]
movsd qword [rbp - 0x18], xmm0
movzx eax, byte [0x14003ee40]
mov byte [rbp - 0x10], al
cmp r12d, 2
jl 0x1400189ff
movdqa xmm5, xmmword [0x140040b80]
movdqa xmm4, xmmword [0x140040c40]
movdqa xmm6, xmmword [0x140040ba0]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x34]
mov edx, dword [rbp - 0x70]
nop word [rax + rax]
movd xmm2, r15d
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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r15 + 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
paddd xmm1, xmm3
psrad xmm1, 5
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 [0x140040c10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r15d, 8
mov eax, r15d
lea rcx, [rcx + 8]
cmp r15d, 0x28
jl 0x1400188f0
cmp eax, 0x29
jge 0x140018a43
movsxd rax, r15d
lea r8, [rbp - 0x38]
add r8, rax
nop dword [rax]
mov eax, 0x8fb823ef
imul r15d
add edx, r15d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r15b
sub al, cl
add al, 0x31
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x29
jl 0x140018a10
lea rcx, [rbp - 0x38]
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018ad6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018ad6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x2574ffec
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018ad1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018ab0
cmp r8d, 0x5cf2fc4f
je 0x140018adb
test r9d, r9d
jne 0x140018a90
mov rax, qword [rax]
jmp 0x140018a60
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov ecx, 0x5dc
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018b86
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018b86
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x184eccce
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140018b81
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140018b60
cmp r8d, 0x5f053d38
je 0x140018b8b
test r9d, r9d
jne 0x140018b40
mov rax, qword [rax]
jmp 0x140018b10
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14003a390
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret