Function at 0x140018f40
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xad0
mov byte [rsp + 7], r8b
mov qword [rsp + 0x20], rdx
mov qword [rsp + 8], rcx
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x78], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x88], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140018f80
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x80]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x78]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0x88]
mov byte [rsp + rdx + 0x80], bl
mov byte [rsp + r11 + 0x88], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140018fb0
movzx eax, byte [rsp + 0x89]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x88]
mov byte [rsp + 0x89], r8b
mov byte [rsp + rax + 0x88], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x88]
mov r9d, eax
xor r9, 0x4c
movzx eax, byte [rsp + 0x8a]
mov r8b, al
mov r10b, dl
lea edx, [r8 + r10]
movzx edx, dl
mov r8d, edx
movzx r10d, byte [rsp + r8 + 0x88]
mov byte [rsp + 0x8a], r10b
mov byte [rsp + r8 + 0x88], al
add r10b, al
movzx eax, r10b
movzx r10d, byte [rsp + rax + 0x88]
xor r10d, 0x1d
movzx eax, byte [rsp + 0x8b]
add dl, al
movzx edx, dl
mov r8d, edx
movzx r11d, byte [rsp + r8 + 0x88]
mov byte [rsp + 0x8b], r11b
mov byte [rsp + r8 + 0x88], al
add r11b, al
movzx eax, r11b
movzx eax, byte [rsp + rax + 0x88]
xor eax, 0x7a
movzx r8d, byte [rsp + 0x8c]
add dl, r8b
movzx edx, dl
mov r11d, edx
movzx ebx, byte [rsp + r11 + 0x88]
mov byte [rsp + 0x8c], bl
mov byte [rsp + r11 + 0x88], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x88]
xor r8d, 7
movzx r11d, byte [rsp + 0x8d]
add dl, r11b
movzx edx, dl
mov esi, edx
movzx ebx, byte [rsp + rsi + 0x88]
mov byte [rsp + 0x8d], bl
mov byte [rsp + rsi + 0x88], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x88]
xor r11d, 0xf0
movzx ebx, byte [rsp + 0x8e]
add dl, bl
movzx edx, dl
mov esi, edx
movzx edi, byte [rsp + rsi + 0x88]
mov byte [rsp + 0x8e], dil
mov byte [rsp + rsi + 0x88], bl
add dil, bl
movzx esi, dil
movzx esi, byte [rsp + rsi + 0x88]
xor esi, 0xb1
movzx ebx, byte [rsp + 0x8f]
add dl, bl
movzx edx, dl
mov edi, edx
movzx ebp, byte [rsp + rdi + 0x88]
mov byte [rsp + 0x8f], bpl
mov byte [rsp + rdi + 0x88], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x88]
xor edi, 0x9c
movzx ebx, byte [rsp + 0x90]
add dl, bl
movzx edx, dl
mov r14d, edx
movzx ebp, byte [rsp + r14 + 0x88]
mov byte [rsp + 0x90], bpl
mov byte [rsp + r14 + 0x88], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x88]
xor ebx, 0x69
mov dword [rsp + 0x80], 8
mov dword [rsp + 0x84], edx
shl rbx, 0x38
shl rdi, 0x30
or rdi, rbx
shl rsi, 0x28
or rsi, rdi
shl r11, 0x20
or r11, rsi
shl r8d, 0x18
mov edx, r8d
or rdx, r11
shl eax, 0x10
or rax, rdx
shl r10d, 8
mov edx, r10d
or rdx, rax
mov r10, rdx
or r10, r9
xor r10, qword [rsp + 8]
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x70], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x190], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140019250
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r11d, byte [rsp + rdx + 0x188]
add r8b, r11b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x70]
movzx esi, r8b
movzx ebx, byte [rsp + rsi + 0x190]
mov byte [rsp + rdx + 0x188], bl
mov byte [rsp + rsi + 0x190], r11b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r11, rdx
inc r11
mov rdx, r11
cmp r11, 0x108
jne 0x140019280
movzx eax, byte [rsp + 0x191]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x190]
mov byte [rsp + 0x191], r8b
mov byte [rsp + rax + 0x190], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x190]
mov r9d, eax
xor r9, 0x4c
movzx eax, byte [rsp + 0x192]
mov r8b, al
mov r11b, dl
lea edx, [r8 + r11]
movzx edx, dl
mov r8d, edx
movzx r11d, byte [rsp + r8 + 0x190]
mov byte [rsp + 0x192], r11b
mov byte [rsp + r8 + 0x190], al
add r11b, al
movzx eax, r11b
movzx r11d, byte [rsp + rax + 0x190]
xor r11d, 0x1d
movzx eax, byte [rsp + 0x193]
add dl, al
movzx edx, dl
mov r8d, edx
movzx ebx, byte [rsp + r8 + 0x190]
mov byte [rsp + 0x193], bl
mov byte [rsp + r8 + 0x190], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0x190]
xor eax, 0x7a
movzx r8d, byte [rsp + 0x194]
add dl, r8b
movzx edx, dl
mov esi, edx
movzx ebx, byte [rsp + rsi + 0x190]
mov byte [rsp + 0x194], bl
mov byte [rsp + rsi + 0x190], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x190]
xor r8d, 7
movzx ebx, byte [rsp + 0x195]
add dl, bl
movzx edx, dl
mov esi, edx
movzx edi, byte [rsp + rsi + 0x190]
mov byte [rsp + 0x195], dil
mov byte [rsp + rsi + 0x190], bl
add dil, bl
movzx esi, dil
movzx esi, byte [rsp + rsi + 0x190]
xor esi, 0xf0
movzx ebx, byte [rsp + 0x196]
add dl, bl
movzx edx, dl
mov edi, edx
movzx ebp, byte [rsp + rdi + 0x190]
mov byte [rsp + 0x196], bpl
mov byte [rsp + rdi + 0x190], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x190]
xor edi, 0xb1
movzx ebx, byte [rsp + 0x197]
add dl, bl
movzx edx, dl
mov r14d, edx
movzx ebp, byte [rsp + r14 + 0x190]
mov byte [rsp + 0x197], bpl
mov byte [rsp + r14 + 0x190], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x190]
xor ebx, 0x9c
movzx ebp, byte [rsp + 0x198]
add dl, bpl
movzx edx, dl
mov r14d, edx
movzx r15d, byte [rsp + r14 + 0x190]
mov byte [rsp + 0x198], r15b
mov byte [rsp + r14 + 0x190], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x190]
xor ebp, 0x69
mov r14d, ebp
mov dword [rsp + 0x188], 8
mov dword [rsp + 0x18c], edx
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rdi, 0x28
or rdi, rbx
shl rsi, 0x20
or rsi, rdi
shl r8d, 0x18
mov edx, r8d
or rdx, rsi
shl eax, 0x10
or rax, rdx
shl r11d, 8
mov edx, r11d
or rdx, rax
or rdx, r9
mov r9, rdx
xor r9, qword [rsp + 8]
movsxd r10, dword [r10 + 0x3c]
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x68], rax
xor eax, eax
nop word [rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x298], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140019520
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r11d, r11d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x290]
add r8b, bl
movsxd r11, r11d
add r8b, byte [rsp + r11 + 0x68]
movzx esi, r8b
movzx edi, byte [rsp + rsi + 0x298]
mov byte [rsp + rdx + 0x290], dil
mov byte [rsp + rsi + 0x298], bl
cmp r11d, 7
lea r11d, [r11 + 1]
cmovge r11d, eax
mov rsi, rdx
inc rsi
mov rdx, rsi
cmp rsi, 0x108
jne 0x140019550
movzx eax, byte [rsp + 0x299]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x298]
mov byte [rsp + 0x299], r8b
mov byte [rsp + rax + 0x298], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x298]
mov r11d, eax
xor r11, 0x4c
movzx eax, byte [rsp + 0x29a]
mov r8b, al
mov sil, dl
lea edx, [r8 + rsi]
movzx edx, dl
mov r8d, edx
movzx ebx, byte [rsp + r8 + 0x298]
mov byte [rsp + 0x29a], bl
mov byte [rsp + r8 + 0x298], al
add bl, al
movzx eax, bl
movzx esi, byte [rsp + rax + 0x298]
xor esi, 0x1d
movzx eax, byte [rsp + 0x29b]
add dl, al
movzx edx, dl
mov r8d, edx
movzx ebx, byte [rsp + r8 + 0x298]
mov byte [rsp + 0x29b], bl
mov byte [rsp + r8 + 0x298], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0x298]
xor eax, 0x7a
movzx r8d, byte [rsp + 0x29c]
add dl, r8b
movzx edx, dl
mov edi, edx
movzx ebx, byte [rsp + rdi + 0x298]
mov byte [rsp + 0x29c], bl
mov byte [rsp + rdi + 0x298], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x298]
xor r8d, 7
movzx ebx, byte [rsp + 0x29d]
add dl, bl
movzx edx, dl
mov edi, edx
movzx ebp, byte [rsp + rdi + 0x298]
mov byte [rsp + 0x29d], bpl
mov byte [rsp + rdi + 0x298], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x298]
xor edi, 0xf0
movzx ebx, byte [rsp + 0x29e]
add dl, bl
movzx edx, dl
mov r14d, edx
movzx ebp, byte [rsp + r14 + 0x298]
mov byte [rsp + 0x29e], bpl
mov byte [rsp + r14 + 0x298], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x298]
xor ebx, 0xb1
movzx ebp, byte [rsp + 0x29f]
add dl, bpl
movzx edx, dl
mov r14d, edx
movzx r15d, byte [rsp + r14 + 0x298]
mov byte [rsp + 0x29f], r15b
mov byte [rsp + r14 + 0x298], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x298]
xor ebp, 0x9c
mov r14d, ebp
movzx ebp, byte [rsp + 0x2a0]
add dl, bpl
movzx edx, dl
mov r15d, edx
movzx r12d, byte [rsp + r15 + 0x298]
mov byte [rsp + 0x2a0], r12b
mov byte [rsp + r15 + 0x298], bpl
add r12b, bpl
movzx ebp, r12b
mov r15d, ebp
movzx ebp, byte [rsp + r15 + 0x298]
xor ebp, 0x69
mov r15d, ebp
mov dword [rsp + 0x290], 8
mov dword [rsp + 0x294], edx
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
or rbx, r14
shl rdi, 0x20
or rdi, rbx
shl r8d, 0x18
mov edx, r8d
or rdx, rdi
shl eax, 0x10
or rax, rdx
shl esi, 8
mov edx, esi
or rdx, rax
or rdx, r11
mov r11, rdx
xor r11, qword [rsp + 8]
mov eax, dword [r9 + r10 + 0x88]
mov esi, eax
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x60], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x3a0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140019800
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x398]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x60]
movzx edi, r8b
movzx ebx, byte [rsp + rdi + 0x3a0]
mov byte [rsp + rdx + 0x398], bl
mov byte [rsp + rdi + 0x3a0], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140019830
movzx eax, byte [rsp + 0x3a1]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x3a0]
mov byte [rsp + 0x3a1], r8b
mov byte [rsp + rax + 0x3a0], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x3a0]
mov r9d, eax
xor r9, 0x4c
movzx eax, byte [rsp + 0x3a2]
mov r8b, al
mov r10b, dl
lea edx, [r8 + r10]
movzx edx, dl
mov r8d, edx
movzx r10d, byte [rsp + r8 + 0x3a0]
mov byte [rsp + 0x3a2], r10b
mov byte [rsp + r8 + 0x3a0], al
add r10b, al
movzx eax, r10b
movzx r10d, byte [rsp + rax + 0x3a0]
xor r10d, 0x1d
movzx eax, byte [rsp + 0x3a3]
add dl, al
movzx edx, dl
mov r8d, edx
movzx ebx, byte [rsp + r8 + 0x3a0]
mov byte [rsp + 0x3a3], bl
mov byte [rsp + r8 + 0x3a0], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0x3a0]
xor eax, 0x7a
movzx r8d, byte [rsp + 0x3a4]
add dl, r8b
movzx edx, dl
mov edi, edx
movzx ebx, byte [rsp + rdi + 0x3a0]
mov byte [rsp + 0x3a4], bl
mov byte [rsp + rdi + 0x3a0], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x3a0]
xor r8d, 7
movzx ebx, byte [rsp + 0x3a5]
add dl, bl
movzx edx, dl
mov edi, edx
movzx ebp, byte [rsp + rdi + 0x3a0]
mov byte [rsp + 0x3a5], bpl
mov byte [rsp + rdi + 0x3a0], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x3a0]
xor edi, 0xf0
movzx ebx, byte [rsp + 0x3a6]
add dl, bl
movzx edx, dl
mov r14d, edx
movzx ebp, byte [rsp + r14 + 0x3a0]
mov byte [rsp + 0x3a6], bpl
mov byte [rsp + r14 + 0x3a0], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x3a0]
xor ebx, 0xb1
movzx ebp, byte [rsp + 0x3a7]
add dl, bpl
movzx edx, dl
mov r14d, edx
movzx r15d, byte [rsp + r14 + 0x3a0]
mov byte [rsp + 0x3a7], r15b
mov byte [rsp + r14 + 0x3a0], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x3a0]
xor ebp, 0x9c
mov r14d, ebp
movzx ebp, byte [rsp + 0x3a8]
add dl, bpl
movzx edx, dl
mov r15d, edx
movzx r12d, byte [rsp + r15 + 0x3a0]
mov byte [rsp + 0x3a8], r12b
mov byte [rsp + r15 + 0x3a0], bpl
add r12b, bpl
movzx ebp, r12b
mov r15d, ebp
movzx ebp, byte [rsp + r15 + 0x3a0]
xor ebp, 0x69
mov r15d, ebp
mov dword [rsp + 0x398], 8
mov dword [rsp + 0x39c], edx
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
or rbx, r14
shl rdi, 0x20
or rdi, rbx
shl r8d, 0x18
mov edx, r8d
or rdx, rdi
shl eax, 0x10
or rax, rdx
shl r10d, 8
mov edx, r10d
or rdx, rax
or rdx, r9
xor rdx, qword [rsp + 8]
mov eax, dword [r11 + rsi + 0x1c]
add rax, rdx
mov qword [rsp + 0x18], rax
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x58], rax
xor eax, eax
nop dword [rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x4a8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140019ae0
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x4a0]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x58]
movzx edi, r8b
movzx ebx, byte [rsp + rdi + 0x4a8]
mov byte [rsp + rdx + 0x4a0], bl
mov byte [rsp + rdi + 0x4a8], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140019b10
movzx eax, byte [rsp + 0x4a9]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x4a8]
mov byte [rsp + 0x4a9], r8b
mov byte [rsp + rax + 0x4a8], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x4a8]
mov r10d, eax
xor r10, 0x4c
movzx eax, byte [rsp + 0x4aa]
mov r8b, al
mov r9b, dl
lea edx, [r8 + r9]
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x4a8]
mov byte [rsp + 0x4aa], r9b
mov byte [rsp + r8 + 0x4a8], al
add r9b, al
movzx eax, r9b
movzx edi, byte [rsp + rax + 0x4a8]
xor edi, 0x1d
movzx eax, byte [rsp + 0x4ab]
add dl, al
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x4a8]
mov byte [rsp + 0x4ab], r9b
mov byte [rsp + r8 + 0x4a8], al
add r9b, al
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x4a8]
xor eax, 0x7a
movzx r8d, byte [rsp + 0x4ac]
add dl, r8b
movzx edx, dl
mov r9d, edx
movzx ebx, byte [rsp + r9 + 0x4a8]
mov byte [rsp + 0x4ac], bl
mov byte [rsp + r9 + 0x4a8], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x4a8]
xor r8d, 7
movzx r9d, byte [rsp + 0x4ad]
add dl, r9b
movzx edx, dl
mov ebx, edx
movzx ebp, byte [rsp + rbx + 0x4a8]
mov byte [rsp + 0x4ad], bpl
mov byte [rsp + rbx + 0x4a8], r9b
add bpl, r9b
movzx r9d, bpl
movzx r9d, byte [rsp + r9 + 0x4a8]
xor r9d, 0xf0
movzx ebx, byte [rsp + 0x4ae]
add dl, bl
movzx edx, dl
mov r14d, edx
movzx ebp, byte [rsp + r14 + 0x4a8]
mov byte [rsp + 0x4ae], bpl
mov byte [rsp + r14 + 0x4a8], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x4a8]
xor ebx, 0xb1
movzx ebp, byte [rsp + 0x4af]
add dl, bpl
movzx edx, dl
mov r14d, edx
movzx r15d, byte [rsp + r14 + 0x4a8]
mov byte [rsp + 0x4af], r15b
mov byte [rsp + r14 + 0x4a8], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x4a8]
xor ebp, 0x9c
mov r14d, ebp
movzx ebp, byte [rsp + 0x4b0]
add dl, bpl
movzx edx, dl
mov r15d, edx
movzx r12d, byte [rsp + r15 + 0x4a8]
mov byte [rsp + 0x4b0], r12b
mov byte [rsp + r15 + 0x4a8], bpl
add r12b, bpl
movzx ebp, r12b
mov r15d, ebp
movzx ebp, byte [rsp + r15 + 0x4a8]
xor ebp, 0x69
mov r15d, ebp
mov dword [rsp + 0x4a0], 8
mov dword [rsp + 0x4a4], edx
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
or rbx, r14
shl r9, 0x20
or r9, rbx
shl r8d, 0x18
mov edx, r8d
or rdx, r9
shl eax, 0x10
or rax, rdx
shl edi, 8
mov edx, edi
or rdx, rax
or rdx, r10
xor rdx, qword [rsp + 8]
mov eax, dword [r11 + rsi + 0x20]
mov edi, eax
add rdi, rdx
mov qword [rsp + 0x28], rdi
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x50], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x5b0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140019dd0
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x5a8]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x50]
movzx ebx, r8b
movzx ebp, byte [rsp + rbx + 0x5b0]
mov byte [rsp + rdx + 0x5a8], bpl
mov byte [rsp + rbx + 0x5b0], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140019e00
movzx eax, byte [rsp + 0x5b1]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x5b0]
mov byte [rsp + 0x5b1], r8b
mov byte [rsp + rax + 0x5b0], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x5b0]
movzx r8d, byte [rsp + 0x5b2]
mov r9b, r8b
mov r10b, dl
lea edx, [r9 + r10]
movzx edx, dl
mov r9d, edx
movzx r10d, byte [rsp + r9 + 0x5b0]
mov byte [rsp + 0x5b2], r10b
mov byte [rsp + r9 + 0x5b0], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0x5b0]
movzx r9d, byte [rsp + 0x5b3]
add dl, r9b
movzx edx, dl
mov r10d, edx
movzx ebx, byte [rsp + r10 + 0x5b0]
mov byte [rsp + 0x5b3], bl
mov byte [rsp + r10 + 0x5b0], r9b
add bl, r9b
movzx r9d, bl
movzx r14d, byte [rsp + r9 + 0x5b0]
movzx r9d, byte [rsp + 0x5b4]
add dl, r9b
movzx edx, dl
mov r10d, edx
movzx ebx, byte [rsp + r10 + 0x5b0]
mov byte [rsp + 0x5b4], bl
mov byte [rsp + r10 + 0x5b0], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x5b0]
movzx r10d, byte [rsp + 0x5b5]
add dl, r10b
movzx edx, dl
mov ebx, edx
movzx ebp, byte [rsp + rbx + 0x5b0]
mov byte [rsp + 0x5b5], bpl
mov byte [rsp + rbx + 0x5b0], r10b
add bpl, r10b
movzx r10d, bpl
movzx r10d, byte [rsp + r10 + 0x5b0]
movzx ebx, byte [rsp + 0x5b6]
add dl, bl
movzx edx, dl
mov r15d, edx
movzx ebp, byte [rsp + r15 + 0x5b0]
mov byte [rsp + 0x5b6], bpl
mov byte [rsp + r15 + 0x5b0], bl
add bpl, bl
movzx ebx, bpl
movzx r15d, byte [rsp + rbx + 0x5b0]
movzx ebx, byte [rsp + 0x5b7]
add dl, bl
movzx ebp, dl
mov edx, ebp
movzx r12d, byte [rsp + rdx + 0x5b0]
mov byte [rsp + 0x5b7], r12b
mov byte [rsp + rdx + 0x5b0], bl
add r12b, bl
movzx edx, r12b
movzx edx, byte [rsp + rdx + 0x5b0]
movzx ebx, byte [rsp + 0x5b8]
add bpl, bl
movzx ebp, bpl
mov r12d, ebp
movzx r13d, byte [rsp + r12 + 0x5b0]
mov byte [rsp + 0x5b8], r13b
mov byte [rsp + r12 + 0x5b0], bl
add r13b, bl
movzx ebx, r13b
movzx r12d, byte [rsp + rbx + 0x5b0]
mov dword [rsp + 0x5a8], 8
mov dword [rsp + 0x5ac], ebp
mov ebx, dword [r11 + rsi + 0x18]
mov edi, ebx
xor ebp, ebp
test rdi, rdi
je 0x14001a9ac
xor rax, 0x4c
xor r8d, 0x1d
xor r14d, 0x7a
xor r9d, 7
xor r10d, 0xf0
xor r15d, 0xb1
xor edx, 0x9c
xor r12d, 0x69
shl r12, 0x38
shl rdx, 0x30
or rdx, r12
shl r15, 0x28
or r15, rdx
shl r10, 0x20
or r10, r15
shl r9d, 0x18
mov edx, r9d
or rdx, r10
shl r14d, 0x10
mov r9d, r14d
or r9, rdx
shl r8d, 8
mov edx, r8d
or rdx, r9
or rdx, rax
xor rdx, qword [rsp + 8]
mov eax, dword [r11 + rsi + 0x24]
add rax, rdx
mov qword [rsp + 0x10], rax
movabs r15, 0x100000001b3
xor esi, esi
jmp 0x14001a0d2
mov rax, rsi
inc rax
mov rsi, rax
cmp rax, rdi
je 0x14001a9ac
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x48], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x6b8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x14001a0f0
mov eax, 8
xor edx, edx
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rsp + rax + 0x6b0]
add dl, r9b
movsxd r8, r8d
add dl, byte [rsp + r8 + 0x48]
movzx r10d, dl
movzx r11d, byte [rsp + r10 + 0x6b8]
mov byte [rsp + rax + 0x6b0], r11b
mov byte [rsp + r10 + 0x6b8], r9b
cmp r8d, 7
lea r8d, [r8 + 1]
cmovge r8d, ebp
mov r9, rax
inc r9
mov rax, r9
cmp r9, 0x108
jne 0x14001a120
movzx eax, byte [rsp + 0x6b9]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x6b8]
mov byte [rsp + 0x6b9], r8b
mov byte [rsp + rax + 0x6b8], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x6b8]
mov r13d, eax
xor r13, 0x4c
movzx eax, byte [rsp + 0x6ba]
mov r8b, al
mov r9b, dl
lea edx, [r8 + r9]
movzx edx, dl
mov r8d, edx
movzx r9d, byte [rsp + r8 + 0x6b8]
mov byte [rsp + 0x6ba], r9b
mov byte [rsp + r8 + 0x6b8], al
add r9b, al
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x6b8]
xor eax, 0x1d
movzx r8d, byte [rsp + 0x6bb]
add dl, r8b
movzx edx, dl
mov r9d, edx
movzx r10d, byte [rsp + r9 + 0x6b8]
mov byte [rsp + 0x6bb], r10b
mov byte [rsp + r9 + 0x6b8], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0x6b8]
xor r8d, 0x7a
movzx r9d, byte [rsp + 0x6bc]
add dl, r9b
movzx edx, dl
mov r10d, edx
movzx r11d, byte [rsp + r10 + 0x6b8]
mov byte [rsp + 0x6bc], r11b
mov byte [rsp + r10 + 0x6b8], r9b
add r11b, r9b
movzx r9d, r11b
movzx r10d, byte [rsp + r9 + 0x6b8]
xor r10d, 7
movzx r9d, byte [rsp + 0x6bd]
add dl, r9b
movzx edx, dl
mov r11d, edx
movzx r12d, byte [rsp + r11 + 0x6b8]
mov byte [rsp + 0x6bd], r12b
mov byte [rsp + r11 + 0x6b8], r9b
add r12b, r9b
movzx r9d, r12b
movzx r9d, byte [rsp + r9 + 0x6b8]
xor r9d, 0xf0
mov r11d, r9d
movzx r9d, byte [rsp + 0x6be]
add dl, r9b
movzx r12d, dl
mov edx, r12d
movzx ecx, byte [rsp + rdx + 0x6b8]
mov byte [rsp + 0x6be], cl
mov byte [rsp + rdx + 0x6b8], r9b
add cl, r9b
movzx ecx, cl
movzx ecx, byte [rsp + rcx + 0x6b8]
xor ecx, 0xb1
mov edx, ecx
movzx ecx, byte [rsp + 0x6bf]
mov r9d, r12d
add r9b, cl
movzx r9d, r9b
mov r12d, r9d
movzx r14d, byte [rsp + r12 + 0x6b8]
mov byte [rsp + 0x6bf], r14b
mov byte [rsp + r12 + 0x6b8], cl
add r14b, cl
movzx ecx, r14b
movzx ecx, byte [rsp + rcx + 0x6b8]
xor ecx, 0x9c
movzx r14d, byte [rsp + 0x6c0]
add r9b, r14b
movzx r9d, r9b
mov r12d, r9d
movzx ebx, byte [rsp + r12 + 0x6b8]
mov byte [rsp + 0x6c0], bl
mov byte [rsp + r12 + 0x6b8], r14b
add bl, r14b
movzx ebx, bl
movzx ebx, byte [rsp + rbx + 0x6b8]
xor ebx, 0x69
shl rbx, 0x38
shl rcx, 0x30
or rcx, rbx
shl rdx, 0x28
or rdx, rcx
shl r11, 0x20
or r11, rdx
shl r10d, 0x18
mov ecx, r10d
or rcx, r11
shl r8d, 0x10
mov edx, r8d
or rdx, rcx
shl eax, 8
or rax, rdx
or rax, r13
mov rdx, rax
xor rdx, qword [rsp + 8]
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + rsi*4]
mov r8d, eax
movzx eax, byte [rdx + r8]
test al, al
je 0x14001a0c0
add rdx, r8
inc rdx
mov r8d, eax
movabs r10, 0x3d2c42763565e5e8
nop word cs:[rax + rax]
movsx rax, r8b
xor rax, r10
imul rax, r15
movzx ecx, byte [rdx]
inc rdx
mov r8d, ecx
mov r10, rax
test cl, cl
jne 0x14001a3e0
movabs rcx, 0x5fd5092e058b7825
cmp rax, rcx
jne 0x14001a0c0
mov dword [rsp + 0x6b4], r9d
mov dword [rsp + 0x6b0], 8
movabs rax, 0x7fe085d9e85b5045
mov qword [rsp + 0x40], rax
xor eax, eax
movabs r15, 0x699cb1f0077a1d4c
nop dword [rax]
mov ecx, eax
mov byte [rsp + rax + 0x7c0], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x14001a440
xor eax, eax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
mov ecx, r8d
movzx r8d, byte [rsp + rdx + 0x7c0]
add cl, r8b
movsxd r9, r9d
add cl, byte [rsp + r9 + 0x40]
movzx r10d, cl
movzx r11d, byte [rsp + r10 + 0x7c0]
mov byte [rsp + rdx + 0x7c0], r11b
mov byte [rsp + r10 + 0x7c0], r8b
mov r8d, r9d
cmp r9d, 7
lea r9d, [r8 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
mov r8d, ecx
cmp r10, 0x100
jne 0x14001a470
movzx eax, byte [rsp + 0x7c1]
mov ecx, eax
movzx edx, byte [rsp + rax + 0x7c0]
mov byte [rsp + 0x7c1], dl
mov byte [rsp + rax + 0x7c0], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x7c0]
mov edx, eax
xor rdx, 0x4c
movzx eax, byte [rsp + 0x7c2]
mov r8b, al
mov r9b, cl
lea ecx, [r8 + r9]
movzx ecx, cl
mov r8d, ecx
movzx r9d, byte [rsp + r8 + 0x7c0]
mov byte [rsp + 0x7c2], r9b
mov byte [rsp + r8 + 0x7c0], al
add r9b, al
movzx eax, r9b
movzx eax, byte [rsp + rax + 0x7c0]
xor eax, 0x1d
movzx r8d, byte [rsp + 0x7c3]
add cl, r8b
movzx ecx, cl
mov r9d, ecx
movzx r10d, byte [rsp + r9 + 0x7c0]
mov byte [rsp + 0x7c3], r10b
mov byte [rsp + r9 + 0x7c0], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0x7c0]
xor r8d, 0x7a
movzx r9d, byte [rsp + 0x7c4]
add cl, r9b
movzx ecx, cl
mov r10d, ecx
movzx r11d, byte [rsp + r10 + 0x7c0]
mov byte [rsp + 0x7c4], r11b
mov byte [rsp + r10 + 0x7c0], r9b
add r11b, r9b
movzx r9d, r11b
movzx r9d, byte [rsp + r9 + 0x7c0]
xor r9d, 7
movzx r10d, byte [rsp + 0x7c5]
add cl, r10b
movzx ecx, cl
mov r11d, ecx
movzx ebx, byte [rsp + r11 + 0x7c0]
mov byte [rsp + 0x7c5], bl
mov byte [rsp + r11 + 0x7c0], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x7c0]
xor r10d, 0xf0
movzx r11d, byte [rsp + 0x7c6]
add cl, r11b
movzx ecx, cl
mov edi, ecx
movzx ebx, byte [rsp + rdi + 0x7c0]
mov byte [rsp + 0x7c6], bl
mov byte [rsp + rdi + 0x7c0], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x7c0]
xor r11d, 0xb1
movzx ebx, byte [rsp + 0x7c7]
add cl, bl
movzx ecx, cl
mov edi, ecx
movzx ebp, byte [rsp + rdi + 0x7c0]
mov byte [rsp + 0x7c7], bpl
mov byte [rsp + rdi + 0x7c0], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x7c0]
xor edi, 0x9c
movzx ebx, byte [rsp + 0x7c8]
add cl, bl
movzx ecx, cl
movzx ebp, byte [rsp + rcx + 0x7c0]
mov byte [rsp + 0x7c8], bpl
mov byte [rsp + rcx + 0x7c0], bl
add bpl, bl
movzx ecx, bpl
movzx ecx, byte [rsp + rcx + 0x7c0]
xor ecx, 0x69
shl rcx, 0x38
shl rdi, 0x30
or rdi, rcx
shl r11, 0x28
or r11, rdi
shl r10, 0x20
or r10, r11
shl r9d, 0x18
mov ecx, r9d
or rcx, r10
shl r8d, 0x10
or r8, rcx
shl eax, 8
mov r9, rax
or r9, r8
or r9, rdx
mov rax, qword [rsp + 0x10]
movzx eax, word [rax + rsi*2]
mov rcx, qword [rsp + 0x18]
mov eax, dword [rcx + rax*4]
mov edx, eax
mov qword [rsp + 0x38], r15
xor eax, eax
nop dword [rax]
mov ecx, eax
mov byte [rsp + rax + 0x8c8], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x14001a700
xor r9, qword [rsp + 8]
xor eax, eax
xor ecx, ecx
xor r8d, r8d
xor r10d, r10d
nop word [rax + rax]
movzx r11d, byte [rsp + rcx + 0x8c8]
add r8b, r11b
movsxd r10, r10d
add r8b, byte [rsp + r10 + 0x38]
movzx esi, r8b
movzx ebx, byte [rsp + rsi + 0x8c8]
mov byte [rsp + rcx + 0x8c8], bl
mov byte [rsp + rsi + 0x8c8], r11b
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, eax
mov r11, rcx
inc r11
mov rcx, r11
cmp r11, 0x100
jne 0x14001a730
movzx eax, byte [rsp + 0x8c9]
mov r8d, eax
movzx ecx, byte [rsp + rax + 0x8c8]
mov byte [rsp + 0x8c9], cl
mov byte [rsp + rax + 0x8c8], al
add cl, al
movzx eax, cl
movzx eax, byte [rsp + rax + 0x8c8]
mov ecx, eax
xor rcx, 0x45
movzx eax, byte [rsp + 0x8ca]
mov r10b, al
mov r11b, r8b
lea r8d, [r10 + r11]
movzx r8d, r8b
mov r10d, r8d
movzx r11d, byte [rsp + r10 + 0x8c8]
mov byte [rsp + 0x8ca], r11b
mov byte [rsp + r10 + 0x8c8], al
add r11b, al
movzx eax, r11b
movzx r11d, byte [rsp + rax + 0x8c8]
xor r11d, 0x50
movzx eax, byte [rsp + 0x8cb]
add r8b, al
movzx r8d, r8b
mov r10d, r8d
movzx ebx, byte [rsp + r10 + 0x8c8]
mov byte [rsp + 0x8cb], bl
mov byte [rsp + r10 + 0x8c8], al
add bl, al
movzx eax, bl
movzx eax, byte [rsp + rax + 0x8c8]
xor eax, 0x5b
movzx r10d, byte [rsp + 0x8cc]
add r8b, r10b
movzx esi, r8b
mov r8d, esi
movzx ebx, byte [rsp + r8 + 0x8c8]
mov byte [rsp + 0x8cc], bl
mov byte [rsp + r8 + 0x8c8], r10b
add bl, r10b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x8c8]
xor r8d, 0xe8
movzx r10d, byte [rsp + 0x8cd]
mov ebx, esi
add bl, r10b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x8c8]
mov byte [rsp + 0x8cd], bl
mov byte [rsp + rdi + 0x8c8], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x8c8]
xor r10d, 0xd9
movzx ebx, byte [rsp + 0x8ce]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x8c8]
mov byte [rsp + 0x8ce], bpl
mov byte [rsp + rsi + 0x8c8], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x8c8]
xor esi, 0x85
movzx ebx, byte [rsp + 0x8cf]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x8c8]
mov byte [rsp + 0x8cf], bpl
mov byte [rsp + r14 + 0x8c8], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x8c8]
xor ebx, 0xe0
movzx ebp, byte [rsp + 0x8d0]
add dil, bpl
movzx edi, dil
movzx r14d, byte [rsp + rdi + 0x8c8]
mov byte [rsp + 0x8d0], r14b
mov byte [rsp + rdi + 0x8c8], bpl
add r14b, bpl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x8c8]
xor edi, 0x7f
add r9, rdx
shl rdi, 0x38
shl rbx, 0x30
or rbx, rdi
shl rsi, 0x28
or rsi, rbx
shl r10, 0x20
or r10, rsi
shl r8d, 0x18
mov edx, r8d
or rdx, r10
shl eax, 0x10
or rax, rdx
shl r11d, 8
mov edx, r11d
or rdx, rax
or rdx, rcx
xor rdx, r9
mov rcx, rdx
jmp 0x14001a9b8
xor ecx, ecx
movabs r15, 0x699cb1f0077a1d4c
mov qword [rsp + 0x30], r15
xor eax, eax
nop
mov edx, eax
mov byte [rsp + rax + 0x9d0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x14001a9c0
xor eax, eax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, byte [rsp + rdx + 0x9d0]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x30]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0x9d0]
mov byte [rsp + rdx + 0x9d0], bl
mov byte [rsp + r11 + 0x9d0], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x100
jne 0x14001a9f0
movzx eax, byte [rsp + 0x9d1]
mov r8d, eax
movzx edx, byte [rsp + rax + 0x9d0]
mov byte [rsp + 0x9d1], dl
mov byte [rsp + rax + 0x9d0], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x9d0]
mov edx, eax
xor rdx, 0x45
movzx eax, byte [rsp + 0x9d2]
mov r9b, al
mov r10b, r8b
lea r8d, [r9 + r10]
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x9d0]
mov byte [rsp + 0x9d2], r10b
mov byte [rsp + r9 + 0x9d0], al
add r10b, al
movzx eax, r10b
movzx eax, byte [rsp + rax + 0x9d0]
xor eax, 0x50
movzx r9d, byte [rsp + 0x9d3]
add r8b, r9b
movzx r10d, r8b
mov r8d, r10d
movzx r11d, byte [rsp + r8 + 0x9d0]
mov byte [rsp + 0x9d3], r11b
mov byte [rsp + r8 + 0x9d0], r9b
add r11b, r9b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x9d0]
xor r8d, 0x5b
movzx r9d, byte [rsp + 0x9d4]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x9d0]
mov byte [rsp + 0x9d4], bl
mov byte [rsp + r11 + 0x9d0], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x9d0]
xor r9d, 0xe8
movzx r11d, byte [rsp + 0x9d5]
add r10b, r11b
movzx esi, r10b
mov r10d, esi
movzx ebx, byte [rsp + r10 + 0x9d0]
mov byte [rsp + 0x9d5], bl
mov byte [rsp + r10 + 0x9d0], r11b
add bl, r11b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x9d0]
xor r10d, 0xd9
movzx r11d, byte [rsp + 0x9d6]
mov ebx, esi
add bl, r11b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x9d0]
mov byte [rsp + 0x9d6], bl
mov byte [rsp + rdi + 0x9d0], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x9d0]
xor r11d, 0x85
movzx ebx, byte [rsp + 0x9d7]
add sil, bl
movzx esi, sil
mov edi, esi
movzx ebp, byte [rsp + rdi + 0x9d0]
mov byte [rsp + 0x9d7], bpl
mov byte [rsp + rdi + 0x9d0], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x9d0]
xor edi, 0xe0
movzx ebx, byte [rsp + 0x9d8]
add sil, bl
movzx esi, sil
movzx ebp, byte [rsp + rsi + 0x9d0]
mov byte [rsp + 0x9d8], bpl
mov byte [rsp + rsi + 0x9d0], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x9d0]
xor esi, 0x7f
shl rsi, 0x38
shl rdi, 0x30
or rdi, rsi
shl r11, 0x28
or r11, rdi
shl r10, 0x20
or r10, r11
shl r9d, 0x18
or r9, r10
shl r8d, 0x10
or r8, r9
shl eax, 8
or rax, r8
or rax, rdx
xor rax, rcx
movzx edx, byte [rsp + 7]
mov rcx, qword [rsp + 0x20]
add rsp, 0xad0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax