B0:
*(rsp - 81920) <- rax v22 <- rsp - 8 *v22 <- rbp *(rsp - 52) <- parm0 S <- this.currentSize if S - 1 < 0 then B8 else B1
B1:
L <- unpack(this.hashCodes).length if L <= 0 then B30 hashCodes <- unpack(this.hashCodes) goto B3
B3:
i0 <- φ(0, i0 + 1) if i0 æ L then B29 if hashCodes[i0] == parm0 then B9 else B5
B5:
if S - i0 - 1 æ L then B31 if hashCodes[S - i0 - 1] == parm0 then B10 else B7
B7:
if S - i0 - 2 >= i0 + 1 then B11 else B8
B8:
goto B10
B9:
v97 <- φ(i0, i, i1) goto B10
B10:
v105 <- φ(S - i0 - 1, -1, v97, j, S - i1 - 1) *(rip - 25986973) return v105
B11:
if i0 + 1 < min(max(S - L, 1), L) then B3 else B12
B12:
if i0 + 1 >= min(S, L) then B19 else B13
B13:
goto B14
B14:
i <- φ(i0 + 1, i + 1) if hashCodes[i] == parm0 then B9 else B15
B15:
j <- S - 1 - i if hashCodes[j] == parm0 then B10 else B16
B16:
if j - 1 < i + 1 then B8 else B17
B17:
if i + 1 < min(S, L) then B14 else B18
B18:
goto B20
B19:
goto B20
B20:
v156 <- φ(i + 1, i0 + 1) v235 <- φ(j - 1, S - i0 - 2) if v156 >= L then B34 goto B22
B22:
i1 <- φ(v156, i1 + 1) if i1 æ L then B29 if hashCodes[i1] == parm0 then B9 else B24
B24:
if S - i1 - 1 æ L then B33 if hashCodes[S - i1 - 1] == parm0 then B10 else B26
B26:
if S - i1 - 2 < i1 + 1 then B8 else B27
B27:
if i1 + 1 < L then B22 else B28
B28:
goto B30
B29:
v202 <- φ((S - i0 - 1), S - i1 - 1) v258 <- φ(i0, i1) goto B30
B30:
v205 <- φ(0, i1 + 1, v258, v156) v212 <- φ(S - 1, S - i1 - 2, v202, v235) *(rsp - 56) <- v205 *(rsp - 48) <- this *(rsp - 40) <- v212 *(rsp - 36) <- this.hashCodes {OpCall()} {OpCall()}
B31:
goto B32
B32:
v222 <- φ(i0, i1) *(rsp - 56) <- v222 *(rsp - 48) <- this *(rsp - 40) <- this.hashCodes {OpCall()} {OpCall()}
B33:
goto B32
B34:
goto B30
B35:
v239 <- φ() v240 <- φ() *(v240 + 0) <- v239 {OpCall()} {OpCall()}
B36: