Function at 0x180002840
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp]
mov eax, dword [rcx + rax]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp]
mov eax, dword [rcx + rax]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xb
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp]
mov eax, dword [rcx + rax]
mov ecx, dword [rsp + 0x10]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x10], eax
mov eax, 1
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x48]
movzx eax, byte [rcx + rax]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xf
mov rdx, qword [rsp + 0x48]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x14], eax
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp]
mov eax, dword [rcx + rax]
mov ecx, dword [rsp + 0x14]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x200], 0xa
jle 0x180003ba6
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x200], 0xc
jle 0x180003ee0
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x18]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x1c]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x20]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x24]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 8]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x10]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x14]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xc]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x10]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0x14]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 8]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 8]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0xc]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x14]
shr ecx, 0x18
movzx ecx, cl
lea rdx, [0x180075b30]
mov r8, qword [rsp]
mov ecx, dword [rdx + rcx*4]
mov eax, dword [r8 + rax]
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 0x10
movzx ecx, cl
lea rdx, [0x180075f30]
xor eax, dword [rdx + rcx*4]
mov ecx, dword [rsp + 0xc]
shr ecx, 8
movzx ecx, cl
lea rdx, [0x180076330]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [rsp + 0x10]
lea rdx, [0x180076730]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 0x18], eax
mov rax, qword [rsp]
add rax, 0x10
mov qword [rsp], rax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x18
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
mov rdx, qword [rsp]
mov eax, dword [rdx + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 8
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 8
xor eax, ecx
movzx ecx, byte [rsp + 0x18]
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
xor eax, ecx
mov dword [rsp + 8], eax
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0x20]
shr ecx, 0x18
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
mov rdx, qword [rsp]
mov eax, dword [rdx + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 0x10
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 8
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 8
xor eax, ecx
movzx ecx, byte [rsp + 0x1c]
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
xor eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 2
mov ecx, dword [rsp + 0x24]
shr ecx, 0x18
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
mov rdx, qword [rsp]
mov eax, dword [rdx + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x18]
shr ecx, 0x10
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 8
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 8
xor eax, ecx
movzx ecx, byte [rsp + 0x20]
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
xor eax, ecx
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 3
mov ecx, dword [rsp + 0x18]
shr ecx, 0x18
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
mov rdx, qword [rsp]
mov eax, dword [rdx + rax]
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x10
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 8
movzx ecx, cl
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
shl ecx, 8
xor eax, ecx
movzx ecx, byte [rsp + 0x24]
lea rdx, str.cw
movzx ecx, byte [rdx + rcx]
xor eax, ecx
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 8]
shr eax, 0x18
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 8]
shr eax, 0x10
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 8]
shr eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 8]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0xc]
shr eax, 0x18
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0xc]
shr eax, 0x10
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0xc]
shr eax, 8
mov ecx, 1
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 7
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0xc]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x10]
shr eax, 0x18
mov ecx, 1
imul rcx, rcx, 8
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x10]
shr eax, 0x10
mov ecx, 1
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x10]
shr eax, 8
mov ecx, 1
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0xb
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0x10]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x14]
shr eax, 0x18
mov ecx, 1
imul rcx, rcx, 0xc
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x14]
shr eax, 0x10
mov ecx, 1
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x14]
shr eax, 8
mov ecx, 1
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x50]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0xf
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0x14]
mov byte [rcx + rax], dl
add rsp, 0x38
ret