Function at 0x140c85ef0
Capabilities:
Encrypt data using camellia

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x14100f500]
xor rax, rsp
mov qword [rbp + 0x40], rax
xorps xmm0, xmm0
mov r15d, r8d
lea rsi, [rcx + 4]
mov dword [rsp + 0x60], r15d
mov rdi, rdx
mov rbx, rcx
mov rcx, rsi
xor edx, edx
mov r8d, 0x110
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
call fcn.140da1bb0
mov eax, r15d
sub eax, 0x80
je 0x140c85f77
sub eax, 0x40
je 0x140c85f6a
cmp eax, 0x40
je 0x140c85f6a
mov eax, 0xffffffdc
jmp 0x140c874e7
mov eax, 4
mov r14d, 1
jmp 0x140c85f7f
xor r14d, r14d
mov eax, 3
mov qword [rsp + 0x188], r12
mov r8, r15
shr r8, 3
mov qword [rsp + 0x190], r13
mov dword [rbx], eax
test r8, r8
je 0x140c85faa
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140da1510
movzx edx, byte [rbp - 0x79]
movzx r8d, byte [rbp - 0x7c]
movzx r9d, byte [rbp - 0x80]
cmp r15d, 0xc0
jne 0x140c86008
movzx r15d, byte [rbp - 0x7f]
movzx eax, r8b
movzx r12d, byte [rbp - 0x7e]
not al
movzx r13d, byte [rbp - 0x7d]
movzx ecx, r9b
mov byte [rsp + 0x40], al
not cl
movzx eax, byte [rbp - 0x7b]
not r15b
not al
not r12b
mov byte [rsp + 0x41], al
not r13b
movzx eax, byte [rbp - 0x7a]
not al
mov byte [rsp + 0x42], al
movzx eax, dl
not al
mov byte [rsp + 0x43], al
jmp 0x140c8603b
movzx eax, byte [rbp - 0x71]
movzx r13d, byte [rbp - 0x75]
movzx r12d, byte [rbp - 0x76]
movzx r15d, byte [rbp - 0x77]
movzx ecx, byte [rbp - 0x78]
mov byte [rsp + 0x43], al
movzx eax, byte [rbp - 0x72]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x73]
mov byte [rsp + 0x41], al
movzx eax, byte [rbp - 0x74]
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x71]
xorps xmm0, xmm0
movzx edi, byte [rsp + 0x70]
movzx ebx, byte [rsp + 0x74]
movzx r11d, byte [rsp + 0x78]
movzx r10d, byte [rsp + 0x7c]
shl edi, 8
or edi, eax
shl ebx, 8
movzx eax, byte [rsp + 0x72]
shl r11d, 8
shl r10d, 8
shl r9d, 8
shl edi, 8
or edi, eax
shl r8d, 8
movzx eax, byte [rsp + 0x73]
movups xmmword [rbp - 0x40], xmm0
shl edi, 8
or edi, eax
mov dword [rbp + 0x10], 0xa09e667f
movzx eax, byte [rsp + 0x75]
or ebx, eax
mov dword [rbp + 0x14], 0x3bcc908b
movzx eax, byte [rsp + 0x76]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x18], 0xb67ae858
movzx eax, byte [rsp + 0x77]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x1c], 0x4caa73b2
movzx eax, byte [rsp + 0x79]
or r11d, eax
mov dword [rbp + 0x20], 0xc6ef372f
movzx eax, byte [rsp + 0x7a]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x24], 0xe94f82be
movzx eax, byte [rsp + 0x7b]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x28], 0x54ff53a5
movzx eax, byte [rsp + 0x7d]
or r10d, eax
mov dword [rbp + 0x2c], 0xf1d36f1c
movzx eax, byte [rsp + 0x7e]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x30], 0x10e527fa
movzx eax, byte [rsp + 0x7f]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x34], 0xde682d1d
movzx eax, byte [rbp - 0x7f]
or r9d, eax
mov dword [rbp + 0x38], 0xb05688c2
movzx eax, byte [rbp - 0x7e]
shl r9d, 8
or r9d, eax
mov dword [rbp + 0x3c], 0xb3e6c1fd
movzx eax, byte [rbp - 0x7d]
shl r9d, 8
or r9d, eax
mov dword [rbp - 0x40], edi
movzx eax, byte [rbp - 0x7b]
or r8d, eax
mov dword [rbp - 0x3c], ebx
movzx eax, byte [rbp - 0x7a]
shl r8d, 8
or r8d, eax
mov dword [rbp - 0x38], r11d
movups xmmword [rbp - 0x30], xmm0
shl r8d, 8
or r8d, edx
mov dword [rbp - 0x34], r10d
mov dword [rbp - 0x2c], r8d
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x30], r9d
movups xmmword [rbp - 0x10], xmm0
movzx edx, cl
movzx ecx, byte [rsp + 0x40]
xor r8d, ebx
shl edx, 8
xor edi, r9d
shl ecx, 8
movzx eax, r15b
or edx, eax
mov dword [rbp - 0x1c], r8d
shl edx, 8
lea r8, [rbp - 0x18]
movzx eax, r12b
or edx, eax
mov dword [rbp - 0x20], edi
shl edx, 8
movzx eax, r13b
or edx, eax
movzx eax, byte [rsp + 0x41]
or ecx, eax
mov dword [rbp - 0x28], edx
movzx eax, byte [rsp + 0x42]
xor edx, r11d
shl ecx, 8
or ecx, eax
mov dword [rbp - 0x18], edx
movzx eax, byte [rsp + 0x43]
lea rdx, [rbp + 0x10]
shl ecx, 8
or ecx, eax
xor r10d, ecx
mov dword [rbp - 0x24], ecx
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x14], r10d
call fcn.140c85210
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x18]
call fcn.140c85210
movdqu xmm0, xmmword [rbp - 0x40]
lea r8, [rbp - 0x18]
xorps xmm0, xmmword [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x20]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140c85210
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x18]
call fcn.140c85210
cmp dword [rsp + 0x60], 0x80
jbe 0x140c86293
mov eax, dword [rbp - 0x20]
lea r8, [rbp - 8]
xor eax, dword [rbp - 0x30]
lea rdx, [rbp + 0x30]
mov dword [rbp - 0x10], eax
lea rcx, [rbp - 0x10]
mov eax, dword [rbp - 0x1c]
xor eax, dword [rbp - 0x2c]
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x18]
xor eax, dword [rbp - 0x28]
mov dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
xor eax, dword [rbp - 0x24]
mov dword [rbp - 4], eax
call fcn.140c85210
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 8]
call fcn.140c85210
movups xmm0, xmmword [rbp - 0x40]
lea r11, [0x140000000]
movups xmmword [rsp + 0x70], xmm0
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x74]
mov r15d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x7c]
mov ecx, r14d
shl rcx, 4
mov qword [rsp + 0x58], rcx
cmp byte [r11 + rcx + 0xe5faa0], 0
je 0x140c8630d
mov edx, r12d
mov eax, r13d
shr eax, 0x11
mov r8d, r15d
shl edx, 0xf
mov r9d, edi
xor edx, eax
shr r8d, 0x11
shr r9d, 0x11
mov eax, r13d
shl eax, 0xf
mov r10d, edi
xor r8d, eax
shl r10d, 0xf
mov eax, r15d
shl eax, 0xf
xor r9d, eax
mov eax, r12d
shr eax, 0x11
xor r10d, eax
jmp 0x140c8631c
mov r10d, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x78]
mov r8d, dword [rbp - 0x7c]
mov edx, dword [rbp - 0x80]
cmp byte [r11 + rcx + 0xe5faa1], 0
je 0x140c86364
mov ebx, r15d
shr edi, 2
shr ebx, 2
mov r11d, r12d
shl r11d, 0x1e
mov eax, r13d
shr eax, 2
xor r11d, eax
mov eax, r13d
shl eax, 0x1e
xor ebx, eax
mov eax, r15d
mov r15d, dword [rsp + 0x7c]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, r12d
shr eax, 2
xor r15d, eax
jmp 0x140c86372
mov r15d, dword [rbp - 0x64]
mov edi, dword [rbp - 0x68]
mov ebx, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x70]
lea rax, [0x140000000]
cmp byte [rcx + rax + 0xe5faa2], 0
je 0x140c863d2
mov ecx, dword [rsp + 0x7c]
mov eax, r13d
mov r13d, dword [rsp + 0x78]
shr eax, 0x13
shr ecx, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x74]
shl eax, 0xd
xor r13d, eax
mov eax, dword [rsp + 0x78]
shl eax, 0xd
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [rsp + 0x44], ecx
mov rcx, qword [rsp + 0x58]
jmp 0x140c863e8
mov eax, dword [rbp - 0x54]
mov r13d, dword [rbp - 0x5c]
mov r12d, dword [rbp - 0x60]
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x34], eax
lea rax, [0x140000000]
cmp byte [rcx + rax + 0xe5faa3], 0
je 0x140c8644b
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x74]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x78]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x7c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
jmp 0x140c86467
mov eax, dword [rbp - 0x44]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp - 0x4c]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x38], eax
mov eax, r14d
lea rcx, [rax + rax*4]
shl rcx, 4
lea rax, [0x140000000]
mov qword [rsp + 0x20], rcx
movsx rax, byte [rcx + rax + 0xe5fac0]
cmp al, 0xff
je 0x140c86497
mov ecx, dword [rsp + 0x70]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xe5fac1]
cmp al, 0xff
je 0x140c864b7
mov ecx, dword [rsp + 0x74]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xe5fac2]
cmp al, 0xff
je 0x140c864d7
mov ecx, dword [rsp + 0x78]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xe5fac3]
cmp al, 0xff
je 0x140c864f7
mov ecx, dword [rsp + 0x7c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xe5fac4]
cmp al, 0xff
je 0x140c8650e
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xe5fac5]
cmp al, 0xff
je 0x140c86526
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fac6]
cmp al, 0xff
je 0x140c8653e
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fac7]
cmp al, 0xff
je 0x140c86556
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fac8]
cmp al, 0xff
je 0x140c8656e
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fac9]
cmp al, 0xff
je 0x140c86585
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faca]
cmp al, 0xff
je 0x140c8659c
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5facb]
cmp al, 0xff
je 0x140c865b4
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5facc]
cmp al, 0xff
je 0x140c865cc
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5facd]
cmp al, 0xff
je 0x140c865e4
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5face]
cmp al, 0xff
je 0x140c86604
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5facf]
cmp al, 0xff
je 0x140c86624
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad0]
cmp al, 0xff
je 0x140c86644
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad1]
cmp al, 0xff
je 0x140c86664
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad2]
cmp al, 0xff
je 0x140c86684
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad3]
cmp al, 0xff
je 0x140c8669f
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x60], 0x80
jbe 0x140c86a9d
movups xmm2, xmmword [rbp - 0x30]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x58]
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movdqa xmm1, xmm2
movd dword [rsp + 0x2c], xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
cmp byte [rax + rcx + 0xe5faa4], 0
psrldq xmm1, 8
movd dword [rsp + 0x3c], xmm0
movd dword [rsp + 0x30], xmm1
movd dword [rsp + 0x28], xmm2
je 0x140c86748
mov eax, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x2c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x3c]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x30]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x28]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faa5], 0
je 0x140c867a4
mov eax, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x2c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x3c]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x30]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x28]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faa6], 0
je 0x140c86808
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x2c]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x30]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x3c]
shl eax, 0xd
xor r13d, eax
mov eax, ecx
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x28]
shr eax, 0x13
shl ecx, 0xd
xor ecx, eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x44], ecx
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faa7], 0
mov rcx, qword [rsp + 0x20]
je 0x140c86875
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x28]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x2c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x2c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad4]
cmp al, 0xff
je 0x140c86895
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad5]
cmp al, 0xff
je 0x140c868b5
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad6]
cmp al, 0xff
je 0x140c868d5
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad7]
cmp al, 0xff
je 0x140c868f5
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad8]
cmp al, 0xff
je 0x140c8690c
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fad9]
cmp al, 0xff
je 0x140c86924
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fada]
cmp al, 0xff
je 0x140c8693c
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fadb]
cmp al, 0xff
je 0x140c86954
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fadc]
cmp al, 0xff
je 0x140c8696c
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fadd]
cmp al, 0xff
je 0x140c86983
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fade]
cmp al, 0xff
je 0x140c8699a
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fadf]
cmp al, 0xff
je 0x140c869b2
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae0]
cmp al, 0xff
je 0x140c869ca
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae1]
cmp al, 0xff
je 0x140c869e2
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae2]
cmp al, 0xff
je 0x140c86a02
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae3]
cmp al, 0xff
je 0x140c86a22
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae4]
cmp al, 0xff
je 0x140c86a42
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae5]
cmp al, 0xff
je 0x140c86a62
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae6]
cmp al, 0xff
je 0x140c86a82
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae7]
cmp al, 0xff
je 0x140c86a9d
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rsp + 0x70], xmm0
cmp byte [rax + rcx + 0xe5faa8], 0
je 0x140c86b0a
mov eax, dword [rsp + 0x74]
mov edx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x7c]
mov r10d, dword [rsp + 0x7c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x74]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x78]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x70]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faa9], 0
je 0x140c86b66
mov eax, dword [rsp + 0x74]
mov r11d, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x78]
mov edi, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0x7c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x74]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x78]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x70]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faaa], 0
je 0x140c86bca
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x78]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x74]
shl eax, 0xd
xor r13d, eax
mov eax, ecx
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x70]
shr eax, 0x13
shl ecx, 0xd
xor ecx, eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x44], ecx
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faab], 0
mov rcx, qword [rsp + 0x20]
je 0x140c86c37
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x70]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x74]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x74]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x7c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae8]
cmp al, 0xff
je 0x140c86c57
mov ecx, dword [rsp + 0x70]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fae9]
cmp al, 0xff
je 0x140c86c77
mov ecx, dword [rsp + 0x74]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faea]
cmp al, 0xff
je 0x140c86c97
mov ecx, dword [rsp + 0x78]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faeb]
cmp al, 0xff
je 0x140c86cb7
mov ecx, dword [rsp + 0x7c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faec]
cmp al, 0xff
je 0x140c86cce
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faed]
cmp al, 0xff
je 0x140c86ce6
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faee]
cmp al, 0xff
je 0x140c86cfe
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faef]
cmp al, 0xff
je 0x140c86d16
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf0]
cmp al, 0xff
je 0x140c86d2e
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf1]
cmp al, 0xff
je 0x140c86d45
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf2]
cmp al, 0xff
je 0x140c86d5c
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf3]
cmp al, 0xff
je 0x140c86d74
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf4]
cmp al, 0xff
je 0x140c86d8c
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf5]
cmp al, 0xff
je 0x140c86da4
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf6]
cmp al, 0xff
je 0x140c86dc4
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf7]
cmp al, 0xff
je 0x140c86de4
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf8]
cmp al, 0xff
je 0x140c86e04
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faf9]
cmp al, 0xff
je 0x140c86e24
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fafa]
cmp al, 0xff
je 0x140c86e44
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fafb]
cmp al, 0xff
je 0x140c86e5f
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x60], 0x80
jbe 0x140c871f0
movups xmm2, xmmword [rbp - 0x10]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x58]
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movdqa xmm1, xmm2
movd dword [rsp + 0x2c], xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
cmp byte [rax + rcx + 0xe5faac], 0
psrldq xmm1, 8
movd dword [rsp + 0x30], xmm0
movd dword [rsp + 0x3c], xmm1
movd dword [rsp + 0x28], xmm2
je 0x140c86f08
mov eax, dword [rsp + 0x30]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x2c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x30]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x3c]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x28]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faad], 0
je 0x140c86f64
mov eax, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x2c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x30]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x3c]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x28]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faae], 0
je 0x140c86fcc
mov eax, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x30]
shl eax, 0xd
xor r13d, eax
mov eax, dword [rsp + 0x2c]
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x3c]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x2c]
shl eax, 0xd
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x28]
shr eax, 0x13
xor dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xe5faaf], 0
mov rcx, qword [rsp + 0x20]
je 0x140c8703a
mov eax, dword [rsp + 0x28]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr eax, 4
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x30]
shl eax, 0x1c
xor dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x2c]
shr eax, 4
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x3c]
shl eax, 0x1c
xor dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x2c]
shl eax, 0x1c
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x28]
shr eax, 4
xor dword [rsp + 0x50], eax
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fafc]
cmp al, 0xff
je 0x140c8705a
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fafd]
cmp al, 0xff
je 0x140c8707a
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fafe]
cmp al, 0xff
je 0x140c8709a
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5faff]
cmp al, 0xff
je 0x140c870ba
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xe5fb00]
cmp al, 0xff
je 0x140c870d1
mov dword [rsi + rax*4], edx
lea rdx, [0x140000000]
movsx rax, byte [rdx + rcx + 0xe5fb01]
cmp al, 0xff
je 0x140c870e9
mov dword [rsi + rax*4], r8d
movsx rax, byte [rdx + rcx + 0xe5fb02]
cmp al, 0xff
je 0x140c870fa
mov dword [rsi + rax*4], r9d
lea r9, [0x140000000]
movsx rax, byte [r9 + rcx + 0xe5fb03]
cmp al, 0xff
je 0x140c87112
mov dword [rsi + rax*4], r10d
movsx rax, byte [r9 + rcx + 0xe5fb04]
cmp al, 0xff
je 0x140c87123
mov dword [rsi + rax*4], r11d
movsx rax, byte [r9 + rcx + 0xe5fb05]
cmp al, 0xff
je 0x140c87133
mov dword [rsi + rax*4], ebx
movsx rax, byte [r9 + rcx + 0xe5fb06]
cmp al, 0xff
je 0x140c87143
mov dword [rsi + rax*4], edi
movsx rax, byte [r9 + rcx + 0xe5fb07]
cmp al, 0xff
je 0x140c87154
mov dword [rsi + rax*4], r15d
movsx rax, byte [r9 + rcx + 0xe5fb08]
cmp al, 0xff
je 0x140c87165
mov dword [rsi + rax*4], r12d
movsx rax, byte [r9 + rcx + 0xe5fb09]
cmp al, 0xff
je 0x140c87176
mov dword [rsi + rax*4], r13d
movsx rax, byte [r9 + rcx + 0xe5fb0a]
cmp al, 0xff
je 0x140c8718a
mov edx, dword [rsp + 0x34]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xe5fb0b]
cmp al, 0xff
je 0x140c8719e
mov edx, dword [rsp + 0x44]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xe5fb0c]
cmp al, 0xff
je 0x140c871b2
mov edx, dword [rsp + 0x38]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xe5fb0d]
cmp al, 0xff
je 0x140c871c6
mov edx, dword [rsp + 0x48]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xe5fb0e]
cmp al, 0xff
je 0x140c871da
mov edx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xe5fb0f]
cmp al, 0xff
je 0x140c871f7
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
jmp 0x140c871f7
lea r9, [0x140000000]
mov r13, qword [rsp + 0x190]
mov r12, qword [rsp + 0x188]
mov eax, r14d
lea rax, [rax + rax*4]
lea r8, [rax*4]
movsx rax, byte [r8 + r9 + 0xe5fb60]
cmp al, 0xff
je 0x140c87234
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x80], eax
movsx rax, byte [r9 + r8 + 0xe5fb61]
cmp al, 0xff
je 0x140c87252
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x84], eax
movsx rax, byte [r9 + r8 + 0xe5fb62]
cmp al, 0xff
je 0x140c87270
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x88], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb63]
cmp al, 0xff
je 0x140c87295
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x8c], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb64]
cmp al, 0xff
je 0x140c872ba
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x90], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb65]
cmp al, 0xff
je 0x140c872df
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x94], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb66]
cmp al, 0xff
je 0x140c87304
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x98], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb67]
cmp al, 0xff
je 0x140c87329
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x9c], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb68]
cmp al, 0xff
je 0x140c8734e
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb69]
cmp al, 0xff
je 0x140c87373
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6a]
cmp al, 0xff
je 0x140c87398
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6b]
cmp al, 0xff
je 0x140c873bd
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xac], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6c]
cmp al, 0xff
je 0x140c873e2
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6d]
cmp al, 0xff
je 0x140c87407
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6e]
cmp al, 0xff
je 0x140c8742c
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb6f]
cmp al, 0xff
je 0x140c87451
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xbc], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb70]
cmp al, 0xff
je 0x140c87476
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb71]
cmp al, 0xff
je 0x140c8749b
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb72]
cmp al, 0xff
je 0x140c874c0
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xe5fb73]
cmp al, 0xff
je 0x140c874e5
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xcc], eax
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140cd9320
mov rbx, qword [rsp + 0x198]
add rsp, 0x150
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret