Function at 0x1800be230
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x160
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
mov rax, qword [0x18012c040]
xor rax, rsp
mov qword [rbp], rax
mov rsi, rcx
xor ebx, ebx
mov qword [rcx], rbx
mov qword [rcx + 8], rbx
test edx, edx
je 0x1800bf1ca
sub edx, 2
je 0x1800becd9
sub edx, 1
je 0x1800bea59
sub edx, 1
je 0x1800be7ca
cmp edx, 1
jne 0x1800bf6cf
movups xmm0, xmmword [0x1801111f0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x180111200]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x180111210]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x180111220]
movups xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [str.___]
movups xmmword [rbp - 0x40], xmm0
movzx eax, word [0x180111240]
mov word [rbp - 0x30], ax
movzx eax, byte [0x180111242]
mov byte [rbp - 0x2e], al
mov r8d, ebx
movdqa xmm8, xmmword [0x180114990]
movdqa xmm7, xmmword [0x1801149e0]
movdqa xmm9, xmmword [0x180114920]
movdqa xmm6, xmmword [0x180114d90]
movdqa xmm10, xmmword [0x1801148f0]
mov r15d, dword [0x18012c090]
cmp r15d, 2
jl 0x1800be43d
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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, 0x50
jl 0x1800be350
cmp r8d, 0x53
jge 0x1800be480
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x53
jl 0x1800be450
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], bl
jne 0x1800be4a0
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800be4fd
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800be507
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov r14, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800be551
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800be551
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], r14
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
lea rcx, [rsp + 0x40]
call fcn.180027960
movups xmm0, xmmword [0x1801111a0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x1801111b0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x1801111c0]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x1801111d0]
movups xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [0x1801111e0]
movsd qword [rbp - 0x40], xmm0
mov eax, dword [0x1801111e8]
mov dword [rbp - 0x38], eax
movzx eax, word [0x1801111ec]
mov word [rbp - 0x34], ax
movzx eax, byte [0x1801111ee]
mov byte [rbp - 0x32], al
cmp r15d, 2
jl 0x1800be6ba
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
nop word [rax + rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x48
jl 0x1800be5d0
cmp eax, 0x4f
jge 0x1800be6fc
movsxd rax, ebx
lea r8, [rbp - 0x80]
add r8, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x38
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x4f
jl 0x1800be6d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800be711
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800be771
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800be77b
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov rbx, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800be7c5
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800be7c5
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 8]
mov ecx, dword [rsi + 8]
mov dword [rsi + 0xc], ecx
jmp 0x1800bf6c5
movups xmm0, xmmword [0x180111250]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x180111260]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x180111270]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x180111280]
movups xmmword [rbp - 0x50], xmm1
mov eax, dword [0x180111290]
mov dword [rbp - 0x40], eax
movzx eax, word [0x180111294]
mov word [rbp - 0x3c], ax
movzx eax, byte [0x180111296]
mov byte [rbp - 0x3a], al
cmp dword [0x18012c090], 2
jl 0x1800be944
movdqa xmm4, xmmword [0x1801148f0]
movdqa xmm3, xmmword [0x180114d90]
movdqa xmm5, xmmword [0x180114920]
movdqa xmm0, xmmword [0x1801149e0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rbp - 0x7c]
movdqa xmm6, xmmword [0x180114990]
mov edx, dword [rsp + 0x60]
nop word [rax + rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x40
jl 0x1800be860
cmp eax, 0x47
jge 0x1800be97c
movsxd rax, ebx
lea r8, [rbp - 0x80]
add r8, rax
nop
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x38
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x47
jl 0x1800be950
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800be9a0
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bea00
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bea0a
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov rbx, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800bea54
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800bea54
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
jmp 0x1800bf6c5
movups xmm0, xmmword [0x1801112a0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x1801112b0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x1801112c0]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x1801112d0]
movups xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [0x1801112e0]
movsd qword [rbp - 0x40], xmm0
movzx eax, byte [0x1801112e8]
mov byte [rbp - 0x38], al
cmp dword [0x18012c090], 2
jl 0x1800bebc4
movdqa xmm4, xmmword [0x1801148f0]
movdqa xmm3, xmmword [0x180114d90]
movdqa xmm5, xmmword [0x180114920]
movdqa xmm0, xmmword [0x1801149e0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rbp - 0x7c]
movdqa xmm6, xmmword [0x180114990]
mov edx, dword [rsp + 0x60]
nop
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x48
jl 0x1800beae0
cmp eax, 0x49
jge 0x1800bebfc
movsxd rax, ebx
lea r8, [rbp - 0x80]
add r8, rax
nop
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x38
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x49
jl 0x1800bebd0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800bec20
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bec80
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bec8a
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov rbx, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800becd4
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800becd4
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
jmp 0x1800bf6c5
movups xmm0, xmmword [0x180111340]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x180111350]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x180111360]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x180111370]
movups xmmword [rbp - 0x50], xmm1
mov eax, dword [0x180111380]
mov dword [rbp - 0x40], eax
movzx eax, byte [0x180111384]
mov byte [rbp - 0x3c], al
mov r8d, ebx
movdqa xmm8, xmmword [0x180114990]
movdqa xmm7, xmmword [0x1801149e0]
movdqa xmm9, xmmword [0x180114920]
movdqa xmm6, xmmword [0x180114d90]
movdqa xmm10, xmmword [0x1801148f0]
mov r15d, dword [0x18012c090]
cmp r15d, 2
jl 0x1800bee5d
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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, 0x40
jl 0x1800bed70
cmp r8d, 0x45
jge 0x1800beea0
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x45
jl 0x1800bee70
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], bl
jne 0x1800beec0
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bef1d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bef27
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov r14, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800bef71
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800bef71
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], r14
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
lea rcx, [rsp + 0x40]
call fcn.180027960
movups xmm0, xmmword [0x1801112f0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x180111300]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x180111310]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x180111320]
movups xmmword [rbp - 0x50], xmm1
movzx eax, byte [0x180111330]
mov byte [rbp - 0x40], al
cmp r15d, 2
jl 0x1800bf0ba
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
nop dword [rax]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x40
jl 0x1800befd0
cmp eax, 0x41
jge 0x1800bf0fc
movsxd rax, ebx
lea r8, [rbp - 0x80]
add r8, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x38
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x41
jl 0x1800bf0d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800bf111
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bf171
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bf17b
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov rbx, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800bf1c5
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800bf1c5
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
jmp 0x1800bf6c5
movups xmm0, xmmword [0x1801113e0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x1801113f0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x180111400]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x180111410]
movups xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [0x180111420]
movsd qword [rbp - 0x40], xmm0
movzx eax, word [reloc.WS2_32.dll_inet_addr]
mov word [rbp - 0x38], ax
movzx eax, byte [0x18011142a]
mov byte [rbp - 0x36], al
mov r8d, ebx
movdqa xmm8, xmmword [0x180114990]
movdqa xmm7, xmmword [0x1801149e0]
movdqa xmm9, xmmword [0x180114920]
movdqa xmm6, xmmword [0x180114d90]
movdqa xmm10, xmmword [0x1801148f0]
mov r15d, dword [0x18012c090]
cmp r15d, 2
jl 0x1800bf35d
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
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, 0x48
jl 0x1800bf270
cmp r8d, 0x4b
jge 0x1800bf3a0
movsxd rax, r8d
lea r9, [rbp - 0x80]
add r9, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x4b
jl 0x1800bf370
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], bl
jne 0x1800bf3c0
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bf41d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bf427
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov r14, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800bf471
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800bf471
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], r14
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
lea rcx, [rsp + 0x40]
call fcn.180027960
movups xmm0, xmmword [0x180111390]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x1801113a0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [0x1801113b0]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x1801113c0]
movups xmmword [rbp - 0x50], xmm1
mov eax, dword [0x1801113d0]
mov dword [rbp - 0x40], eax
movzx eax, byte [0x1801113d4]
mov byte [rbp - 0x3c], al
cmp r15d, 2
jl 0x1800bf5bc
movdqa xmmword [rsp + 0x60], xmm7
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x60]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x40
jl 0x1800bf4d2
cmp eax, 0x45
jge 0x1800bf5fc
movsxd rax, ebx
lea r8, [rbp - 0x80]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x38
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x45
jl 0x1800bf5d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rax, [rbp - 0x80]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800bf611
mov r8, rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180013310
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
xor r8d, r8d
lea rdx, [0x180100ff1]
lea rcx, [rbp - 0x20]
call fcn.180013310
nop
cmp byte [0x18012dd90], 0
jne 0x1800bf671
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180026f50
mov rcx, rax
call fcn.180027cc0
jmp 0x1800bf67b
lea rcx, [rsp + 0x40]
call fcn.18000d920
mov rbx, rax
lea rcx, [rbp - 0x20]
call fcn.180027960
cmp qword [0x18012de30], 0
je 0x1800bf6c5
mov rax, qword [0x18012de20]
movsxd rdx, dword [rsi + 8]
lea rdx, [rdx*8 + 8]
xor r8d, r8d
mov rcx, qword [rsi]
call rax
mov qword [rsi], rax
test rax, rax
je 0x1800bf6c5
movsxd rcx, dword [rsi + 8]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 8]
mov eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
lea rcx, [rsp + 0x40]
call fcn.180027960
mov rax, rsi
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800d4da0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, 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]
mov rsp, r11
pop r15
pop r14
pop rbp
ret