Function at 0x140002e80
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, 0xb38
mov qword [rsp + 0x88], r9
mov dword [rsp + 0x6c], r8d
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x60], rcx
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xe0], rax
xor eax, eax
nop word cs:[rax + rax]
mov edx, eax
mov byte [rsp + rax + 0xf0], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140002ed0
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0xe8]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xe0]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0xf0]
mov byte [rsp + rdx + 0xe8], bl
mov byte [rsp + r11 + 0xf0], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140002f00
movzx eax, byte [rsp + 0xf1]
mov edx, eax
movzx r8d, byte [rsp + rax + 0xf0]
mov byte [rsp + 0xf1], r8b
mov byte [rsp + rax + 0xf0], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0xf0]
xor rax, 0xd9
movzx r8d, byte [rsp + 0xf2]
mov r9b, r8b
mov r10b, dl
lea edx, [r9 + r10]
movzx edx, dl
mov r9d, edx
movzx r10d, byte [rsp + r9 + 0xf0]
mov byte [rsp + 0xf2], r10b
mov byte [rsp + r9 + 0xf0], r8b
add r10b, r8b
movzx r8d, r10b
movzx r9d, byte [rsp + r8 + 0xf0]
xor r9d, 0x78
movzx r8d, byte [rsp + 0xf3]
add dl, r8b
movzx edx, dl
mov r10d, edx
movzx r11d, byte [rsp + r10 + 0xf0]
mov byte [rsp + 0xf3], r11b
mov byte [rsp + r10 + 0xf0], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0xf0]
xor r8d, 0xe3
movzx r10d, byte [rsp + 0xf4]
add dl, r10b
movzx r11d, dl
mov edx, r11d
movzx ebx, byte [rsp + rdx + 0xf0]
mov byte [rsp + 0xf4], bl
mov byte [rsp + rdx + 0xf0], r10b
add bl, r10b
movzx edx, bl
movzx edx, byte [rsp + rdx + 0xf0]
xor edx, 0xb
movzx r10d, byte [rsp + 0xf5]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebx, byte [rsp + rsi + 0xf0]
mov byte [rsp + 0xf5], bl
mov byte [rsp + rsi + 0xf0], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0xf0]
xor r10d, 0x87
movzx ebx, byte [rsp + 0xf6]
add r11b, bl
movzx esi, r11b
mov r11d, esi
movzx edi, byte [rsp + r11 + 0xf0]
mov byte [rsp + 0xf6], dil
mov byte [rsp + r11 + 0xf0], bl
add dil, bl
movzx r11d, dil
movzx r11d, byte [rsp + r11 + 0xf0]
xor r11d, 0x68
movzx ebx, byte [rsp + 0xf7]
add sil, bl
movzx esi, sil
mov edi, esi
movzx ebp, byte [rsp + rdi + 0xf0]
mov byte [rsp + 0xf7], bpl
mov byte [rsp + rdi + 0xf0], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0xf0]
xor edi, 0x9e
movzx ebx, byte [rsp + 0xf8]
add sil, bl
movzx esi, sil
mov r14d, esi
movzx ebp, byte [rsp + r14 + 0xf0]
mov byte [rsp + 0xf8], bpl
mov byte [rsp + r14 + 0xf0], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0xf0]
xor ebx, 0xca
mov dword [rsp + 0xe8], 8
mov dword [rsp + 0xec], esi
shl rbx, 0x38
shl rdi, 0x30
or rdi, rbx
shl r11, 0x28
or r11, rdi
shl r10, 0x20
or r10, r11
shl edx, 0x18
or rdx, r10
shl r8d, 0x10
or r8, rdx
shl r9d, 8
mov edx, r9d
or rdx, r8
mov r10, rdx
or r10, rax
xor r10, qword [rsp + 0x60]
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xd8], rax
xor eax, eax
nop dword [rax]
mov edx, eax
mov byte [rsp + rax + 0x1f8], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x1400031b0
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r11d, byte [rsp + rdx + 0x1f0]
add r8b, r11b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xd8]
movzx esi, r8b
movzx ebx, byte [rsp + rsi + 0x1f8]
mov byte [rsp + rdx + 0x1f0], bl
mov byte [rsp + rsi + 0x1f8], r11b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov r11, rdx
inc r11
mov rdx, r11
cmp r11, 0x108
jne 0x1400031e0
movzx eax, byte [rsp + 0x1f9]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x1f8]
mov byte [rsp + 0x1f9], r8b
mov byte [rsp + rax + 0x1f8], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x1f8]
xor rax, 0xd9
movzx r8d, byte [rsp + 0x1fa]
mov r9b, r8b
mov r11b, dl
lea edx, [r9 + r11]
movzx edx, dl
mov r9d, edx
movzx r11d, byte [rsp + r9 + 0x1f8]
mov byte [rsp + 0x1fa], r11b
mov byte [rsp + r9 + 0x1f8], r8b
add r11b, r8b
movzx r8d, r11b
movzx r9d, byte [rsp + r8 + 0x1f8]
xor r9d, 0x78
movzx r8d, byte [rsp + 0x1fb]
add dl, r8b
movzx edx, dl
mov r11d, edx
movzx ebx, byte [rsp + r11 + 0x1f8]
mov byte [rsp + 0x1fb], bl
mov byte [rsp + r11 + 0x1f8], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x1f8]
xor r8d, 0xe3
movzx r11d, byte [rsp + 0x1fc]
add dl, r11b
movzx esi, dl
mov edx, esi
movzx ebx, byte [rsp + rdx + 0x1f8]
mov byte [rsp + 0x1fc], bl
mov byte [rsp + rdx + 0x1f8], r11b
add bl, r11b
movzx edx, bl
movzx edx, byte [rsp + rdx + 0x1f8]
xor edx, 0xb
movzx r11d, byte [rsp + 0x1fd]
mov ebx, esi
add bl, r11b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x1f8]
mov byte [rsp + 0x1fd], bl
mov byte [rsp + rdi + 0x1f8], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x1f8]
xor r11d, 0x87
movzx ebx, byte [rsp + 0x1fe]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x1f8]
mov byte [rsp + 0x1fe], bpl
mov byte [rsp + rsi + 0x1f8], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x1f8]
xor esi, 0x68
movzx ebx, byte [rsp + 0x1ff]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x1f8]
mov byte [rsp + 0x1ff], bpl
mov byte [rsp + r14 + 0x1f8], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x1f8]
xor ebx, 0x9e
movzx ebp, byte [rsp + 0x200]
add dil, bpl
movzx edi, dil
mov r14d, edi
movzx r15d, byte [rsp + r14 + 0x1f8]
mov byte [rsp + 0x200], r15b
mov byte [rsp + r14 + 0x1f8], bpl
add r15b, bpl
movzx ebp, r15b
mov r14d, ebp
movzx ebp, byte [rsp + r14 + 0x1f8]
xor ebp, 0xca
mov r14d, ebp
mov dword [rsp + 0x1f0], 8
mov dword [rsp + 0x1f4], edi
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rsi, 0x28
or rsi, rbx
shl r11, 0x20
or r11, rsi
shl edx, 0x18
or rdx, r11
shl r8d, 0x10
or r8, rdx
shl r9d, 8
mov edx, r9d
or rdx, r8
or rdx, rax
mov rax, rdx
xor rax, qword [rsp + 0x60]
movsxd r11, dword [r10 + 0x3c]
movabs rcx, 0x59de6b6e3d778a2e
mov qword [rsp + 0xd0], rcx
xor edx, edx
nop
mov r8d, edx
mov byte [rsp + rdx + 0x300], dl
mov r8, rdx
inc r8
mov rdx, r8
cmp r8, 0x100
jne 0x140003490
xor edx, edx
mov r8d, 8
xor r9d, r9d
xor r10d, r10d
nop word [rax + rax]
movzx ebx, byte [rsp + r8 + 0x2f8]
add r9b, bl
movsxd r10, r10d
add r9b, byte [rsp + r10 + 0xd0]
movzx esi, r9b
movzx edi, byte [rsp + rsi + 0x300]
mov byte [rsp + r8 + 0x2f8], dil
mov byte [rsp + rsi + 0x300], bl
cmp r10d, 7
lea r10d, [r10 + 1]
cmovge r10d, edx
mov rsi, r8
inc rsi
mov r8, rsi
cmp rsi, 0x108
jne 0x1400034c0
movzx edx, byte [rsp + 0x301]
mov r8d, edx
movzx r9d, byte [rsp + rdx + 0x300]
mov byte [rsp + 0x301], r9b
mov byte [rsp + rdx + 0x300], dl
add r9b, dl
movzx edx, r9b
movzx edx, byte [rsp + rdx + 0x300]
mov r10d, edx
xor r10, 0xd9
movzx edx, byte [rsp + 0x302]
mov r9b, dl
mov sil, r8b
lea r8d, [r9 + rsi]
movzx r8d, r8b
mov r9d, r8d
movzx ebx, byte [rsp + r9 + 0x300]
mov byte [rsp + 0x302], bl
mov byte [rsp + r9 + 0x300], dl
add bl, dl
movzx edx, bl
movzx r9d, byte [rsp + rdx + 0x300]
xor r9d, 0x78
movzx edx, byte [rsp + 0x303]
add r8b, dl
movzx esi, r8b
mov r8d, esi
movzx ebx, byte [rsp + r8 + 0x300]
mov byte [rsp + 0x303], bl
mov byte [rsp + r8 + 0x300], dl
add bl, dl
movzx edx, bl
movzx r8d, byte [rsp + rdx + 0x300]
xor r8d, 0xe3
movzx edx, byte [rsp + 0x304]
mov ebx, esi
add bl, dl
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x300]
mov byte [rsp + 0x304], bl
mov byte [rsp + rdi + 0x300], dl
add bl, dl
movzx edx, bl
movzx edx, byte [rsp + rdx + 0x300]
xor edx, 0xb
movzx ebx, byte [rsp + 0x305]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x300]
mov byte [rsp + 0x305], bpl
mov byte [rsp + rsi + 0x300], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x300]
xor esi, 0x87
movzx ebx, byte [rsp + 0x306]
add dil, bl
movzx ebp, dil
mov edi, ebp
movzx r14d, byte [rsp + rdi + 0x300]
mov byte [rsp + 0x306], r14b
mov byte [rsp + rdi + 0x300], bl
add r14b, bl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x300]
xor edi, 0x68
movzx ebx, byte [rsp + 0x307]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x300]
mov byte [rsp + 0x307], r15b
mov byte [rsp + r14 + 0x300], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x300]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x308]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x300]
mov byte [rsp + 0x308], r12b
mov byte [rsp + r15 + 0x300], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x300]
xor r14d, 0xca
mov dword [rsp + 0x2f8], 8
mov dword [rsp + 0x2fc], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rdi, 0x28
or rdi, rbx
shl rsi, 0x20
or rsi, rdi
shl edx, 0x18
or rdx, rsi
shl r8d, 0x10
or r8, rdx
shl r9d, 8
mov edx, r9d
or rdx, r8
or rdx, r10
mov r10, rdx
xor r10, qword [rsp + 0x60]
mov eax, dword [rax + r11 + 0x88]
mov r11d, eax
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xc8], rax
xor eax, eax
nop dword [rax]
mov edx, eax
mov byte [rsp + rax + 0x408], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140003770
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x400]
add r8b, bl
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xc8]
movzx esi, r8b
movzx edi, byte [rsp + rsi + 0x408]
mov byte [rsp + rdx + 0x400], dil
mov byte [rsp + rsi + 0x408], bl
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov rsi, rdx
inc rsi
mov rdx, rsi
cmp rsi, 0x108
jne 0x1400037a0
movzx eax, byte [rsp + 0x409]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x408]
mov byte [rsp + 0x409], r8b
mov byte [rsp + rax + 0x408], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x408]
xor rax, 0xd9
movzx r8d, byte [rsp + 0x40a]
mov r9b, r8b
mov sil, dl
lea edx, [r9 + rsi]
movzx edx, dl
mov r9d, edx
movzx ebx, byte [rsp + r9 + 0x408]
mov byte [rsp + 0x40a], bl
mov byte [rsp + r9 + 0x408], r8b
add bl, r8b
movzx r8d, bl
movzx r9d, byte [rsp + r8 + 0x408]
xor r9d, 0x78
movzx r8d, byte [rsp + 0x40b]
add dl, r8b
movzx edx, dl
mov esi, edx
movzx ebx, byte [rsp + rsi + 0x408]
mov byte [rsp + 0x40b], bl
mov byte [rsp + rsi + 0x408], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x408]
xor r8d, 0xe3
movzx ebx, byte [rsp + 0x40c]
add dl, bl
movzx esi, dl
mov edx, esi
movzx edi, byte [rsp + rdx + 0x408]
mov byte [rsp + 0x40c], dil
mov byte [rsp + rdx + 0x408], bl
add dil, bl
movzx edx, dil
movzx edx, byte [rsp + rdx + 0x408]
xor edx, 0xb
movzx ebx, byte [rsp + 0x40d]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x408]
mov byte [rsp + 0x40d], bpl
mov byte [rsp + rsi + 0x408], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x408]
xor esi, 0x87
movzx ebx, byte [rsp + 0x40e]
add dil, bl
movzx ebp, dil
mov edi, ebp
movzx r14d, byte [rsp + rdi + 0x408]
mov byte [rsp + 0x40e], r14b
mov byte [rsp + rdi + 0x408], bl
add r14b, bl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x408]
xor edi, 0x68
movzx ebx, byte [rsp + 0x40f]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x408]
mov byte [rsp + 0x40f], r15b
mov byte [rsp + r14 + 0x408], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x408]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x410]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x408]
mov byte [rsp + 0x410], r12b
mov byte [rsp + r15 + 0x408], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x408]
xor r14d, 0xca
mov dword [rsp + 0x400], 8
mov dword [rsp + 0x404], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rdi, 0x28
or rdi, rbx
shl rsi, 0x20
or rsi, rdi
shl edx, 0x18
or rdx, rsi
shl r8d, 0x10
or r8, rdx
shl r9d, 8
mov edx, r9d
or rdx, r8
or rdx, rax
xor rdx, qword [rsp + 0x60]
mov eax, dword [r10 + r11 + 0x1c]
add rax, rdx
mov qword [rsp + 0x78], rax
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xc0], rax
xor eax, eax
nop dword [rax + rax]
mov edx, eax
mov byte [rsp + rax + 0x510], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140003a50
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x508]
add r8b, bl
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xc0]
movzx esi, r8b
movzx edi, byte [rsp + rsi + 0x510]
mov byte [rsp + rdx + 0x508], dil
mov byte [rsp + rsi + 0x510], bl
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov rsi, rdx
inc rsi
mov rdx, rsi
cmp rsi, 0x108
jne 0x140003a80
movzx eax, byte [rsp + 0x511]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x510]
mov byte [rsp + 0x511], r8b
mov byte [rsp + rax + 0x510], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x510]
xor rax, 0xd9
movzx r8d, byte [rsp + 0x512]
mov r9b, r8b
mov sil, dl
lea edx, [r9 + rsi]
movzx edx, dl
mov r9d, edx
movzx ebx, byte [rsp + r9 + 0x510]
mov byte [rsp + 0x512], bl
mov byte [rsp + r9 + 0x510], r8b
add bl, r8b
movzx r8d, bl
movzx r9d, byte [rsp + r8 + 0x510]
xor r9d, 0x78
movzx r8d, byte [rsp + 0x513]
add dl, r8b
movzx edx, dl
mov esi, edx
movzx ebx, byte [rsp + rsi + 0x510]
mov byte [rsp + 0x513], bl
mov byte [rsp + rsi + 0x510], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x510]
xor r8d, 0xe3
movzx ebx, byte [rsp + 0x514]
add dl, bl
movzx esi, dl
mov edx, esi
movzx edi, byte [rsp + rdx + 0x510]
mov byte [rsp + 0x514], dil
mov byte [rsp + rdx + 0x510], bl
add dil, bl
movzx edx, dil
movzx edx, byte [rsp + rdx + 0x510]
xor edx, 0xb
movzx ebx, byte [rsp + 0x515]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x510]
mov byte [rsp + 0x515], bpl
mov byte [rsp + rsi + 0x510], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x510]
xor esi, 0x87
movzx ebx, byte [rsp + 0x516]
add dil, bl
movzx ebp, dil
mov edi, ebp
movzx r14d, byte [rsp + rdi + 0x510]
mov byte [rsp + 0x516], r14b
mov byte [rsp + rdi + 0x510], bl
add r14b, bl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x510]
xor edi, 0x68
movzx ebx, byte [rsp + 0x517]
add bpl, bl
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x510]
mov byte [rsp + 0x517], r15b
mov byte [rsp + r14 + 0x510], bl
add r15b, bl
movzx ebx, r15b
movzx ebx, byte [rsp + rbx + 0x510]
xor ebx, 0x9e
movzx r14d, byte [rsp + 0x518]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x510]
mov byte [rsp + 0x518], r12b
mov byte [rsp + r15 + 0x510], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x510]
xor r14d, 0xca
mov dword [rsp + 0x508], 8
mov dword [rsp + 0x50c], ebp
shl r14, 0x38
shl rbx, 0x30
or rbx, r14
shl rdi, 0x28
or rdi, rbx
shl rsi, 0x20
or rsi, rdi
shl edx, 0x18
or rdx, rsi
shl r8d, 0x10
or r8, rdx
shl r9d, 8
mov edx, r9d
or rdx, r8
or rdx, rax
xor rdx, qword [rsp + 0x60]
mov eax, dword [r10 + r11 + 0x20]
mov esi, eax
add rsi, rdx
mov qword [rsp + 0x90], rsi
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xb8], rax
xor eax, eax
nop dword [rax]
mov edx, eax
mov byte [rsp + rax + 0x618], al
mov rdx, rax
inc rdx
mov rax, rdx
cmp rdx, 0x100
jne 0x140003d30
xor eax, eax
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx ebx, byte [rsp + rdx + 0x610]
add r8b, bl
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xb8]
movzx edi, r8b
movzx ebp, byte [rsp + rdi + 0x618]
mov byte [rsp + rdx + 0x610], bpl
mov byte [rsp + rdi + 0x618], bl
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, eax
mov rdi, rdx
inc rdi
mov rdx, rdi
cmp rdi, 0x108
jne 0x140003d60
movzx eax, byte [rsp + 0x619]
mov edx, eax
movzx r8d, byte [rsp + rax + 0x618]
mov byte [rsp + 0x619], r8b
mov byte [rsp + rax + 0x618], al
add r8b, al
movzx eax, r8b
movzx eax, byte [rsp + rax + 0x618]
movzx r8d, byte [rsp + 0x61a]
mov r9b, r8b
mov dil, dl
lea edx, [r9 + rdi]
movzx r9d, dl
mov edx, r9d
movzx ebx, byte [rsp + rdx + 0x618]
mov byte [rsp + 0x61a], bl
mov byte [rsp + rdx + 0x618], r8b
add bl, r8b
movzx edx, bl
movzx edx, byte [rsp + rdx + 0x618]
movzx r8d, byte [rsp + 0x61b]
add r9b, r8b
movzx r9d, r9b
mov edi, r9d
movzx ebx, byte [rsp + rdi + 0x618]
mov byte [rsp + 0x61b], bl
mov byte [rsp + rdi + 0x618], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x618]
movzx ebx, byte [rsp + 0x61c]
add r9b, bl
movzx edi, r9b
mov r9d, edi
movzx ebp, byte [rsp + r9 + 0x618]
mov byte [rsp + 0x61c], bpl
mov byte [rsp + r9 + 0x618], bl
add bpl, bl
movzx r9d, bpl
movzx r9d, byte [rsp + r9 + 0x618]
movzx ebx, byte [rsp + 0x61d]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x618]
mov byte [rsp + 0x61d], bpl
mov byte [rsp + r14 + 0x618], bl
add bpl, bl
movzx ebx, bpl
movzx ebp, byte [rsp + rbx + 0x618]
movzx ebx, byte [rsp + 0x61e]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx r15d, byte [rsp + r14 + 0x618]
mov byte [rsp + 0x61e], r15b
mov byte [rsp + r14 + 0x618], bl
add r15b, bl
movzx ebx, r15b
movzx r14d, byte [rsp + rbx + 0x618]
movzx ebx, byte [rsp + 0x61f]
add dil, bl
movzx edi, dil
mov r15d, edi
movzx r12d, byte [rsp + r15 + 0x618]
mov byte [rsp + 0x61f], r12b
mov byte [rsp + r15 + 0x618], bl
add r12b, bl
movzx ebx, r12b
movzx r15d, byte [rsp + rbx + 0x618]
movzx ebx, byte [rsp + 0x620]
add dil, bl
movzx edi, dil
mov r12d, edi
movzx r13d, byte [rsp + r12 + 0x618]
mov byte [rsp + 0x620], r13b
mov byte [rsp + r12 + 0x618], bl
add r13b, bl
movzx ebx, r13b
movzx r12d, byte [rsp + rbx + 0x618]
mov dword [rsp + 0x610], 8
mov dword [rsp + 0x614], edi
mov edi, dword [r10 + r11 + 0x18]
mov esi, edi
xor ebx, ebx
test rsi, rsi
je 0x140004927
xor rax, 0xd9
xor edx, 0x78
xor r8d, 0xe3
xor r9d, 0xb
xor ebp, 0x87
mov r13d, ebp
xor r14d, 0x68
xor r15d, 0x9e
xor r12d, 0xca
shl r12, 0x38
shl r15, 0x30
or r15, r12
shl r14, 0x28
or r14, r15
shl r13, 0x20
or r13, r14
shl r9d, 0x18
or r9, r13
shl r8d, 0x10
or r8, r9
shl edx, 8
or rdx, r8
or rdx, rax
xor rdx, qword [rsp + 0x60]
mov eax, dword [r10 + r11 + 0x24]
add rax, rdx
mov qword [rsp + 0x70], rax
movabs rbp, 0x100000001b3
xor r11d, r11d
jmp 0x140004042
mov rdx, r11
inc rdx
mov r11, rdx
cmp rdx, rsi
je 0x140004927
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xb0], rax
xor edx, edx
nop word cs:[rax + rax]
mov r8d, edx
mov byte [rsp + rdx + 0x720], dl
mov r8, rdx
inc r8
mov rdx, r8
cmp r8, 0x100
jne 0x140004060
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
movzx r10d, byte [rsp + rdx + 0x718]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xb0]
movzx r15d, r8b
movzx r12d, byte [rsp + r15 + 0x720]
mov byte [rsp + rdx + 0x718], r12b
mov byte [rsp + r15 + 0x720], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ebx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x140004090
movzx edx, byte [rsp + 0x721]
mov r8d, edx
movzx r9d, byte [rsp + rdx + 0x720]
mov byte [rsp + 0x721], r9b
mov byte [rsp + rdx + 0x720], dl
add r9b, dl
movzx edx, r9b
movzx edx, byte [rsp + rdx + 0x720]
mov r9d, edx
xor r9, 0xd9
movzx edx, byte [rsp + 0x722]
mov r10b, dl
mov r15b, r8b
lea r8d, [r10 + r15]
movzx r10d, r8b
mov r8d, r10d
movzx r15d, byte [rsp + r8 + 0x720]
mov byte [rsp + 0x722], r15b
mov byte [rsp + r8 + 0x720], dl
add r15b, dl
movzx edx, r15b
movzx r8d, byte [rsp + rdx + 0x720]
xor r8d, 0x78
movzx edx, byte [rsp + 0x723]
add r10b, dl
movzx r10d, r10b
mov r15d, r10d
movzx r12d, byte [rsp + r15 + 0x720]
mov byte [rsp + 0x723], r12b
mov byte [rsp + r15 + 0x720], dl
add r12b, dl
movzx edx, r12b
movzx edx, byte [rsp + rdx + 0x720]
xor edx, 0xe3
movzx r15d, byte [rsp + 0x724]
add r10b, r15b
movzx r10d, r10b
mov r12d, r10d
movzx r13d, byte [rsp + r12 + 0x720]
mov byte [rsp + 0x724], r13b
mov byte [rsp + r12 + 0x720], r15b
add r13b, r15b
movzx r15d, r13b
movzx r13d, byte [rsp + r15 + 0x720]
xor r13d, 0xb
movzx r15d, byte [rsp + 0x725]
add r10b, r15b
movzx r12d, r10b
mov r10d, r12d
movzx eax, byte [rsp + r10 + 0x720]
mov byte [rsp + 0x725], al
mov byte [rsp + r10 + 0x720], r15b
add al, r15b
movzx eax, al
movzx eax, byte [rsp + rax + 0x720]
xor eax, 0x87
mov r10d, eax
movzx eax, byte [rsp + 0x726]
mov r15d, r12d
add r15b, al
movzx r12d, r15b
mov r15d, r12d
movzx ecx, byte [rsp + r15 + 0x720]
mov byte [rsp + 0x726], cl
mov byte [rsp + r15 + 0x720], al
add cl, al
movzx eax, cl
movzx eax, byte [rsp + rax + 0x720]
xor eax, 0x68
mov r15d, eax
movzx eax, byte [rsp + 0x727]
mov ecx, r12d
add cl, al
movzx ecx, cl
mov r12d, ecx
movzx r14d, byte [rsp + r12 + 0x720]
mov byte [rsp + 0x727], r14b
mov byte [rsp + r12 + 0x720], al
add r14b, al
movzx eax, r14b
movzx eax, byte [rsp + rax + 0x720]
xor eax, 0x9e
movzx r14d, byte [rsp + 0x728]
add cl, r14b
movzx r12d, cl
mov ecx, r12d
movzx edi, byte [rsp + rcx + 0x720]
mov byte [rsp + 0x728], dil
mov byte [rsp + rcx + 0x720], r14b
add dil, r14b
movzx ecx, dil
movzx ecx, byte [rsp + rcx + 0x720]
xor ecx, 0xca
shl rcx, 0x38
shl rax, 0x30
or rax, rcx
shl r15, 0x28
or r15, rax
shl r10, 0x20
or r10, r15
shl r13d, 0x18
mov eax, r13d
or rax, r10
shl edx, 0x10
mov ecx, edx
or rcx, rax
shl r8d, 8
mov eax, r8d
or rax, rcx
or rax, r9
mov r8, rax
xor r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + r11*4]
mov r9d, eax
movzx edx, byte [r8 + r9]
test dl, dl
je 0x140004030
add r8, r9
inc r8
mov r9d, edx
movabs r10, 0x172dbc136d98310a
nop word cs:[rax + rax]
movsx rdx, r9b
xor rdx, r10
imul rdx, rbp
movzx eax, byte [r8]
inc r8
mov r9d, eax
mov r10, rdx
test al, al
jne 0x140004360
movabs rax, 0x95f98ae85ff50a5b
cmp rdx, rax
jne 0x140004030
mov dword [rsp + 0x71c], r12d
mov dword [rsp + 0x718], 8
movabs rax, 0x59de6b6e3d778a2e
mov qword [rsp + 0xa8], rax
xor eax, eax
nop word cs:[rax + rax]
mov ecx, eax
mov byte [rsp + rax + 0x828], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x1400043c0
xor eax, eax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
movabs r15, 0xca9e68870be378d9
nop
mov ecx, r8d
movzx r8d, byte [rsp + rdx + 0x828]
add cl, r8b
movsxd r9, r9d
add cl, byte [rsp + r9 + 0xa8]
movzx r10d, cl
movzx ebx, byte [rsp + r10 + 0x828]
mov byte [rsp + rdx + 0x828], bl
mov byte [rsp + r10 + 0x828], 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 0x1400043f0
movzx eax, byte [rsp + 0x829]
mov ecx, eax
movzx edx, byte [rsp + rax + 0x828]
mov byte [rsp + 0x829], dl
mov byte [rsp + rax + 0x828], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x828]
xor rax, 0xd9
movzx edx, byte [rsp + 0x82a]
mov r8b, dl
mov r9b, cl
lea ecx, [r8 + r9]
movzx ecx, cl
mov r8d, ecx
movzx r9d, byte [rsp + r8 + 0x828]
mov byte [rsp + 0x82a], r9b
mov byte [rsp + r8 + 0x828], dl
add r9b, dl
movzx edx, r9b
movzx r8d, byte [rsp + rdx + 0x828]
xor r8d, 0x78
movzx edx, byte [rsp + 0x82b]
add cl, dl
movzx ecx, cl
mov r9d, ecx
movzx r10d, byte [rsp + r9 + 0x828]
mov byte [rsp + 0x82b], r10b
mov byte [rsp + r9 + 0x828], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0x828]
xor edx, 0xe3
movzx r9d, byte [rsp + 0x82c]
add cl, r9b
movzx ecx, cl
mov r10d, ecx
movzx ebx, byte [rsp + r10 + 0x828]
mov byte [rsp + 0x82c], bl
mov byte [rsp + r10 + 0x828], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x828]
xor r9d, 0xb
movzx r10d, byte [rsp + 0x82d]
add cl, r10b
movzx ecx, cl
mov esi, ecx
movzx ebx, byte [rsp + rsi + 0x828]
mov byte [rsp + 0x82d], bl
mov byte [rsp + rsi + 0x828], r10b
add bl, r10b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x828]
xor r10d, 0x87
movzx ebx, byte [rsp + 0x82e]
add cl, bl
movzx ecx, cl
mov esi, ecx
movzx edi, byte [rsp + rsi + 0x828]
mov byte [rsp + 0x82e], dil
mov byte [rsp + rsi + 0x828], bl
add dil, bl
movzx esi, dil
movzx esi, byte [rsp + rsi + 0x828]
xor esi, 0x68
movzx ebx, byte [rsp + 0x82f]
add cl, bl
movzx ecx, cl
mov edi, ecx
movzx ebp, byte [rsp + rdi + 0x828]
mov byte [rsp + 0x82f], bpl
mov byte [rsp + rdi + 0x828], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0x828]
xor edi, 0x9e
movzx ebx, byte [rsp + 0x830]
add cl, bl
movzx ecx, cl
movzx ebp, byte [rsp + rcx + 0x828]
mov byte [rsp + 0x830], bpl
mov byte [rsp + rcx + 0x828], bl
add bpl, bl
movzx ecx, bpl
movzx ecx, byte [rsp + rcx + 0x828]
xor ecx, 0xca
shl rcx, 0x38
shl rdi, 0x30
or rdi, rcx
shl rsi, 0x28
or rsi, rdi
shl r10, 0x20
or r10, rsi
shl r9d, 0x18
mov ecx, r9d
or rcx, r10
shl edx, 0x10
or rdx, rcx
shl r8d, 8
mov ecx, r8d
mov r10, rcx
or r10, rdx
or r10, rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + r11*2]
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax*4]
mov qword [rsp + 0xa0], r15
xor edx, edx
nop
mov ecx, edx
mov byte [rsp + rdx + 0x930], dl
mov rcx, rdx
inc rcx
mov rdx, rcx
cmp rcx, 0x100
jne 0x140004680
xor r10, qword [rsp + 0x60]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
movzx r11d, byte [rsp + rdx + 0x930]
add r8b, r11b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0xa0]
movzx esi, r8b
movzx ebx, byte [rsp + rsi + 0x930]
mov byte [rsp + rdx + 0x930], bl
mov byte [rsp + rsi + 0x930], r11b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r11, rdx
inc r11
mov rdx, r11
cmp r11, 0x100
jne 0x1400046b0
movzx ecx, byte [rsp + 0x931]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0x930]
mov byte [rsp + 0x931], r8b
mov byte [rsp + rcx + 0x930], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0x930]
xor rcx, 0x2e
movzx r8d, byte [rsp + 0x932]
mov r9b, r8b
mov r11b, dl
lea edx, [r9 + r11]
movzx edx, dl
mov r9d, edx
movzx r11d, byte [rsp + r9 + 0x930]
mov byte [rsp + 0x932], r11b
mov byte [rsp + r9 + 0x930], r8b
add r11b, r8b
movzx r8d, r11b
movzx r9d, byte [rsp + r8 + 0x930]
xor r9d, 0x8a
movzx r8d, byte [rsp + 0x933]
add dl, r8b
movzx edx, dl
mov r11d, edx
movzx ebx, byte [rsp + r11 + 0x930]
mov byte [rsp + 0x933], bl
mov byte [rsp + r11 + 0x930], r8b
add bl, r8b
movzx r8d, bl
movzx r8d, byte [rsp + r8 + 0x930]
xor r8d, 0x77
movzx r11d, byte [rsp + 0x934]
add dl, r11b
movzx esi, dl
mov edx, esi
movzx ebx, byte [rsp + rdx + 0x930]
mov byte [rsp + 0x934], bl
mov byte [rsp + rdx + 0x930], r11b
add bl, r11b
movzx edx, bl
movzx edx, byte [rsp + rdx + 0x930]
xor edx, 0x3d
movzx r11d, byte [rsp + 0x935]
mov ebx, esi
add bl, r11b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0x930]
mov byte [rsp + 0x935], bl
mov byte [rsp + rdi + 0x930], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0x930]
xor r11d, 0x6e
movzx ebx, byte [rsp + 0x936]
add sil, bl
movzx edi, sil
mov esi, edi
movzx ebp, byte [rsp + rsi + 0x930]
mov byte [rsp + 0x936], bpl
mov byte [rsp + rsi + 0x930], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0x930]
xor esi, 0x6b
movzx ebx, byte [rsp + 0x937]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x930]
mov byte [rsp + 0x937], bpl
mov byte [rsp + r14 + 0x930], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x930]
xor ebx, 0xde
movzx ebp, byte [rsp + 0x938]
add dil, bpl
movzx edi, dil
movzx r14d, byte [rsp + rdi + 0x930]
mov byte [rsp + 0x938], r14b
mov byte [rsp + rdi + 0x930], bpl
add r14b, bpl
movzx edi, r14b
movzx edi, byte [rsp + rdi + 0x930]
xor edi, 0x59
add r10, rax
shl rdi, 0x38
shl rbx, 0x30
or rbx, rdi
shl rsi, 0x28
or rsi, rbx
shl r11, 0x20
or r11, rsi
shl edx, 0x18
mov eax, edx
or rax, r11
shl r8d, 0x10
mov edx, r8d
or rdx, rax
shl r9d, 8
mov eax, r9d
or rax, rdx
or rax, rcx
xor rax, r10
jmp 0x140004933
xor eax, eax
movabs r15, 0xca9e68870be378d9
mov qword [rsp + 0x98], r15
xor ecx, ecx
nop dword [rax]
mov edx, ecx
mov byte [rsp + rcx + 0xa38], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x140004940
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, byte [rsp + rdx + 0xa38]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x98]
movzx r11d, r8b
movzx ebx, byte [rsp + r11 + 0xa38]
mov byte [rsp + rdx + 0xa38], bl
mov byte [rsp + r11 + 0xa38], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x100
jne 0x140004970
movzx ecx, byte [rsp + 0xa39]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0xa38]
mov byte [rsp + 0xa39], r8b
mov byte [rsp + rcx + 0xa38], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0xa38]
xor rcx, 0x2e
movzx r8d, byte [rsp + 0xa3a]
mov r9b, r8b
mov r10b, dl
lea edx, [r9 + r10]
movzx edx, dl
mov r9d, edx
movzx r10d, byte [rsp + r9 + 0xa38]
mov byte [rsp + 0xa3a], r10b
mov byte [rsp + r9 + 0xa38], r8b
add r10b, r8b
movzx r8d, r10b
movzx r8d, byte [rsp + r8 + 0xa38]
xor r8d, 0x8a
movzx r9d, byte [rsp + 0xa3b]
add dl, r9b
movzx r10d, dl
mov edx, r10d
movzx r11d, byte [rsp + rdx + 0xa38]
mov byte [rsp + 0xa3b], r11b
mov byte [rsp + rdx + 0xa38], r9b
add r11b, r9b
movzx edx, r11b
movzx edx, byte [rsp + rdx + 0xa38]
xor edx, 0x77
movzx r9d, byte [rsp + 0xa3c]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0xa38]
mov byte [rsp + 0xa3c], bl
mov byte [rsp + r11 + 0xa38], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0xa38]
xor r9d, 0x3d
movzx r11d, byte [rsp + 0xa3d]
add r10b, r11b
movzx esi, r10b
mov r10d, esi
movzx ebx, byte [rsp + r10 + 0xa38]
mov byte [rsp + 0xa3d], bl
mov byte [rsp + r10 + 0xa38], r11b
add bl, r11b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0xa38]
xor r10d, 0x6e
movzx r11d, byte [rsp + 0xa3e]
mov ebx, esi
add bl, r11b
movzx esi, bl
mov edi, esi
movzx ebx, byte [rsp + rdi + 0xa38]
mov byte [rsp + 0xa3e], bl
mov byte [rsp + rdi + 0xa38], r11b
add bl, r11b
movzx r11d, bl
movzx r11d, byte [rsp + r11 + 0xa38]
xor r11d, 0x6b
movzx ebx, byte [rsp + 0xa3f]
add sil, bl
movzx esi, sil
mov edi, esi
movzx ebp, byte [rsp + rdi + 0xa38]
mov byte [rsp + 0xa3f], bpl
mov byte [rsp + rdi + 0xa38], bl
add bpl, bl
movzx edi, bpl
movzx edi, byte [rsp + rdi + 0xa38]
xor edi, 0xde
movzx ebx, byte [rsp + 0xa40]
add sil, bl
movzx esi, sil
movzx ebp, byte [rsp + rsi + 0xa38]
mov byte [rsp + 0xa40], bpl
mov byte [rsp + rsi + 0xa38], bl
add bpl, bl
movzx esi, bpl
movzx esi, byte [rsp + rsi + 0xa38]
xor esi, 0x59
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 edx, 0x10
or rdx, r9
shl r8d, 8
or r8, rdx
or r8, rcx
mov r10, r8
xor r10, rax
mov eax, dword [rsp + 0xbd8]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xbd0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xbc8]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xbc0]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xbb8]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xbb0]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xba8]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x6c]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0xba0]
call r10
nop
add rsp, 0xb38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret