Function at 0x14008ee30
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
xor ebp, ebp
mov rsi, r8
mov rdi, rcx
cmp edx, 0xd2
jg 0x14008f5a7
je 0x14008f591
lea eax, [rdx - 3]
cmp eax, 0xcc
ja case.0x14009069c.20026
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x909e8]
mov ecx, dword [r8 + rax*4 + 0x908d0]
add rcx, r8
jmp rcx
mov eax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400908ab
mov dword [rdi + 0xb64], eax
jmp case.0x14008ee87.91
movsxd rax, dword [rsi]
test eax, eax
js 0x1400908ab
mov qword [rdi + 0xe18], rax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe9b], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe9c], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe99], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe94], al
jmp case.0x14008ee87.91
mov edx, dword [rsi]
test edx, edx
mov ecx, dword [rdi + 0xf1c]
setne al
mov byte [rdi + 0xe8e], al
mov eax, ecx
and eax, 0xffffffef
or ecx, 0x10
test edx, edx
cmove ecx, eax
mov dword [rdi + 0xf1c], ecx
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe97], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe8f], al
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
test ecx, ecx
setne al
mov byte [rdi + 0xe98], al
test ecx, ecx
je 0x14008ef69
mov esi, 5
mov byte [rdi + 0xe97], bpl
mov dword [rdi + 0xa00], esi
jmp case.0x14008ee87.91
mov esi, 1
mov dword [rdi + 0xa00], esi
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe89], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400908ab
imul eax, eax, 0x3e8
mov dword [rdi + 0x798], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 2
ja 0x1400908ab
mov dword [rdi + 0xbb0], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe8b], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 3
ja 0x1400908ab
mov dword [rdi + 0x9f0], eax
jmp case.0x14008ee87.91
movsxd rax, dword [rsi]
mov qword [rdi + 0x9f8], rax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe96], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe92], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe91], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe93], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400908ab
mov dword [rdi + 0x6bc], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
and eax, 7
mov dword [rdi + 0x6c0], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
je 0x14008f07b
mov ebx, 2
mov byte [rdi + 0xe97], bpl
mov dword [rdi + 0xa00], ebx
jmp case.0x14008ee87.91
mov ebx, 1
mov dword [rdi + 0xa00], ebx
jmp case.0x14008ee87.91
movsxd rbx, dword [rsi]
cmp rbx, 0xffffffffffffffff
jl 0x1400908ab
cmp qword [rdi + 0x6d8], rbx
jge 0x14008f0c5
mov rcx, qword [rdi + 0xdc0]
cmp qword [rdi + 0x6c8], rcx
jne 0x14008f0c5
call qword [fcn.1400d7f68]
mov qword [rdi + 0xdc0], rbp
mov qword [rdi + 0x6c8], rbp
mov qword [rdi + 0x6d8], rbx
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe85], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
je case.0x14008ee87.91
mov esi, 1
mov word [rdi + 0xe97], bp
mov dword [rdi + 0xa00], esi
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
cmp eax, 3
jl 0x14008f119
mov eax, 1
jmp 0x1400908bb
mov dword [rdi + 0xa04], eax
jmp case.0x14008ee87.91
mov edx, dword [rsi]
test edx, edx
jne 0x14008f135
mov dword [rdi + 0x6ac], ebp
jmp case.0x14008ee87.91
mov eax, edx
shr eax, 4
and al, 1
mov byte [rdi + 0x118e], al
test dl, 0x10
je 0x14008f14d
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
mov ecx, ebp
mov eax, ecx
inc ecx
bt edx, eax
jb 0x14008f16a
cmp ecx, 0x1f
jl 0x14008f152
mov eax, 4
jmp 0x1400908bb
mov dword [rdi + 0x6ac], edx
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe8a], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0xffff
ja 0x1400908ab
mov dword [rdi + 0x680], eax
jmp case.0x14008ee87.91
mov edx, dword [rsi]
test edx, edx
jne 0x14008f1ae
mov dword [rdi + 0x6b0], ebp
jmp case.0x14008ee87.91
mov eax, edx
shr eax, 4
and al, 1
mov byte [rdi + 0x119e], al
test dl, 0x10
je 0x14008f1c6
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
mov ecx, ebp
nop dword [rax + rax]
mov eax, ecx
inc ecx
bt edx, eax
jb 0x14008f1e8
cmp ecx, 0x1f
jl 0x14008f1d0
mov eax, 4
jmp 0x1400908bb
mov dword [rdi + 0x6b0], edx
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 7
ja 0x1400908ab
mov dword [rdi + 0xb60], eax
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
test ecx, ecx
je 0x14008f223
cmp ecx, 1
jne case.0x14009069c.20026
mov byte [rdi + 0xea3], cl
jmp case.0x14008ee87.91
mov byte [rdi + 0xea3], bpl
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xea4], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe8d], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe8c], al
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
test ecx, ecx
je 0x14008f293
sub ecx, 1
je 0x14008f283
cmp ecx, 1
jne case.0x14009069c.20026
mov ebx, 2
mov dword [rdi + 0xb98], ebx
jmp case.0x14008ee87.91
mov esi, 1
mov dword [rdi + 0xb98], esi
jmp case.0x14008ee87.91
mov dword [rdi + 0xb98], ebp
jmp case.0x14008ee87.91
movsxd rax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400908ab
mov qword [rdi + 0x7a8], rax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x7b0], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x7b4], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0xffff
ja 0x1400908ab
mov dword [rdi + 0x6a8], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400908ab
imul eax, eax, 0x3e8
mov dword [rdi + 0x788], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x788], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400908ab
imul eax, eax, 0x3e8
mov dword [rdi + 0x78c], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x78c], eax
jmp case.0x14008ee87.91
movsxd rax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400908ab
mov qword [rdi + 0x7c8], rax
jmp case.0x14008ee87.91
mov rcx, qword [rdi + 0xd20]
call qword [fcn.1400d7f68]
mov rcx, rdi
mov qword [rdi + 0xd20], rbp
call fcn.14009b970
mov ebp, eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe86], al
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
cmp ecx, 0xffff
ja 0x1400908ab
call fcn.1400a2ee0
mov word [rdi + 0x6e0], ax
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
cmp ecx, 0xffff
ja 0x1400908ab
call fcn.1400a2ed0
mov dword [rdi + 0x6e4], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xa50], al
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je case.0x14008ee87.91
mov byte [rcx + 0x390], al
jmp case.0x14008ee87.91
test byte [rsi], 3
setne al
mov byte [rdi + 0xa51], al
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je case.0x14008ee87.91
mov byte [rcx + 0x391], al
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 2
je case.0x14008f5e5.244
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xaa8], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
mov ebx, 0x80000
cmp eax, ebx
jg 0x14008f471
cmp eax, 1
jge 0x14008f465
mov ebx, 0x4000
jmp 0x14008f471
mov ecx, 0x400
mov ebx, eax
cmp eax, ecx
cmovl ebx, ecx
cmp ebx, dword [rdi + 0xb68]
je 0x14008f4a6
mov rcx, qword [rdi + 0x10a0]
lea eax, [rbx + 1]
movsxd rdx, eax
call qword [case.0x14000806e.5]
test rax, rax
jne 0x14008f49f
lea ebp, [rax + 0x1b]
mov dword [rdi + 0xb68], ebx
jmp case.0x14008ee87.91
mov qword [rdi + 0x10a0], rax
mov dword [rdi + 0xb68], ebx
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe9d], al
jmp case.0x14008ee87.91
movsxd rax, dword [rsi]
test eax, eax
js 0x1400908ab
mov qword [rdi + 0xb90], rax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 3
ja 0x1400908ab
mov dword [rdi + 0xbb4], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 2
ja 0x1400908ab
mov dword [rdi + 0xb88], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe9e], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe9f], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xea0], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xa53], al
mov byte [rdi + 0xafb], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
sete al
mov byte [rdi + 0xea1], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
sete al
mov byte [rdi + 0xea2], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
mov dword [rdi + 0xdc8], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
mov dword [rdi + 0xdcc], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
mov dword [rdi + 0xdd0], eax
jmp case.0x14008ee87.91
mov eax, dword [r8]
test eax, eax
js 0x1400908ab
mov dword [rcx + 0xe08], eax
jmp case.0x14008ee87.91
cmp edx, 0x2711
jg 0x14008f8dc
je 0x14008f8cd
lea eax, [rdx - 0xd4]
cmp eax, 0x4c
ja case.0x14009069c.20026
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x90b38]
mov ecx, dword [r8 + rax*4 + 0x90ab8]
add rcx, r8
jmp rcx
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xe90], al
jmp case.0x14008ee87.91
cmp edx, 0x20
mov ecx, 0xab0
mov eax, 0xa08
cmovne eax, ecx
lea rcx, [rax + rdi]
mov eax, dword [rsi]
movzx edx, ax
and eax, 0xffff0000
cmp edx, 8
jae 0x1400908ab
cmp eax, 0x7ffff
ja 0x1400908ab
mov dword [rcx], edx
mov dword [rcx + 4], eax
jmp case.0x14008ee87.91
movzx eax, byte [rsi]
and al, 1
mov byte [rdi + 0xe84], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0xe20], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
cmp eax, 1
jg 0x1400908ab
test eax, eax
setne al
mov byte [rdi + 0xeb5], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
mov dword [rdi + 0x6b4], eax
and eax, 0xfffffffa
neg eax
sbb eax, eax
and eax, 4
mov ebp, eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x790], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeb0], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xaf8], al
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je case.0x14008ee87.91
mov byte [rcx + 0x3e0], al
jmp case.0x14008ee87.91
test byte [rsi], 3
setne al
mov byte [rdi + 0xaf9], al
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je case.0x14008ee87.91
mov byte [rcx + 0x3e1], al
jmp case.0x14008ee87.91
call fcn.14009ad30
test al, al
jne 0x14008f70b
mov ebp, 4
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xa52], al
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je case.0x14008ee87.91
mov byte [rcx + 0x392], al
jmp case.0x14008ee87.91
call fcn.14009b1c0
test al, al
je case.0x14008f5e5.244
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xaa9], al
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
mov eax, 0x200000
cmp ecx, eax
jg 0x14008f75e
mov ebx, 0x4000
mov eax, ecx
cmp ecx, ebx
cmovl eax, ebx
cdqe
mov qword [rdi + 0xb70], rax
mov rcx, qword [rdi + 0x10a8]
call qword [fcn.1400d7f68]
mov qword [rdi + 0x10a8], rbp
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
movzx eax, cl
and al, 1
mov byte [rdi + 0xaaa], al
mov eax, ecx
shr eax, 1
and al, 1
shr ecx, 2
and cl, 1
mov byte [rdi + 0xaab], al
mov byte [rdi + 0xaac], cl
jmp case.0x14008ee87.91
mov ecx, dword [rsi]
movzx eax, cl
and al, 1
mov byte [rdi + 0xb52], al
mov eax, ecx
shr eax, 1
and al, 1
shr ecx, 2
and cl, 1
mov byte [rdi + 0xb53], al
mov byte [rdi + 0xb54], cl
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xea5], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xea7], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0xe0c], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0xe10], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xea9], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeaa], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeab], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeac], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xead], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x794], eax
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeae], al
jmp case.0x14008ee87.91
cmp dword [rsi], ebp
setne al
mov byte [rdi + 0xeb2], al
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0xe50], eax
jmp case.0x14008ee87.91
mov eax, dword [rsi]
test eax, eax
js 0x1400908ab
mov dword [rdi + 0x79c], eax
jmp case.0x14008ee87.91
mov rax, qword [r8]
mov qword [rcx + 0x688], rax
jmp case.0x14008ee87.91
cmp edx, 0x27fb
jg 0x14009039c
je case.0x14008f91e.10179
add edx, 0xffffd8ee
cmp edx, 0xe4
ja case.0x14009069c.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0x90c80]
mov ecx, dword [r8 + rax*4 + 0x90b88]
add rcx, r8
jmp rcx
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcc8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcf0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xce8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc68]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
test rdx, rdx
je 0x14008f9b9
cmp byte [rdx], bpl
jne 0x14008f9b9
call fcn.1400a4a20
mov rbx, rax
test rax, rax
jne 0x14008f99a
lea ebp, [rax + 0x1b]
jmp case.0x14008ee87.91
lea rcx, [rdi + 0xc10]
mov rdx, rbx
call fcn.14008eda0
mov rcx, rbx
mov ebp, eax
call qword [fcn.1400d7f68]
jmp case.0x14008ee87.91
lea rcx, [rdi + 0xc10]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rbx, qword [rsi]
test rbx, rbx
je 0x14008fa42
mov rax, qword [rdi + 0x6d8]
cmp rax, 0xffffffffffffffff
je 0x14008fa42
test rax, rax
js 0x14008fa1b
mov rcx, qword [rdi + 0xdc0]
call qword [fcn.1400d7f68]
mov qword [rdi + 0xdc0], rbp
mov ecx, 1
mov rax, qword [rdi + 0x6d8]
test rax, rax
cmovne rcx, rax
call qword [section..data]
mov rsi, rax
test rax, rax
jne 0x14008fa22
mov ebp, 0x1b
jmp 0x14008fa53
mov r8, qword [rdi + 0x6d8]
test r8, r8
je 0x14008fa39
mov rdx, rbx
mov rcx, rsi
call fcn.140101b90
mov qword [rdi + 0xdc0], rsi
jmp 0x14008fa53
lea rcx, [rdi + 0xdc0]
mov rdx, rbx
call fcn.14008eda0
mov ebp, eax
mov rax, qword [rdi + 0xdc0]
mov ebx, 2
mov qword [rdi + 0x6c8], rax
mov dword [rdi + 0xa00], ebx
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x6c8], rax
mov rcx, qword [rdi + 0xdc0]
call qword [fcn.1400d7f68]
mov ebx, 2
mov qword [rdi + 0xdc0], rbp
mov dword [rdi + 0xa00], ebx
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x7e0], rax
mov dword [rdi + 0xa00], 3
mov byte [rdi + 0xe97], bpl
jmp case.0x14008ee87.91
cmp byte [rdi + 0xed9], bpl
je 0x14008fae3
mov rcx, qword [rdi + 0xec0]
call qword [fcn.1400d7f68]
mov qword [rdi + 0xec0], rbp
mov byte [rdi + 0xed9], bpl
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc88]
call fcn.14008eda0
mov ebp, eax
mov rax, qword [rdi + 0xc88]
mov qword [rdi + 0xec0], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcf8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x7d0], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x7d8], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0xb80], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbe8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
test rdx, rdx
je case.0x14008ee87.91
mov rcx, qword [rdi + 0xec8]
call fcn.140090fb0
test rax, rax
jne 0x14008fb9a
mov rcx, qword [rdi + 0xec8]
call fcn.140091050
mov eax, 0x1b
mov qword [rdi + 0xec8], rbp
jmp 0x1400908bb
mov qword [rdi + 0xec8], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbf0]
call fcn.14008eda0
movzx r9d, byte [rdi + 0xe85]
xor edx, edx
mov r8, qword [rdi + 0xee0]
mov rcx, rdi
mov ebp, eax
call fcn.1400955b0
test rax, rax
mov qword [rdi + 0xee0], rax
mov ecx, 0x1b
cmove ebp, ecx
jmp case.0x14008ee87.91
mov rbx, qword [rsi]
test rbx, rbx
je case.0x14008ee87.91
lea rdx, [0x140107a6c]
mov rcx, rbx
call fcn.1400a4130
test eax, eax
je 0x14008fc33
mov ebx, 2
mov rcx, rdi
mov r8d, ebx
mov edx, ebx
call fcn.1400a52f0
mov rcx, qword [rdi + 0xee0]
call fcn.140094f60
mov edx, ebx
mov rcx, rdi
call fcn.1400a5330
jmp case.0x14008ee87.91
lea rdx, str.SESS
mov rcx, rbx
call fcn.1400a4130
test eax, eax
je 0x14008fc73
mov ebx, 2
mov rcx, rdi
mov r8d, ebx
mov edx, ebx
call fcn.1400a52f0
mov rcx, qword [rdi + 0xee0]
call fcn.140095040
mov edx, ebx
mov rcx, rdi
call fcn.1400a5330
jmp case.0x14008ee87.91
lea rdx, str.FLUSH
mov rcx, rbx
call fcn.1400a4130
test eax, eax
je 0x14008fc95
xor edx, edx
mov rcx, rdi
call fcn.140095a20
jmp case.0x14008ee87.91
lea rdx, str.RELOAD
mov rcx, rbx
call fcn.1400a4130
test eax, eax
je 0x14008fcb5
mov rcx, rdi
call fcn.1400957a0
jmp case.0x14008ee87.91
cmp qword [rdi + 0xee0], rbp
jne 0x14008fcd5
mov r9b, 1
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1400955b0
mov qword [rdi + 0xee0], rax
mov rcx, rbx
call qword [case.0x14000806e.1]
mov rsi, rax
test rax, rax
je 0x14008fd65
cmp qword [rdi + 0xee0], rbp
je 0x14008fd65
mov ebx, 2
mov rcx, rdi
mov r8d, ebx
mov edx, ebx
call fcn.1400a52f0
lea r8d, [rbx + 9]
mov rdx, rsi
lea rcx, str.Set_Cookie:
call fcn.1400a42c0
test eax, eax
je 0x14008fd21
mov r8b, 1
lea rax, [rsi + 0xb]
jmp 0x14008fd27
xor r8b, r8b
mov rax, rsi
mov rdx, qword [rdi + 0xee0]
xor r9d, r9d
mov byte [rsp + 0x38], 1
mov rcx, rdi
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.140094160
mov edx, ebx
mov rcx, rdi
call fcn.1400a5330
mov rcx, rsi
call qword [fcn.1400d7f68]
jmp case.0x14008ee87.91
mov rcx, rsi
mov ebp, 0x1b
call qword [fcn.1400d7f68]
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbf8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc70]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x698], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x678], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x690], rax
jmp case.0x14008ee87.91
cmp byte [rdi + 0xed8], bpl
je 0x14008fdf5
mov rcx, qword [rdi + 0xeb8]
call qword [fcn.1400d7f68]
mov qword [rdi + 0xeb8], rbp
mov byte [rdi + 0xed8], bpl
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc90]
call fcn.14008eda0
mov ebp, eax
mov rax, qword [rdi + 0xc90]
mov qword [rdi + 0xeb8], rax
jmp case.0x14008ee87.91
mov rbx, qword [rsi]
lea r14, [rdi + 0xd30]
add rdi, 0xd28
mov qword [rsp + 0x40], rbp
mov rax, rbp
mov qword [rsp + 0x88], rax
test rbx, rbx
je 0x14008fe88
test r14, r14
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x88]
mov rdx, 0xffffffffffffffff
cmove r9, rbp
test rdi, rdi
cmove r8, rbp
inc rdx
cmp byte [rbx + rdx], al
jne 0x14008fe61
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call fcn.14009cf00
mov ebp, eax
test eax, eax
jne case.0x14008ee87.91
mov rax, qword [rsp + 0x88]
test rdi, rdi
je 0x14008fed0
test rax, rax
jne 0x14008febc
test rbx, rbx
je 0x14008febc
cmp byte [rbx], 0x3a
jne 0x14008febc
lea rcx, [0x140123c5a]
call qword [case.0x14000806e.1]
test rax, rax
mov qword [rsp + 0x88], rax
mov ecx, 0x1b
cmove ebp, ecx
mov rcx, qword [rdi]
call qword [fcn.1400d7f68]
mov rax, qword [rsp + 0x88]
mov qword [rdi], rax
test r14, r14
je case.0x14008ee87.91
mov rcx, qword [r14]
call qword [fcn.1400d7f68]
mov rax, qword [rsp + 0x40]
mov qword [r14], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd28]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd30]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd38]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd90]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x9b0], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x9b8], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x9a8], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x9e0], rax
mov qword [rdi + 0xed0], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x778], rax
jmp case.0x14008ee87.91
mov rbx, qword [rsi]
lea r14, [rdi + 0xd48]
add rdi, 0xd40
mov qword [rsp + 0x40], rbp
mov rax, rbp
mov qword [rsp + 0x88], rax
test rbx, rbx
je 0x14008fe88
test r14, r14
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x88]
mov rdx, 0xffffffffffffffff
cmove r9, rbp
test rdi, rdi
cmove r8, rbp
inc rdx
cmp byte [rbx + rdx], al
jne 0x14008ffe5
jmp 0x14008fe69
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd40]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd48]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd50]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc80]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x670], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x668], rax
test rax, rax
jne case.0x14008ee87.91
lea ecx, [rax + 2]
call fcn.1400d06b4
mov qword [rdi + 0x668], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x758], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x780], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbc8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbd8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc30]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc50]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc40]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rbx, qword [rsi]
test rbx, rbx
je case.0x14008ee87.91
cmp byte [rbx], bpl
je case.0x14008ee87.91
lea rcx, [rdi + 0xd20]
mov rdx, rbx
call fcn.14008eda0
mov ebp, eax
test eax, eax
jne case.0x14008ee87.91
mov rdx, rbx
mov rcx, rdi
call fcn.14009b960
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc08]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 8
je case.0x14008f5e5.244
mov rax, qword [rsi]
mov qword [rdi + 0xa78], rax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 4
je case.0x14008f5e5.244
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcb8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xca8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 1
je case.0x14008f5e5.244
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc98]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd00]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd10]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov r14, qword [rsi]
mov esi, 1
lea ebx, [rsi + 1]
cmp qword [rdi + 0xe0], rbp
je 0x140090296
mov r8d, ebx
mov edx, esi
mov rcx, rdi
call fcn.1400a52f0
cmp dword [rdi + 0xc8], ebx
jne 0x140090248
mov qword [rdi + 0xc0], rbp
mov dword [rdi + 0xc8], ebp
mov rcx, qword [rdi + 0xe0]
mov rax, qword [rdi + 0xee0]
cmp qword [rcx + 0xa8], rax
jne 0x140090266
mov qword [rdi + 0xee0], rbp
mov rax, qword [rdi + 0x10c8]
cmp qword [rcx + 0xb0], rax
jne 0x14009027d
mov qword [rdi + 0x10c8], rbp
mov ecx, dword [rcx + 4]
mov edx, esi
mov rax, qword [rdi + 0xe0]
dec ecx
mov dword [rax + 4], ecx
mov rcx, rdi
call fcn.1400a5330
mov qword [rdi + 0xe0], r14
test r14, r14
je case.0x14008ee87.91
mov r8d, ebx
mov edx, esi
mov rcx, rdi
call fcn.1400a52f0
mov rax, qword [rdi + 0xe0]
mov ecx, dword [rax + 4]
mov rax, qword [rdi + 0xe0]
inc ecx
mov dword [rax + 4], ecx
mov rcx, qword [rdi + 0xe0]
test byte [rcx], 8
je 0x1400902e6
lea rax, [rcx + 0x78]
mov qword [rdi + 0xc0], rax
mov dword [rdi + 0xc8], ebx
mov rdx, rcx
cmp qword [rcx + 0xa8], rbp
je 0x140090316
mov rcx, qword [rdi + 0xee0]
call fcn.140094e70
mov rcx, qword [rdi + 0xe0]
mov rdx, rcx
mov rax, qword [rcx + 0xa8]
mov qword [rdi + 0xee0], rax
cmp qword [rcx + 0xb0], rbp
je 0x14009033b
mov rax, qword [rcx + 0xb8]
mov qword [rdi + 0xb58], rax
mov rax, qword [rdx + 0xb0]
mov qword [rdi + 0x10c8], rax
mov edx, esi
mov rcx, rdi
call fcn.1400a5330
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0xb78], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x730], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x740], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x750], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd70]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
cmp edx, 0x4e2b
jg 0x14009065a
je 0x140090623
add edx, 0xffffd804
cmp edx, 0x35
ja case.0x14009069c.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0x90dcc]
mov ecx, dword [r8 + rax*4 + 0x90d68]
add rcx, r8
jmp rcx
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcd0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
call fcn.14009ba00
test al, al
je case.0x1400903db.10238
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcd8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
call fcn.14009ba00
test al, al
je case.0x1400903db.10238
mov rdx, qword [rsi]
lea rcx, [rdi + 0xce0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd98]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0x7e8]
xor r8d, r8d
call fcn.140097aa0
mov ebp, eax
test eax, eax
jne case.0x14008ee87.91
mov dword [rdi + 0xa00], 4
mov byte [rdi + 0xe97], al
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc78]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd78]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0xe68], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbd0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xbe0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc38]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc58]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc48]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 4
je case.0x14008f5e5.244
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcc0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xcb0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 1
je case.0x14008f5e5.244
mov rdx, qword [rsi]
lea rcx, [rdi + 0xca0]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xd08]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0xe48], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xc00]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xda8]
call fcn.14008eda0
mov ebp, eax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x9e8], rax
jmp case.0x14008ee87.91
mov rdx, qword [rsi]
lea rcx, [rdi + 0xda0]
call fcn.14008eda0
cmp qword [rdi + 0xda0], 0
mov ebp, eax
setne al
mov byte [rdi + 0xeb3], al
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0xe70], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
mov qword [rcx + 0x6e8], rax
test rax, rax
jne 0x14009064d
lea rax, [fcn.1400d19e4]
mov qword [rcx + 0x6e8], rax
xor al, al
mov byte [rcx + 0xe81], al
jmp case.0x14008ee87.91
mov al, 1
mov byte [rcx + 0xe81], al
jmp case.0x14008ee87.91
cmp edx, 0x4f30
jg 0x1400907d0
je 0x1400907c1
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x14009069c.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0x90e40]
mov ecx, dword [r8 + rax*4 + 0x90e04]
add rcx, r8
jmp rcx
mov rax, qword [rsi]
mov qword [rdi + 0x708], rax
test rax, rax
setne al
mov byte [rdi + 0x106c], al
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x710], rax
test rax, rax
setne al
mov byte [rdi + 0x106c], al
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x718], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x6f0], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x700], rax
test rax, rax
jne 0x14009071c
lea rax, [fcn.1400d81dc]
mov qword [rdi + 0x700], rax
xor al, al
mov byte [rdi + 0xe80], al
jmp case.0x14008ee87.91
mov al, 1
mov byte [rdi + 0xe80], al
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x6d0], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x760], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x768], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x770], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x720], rax
jmp case.0x14008ee87.91
mov rax, qword [0x14014b030]
test byte [rax + 0x10], 8
je case.0x14008f5e5.244
mov rax, qword [rsi]
mov qword [rdi + 0xa70], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x728], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x738], rax
jmp case.0x14008ee87.91
mov rax, qword [rsi]
mov qword [rdi + 0x748], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
mov qword [rcx + 0xe40], rax
jmp case.0x14008ee87.91
cmp edx, 0x75a8
jg 0x14009086d
je 0x14009084b
sub edx, 0x4f3b
je 0x14009083f
sub edx, 0x2668
je 0x14009082d
sub edx, 1
je 0x140090814
cmp edx, 1
jne case.0x14009069c.20026
mov rax, qword [r8]
test rax, rax
js 0x1400908ab
mov qword [rcx + 0xb90], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
cmp rax, 0xffffffffffffffff
jl 0x1400908ab
mov qword [rcx + 0x7c8], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
cmp rax, 0xffffffffffffffff
jl 0x1400908ab
mov qword [rcx + 0x7a8], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
mov qword [rcx + 0xe78], rax
jmp case.0x14008ee87.91
mov rbx, qword [r8]
cmp rbx, 0xffffffffffffffff
jl 0x1400908ab
cmp qword [rcx + 0x6d8], rbx
jge 0x14008f0c5
mov rcx, qword [rcx + 0xdc0]
jmp 0x14008f0a8
sub edx, 0x75c1
je 0x1400908a3
sub edx, 1
je 0x140090892
cmp edx, 0x7c
je 0x140090886
mov ebp, 0x30
jmp case.0x14008ee87.91
mov rax, qword [r8]
mov qword [rcx + 0x9f8], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
test rax, rax
js 0x1400908ab
mov qword [rcx + 0x7c0], rax
jmp case.0x14008ee87.91
mov rax, qword [r8]
test rax, rax
jns 0x1400908b2
mov eax, 0x2b
jmp 0x1400908bb
mov qword [rcx + 0x7b8], rax
mov eax, ebp
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret