Function at 0x180043340
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
mov rax, rsp
push rbp
push rbx
push rdi
lea rbp, [rax - 0x68]
sub rsp, 0x150
movups xmm0, xmmword [0x180084d68]
mov rdi, qword [0x180090d60]
xor ebx, ebx
movups xmm1, xmmword [0x180084d78]
mov qword [rax + 8], rsi
mov r8d, ebx
mov esi, dword [0x180090018]
mov qword [rax + 0x10], r14
lea r14d, [rbx + 0x19]
mov qword [rax + 0x18], r15
lea r15d, [rbx + 0x1f]
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movzx eax, word [0x180084da0]
mov word [rbp - 0x78], ax
movzx eax, byte [0x180084da2]
mov byte [rbp - 0x76], al
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084d88]
movups xmmword [rsp + 0x60], xmm1
movsd xmm1, qword [0x180084d98]
movsd qword [rbp - 0x80], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp esi, 2
jl 0x180043519
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x38
jl 0x180043410
cmp r8d, 0x3b
jge 0x180043561
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x3b
jl 0x180043530
mov r9d, 7
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084db0]
movups xmm1, xmmword [0x180084dc0]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084dd0]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084de0]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180084df0]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x180084e00]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
mov qword [rdi + 0x20], rax
cmp esi, 2
jl 0x180043713
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
mov edx, ebx
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x60
jl 0x180043610
jmp 0x180043751
lea r9, [rsp + 0x50]
mov r8d, ebx
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x60
jl 0x180043720
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0x68], rax
mov r8d, ebx
movzx eax, word [0x180084ba0]
mov word [rbp - 0x80], ax
movups xmm0, xmmword [0x180084b70]
movups xmm1, xmmword [0x180084b80]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084b90]
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp esi, 2
jl 0x1800438e9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x30
jl 0x1800437e0
cmp r8d, 0x32
jge 0x180043931
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x32
jl 0x180043900
mov r9d, 7
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0x10], rax
lea rax, [0x180084cc0]
lea rcx, [rsp + 0x50]
mov r8d, ebx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax + 0x80]
movups xmmword [rcx + 0x60], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rcx + 0x70], xmm0
movups xmm0, xmmword [rax + 0x90]
movzx eax, word [rax + 0xa0]
movups xmmword [rcx + 0x80], xmm1
movups xmmword [rcx + 0x90], xmm0
mov word [rcx + 0xa0], ax
cmp esi, 2
jl 0x180043b0f
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0xa0
jl 0x180043a00
cmp r8d, 0xa2
jge 0x180043b54
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop word [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0xa2
jl 0x180043b20
mov r9d, 7
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0x28], rax
mov r8d, ebx
mov eax, dword [0x180084a98]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x180084a9c]
mov byte [rsp + 0x74], al
movups xmm0, xmmword [0x180084a78]
movups xmm1, xmmword [0x180084a88]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
cmp esi, 2
jl 0x180043ce9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x180043be0
cmp r8d, 0x25
jge 0x180043d31
movsxd rax, r8d
lea r10, [rsp + 0x50]
add r10, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r10, [r10 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r10 - 1], al
cmp r8d, 0x25
jl 0x180043d00
mov r9d, 7
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0x30], rax
mov r8d, ebx
movzx eax, byte [0x180084e48]
mov byte [rbp - 0x78], al
movups xmm0, xmmword [0x180084e10]
movups xmm1, xmmword [0x180084e20]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084e30]
movups xmmword [rsp + 0x60], xmm1
movsd xmm1, qword [0x180084e40]
movsd qword [rbp - 0x80], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp esi, 2
jl 0x180043ed9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x38
jl 0x180043dd0
cmp r8d, 0x39
jge 0x180043f21
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x39
jl 0x180043ef0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0x50], rax
movups xmm0, xmmword [0x180084b40]
movups xmm1, xmmword [0x180084b50]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [str.tbfwnlzo]
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp esi, 2
jl 0x1800440a3
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
mov edx, ebx
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x30
jl 0x180043fa0
jmp 0x1800440e1
lea r9, [rsp + 0x50]
mov r8d, ebx
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x30
jl 0x1800440b0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084e50]
mov r8d, ebx
movups xmm1, xmmword [0x180084e60]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084e70]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084e80]
mov qword [rdi + 0x38], rax
mov eax, dword [0x180084eb0]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180084e90]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x180084ea0]
mov dword [rbp - 0x50], eax
movzx eax, word [0x180084eb4]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
mov word [rbp - 0x4c], ax
cmp esi, 2
jl 0x18004429b
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x60
jl 0x180044192
cmp r8d, 0x66
jge 0x1800442e1
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop word [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x66
jl 0x1800442b0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084c10]
mov r8d, ebx
movups xmm1, xmmword [0x180084c20]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084c30]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084c40]
mov qword [rdi + 0x40], rax
mov eax, dword [0x180084c68]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180084c50]
movups xmmword [rbp - 0x80], xmm1
movsd xmm1, qword [0x180084c60]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x180084c6c]
movups xmmword [rbp - 0x70], xmm0
movsd qword [rbp - 0x60], xmm1
mov byte [rbp - 0x54], al
cmp esi, 2
jl 0x1800444a9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x58
jl 0x1800443a0
cmp r8d, 0x5d
jge 0x1800444f1
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x5d
jl 0x1800444c0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084bb0]
mov r8d, ebx
movups xmm1, xmmword [0x180084bc0]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084bd0]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x180084bf0]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084be0]
mov qword [rdi + 0xd0], rax
mov eax, dword [0x180084c00]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x60], eax
cmp esi, 2
jl 0x180044699
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x50
jl 0x180044590
cmp r8d, 0x54
jge 0x1800446e1
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x54
jl 0x1800446b0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861f0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086110]
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rdi + 0x60], rax
movdqa xmm0, xmmword [0x1800862b0]
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0xa2b1a0cc
movdqu xmmword [rsp + 0x60], xmm1
mov dword [rbp - 0x7c], 0xa2adb4d5
mov word [rbp - 0x78], pe_nt_image_headers64
nop word [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x38
jb 0x180044740
xor r9d, r9d
mov byte [rbp - 0x77], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861b0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086170]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1800862d0]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [0x180086320]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x180086260]
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rdi + 0x88], rax
movdqu xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x60], 0x89f48f
mov byte [rbp - 0x5c], 1
nop dword [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x53
jb 0x1800447c0
xor r9d, r9d
mov byte [rbp - 0x5c], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861d0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086160]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1800862f0]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x180086290]
movdqu xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rdi + 0xb0], rax
mov dword [rbp - 0x70], 0x1009fbf
nop word [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x42
jb 0x180044830
xor r9d, r9d
mov byte [rbp - 0x6d], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861c0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086180]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x180086300]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x180086280]
movdqu xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rdi + 0x98], rax
mov dword [rbp - 0x70], 0x9192bf
mov byte [rbp - 0x6c], 1
nop
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x43
jb 0x1800448a0
xor r9d, r9d
mov byte [rbp - 0x6c], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861a0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086150]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1800862a0]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [0x180086330]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x180086310]
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rdi + 0xa0], rax
movdqu xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x60], 0x9289f58f
mov dword [rbp - 0x5c], 0x968a948c
mov dword [rbp - 0x58], 0x869888
mov byte [rbp - 0x54], 1
nop dword [rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x5b
jb 0x180044930
xor r9d, r9d
mov byte [rbp - 0x54], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x180086200]
mov rcx, rbx
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rdi + 0x48], rax
mov word [rsp + 0x40], 0x29
mov byte [rsp + 0x42], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x11
jb 0x180044980
xor r9d, r9d
mov byte [rsp + 0x42], bl
lea r8, [rsp + 0x30]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x180086210]
mov rcx, rbx
movdqa xmm1, xmmword [0x180086190]
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rdi + 0x160], rax
movdqu xmmword [rsp + 0x60], xmm1
mov dword [rsp + 0x70], 0xa2c7b05f
mov dword [rsp + 0x74], 0xb6a5b5b2
mov word [rsp + 0x78], 0xb4
mov byte [rsp + 0x7a], 1
nop word [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x29
jb 0x1800449f0
xor r9d, r9d
mov byte [rsp + 0x7a], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861e0]
movdqa xmm1, xmmword [0x180086110]
mov ecx, dword [rax + 6]
add rax, 0xa
add rax, rcx
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1800862b0]
mov rcx, rbx
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x1800862e0]
mov qword [rdi + 0x190], rax
movdqu xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm1
mov word [rbp - 0x70], 0xaf
mov byte [rbp - 0x6e], 1
nop dword [rax + rax]
lea eax, [rcx + 0x5f]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0x41
jb 0x180044a70
xor r9d, r9d
mov byte [rbp - 0x6e], bl
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084aa0]
mov r8d, ebx
movups xmm1, xmmword [0x180084ab0]
mov qword [rdi + 0x58], rax
mov eax, dword [0x180084ae0]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084ac0]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084ad0]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x180084ae4]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
mov byte [rbp - 0x6c], al
cmp esi, 2
jl 0x180044c29
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x40
jl 0x180044b20
cmp r8d, 0x45
jge 0x180044c71
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x45
jl 0x180044c40
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
movups xmm0, xmmword [0x180084a30]
mov r8d, ebx
movups xmm1, xmmword [0x180084a40]
mov qword [rdi + 0xa8], rax
mov eax, dword [0x180084a70]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084a50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x180084a60]
mov dword [rbp - 0x70], eax
movzx eax, word [0x180084a74]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
mov word [rbp - 0x6c], ax
cmp esi, 2
jl 0x180044e19
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x40
jl 0x180044d10
cmp r8d, 0x46
jge 0x180044e61
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x46
jl 0x180044e30
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0xe0], rax
movups xmm0, xmmword [0x180084b08]
movups xmm1, xmmword [0x180084b18]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x180084b28]
movups xmmword [rsp + 0x60], xmm1
movsd xmm1, qword [0x180084b38]
movsd qword [rbp - 0x80], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp esi, 2
jl 0x180044ff3
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
mov edx, ebx
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov r8d, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x38
jl 0x180044ef0
jmp 0x180045031
lea r9, [rsp + 0x50]
mov r8d, ebx
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x38
jl 0x180045000
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0xe8], rax
mov r8d, ebx
mov eax, dword [0x180084cb8]
mov dword [rsp + 0x78], eax
movups xmm0, xmmword [0x180084c90]
movups xmm1, xmmword [0x180084ca0]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x180084cb0]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x60], xmm1
cmp esi, 2
jl 0x1800451c9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x28
jl 0x1800450c0
cmp r8d, 0x2c
jge 0x180045211
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x2c
jl 0x1800451e0
xor r9d, r9d
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
cmp byte [0x180084c89], bl
movups xmm0, xmmword [0x180084c70]
mov qword [rdi + 0x100], rax
movsd xmm1, qword [0x180084c80]
movzx eax, word [0x180084c88]
movups xmmword [rbp], xmm0
mov word [rbp + 0x18], ax
movsd qword [rbp + 0x10], xmm1
je 0x1800453f1
mov r8d, ebx
cmp esi, 2
jl 0x1800453a9
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rbp + 4]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x1800452a0
cmp r8d, 0x1a
jge 0x1800453f1
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x1a
jl 0x1800453c0
mov eax, dword [0x180084b00]
cmp esi, 2
movups xmm0, xmmword [str.WBBT]
mov r8d, ebx
mov rsi, qword [rsp + 0x170]
movsd xmm1, qword [0x180084af8]
mov dword [rsp + 0x68], eax
movzx eax, byte [0x180084b04]
mov byte [rsp + 0x6c], al
movups xmmword [rsp + 0x50], xmm0
movsd qword [rsp + 0x60], xmm1
jl 0x180045579
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
movdqa xmm4, xmmword [0x180086130]
movdqa xmm7, xmmword [0x180085db0]
movdqa xmmword [rsp + 0x30], xmm0
mov edx, dword [rsp + 0x30]
movd xmm6, r14d
movd xmm8, r15d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180045470
cmp r8d, 0x1d
jge 0x1800455c1
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x45b74e4d
lea r9, [r9 + 1]
imul r8d
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x79
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x180045590
xor r9d, r9d
lea r8, [rbp]
lea rdx, [rsp + 0x50]
call fcn.18005bef0
movdqa xmm0, xmmword [0x1800861c0]
movdqa xmm1, xmmword [0x180086140]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm6, xmmword [rsp + 0x140]
mov r15, qword [rsp + 0x180]
mov r14, qword [rsp + 0x178]
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1800862c0]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [0x180086250]
movdqu xmmword [rsp + 0x60], xmm1
movdqa xmm1, xmmword [0x180086270]
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rdi + 0x90], rax
movdqu xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x60], 0xf491f297
mov word [rbp - 0x5c], 0x82
mov byte [rbp - 0x5a], 1
nop word [rax + rax]
lea eax, [rbx + 0x5f]
xor byte [rsp + rbx + 0x50], al
inc rbx
cmp rbx, 0x55
jb 0x180045660
xor r9d, r9d
mov byte [rbp - 0x5a], 0
lea r8, [rsp + 0x50]
xor edx, edx
call fcn.18005bef0
mov qword [rdi + 0xc0], rax
add rsp, 0x150
pop rdi
pop rbx
pop rbp
ret