Function at 0x1401065e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
push rbx
nop
sub rsp, 8
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
push 0x15e03f18
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
nop
add rsp, 0x407ee382
sub rsp, 0x407ee3ea
movzx esi, byte [rcx + 0x31]
mov dword [rsp - 0x34], edi
xchg r10, rcx
mov rcx, r10
xchg r10, rcx
movzx eax, byte [rcx + 0x30]
mov rsp, rsp
and esi, 0x7f
movzx r9d, byte [rcx + 0x34]
movzx ebp, byte [rcx + 0x37]
mov dword [rsp - 0x18], 0x3a0d7136
and r9d, 0xf
movzx r8d, byte [rcx + 0x39]
and ebp, 1
movzx edi, byte [rcx + 0x3c]
mov r13, r13
and r8d, 0x3f
movzx edx, byte [rcx + 0x3f]
and edi, 7
movzx r13d, byte [rcx + 0x27]
mov r8, r8
movzx r12d, byte [rcx + 0x2c]
and r13d, 7
shl r9, 2
shl r9, 4
shl r9, 1
shl r9, 1
shl rbp, 2
shl rbp, 4
shl rbp, 1
shl rbp, 1
shl rdi, 6
shl rdi, 1
shl rdi, 1
shl rdx, 4
shl rdx, 3
shl rdx, 1
shl rsi, 8
or rsi, rax
mov dword [rsp - 0x2c], esi
shl r8, 5
shl r8, 1
shl r8, 2
movzx eax, byte [rcx + 0x2f]
mov dword [rsp - 0x44], 0x2c30a332
shr rax, 1
shr rax, 1
shl r12, 5
shl r12, 0xa
shl r12, 1
shl rsi, 3
shl rsi, 3
or rsi, rax
mov rbx, rbx
movzx eax, byte [rcx + 0x33]
or r9, rax
movzx eax, byte [rcx + 0x32]
shl r9, 4
shl r9, 3
shl r9, 1
or r9, rax
mov dword [rsp - 0x40], ebp
movzx eax, byte [rcx + 0x31]
shr rax, 3
shr rax, 3
shr rax, 1
add r9, r9
or r9, rax
xchg rcx, rcx
movzx eax, byte [rcx + 0x36]
or rbp, rax
movzx eax, byte [rcx + 0x35]
mov dword [rsp - 0x1c], esi
shl rbp, 3
shl rbp, 4
shl rbp, 1
or rbp, rax
xchg r11, r11
movzx eax, byte [rcx + 0x34]
shr rax, 4
shl rbp, 2
shl rbp, 1
shl rbp, 1
or rbp, rax
mov dword [rsp - 0x30], edx
movzx eax, byte [rcx + 0x38]
or r8, rax
movzx eax, byte [rcx + 0x37]
mov rdx, rdx
shr rax, 1
shl r8, 6
shl r8, 1
or r8, rax
mov dword [rsp - 0x14], 0x5aeff1aa
movzx eax, byte [rcx + 0x3b]
or rdi, rax
movzx eax, byte [rcx + 0x3a]
mov dword [rsp - 0x40], 0x5c298731
shl rdi, 8
or rdi, rax
movzx eax, byte [rcx + 0x39]
mov dword [rsp - 0x10], 0x72f9a6ec
shr rax, 3
shr rax, 1
shr rax, 1
shr rax, 1
shl rdi, 2
or rdi, rax
mov dword [rsp - 0x1c], 0x7e8da48f
movzx eax, byte [rcx + 0x3e]
or rdx, rax
movzx eax, byte [rcx + 0x3d]
shl rdx, 6
shl rdx, 1
shl rdx, 1
or rdx, rax
mov rcx, rcx
movzx eax, byte [rcx + 0x3c]
shr rax, 2
shr rax, 1
shl rdx, 4
shl rdx, 1
or rdx, rax
movzx eax, byte [rcx + 0x2a]
or r12, rax
mov r10, r10
movzx eax, byte [rcx + 0x2b]
shl rax, 2
shl rax, 3
shl rax, 1
shl rax, 1
shl rax, 1
and r12d, 0x1fffff
or r12, rax
mov dword [rsp - 0x1c], ebx
imul rax, rdx, 0xa6f7d
sub r12, rax
movzx eax, byte [rcx + 0x26]
xchg r8, r12
mov qword [rsp + 0x20], r8
xchg r8, r12
shl r13, 5
shl r13, 2
shl r13, 1
movzx r15d, byte [rcx + 0x22]
or r13, rax
mov r10, r10
movzx eax, byte [rcx + 0x25]
and r15d, 1
movzx r14d, byte [rcx + 0x12]
movzx r11d, byte [rcx + 0x17]
mov dword [rsp - 0x24], 0x6e43606a
and r14d, 7
shl r15, 4
shl r15, 2
shl r15, 2
shl r13, 6
shl r13, 2
or r13, rax
shl r14, 6
shl r14, 1
shl r14, 1
movzx eax, byte [rcx + 0x24]
shr rax, 2
shr rax, 4
shl r13, 1
shl r13, 1
or r13, rax
mov r14, r14
shl r11, 2
shl r11, 7
shl r11, 4
shl r11, 1
shl r11, 1
shl r11, 1
imul rax, r8, 0xa6f7d
sub r13, rax
imul rax, rdx, 0xf39ad
xchg rsp, rsp
sub r13, rax
imul rax, rdi, 0x215d1
add r13, rax
movzx eax, byte [rcx + 0x21]
mov rsi, rsi
or r15, rax
xchg r13, rdx
mov qword [rsp + 0x18], rdx
xchg r13, rdx
movzx eax, byte [rcx + 0x20]
shl r15, 2
shl r15, 1
shl r15, 3
shl r15, 1
shl r15, 1
or r15, rax
movzx eax, byte [rcx + 0x1f]
mov dword [rsp - 0x30], ecx
shr rax, 1
shr rax, 1
shr rax, 2
shl r15, 1
shl r15, 1
shl r15, 1
shl r15, 1
or r15, rax
mov dword [rsp - 0x24], edx
imul rax, rdi, 0x9fb67
add r15, rax
imul rax, r9, 0xa6f7d
mov dword [rsp - 0x1c], 0x713d4faa
sub r15, rax
imul rax, r8, 0xf39ad
sub r15, rax
imul rax, rdx, 0x72d18
mov dword [rsp - 0x40], 0x315065e7
add r15, rax
imul rax, rbp, 0x215d1
add r15, rax
mov dword [rsp - 0x14], ebx
movzx eax, byte [rcx + 0x11]
or r14, rax
mov qword [rsp], r15
mov dword [rsp - 0x14], ebx
movzx eax, byte [rcx + 0x10]
shl r14, 4
shl r14, 4
or r14, rax
mov dword [rsp - 0x24], edi
movzx eax, byte [rcx + 0xf]
shr rax, 3
shr rax, 1
shr rax, 1
shr rax, 1
shl r14, 1
shl r14, 1
or r14, rax
mov rdi, rdi
imul rax, rsi, 0xa2c13
add r14, rax
movzx eax, byte [rcx + 0x15]
or r11, rax
mov dword [rsp - 0x10], ebx
movzx eax, byte [rcx + 0x16]
movzx ecx, byte [rcx + 0x1c]
and r11d, 0x1fffff
xchg r12, r12
shl rax, 3
shl rax, 1
shl rax, 1
shl rax, 1
shl rax, 2
and ecx, 0x7f
or r11, rax
shl rcx, 3
shl rcx, 3
shl rcx, 1
shl rcx, 1
imul rax, rsi, 0x9fb67
add r11, rax
mov r10, r10
imul rax, r9, 0x72d18
add r11, rax
imul rax, rbp, 0xa2c13
add r11, rax
xchg rbp, rbp
movzx eax, byte [r10 + 0x1b]
or rcx, rax
mov qword [rsp + 0xc0], r11
movzx eax, byte [r10 + 0x1a]
xchg r8, r8
shr rax, 1
shr rax, 1
shl rcx, 4
shl rcx, 1
shl rcx, 1
or rcx, rax
xchg rcx, rcx
imul rax, rbp, 0x9fb67
add rcx, rax
imul rax, r9, 0xf39ad
mov dword [rsp - 0x30], 0x33bab150
sub rcx, rax
imul rax, r8, 0x72d18
add rcx, rax
lea rbx, [r14 + 0x100000]
xchg rsi, rsi
imul rax, rdi, 0xa2c13
sar rbx, 0x13
sar rbx, 1
sar rbx, 1
neg r11
add r11, 0xfffffffffff00000
neg r11
add rcx, rax
mov dword [rsp - 0x30], esi
shr r11, 0xe
shr r11, 1
shr r11, 2
shr r11, 3
shr r11, 1
imul rax, rsi, 0x215d1
add rcx, rax
xchg r9, r9
movzx eax, byte [r10 + 0x13]
xchg rcx, rbp
mov qword [rsp + 0xb8], rbp
xchg rcx, rbp
movzx ecx, byte [r10 + 0x14]
mov dword [rsp - 0xc], 0x5f77a3ed
shl rcx, 5
shl rcx, 2
shl rcx, 1
or rcx, rax
movzx eax, byte [r10 + 0x12]
mov rbp, rbp
shr rax, 1
shr rax, 2
shl rcx, 1
shl rcx, 1
shl rcx, 1
shl rcx, 2
or rcx, rax
imul r10, r9, 0xa2c13
xchg r11, r11
imul rax, rsi, 0x72d18
add rax, rbx
add rax, rcx
add r10, rax
mov r13, r13
xchg r11, r10
mov qword [rsp + 0xc8], r11
xchg r11, r10
xchg rbx, r10
mov rbx, qword [rsp + 0xb0]
xchg r10, rbx
movzx ecx, byte [r10 + 0x1a]
movzx eax, byte [r10 + 0x19]
and ecx, 3
xchg rbx, rbx
shl rcx, 3
shl rcx, 5
or rcx, rax
movzx eax, byte [r10 + 0x18]
mov dword [rsp - 0x14], esi
shl rcx, 5
shl rcx, 1
shl rcx, 2
or rcx, rax
mov dword [rsp - 0x24], edx
movzx eax, byte [r10 + 0x17]
shr rax, 1
shr rax, 1
shr rax, 3
shl rcx, 1
shl rcx, 1
shl rcx, 1
or rcx, rax
imul rax, r9, 0x9fb67
mov dword [rsp - 0x38], 0xa61a834
imul r10, r8, 0xa2c13
imul r9, r9, 0x215d1
add rcx, rax
xchg r14, r14
imul rax, rsi, 0xf39ad
sub rcx, rax
imul rax, rbp, 0x72d18
add rax, r11
xchg rbp, rbp
add rax, rcx
add r10, rax
mov rax, qword [rsp + 0xb0]
mov dword [rsp - 0x28], 0x42fa7ee5
mov qword [rsp + 8], r10
xchg r11, r10
mov r11, qword [rsp + 0xb8]
xchg r11, r10
neg r10
add r10, 0xfffffffffff00000
neg r10
movzx ecx, byte [rax + 0x1f]
mov rbx, rbx
movzx eax, byte [rax + 0x1e]
and ecx, 0xf
shl rcx, 7
shl rcx, 1
or rcx, rax
mov dword [rsp - 0x34], edi
sar r10, 0x11
sar r10, 2
sar r10, 1
sar r10, 1
mov rax, qword [rsp + 0xb0]
shl rcx, 4
shl rcx, 4
movzx eax, byte [rax + 0x1d]
mov dword [rsp - 0x10], 0x6aa7c3be
or rcx, rax
mov rax, qword [rsp + 0xb0]
add rcx, rcx
movzx eax, byte [rax + 0x1c]
xchg r12, r12
shr rax, 7
or rcx, rax
imul rax, r8, 0x9fb67
mov dword [rsp - 0x44], 0x10672dcd
add rcx, rax
imul rax, rsi, 0xa6f7d
sub rcx, rax
imul rax, rbp, 0xf39ad
mov dword [rsp - 0xc], 0x35fc2d6e
sub rcx, rax
imul rax, rdi, 0x72d18
add rcx, rax
mov dword [rsp - 0x14], 0x545f8206
imul rax, rdx, 0xa2c13
add rax, r10
add rax, rcx
xchg r13, r13
add r9, rax
xchg r15, r9
mov qword [rsp + 0x10], r15
xchg r9, r15
lea r9, [r15 + 0x100000]
sar r9, 0xe
sar r9, 1
sar r9, 5
sar r9, 1
mov r15, qword [rsp + 0xb0]
imul rsi, r8, 0x215d1
movzx ecx, byte [r15 + 0x24]
xchg r14, r14
lea r8, [r13 + 0x100000]
movzx eax, byte [r15 + 0x23]
and ecx, 0x3f
shl rcx, 2
shl rcx, 5
shl rcx, 1
or rcx, rax
mov dword [rsp - 0x2c], esp
sar r8, 0x10
sar r8, 5
movzx eax, byte [r15 + 0x22]
mov rbx, rbx
shr rax, 1
shl rcx, 1
shl rcx, 2
shl rcx, 1
shl rcx, 1
shl rcx, 1
shl rcx, 1
or rcx, rax
imul rax, rdx, 0x9fb67
imul r13, rdx, 0x215d1
mov dword [rsp - 0x10], esp
add rcx, rax
lea rdx, [r12 + 0x100000]
xchg r12, r15
mov r15, qword [rsp + 0x10]
xchg r12, r15
imul rax, rbp, 0xa6f7d
movzx ebp, byte [r15 + 0x2f]
mov dword [rsp - 0x3c], ecx
neg r12
add r12, 0xfffffffffff00000
neg r12
sub rcx, rax
sar rdx, 8
sar rdx, 4
sar rdx, 5
sar rdx, 3
sar rdx, 1
and ebp, 3
sar r12, 6
sar r12, 1
sar r12, 0xc
sar r12, 1
sar r12, 1
imul rax, rdi, 0xf39ad
shl rbp, 1
shl rbp, 6
shl rbp, 1
sub rcx, rax
mov rbp, rbp
lea rax, [r9 + rcx]
movzx ecx, byte [r15 + 0x29]
add rsi, rax
mov rdx, rdx
shl rcx, 1
shl rcx, 1
shl rcx, 5
shl rcx, 1
movzx eax, byte [r15 + 0x28]
or rcx, rax
shl r9, 3
shl r9, 0xd
shl r9, 2
shl r9, 2
shl r9, 1
movzx eax, byte [r15 + 0x27]
shr rax, 3
mov dword [rsp - 0x24], 0x3e663660
shl rcx, 3
shl rcx, 1
shl rcx, 1
or rcx, rax
mov dword [rsp - 0x38], ecx
imul rax, rdi, 0xa6f7d
mov rdi, qword [rsp + 0xc8]
sub rcx, rax
xchg r10, r10
sub rdi, 0xfffffffffff00000
sar rdi, 0xc
sar rdi, 9
lea rax, [r8 + rcx]
mov dword [rsp - 0x24], esi
shl r8, 0xc
shl r8, 7
shl r8, 1
shl r8, 1
add r13, rax
xchg r9, r9
lea rcx, [rsi + 0x100000]
movzx eax, byte [r15 + 0x2e]
or rbp, rax
sar rcx, 7
sar rcx, 9
sar rcx, 3
sar rcx, 1
sar rcx, 1
movzx eax, byte [r15 + 0x2d]
mov dword [rsp - 0x20], edx
shl rbp, 5
shl rbp, 1
shl rbp, 1
shl rbp, 1
or rbp, rax
movzx eax, byte [r15 + 0x2c]
mov dword [rsp - 0x14], 0x2ec4d16d
mov r15, qword [rsp + 8]
shr rax, 2
shr rax, 3
add r15, 0x100000
shl rbp, 1
shl rbp, 1
shl rbp, 1
or rbp, rax
sar r15, 0xf
sar r15, 6
add rbp, rdx
xchg r12, rax
mov r12, rax
xchg r12, rax
sub rax, r9
mov dword [rsp - 0x3c], 0x11cefc11
shl rdx, 0xd
shl rdx, 3
shl rdx, 4
shl rdx, 1
add qword [rsp], rax
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
mov r9, qword [rsp + 0x20]
sub rax, r8
xchg r13, r13
mov r8, qword [rsp + 0x18]
shl rcx, 9
shl rcx, 3
shl rcx, 8
shl rcx, 1
add r8, rax
sub rsi, rcx
xchg r14, r14
mov qword [rsp + 0x50], rbp
lea rcx, [r13 + 0x100000]
xchg rdi, r8
mov qword [rsp + 0x18], rdi
xchg r8, rdi
sar rcx, 7
sar rcx, 0xa
sar rcx, 3
sar rcx, 1
xchg r14, rcx
mov rax, r14
xchg rcx, r14
xchg rsi, r13
mov qword [rsp + 0x48], r13
xchg rsi, r13
sub rax, rdx
xchg rsi, rsi
add r9, rax
shl r11, 0x12
shl r11, 1
shl r11, 1
shl r11, 1
shl rcx, 0xa
shl rcx, 0xa
shl rcx, 1
sub r13, rcx
xchg r8, r9
mov qword [rsp + 0x20], r8
xchg r9, r8
imul rcx, r9, 0x215d1
imul rax, rbp, 0xfffffffffff59083
imul rdx, r13, 0xfffffffffff59083
xchg r12, r12
shl r10, 6
shl r10, 5
shl r10, 7
shl r10, 2
shl r10, 1
sub rax, r10
mov dword [rsp - 0x30], esi
shl rbx, 0xb
shl rbx, 3
shl rbx, 5
shl rbx, 1
shl rbx, 1
add rax, r15
xchg rsp, rsp
add qword [rsp + 0xb8], rax
imul rax, rbp, 0xf39ad
sub rdx, r11
mov dword [rsp - 0x24], 0x5172ed97
sub rdx, rax
lea rax, [rdi + rdx]
add rcx, rax
mov dword [rsp - 0x20], 0x59b625c2
add qword [rsp + 0xc0], rcx
imul rcx, r9, 0x9fb67
imul rax, rsi, 0xa6f7d
mov dword [rsp - 0x2c], 0x4d6b529f
sub rcx, rbx
mov rbx, qword [rsp]
sub rcx, rax
imul rax, r13, 0xf39ad
mov dword [rsp - 0x30], 0x1b87a684
sub rcx, rax
imul rax, rbp, 0x72d18
xchg r8, rbp
mov r8, qword [rsp + 0xb0]
xchg rbp, r8
add rcx, rax
imul rax, r8, 0x215d1
movzx r9d, byte [rbp + 7]
mov dword [rsp - 0x44], 0x306c7433
movzx edx, byte [rbp + 2]
add rax, r14
movzx r11d, byte [rbp + 0xd]
mov dword [rsp - 0x38], esi
add rax, rcx
movzx ecx, byte [rbp + 5]
and r11d, 1
mov qword [rsp + 0x28], rax
xchg rsp, rsp
and r9d, 0x7f
movzx eax, byte [rbp]
mov r8d, edx
mov dword [rsp - 0x2c], esp
shl r11, 3
shl r11, 5
shl r9, 5
shl r9, 2
shl r9, 1
shl r8, 2
shl r8, 0xa
shl r8, 1
shl r8, 2
shl r8, 1
or r8, rax
movzx eax, byte [rbp + 1]
shl rax, 2
shl rax, 1
shl rax, 2
shl rax, 1
shl rax, 2
and r8d, 0x1fffff
or r8, rax
imul rax, rbx, 0xa2c13
mov dword [rsp - 0x34], esp
add r8, rax
movzx eax, byte [rbp + 6]
or r9, rax
mov dword [rsp - 0x44], 0x3e2ed406
xchg r8, r11
mov qword [rsp], r11
xchg r11, r8
shl r9, 5
shl r9, 1
mov eax, ecx
shr rax, 1
shr rax, 1
or r9, rax
xchg r8, r8
imul rax, rbx, 0x9fb67
add r9, rax
imul rax, rsi, 0x72d18
add r9, rax
mov dword [rsp - 0x14], 0x4d86697c
imul rax, qword [rsp + 0x18], 0xa2c13
add r9, rax
movzx eax, byte [rbp + 0xc]
mov dword [rsp - 0x38], 0xd06359d
or r11, rax
xchg r9, rbp
mov qword [rsp + 0x38], rbp
xchg r9, rbp
movzx eax, byte [rbp + 0xb]
shl r11, 4
shl r11, 1
shl r11, 1
shl r11, 2
or r11, rax
mov dword [rsp - 0x1c], ebp
movzx eax, byte [rbp + 0xa]
shr rax, 4
shl r11, 2
shl r11, 2
or r11, rax
imul rax, qword [rsp + 0x18], 0x9fb67
xchg rsi, rsi
add r11, rax
imul rax, rsi, 0xf39ad
sub r11, rax
imul rax, r13, 0x72d18
mov dword [rsp - 0x38], 0x4d68cda0
add r11, rax
imul rax, qword [rsp + 0x20], 0xa2c13
add r11, rax
and ecx, 3
mov rcx, rcx
shr rdx, 2
shr rdx, 1
shr rdx, 2
shl rcx, 1
shl rcx, 2
shl rcx, 2
shl rcx, 3
lea r14, [r8 + 0x100000]
xchg r8, r14
mov r14, qword [rsp + 0x28]
xchg r8, r14
imul r10, rsi, 0xa2c13
mov dword [rsp - 0x30], edi
imul rax, rbx, 0x215d1
sar r14, 0xf
sar r14, 5
sar r14, 1
neg r8
add r8, 0xfffffffffff00000
neg r8
shl rdi, 7
shl rdi, 4
shl rdi, 9
shl rdi, 1
sar r8, 5
sar r8, 6
sar r8, 1
sar r8, 7
sar r8, 1
sar r8, 1
add r11, rax
movzx eax, byte [rbp + 4]
mov r8, r8
or rcx, rax
xchg rcx, r11
mov qword [rsp + 0x40], rcx
xchg r11, rcx
movzx eax, byte [rbp + 3]
lea rbp, [r9 + 0x100000]
xchg r11, r11
xchg rbp, r9
mov rbp, qword [rsp + 0xb0]
xchg r9, rbp
shl rcx, 7
shl rcx, 1
or rcx, rax
mov r13, r13
sar rbp, 0xd
sar rbp, 2
sar rbp, 3
sar rbp, 1
sar rbp, 1
sar rbp, 1
shl rcx, 1
shl rcx, 2
or rcx, rdx
mov dword [rsp - 0x18], esp
imul rax, rbx, 0x72d18
imul rdx, r13, 0xa2c13
add rax, r14
xchg rsp, rsp
add rax, rcx
movzx ecx, byte [r9 + 0xa]
add r10, rax
mov dword [rsp - 0xc], 0x3723e529
and ecx, 0xf
movzx eax, byte [r9 + 9]
shl rcx, 1
shl rcx, 5
shl rcx, 1
shl rcx, 1
or rcx, rax
xchg rsi, r10
mov qword [rsp + 0x30], rsi
xchg r10, rsi
movzx eax, byte [r9 + 8]
mov dword [rsp - 0x18], 0x63adacd2
shl rcx, 8
or rcx, rax
movzx eax, byte [r9 + 7]
mov rbx, rbx
shr rax, 4
shr rax, 2
shr rax, 1
add rcx, rcx
mov dword [rsp - 0x38], edx
or rcx, rax
imul rax, rsi, 0x9fb67
lea rsi, [r11 + 0x100000]
xchg rbp, r11
mov rbp, qword [rsp + 0x20]
xchg r11, rbp
add rcx, rax
mov dword [rsp - 0x18], edi
sar rsi, 0x15
imul rax, rbx, 0xf39ad
sub rcx, rax
mov dword [rsp - 0x14], esi
imul rax, qword [rsp + 0x18], 0x72d18
add rax, rbp
add rax, rcx
movzx ecx, byte [r9 + 0xf]
mov dword [rsp - 0x10], esi
add rdx, rax
and ecx, 0x3f
movzx eax, byte [r9 + 0xe]
mov dword [rsp - 0x10], ebp
shl rcx, 6
shl rcx, 2
or rcx, rax
mov qword [rsp + 0x58], rdx
mov dword [rsp - 0x2c], edi
movzx eax, byte [r9 + 0xd]
imul rdx, qword [rsp + 0x48], 0x215d1
xchg rcx, r9
mov rcx, qword [rsp + 0x50]
xchg r9, rcx
shr rax, 1
shl rcx, 5
shl rcx, 2
or rcx, rax
xchg rsi, rsi
imul rax, r13, 0x9fb67
add rcx, rax
imul rax, rbx, 0xa6f7d
sub rcx, rax
xchg r9, r9
imul rax, qword [rsp + 0x18], 0xf39ad
sub rcx, rax
imul rax, r11, 0x72d18
add rcx, rax
mov dword [rsp - 0x28], esp
imul rax, r9, 0xa2c13
add rax, rsi
add rax, rcx
xchg r15, r15
add rdx, rax
imul rax, qword [rsp + 0x18], 0xa6f7d
xchg r12, rdx
mov qword [rsp + 0x48], r12
xchg rdx, r12
imul rdx, r9, 0x9fb67
mov dword [rsp - 0x10], 0x202ef49c
sub rdx, rdi
sub rdx, rax
xchg r8, rbx
mov r8, qword [rsp + 8]
xchg rbx, r8
xchg rsi, rdi
mov rsi, qword [rsp + 0x10]
xchg rdi, rsi
imul rax, r11, 0xf39ad
imul rcx, r13, 0x215d1
xchg r13, r12
mov r12, qword [rsp + 0x48]
xchg r13, r12
sub rdx, rax
shl r15, 5
shl r15, 0xe
shl r15, 1
shl r15, 1
shl r12, 0xf
shl r12, 3
shl r12, 1
shl r12, 1
shl r12, 1
shl rbp, 0x15
xchg rbx, rbx
lea rax, [r8 + rdx]
shl rsi, 0xc
shl rsi, 5
shl rsi, 3
shl rsi, 1
mov rdx, qword [rsp + 0xc0]
add rcx, rax
mov dword [rsp - 0x3c], 0x1926184e
add qword [rsp + 0xc8], rcx
add rdx, 0x100000
imul rcx, r9, 0x215d1
imul rax, r11, 0xfffffffffff59083
mov r10, r10
shl r8, 0xa
shl r8, 6
shl r8, 1
shl r8, 2
shl r8, 2
lea r9, [r10 + 0x100000]
sar rdx, 7
sar rdx, 0xb
sar rdx, 2
sar rdx, 1
lea r11, [r13 + 0x100000]
mov rdi, rdi
sar r11, 0x13
sar r11, 1
sar r11, 1
sar r9, 0xc
sar r9, 6
sar r9, 1
sar r9, 1
sar r9, 1
shl r14, 1
shl r14, 0x13
shl r14, 1
sub rax, r15
mov dword [rsp - 0x24], ecx
mov r15, qword [rsp + 0x28]
add rax, rdx
shl rdx, 6
shl rdx, 4
shl rdx, 9
shl rdx, 1
shl rdx, 1
add rcx, rax
mov dword [rsp - 0x14], esp
add rbx, rcx
xchg rdx, rcx
mov rdx, qword [rsp + 0xb8]
xchg rdx, rcx
add rcx, 0x100000
mov rdx, rdx
mov qword [rsp + 8], rbx
sar rcx, 0xc
sar rcx, 2
sar rcx, 3
sar rcx, 1
sar rcx, 2
sar rcx, 1
add rbx, 0x28113e90
sub rbx, 0x28013e90
xchg rcx, r13
mov rax, r13
xchg r13, rcx
sar rbx, 0xd
sar rbx, 5
sar rbx, 2
sar rbx, 1
sub rax, r12
xchg rbp, rbp
shl rcx, 6
shl rcx, 9
shl rcx, 3
shl rcx, 1
shl rcx, 1
shl rcx, 1
xchg r14, r12
mov r14, qword [rsp + 0x58]
xchg r14, r12
add rdi, rax
mov dword [rsp - 0x10], ebp
mov qword [rsp + 0x10], rdi
xchg r11, r9
mov rax, r9
xchg r9, r11
sub rax, r8
neg rdi
add rdi, 0xfffffffffff00000
neg rdi
mov r8, qword [rsp + 0xc8]
add r15, rax
mov rbp, rbp
sar rdi, 7
sar rdi, 4
sar rdi, 2
sar rdi, 4
sar rdi, 2
sar rdi, 1
sar rdi, 1
lea r10, [r12 + 0x100000]
add r8, 0x1bb42fed
sub r8, 0x1ba42fed
sar r10, 0xe
sar r10, 2
sar r10, 2
sar r10, 2
sar r10, 1
sar r8, 1
sar r8, 0xb
sar r8, 4
sar r8, 1
sar r8, 1
sar r8, 2
sar r8, 1
xchg r15, rax
mov r15, r8
xchg r15, rax
sub rax, rdx
mov dword [rsp - 0x10], 0x316a1ebd
mov rdx, qword [rsp + 0x30]
add qword [rsp + 0xc0], rax
xchg rdx, rax
mov rdx, rbx
xchg rdx, rax
sub rax, rcx
mov dword [rsp - 0x44], esi
mov rcx, qword [rsp]
add qword [rsp + 0xb8], rax
imul rax, rdi, 0xa2c13
mov dword [rsp - 0x3c], 0x10274f57
sub rax, r14
add rcx, rax
imul rax, rdi, 0x9fb67
mov dword [rsp - 0x34], ebx
mov qword [rsp], rcx
sub rax, rbp
sar rcx, 0xb
sar rcx, 2
sar rcx, 5
sar rcx, 1
sar rcx, 1
sar rcx, 1
mov rbp, qword [rsp + 0x38]
mov dword [rsp - 0x14], ebx
add rax, r9
add rbp, rax
shl r9, 0xa
shl r9, 7
shl r9, 1
shl r9, 3
imul rax, rdi, 0x215d1
mov dword [rsp - 0x1c], edx
sub rax, rsi
mov rsi, qword [rsp + 0x40]
add rax, r10
add rsi, rax
mov r9, r9
imul rax, rdi, 0x72d18
sub rax, r9
add rax, rcx
add rdx, rax
mov dword [rsp - 0x24], 0x5a5aa9b9
mov qword [rsp + 0x30], rdx
imul rax, rdi, 0xfffffffffff0c653
sar rdx, 6
sar rdx, 5
sar rdx, 6
sar rdx, 2
sar rdx, 1
sar rdx, 1
add rbp, rdx
shl rcx, 6
shl rcx, 0xa
shl rcx, 4
shl rcx, 1
shl r10, 0x10
shl r10, 3
shl r10, 1
shl r10, 1
xchg rbp, r9
mov rbp, r9
xchg r9, rbp
sub rax, r10
sar r9, 0x12
sar r9, 2
sar r9, 1
add rax, r9
shl r8, 0xb
shl r8, 0xa
add r12, rax
shl r11, 0xc
shl r11, 8
shl r11, 1
imul rax, rdi, 0xfffffffffff59083
shl rbx, 0x13
shl rbx, 1
shl rbx, 1
xchg r12, r10
mov r12, r10
xchg r10, r12
sub rax, r11
shl rdi, 8
shl rdi, 6
shl rdi, 2
shl rdi, 3
shl rdi, 1
shl rdi, 1
mov qword [rsp + 0x38], rbp
sar r10, 0xa
sar r10, 4
sar r10, 7
add rsi, r10
shl rdx, 5
shl rdx, 3
shl rdx, 9
shl rdx, 3
shl rdx, 1
mov qword [rsp + 0x40], rsi
sar rsi, 7
sar rsi, 0xa
sar rsi, 1
sar rsi, 1
sar rsi, 1
sar rsi, 1
add rax, rsi
xchg rdi, rdi
shl r9, 0xe
shl r9, 2
shl r9, 2
shl r9, 2
shl r9, 1
add r13, rax
mov dword [rsp - 0x30], 0x16d3b72f
xchg r15, r11
mov r15, r13
xchg r15, r11
sar r11, 0xb
sar r11, 6
sar r11, 1
sar r11, 2
sar r11, 1
add r15, r11
xchg rdi, rdi
xchg rbp, rsi
mov rsi, r15
xchg rbp, rsi
xchg r15, rbp
mov qword [rsp + 0x28], rbp
xchg r15, rbp
sar rbp, 2
sar rbp, 0xb
sar rbp, 1
sar rbp, 5
sar rbp, 1
sar rbp, 1
xchg r13, rax
mov r13, rbp
xchg r13, rax
sub rax, r8
xchg rcx, r8
mov rcx, qword [rsp + 0xc8]
xchg r8, rcx
add r8, rax
mov dword [rsp - 0x38], 0x92184c7
mov rax, qword [rsp + 0xc0]
xchg r10, r8
mov qword [rsp + 0xc8], r10
xchg r8, r10
sar r8, 5
sar r8, 8
sar r8, 7
sar r8, 1
add rax, r8
mov dword [rsp - 0x38], esp
xchg r9, rax
mov r14, r9
xchg r9, rax
mov qword [rsp + 0xc0], rax
mov r12, r12
sar r14, 0x13
sar r14, 1
sar r14, 1
xchg r14, rbp
mov rax, rbp
xchg r14, rbp
sub rax, rbx
mov r14, r14
xchg rbx, rdx
mov rdx, qword [rsp + 8]
xchg rbx, rdx
add rbx, rax
mov r10, r10
xchg rbp, rax
mov rbp, qword [rsp + 0xb8]
xchg rbp, rax
xchg r14, rbx
mov qword [rsp + 8], r14
xchg r14, rbx
sar rbx, 0xb
sar rbx, 9
sar rbx, 1
add rax, rbx
xchg rsp, rax
mov r15, rsp
xchg rsp, rax
mov qword [rsp + 0xb8], rax
sar r15, 9
sar r15, 9
sar r15, 1
sar r15, 1
sar r15, 1
xchg r15, rax
mov r15, rax
xchg r15, rax
sub rax, rdi
mov r10, r10
xchg rdi, r9
mov r9, qword [rsp + 0x10]
xchg rdi, r9
add rdi, rax
mov r11, r11
xchg rdi, r11
mov qword [rsp + 0x10], r11
xchg r11, rdi
sar rdi, 0xb
sar rdi, 8
sar rdi, 1
sar rdi, 1
imul rax, rdi, 0xa2c13
sub rax, rcx
mov dword [rsp - 0x34], 0x3a8f5bdb
xchg r8, rcx
mov r8, qword [rsp]
xchg r8, rcx
add rcx, rax
mov rsi, rsi
xchg rcx, r13
mov qword [rsp], r13
xchg r13, rcx
sar rcx, 0xf
sar rcx, 4
sar rcx, 1
sar rcx, 1
imul rax, rdi, 0x72d18
sub rax, rdx
xchg rdx, rbp
mov rbp, qword [rsp + 0x30]
xchg rdx, rbp
add rax, rcx
mov rbp, rbp
shl rcx, 0x12
shl rcx, 2
shl rcx, 1
sub qword [rsp], rcx
xchg r14, r14
add rdx, rax
imul rax, rdi, 0x9fb67
xchg rsi, rcx
mov rsi, rdx
xchg rsi, rcx
sub rax, r9
sar rcx, 0x13
sar rcx, 1
sar rcx, 1
mov r9, qword [rsp + 0x38]
add rax, rcx
add r9, rax
mov dword [rsp - 0x24], 0x4db524a
shl rcx, 4
shl rcx, 0xa
shl rcx, 6
shl rcx, 1
sub rdx, rcx
shl r10, 0x10
shl r10, 2
shl r10, 1
shl r10, 1
shl r10, 1
shl rsi, 3
shl rsi, 2
shl rsi, 5
shl rsi, 0xa
shl rsi, 1
mov rcx, r9
mov r14, r14
sar rcx, 5
sar rcx, 2
sar rcx, 0xa
sar rcx, 3
sar rcx, 1
shl r11, 2
shl r11, 0xb
shl r11, 5
shl r11, 1
shl r11, 1
shl r11, 1
imul rax, rdi, 0xfffffffffff0c653
shl rbp, 3
shl rbp, 2
shl rbp, 0xc
shl rbp, 2
shl rbp, 1
shl rbp, 1
sub rax, r10
shl rbx, 6
shl rbx, 0xe
shl rbx, 1
add rax, rcx
mov r10, qword [rsp + 0x40]
shl rcx, 2
shl rcx, 1
shl rcx, 8
shl rcx, 7
shl rcx, 2
shl rcx, 1
add r12, rax
sub r9, rcx
shl r14, 0xc
shl r14, 1
shl r14, 6
shl r14, 1
shl r14, 1
imul rax, rdi, 0x215d1
xchg r12, rsi
mov rcx, rsi
xchg rsi, r12
shl r8, 0xf
shl r8, 5
shl r8, 1
sar rcx, 0xa
sar rcx, 8
sar rcx, 2
sar rcx, 1
sub rax, rsi
add rax, rcx
mov dword [rsp - 0x38], 0x6c4eb89e
mov rsi, qword [rsp + 0xc8]
shl rcx, 5
shl rcx, 2
shl rcx, 7
shl rcx, 2
shl rcx, 3
shl rcx, 1
shl rcx, 1
add r10, rax
mov r11, r11
sub r12, rcx
shl r15, 0xa
shl r15, 1
shl r15, 0xa
imul rax, rdi, 0xfffffffffff59083
xchg r9, rcx
mov r9, r10
xchg rcx, r9
shl rdi, 2
shl rdi, 0xe
shl rdi, 1
shl rdi, 2
shl rdi, 1
shl rdi, 1
sar rcx, 0x12
sar rcx, 2
sar rcx, 1
sub rax, r11
xchg r11, rdi
mov rdi, qword [rsp + 0x28]
xchg rdi, r11
add rax, rcx
mov dword [rsp - 0x14], edx
shl rcx, 0x14
shl rcx, 1
add r13, rax
mov dword [rsp - 0x40], 0x3f591e64
sub r10, rcx
mov rcx, r13
sar rcx, 0x14
sar rcx, 1
xchg rsi, rax
mov rsi, rcx
xchg rsi, rax
shl rcx, 1
shl rcx, 0xf
shl rcx, 1
shl rcx, 1
shl rcx, 2
shl rcx, 1
sub rax, rbp
mov dword [rsp - 0x10], 0xdb42c32
sub r13, rcx
mov rbp, qword [rsp + 0xc0]
add r11, rax
xchg r11, r11
xchg r11, r15
mov rcx, r15
xchg r11, r15
sar rcx, 3
sar rcx, 1
sar rcx, 4
sar rcx, 5
sar rcx, 3
sar rcx, 3
sar rcx, 1
sar rcx, 1
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
shl rcx, 2
shl rcx, 0xe
shl rcx, 2
shl rcx, 2
shl rcx, 1
sub r11, rcx
mov dword [rsp - 0x18], ebx
sub rax, r8
mov r8, qword [rsp + 0x10]
add rsi, rax
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sar rcx, 0x11
sar rcx, 3
sar rcx, 1
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
shl rcx, 8
shl rcx, 6
shl rcx, 4
shl rcx, 1
shl rcx, 1
shl rcx, 1
sub rax, r14
mov dword [rsp - 0x2c], esi
sub rsi, rcx
mov r14, qword [rsp + 0xb8]
add rbp, rax
xchg r9, r9
xchg rsi, rbp
mov rcx, rsi
xchg rsi, rbp
sar rcx, 0xc
sar rcx, 8
sar rcx, 1
xchg r12, rax
mov r12, rcx
xchg r12, rax
shl rcx, 5
shl rcx, 6
shl rcx, 8
shl rcx, 1
shl rcx, 1
sub rax, rbx
sub rbp, rcx
mov rdi, rdi
xchg r14, rbx
mov r14, qword [rsp + 8]
xchg rbx, r14
add rbx, rax
mov dword [rsp - 0x34], ebp
xchg r8, rbx
mov rcx, r8
xchg r8, rbx
sar rcx, 0x10
sar rcx, 4
sar rcx, 1
mov rax, rcx
mov rsi, rsi
shl rcx, 7
shl rcx, 0xa
shl rcx, 3
shl rcx, 1
sub rax, r15
sub rbx, rcx
mov dword [rsp - 0x28], 0x45cd052e
add r14, rax
mov rcx, r14
sar rcx, 0xa
sar rcx, 5
sar rcx, 4
sar rcx, 1
sar rcx, 1
xchg r8, rax
mov r8, rcx
xchg r8, rax
sub rax, rdi
add r8, rax
xchg r15, r15
mov rdi, qword [rsp + 0xb0]
shl rcx, 0x11
shl rcx, 1
shl rcx, 2
shl rcx, 1
sub r14, rcx
xchg rbp, rbp
mov rcx, qword [rsp]
mov rax, rcx
sar rax, 7
sar rax, 1
mov byte [rdi + 1], al
movzx eax, dl
mov dword [rsp - 0x10], edx
shl al, 3
shl al, 1
shl al, 1
mov byte [rdi], cl
mov dword [rsp - 0xc], edx
sar rcx, 0xa
sar rcx, 3
sar rcx, 1
sar rcx, 1
sar rcx, 1
or al, cl
mov dword [rsp - 0x20], 0x1a2a3dda
mov byte [rdi + 0x15], bpl
mov byte [rdi + 2], al
xchg rdx, r11
mov rax, r11
xchg rdx, r11
sar rax, 2
sar rax, 1
mov byte [rdi + 3], al
xchg r13, rax
mov r13, rdx
xchg r13, rax
sar rax, 7
sar rax, 2
sar rax, 1
sar rax, 1
mov byte [rdi + 4], al
movzx eax, r9b
xchg rbp, rbp
shl al, 2
sar rdx, 2
sar rdx, 4
sar rdx, 0xb
sar rdx, 1
sar rdx, 1
or dl, al
mov rcx, rcx
xchg r9, rax
mov r9, rax
xchg r9, rax
sar rax, 4
sar rax, 1
sar rax, 1
mov byte [rdi + 6], al
mov r10, r10
movzx eax, r12b
shl al, 1
shl al, 3
shl al, 3
sar r9, 3
sar r9, 5
sar r9, 2
sar r9, 4
or al, r9b
mov byte [rdi + 5], dl
mov byte [rdi + 7], al
mov dword [rsp - 0x40], 0x42015884
mov rax, r12
sar rax, 1
mov byte [rdi + 8], al
xchg r8, r8
xchg rsp, rax
mov rsp, r12
xchg rsp, rax
sar rax, 1
sar rax, 2
sar rax, 2
sar rax, 1
sar rax, 2
sar rax, 1
mov byte [rdi + 9], al
xchg r12, r12
movzx eax, r10b
shl al, 1
shl al, 2
shl al, 1
sar r12, 0xa
sar r12, 1
sar r12, 2
sar r12, 3
sar r12, 1
or r12b, al
mov rax, r10
sar rax, 2
sar rax, 2
mov byte [rdi + 0xb], al
mov dword [rsp - 0x20], esp
xchg rdx, rax
mov rdx, r10
xchg rdx, rax
sar rax, 1
sar rax, 7
sar rax, 3
sar rax, 1
mov byte [rdi + 0xc], al
movzx eax, r13b
add al, al
mov r12, r12
sar r10, 2
sar r10, 0xd
sar r10, 4
sar r10, 1
or r10b, al
mov byte [rdi + 0xa], r12b
mov rax, r13
mov dword [rsp - 0x14], 0x57d9b8c0
mov byte [rdi + 0xd], r10b
sar rax, 1
sar rax, 3
sar rax, 2
sar rax, 1
mov byte [rdi + 0xe], al
movzx eax, r11b
xchg r15, r15
shl al, 5
shl al, 1
sar r13, 0xc
sar r13, 2
sar r13, 1
or al, r13b
mov byte [rdi + 0xf], al
mov dword [rsp - 0x10], edi
xchg r11, rax
mov r11, rax
xchg r11, rax
sar rax, 1
sar rax, 1
mov byte [rdi + 0x10], al
xchg rbx, rax
mov rbx, r11
xchg rbx, rax
sar rax, 2
sar rax, 6
sar rax, 1
sar rax, 1
mov byte [rdi + 0x11], al
mov dword [rsp - 0x24], ebx
movzx eax, sil
shl al, 3
sar r11, 0x11
sar r11, 1
or r11b, al
xchg rsi, rdx
mov rax, rdx
xchg rsi, rdx
sar rax, 4
sar rax, 1
mov byte [rdi + 0x13], al
mov dword [rsp - 0x1c], 0x211d871f
xchg r12, rbp
mov rax, r12
xchg r12, rbp
sar rsi, 0xc
sar rsi, 1
sar rax, 2
sar rax, 1
sar rax, 4
sar rax, 1
mov byte [rdi + 0x12], r11b
mov byte [rdi + 0x14], sil
mov dword [rsp - 0x30], 0x4d7e4d5e
mov byte [rdi + 0x16], al
movzx eax, bl
shl al, 4
shl al, 1
sar rbp, 5
sar rbp, 9
sar rbp, 1
sar rbp, 1
or al, bpl
mov dword [rsp - 0x1c], edx
mov byte [rdi + 0x17], al
xchg rbx, r8
mov rax, r8
xchg r8, rbx
sar rax, 3
xchg rcx, rcx
mov byte [rdi + 0x18], al
mov rax, rbx
sar rax, 6
sar rax, 2
sar rax, 2
sar rax, 1
mov byte [rdi + 0x19], al
movzx eax, r14b
mov r14, r14
shl al, 2
sar rbx, 1
sar rbx, 5
sar rbx, 3
sar rbx, 7
sar rbx, 1
sar rbx, 1
sar rbx, 1
or bl, al
xchg r8, r8
xchg r11, r14
mov rax, r11
xchg r11, r14
sar rax, 4
sar rax, 1
sar rax, 1
mov byte [rdi + 0x1b], al
movzx eax, r8b
xchg r13, r13
shl al, 5
shl al, 1
shl al, 1
sar r14, 0xa
sar r14, 1
sar r14, 1
sar r14, 2
or al, r14b
mov byte [rdi + 0x1a], bl
mov dword [rsp - 0x2c], esi
mov byte [rdi + 0x1c], al
mov rax, r8
sar rax, 1
xchg r9, r9
mov byte [rdi + 0x1d], al
xchg rbp, r8
mov rax, rbp
xchg rbp, r8
sar rax, 2
sar rax, 7
sar r8, 0x11
mov byte [rdi + 0x1f], r8b
mov byte [rdi + 0x1e], al
mov rsp, rsp
add rsp, 0x68
pop r15
nop
mov r14, qword [rsp]
add rsp, 8
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rdi
pop rsi
mov rsp, rsp
pop rbp
pop rbx
ret